MSU/CSE 260 Fall Functions Read Section 1.8
MSU/CSE 260 Fall Outline Introduction: definitions, example and terminology, image of a subset of domain, sum and product of functions One-to-one functions: strictly increasing, decreasing functions Onto functions Bijections: identity functions Graphs of Functions Inverse Functions Compositions of Functions Some Important Functions: Floor, Ceiling and Factorial functions
MSU/CSE 260 Fall Function Example Consider your final grades in CSE 260. Your grades will be one of the values from the set {4, 3.5, 3, 2.5, 2, 1.5, 1, 0} What kind of properties does this assignment have? Consider the courses you are taking this semester. { (A123, CSE 260), (A123, CSE 232), (A123, MTH 234), (A123, DYLANTHOMAS 111)} What kind of properties does this assignment have?
MSU/CSE 260 Fall Introduction Definition: Let A, B be sets. A function f from A to B, denoted f: A → B, is an assignment where each element of A is assigned exactly one element of B. Notation: f: A → B We write f (a) = b, if b is the element of B assigned under f to the element a of A. We also say f maps A to B Formally, f is a function from A to B if and only if x A !y B f(x) = y. where ! is the uniqueness quantifier.
MSU/CSE 260 Fall Example Stevens Sara 4 0 Adams Marie f: A → B GradesStudents f(Adams)=1 f(Marie)=4 f(Stevens)=3 f(Sara)=3 A B
MSU/CSE 260 Fall Domain, Co-domain, … Definition: Let f be a function from A to B, that is, f: A → B. Then A is called the domain of f, and B is the codomain of f. If f(a) = b, then b is called the image of a, and a is a pre-image of b. The range of f is the set of all images of elements of A. How are codomain and range related? Range is a subset of the codomain
MSU/CSE 260 Fall Example Stevens Sara 4 0 Adams Marie GradesStudents f (Adams)=1 f (Marie)=4 f (Stevens)=3 f (Sara)=3 The image of ‘Marie’ is 4; the pre-images of 3 are ‘Stevens’ and ‘Sara’; the range of f is {1, 3, 4}. A B f: A → B
MSU/CSE 260 Fall Sum, Products of real-valued Functions Definition: Let f 1 and f 2 be functions from A to R. Then f 1 + f 2 and f 1 f 2 are also functions from A to R, defined as: (f 1 + f 2 )(x) = f 1 (x) + f 2 (x) (f 1 f 2 )(x) = f 1 (x) f 2 (x) Note that if f 1 and f 2 do not have the same domain, the above operations do not make sense.
MSU/CSE 260 Fall Image of a subset of a domain Definition: Let f be a function from A to B, and let S be a subset of A. The image of S, denoted f (S), is the subset of B consisting of the images of the elements of S. Formally: f (S) = { f (s) | s S}. Note that f (A) is the range of f. In the previous Example, f ({Adams, Sara}) = {3, 1}
MSU/CSE 260 Fall One-to-one Functions Definition: A function f from A to B is said to be one-to-one, or injective, if and only if distinct elements of the domain have distinct images. That is, x A y A f (x) = f (y) → x = y. 1 b a c 2 3 4
MSU/CSE 260 Fall Onto Functions Definition: A function f from A to B is said to be onto, or surjective, if and only if its range and codomain are the same. That is, y B x A f(x) = y. 1 c b d 2 3 a
MSU/CSE 260 Fall Bijections Definition: A function f: A → B is a bijection, or one-to-one correspondence, if it is both one-to-one and onto. Note that the cardinalities (when dealing with finite sets) of domain and codomain of a bijection are equal. c b d 3 4 a 2 1
MSU/CSE 260 Fall Summary of Function Types b a c c b d a c b d 3 4 a c b d 3 4 a c b 3 4 a 2 1 onto but not 1-to-1 both 1-to-1 and onto; bijection Neither 1-to-1 nor onto Not a function 1-to1 but not onto
MSU/CSE 260 Fall Monotonic Functions Definition: Let A and B be subsets of R, the set of real numbers. A function f: A → B is strictly increasing if x A y A x < y → f (x) < f (y). f: A → B is strictly decreasing if x A y A x f (y). Note that strictly increasing, or strictly decreasing (strictly monotone) functions must be one-to-one.
MSU/CSE 260 Fall Inverse Function Definition: Let function f: A → B be a bijection. The inverse function of f, denoted f -1, is the function, f -1 : B → A, that assigns to each element b of B the element a of A such that f (a) = b. a A b B f(a) = b → f -1 (b) = a. f is called invertible. c b d 3 4 a1 2 f -1 (1) = d f -1 (2) = b f -1 (3) = a f -1 (4) = c f
MSU/CSE 260 Fall Inverse Function… Example: Let f : Z → Z, where f (x) = x + 1. f is a bijection; what is f -1 ? Suppose f (x) = y; then x + 1= y; so x = y - 1= f -1 (y) f -1 (x) = x 1.
MSU/CSE 260 Fall Identity Function Let A be a set. The identity function on A is the function ι A : A → A, where x A ι A (x) = x. Notes: ι A assigns each element of A to itself. ι A is a bijection.
MSU/CSE 260 Fall Characteristic and Constant Functions Let A be a subset of universe U. The characteristic function f A : U → {0, 1}, is such that f A (x) = 1 if x A and f A (x) = 0 if ¬ (x A ) Let A be a set. The constant function f : A → {t} maps each element of A to the same value t.
MSU/CSE 260 Fall Compositions of Functions Definition: Let g be a function from A to B and f a function from B to C, that is, g: A → B f: B → C The composition of f and g, denoted f o g, is function from A to C, defined as follows x A ( f o g)(x) = f (g(x)). v k 3 4 p 2 1 c b d a (f o g)(a) = 2 (f o g)(b) = 3 (f o g)(c) = 1 (f o g)(d) = 2 g f q A={a, b, c, d} B={q, p, k, v} C={1, 2, 3, 4}
MSU/CSE 260 Fall Composition of Functions A Bc gf f o g A Bc A BcccBcBc A Bc
MSU/CSE 260 Fall Example Consider the two functions f : Z → Z, where f (x) = 2x + 3 g: Z → Z, where g (x) = 3x + 2. What are f o g, and g o f ? f o g: Z → Z, where (f o g)(x) = f (g(x)) = f (3x + 2) = 2(3x + 2) + 3 = 6x +7 g o f: Z → Z, where (g o f )(x) = g( f (x)) = g (2x + 3) = 3(2x + 3) + 2 = 6x + 11
MSU/CSE 260 Fall Example
MSU/CSE 260 Fall Example
MSU/CSE 260 Fall Example….
MSU/CSE 260 Fall Graph of a Function Definition: Let f: A → B. The graph of f is the set of ordered pairs G f = {(x, f (x)) | x A}.
MSU/CSE 260 Fall Graph of a Function…. The graph of the function f : Z → Z, where f (n) = 2n + 1, is G f = {(n, 2n + 1) | n Z} n f (n) (0,1) (1,3) (2,5) (-1,-1)
MSU/CSE 260 Fall Important Integer Functions Whole numbers constitute the backbone of discrete mathematics. We often need to convert fractions or arbitrary real numbers to integers. These integer functions will help us do that. Besides the identity function, some important functions are: The floor function, The ceiling function, The mod function.
MSU/CSE 260 Fall Floor Function Definition: The floor function from R to Z assigns to the real number x, the largest integer ≤ x. The value of the floor function at x is denoted by x . x R n Z x = n n x < n + 1. Examples: 18 = 18 3.75 = 3 – 4.5 = – 5
MSU/CSE 260 Fall Ceiling Function The ceiling function from R to Z assigns to the real number x the smallest integer ≥ x. The value of the ceiling function at x is denoted by x . x R n Z x = n n – 1 < x n. x R x – 1 < x x x < x + 1. Examples: 18 = 18 3.75 = 4 – 4.5 = – 4
MSU/CSE 260 Fall Floor and Ceiling Functions, recap 0 ** xxxx xxxx xxxx xxxx
MSU/CSE 260 Fall Properties of x and x x R n Z x = n n x < n + 1. x R n Z x = n n – 1 < x n. x R n Z x = n x – 1 < n x. x R n Z x = n x n < x +1. x R x – 1 < x x x < x + 1. x R – x = – x x R – x = – x x R m Z x + m = x + m x R m Z x + m = x + m 0 ** xxxx xxxx xxxx xxxx
MSU/CSE 260 Fall Example
MSU/CSE 260 Fall Example: Solution
MSU/CSE 260 Fall Integer Functions
MSU/CSE 260 Fall
MSU/CSE 260 Fall Example
MSU/CSE 260 Fall Example: Solution
MSU/CSE 260 Fall The mod Function When dividing an integer n by a number m, the quotient of the division is n/m . What about a simple notation for the remainder of this division? That’s what the mod function is about: n mod m m is called modulus n = m n/m + n mod m quotient remainder
MSU/CSE 260 Fall Example Formally, the mod function is a mapping: mod : Z Z + → N where n mod m = n – m n/m Examples : 5 mod 3 = 5 – (3 5/3 ) = 5 – (3 1.6 ) = 5 – (3 1 ) = 2
MSU/CSE 260 Fall Example n mod m = n – (m n/m ) Examples: - 5 mod 3 = -5 – (3 -5/3 ) = -5 – (3 -1.6 ) = -5 – (3 (-2)) = 1. We also write: 5 2 mod 3, 9 0 mod 3, -5 1 mod 3.
MSU/CSE 260 Fall mod Function m m-1 + –
MSU/CSE 260 Fall List Search Methods Problem: Given a list of elements, how fast can we decide whether or not a given input element belongs to the list? Linear search Binary search; need to sort the list first Hash table
MSU/CSE 260 Fall Hash Functions
MSU/CSE 260 Fall Hash Functions A hash function h: keys → integers maps “keys” to “small” integers (buckets) Ideal features: The function should be easy to compute The range values should be “evenly” distributed Given an image, it should not be “easy” to find its pre- image Applications Searching/indexing Information hiding File signature
MSU/CSE 260 Fall Hashing for Indexing A hash function h: keys → integers maps “keys” to “small” integers (buckets) Ideally this mapping is done in a “random” manner so that the bucket values are evenly distributed despite irregularities in the keys. For simplicity, we will assume that the keys are also integers, denoted by k, and the number of buckets is demoted by m. Note that the buckets are indexed 0 through m - 1.
MSU/CSE 260 Fall Example Storing CSE 260, both sections, PIDs\A Using Hash Function h(PID) = k mod 31
MSU/CSE 260 Fall Simple Hash Functions h(k) = k mod m Suggestion: Choose m to be a prime number that isn’t close to a power of 2. h(k) = k(k + 3) mod m
MSU/CSE 260 Fall Hashing for Hiding Information Here, the hash function maps a string to another string with the property of being very difficult to reverse the result of the hash. Used in hiding user’s password
MSU/CSE 260 Fall How password is checked.
MSU/CSE 260 Fall Hashing for file signature The hash function maps a large string (e.g., a file) to a fixed size string called digest Examples: MD5 (Message-Digest algorithm 5), gives a 128-bit hash (digest) SHA-1 (Secure Hash Algorithm) is a most commonly used from SHA series of cryptographic hash functions, designed by the National Security Agency SHA-1 produces the 160-bit hash value. Original SHA (or SHA- 0) also produce 160-bit hash value, but SHA-0 has been withdrawn by the NSA shortly after publication and was superseded by the revised version commonly referred to as SHA-1. The other functions of SHA series produce 224-, 256-, 384- and 512-bit hash values.
MSU/CSE 260 Fall Secure Hashes in Python >>> from hashlib import md5 >>> md5("cse201").hexdigest() 'fa8190eb6032a99f61d822c bf‘ >>> from hashlib import sha1 >>> sha1("cse201").hexdigest() '44dd02666ee b6b5897c6d013fdf41dc1'