Chapter 5 Relations and Functions

Presentation on theme: "Chapter 5 Relations and Functions"— Presentation transcript:

Chapter 5 Relations and Functions
Yen-Liang Chen Dept of Information Management National Central University

5.1. Cartesian products and relations
Definition 5.1. The Cartesian product of A and B is denoted by AB and equals {(a, b)aA and bB}. The elements of AB are ordered pairs. The elements of A1A2…An are ordered n-tuples. AB=AB Ex 5.1. A={2, 3, 4}, B={4, 5}. What are AB, BA, B2 and B3? Ex 5.2, What are RR, R+R+ and R3?

Tree diagrams for the Cartesian product

Relations Definition 5.2. Any subsets of AB is called a relation from A to B. Any subset of AA is called a binary relation on A. Ex 5.5. The following are some of relations from A={2,3,4} to B={4,5}: (a) , (b) {(2, 4)}, (c) {(2, 4), (2, 5)}, (d) {(2, 4), (3, 4), (4, 4)}, (e) {(2, 4), (3, 4), (4, 5)}, (f) AB. For finite sets A and B with A=m and B=n, there are 2mn relations from A to B. There are also 2mn relations from B to A.

Examples Ex 5.6. R is the subset relation where (C, D)R if and only if C, DB and CD. Ex 5.7. We may define R on set A as {(x, y)xy}. Ex 5.8. Let R be the subset of NN where R={(m, n)n=7m} For any set A, A=. Likewise,   A =.

Theorem 5.1. A(BC)=(AB)(AC) A(BC)=(AB)(AC)
(AB)C=(AC)(BC) (AB)C=(AC)(BC) Why?

5.2. Functions: Plain and one-to-one
Definition 5.3. f: AB, A is called domain and B is codomain. f(A) is called the range of f. For (a, b)f, b is called image of a under f whereas a is a pre-image of b. Ex 5.10. Greatest integer function, floor function Ceiling function Truncate function Row-major order mapping function Ex a sequence of real numbers r1, r2,… can be thought of as a function f: Z+R and a sequence of integers can be thought of as f: Z+Z

properties For finite sets A and B with A=m and B=n, there are nm functions from A to B. Definition 5.5. f: AB, is one-to-one or injective, if each element of B appears at most once as the image of an element of A. If so, we must have AB. Stated in another way, f: AB, is one-to-one if and only if for all a1, a2A, f(a1)=f(a2) a1=a2. Ex f(x)=3x+7 for xR is one-to-one. But g(x)=x4-x is not. (Why?)

Number of one-to-one functions
Ex A={1, 2, 3}, B={1, 2, 3, 4, 5}, there are 215 relations from A to B and 53 functions from A to B. In the above example, we have P(5, 3) one-to-one functions. Given finite sets A and B with A=m and B=n, there are P(n, m) one-to-one functions from A to B.

Theorem 5.2. Let f: AB with A1, A2A. Then (a) f(A1A2)=f(A1)f(A2),
(b) f(A1A2)f(A1)f(A2), (c) f(A1A2)=f(A1)f(A2) when f is one-to-one. A1={2,3,4}, A2={3,4,5} f(2)=b, f(3)=a, f(4)=a, f(5)=b

Restriction and Extension
Definition 5.7. If f: AB and A1A, then fA1: AB is called the restriction of f to A1 if fA1(a)=f(a) for all aA1. Definition 5.8. Let A1A and f: A1B. If g: AB and g(a)=f(a) for all aA1, then we call g an extension of f to A. Ex 5.17.Let f: AR be defined by {(1, 10), (2, 13), (3, 16), (4, 19), (5, 22)}. Let g: QR where g(q)= 3q+7 for all qQ. Let h: RR where h(r)= 3r+7 for all rR. g is an extension of f, f is the restriction of g h is an extension of f, f is the restriction of h h is an extension of g, g is the restriction of h Ex g and f are shown in Fig 5.5. f is an extension of g.

5.3. Onto Functions: Stirling numbers of the second kind
Definition 5.9. f: AB, is onto, or surjective, if f(A)=B-that is, for all bB there is at least one aA with f(a)=B. If so, we must have AB. Ex The function f: RR defined by f(x)=x3 is an onto function. But the function g: RR defined by f(x)=x2 is not an onto function. Ex The function f: ZZ defined by f(x)=3x+1 is not an onto function. But the function g: QQ defined by g(x)=3x+1 is an onto function. The function h: RR defined by h(x)=3x+1 is an onto function.

The number of onto functions
Ex If A={x, y, z} and B={1,2}, there are 23-2=6 onto functions. In general, if A=m and B=2, then there are 2m-2 onto functions. Ex If A={w, x, y, x} and B={1,2, 3}. There are C(3, 3)34 functions from A to B. Consider subset B of size 2, such as {1, 2}, {1, 3}, {2, 3}, there are C(3, 2)24 functions from A to B. Consider subset B of size 1, such as {1}, {3}, {2}, there are C(3, 1)14 functions from A to B. Totally, there are C(3, 3)34- C(3, 2)24+ C(3, 1)14 onto functions from A to B.

The number of onto functions
For finite sets A and B with A=m and B=n, the number of onto functions is:

Examples Ex Let A={1, 2, 3, 4, 5, 6, 7} and B={w, x, y, z}. So, m=7 and n=4. There are 8400 onto functions. C(4, 4)47-C(4, 3)37+C(4, 2)27-C(4, 1)17=8400 Ex Let A={a, b, c, d} and B={1, 2, 3}. So, m=4 and n=3. There are 36 onto functions, or equivalently, 36 ways to distribute four distinct objects into three distinguishable containers, with no container empty. For mn, the number of ways to distribute m distinct objects into n numbered containers with no container left empty is :

Distinguishable and identical
distribute m distinct (identical) objects into n numbered (identical) containers {a, b} in container 1, {c} in container 2, {d} in container 3 {a, b} in one container, {c} in the other container, {d} in another container 2 objects in container 1, 1 object in container 2, 1 object in container 3 2 objects in one container, 1 object in the other container, 1 object in another container

Stirling number of the second kind
The stirling number of the second kind is the number of ways to distribute m distinct objects into n identical containers, with no container left empty, denoted S(m,n), which is

It is the number of possible ways to distribute m distinct objects into n identical containers with empty containers allowed.

Theorem 5.3. S(m+1, n)=S(m, n-1) + n S(m, n).
am+1 is in a container by itself. Objects a1, a2, …, am will be distributed to the first n-1 containers, with none left empty. am+1 is in the same container as another object. Objects a1, a2, …, am will be distributed to the n containers, with none left empty.

Ex 5.28. 30030=23571113. How many ways can we factorize the number into two factors? The answer is S(6, 2)=31. How many ways can we factorize the number into three factors? The answer is S(6, 3)=90. If we want at least two factors in each of these unordered factorization, then there are 202=

5.4. Special functions Definition f: AAB is called a binary operation. If BA, then it is closed on A. Definition A function g:AA is called unary, or monary, operation on A. Ex: the function f: ZZZ, defined by f(a, b)=a-b, is a closed binary operation. The function g: Z+Z+Z, defined by g(a, b)=a-b, is a binary operation on Z+, but it is not closed. The function h: R+R+, defined by h(a)=1/a, is a unary operation.

Commutative and associative
Definition f is commutative if f(a, b)= f(b, a) for all a, b. When BA, f is said to be associative if for all a, b, c we have f(f(a, b), c)=f(a, f(b, c))

Commutative and associative
Ex 5.32. The function f: ZZZ, defined by f(a, b) = a+b-3ab is commutative and associative. The function f: ZZZ, defined by h(a, b) = ab is not commutative but is associative. Ex Assume A={a, b, c, d} and f: AAA. There are 416 closed binary operations on A. Determine the number of commutative and closed operations g. there are four choices for g(a, a), g(b, b), g(c, c) and g(d, d). The other 12 ordered pairs can be classified into 6 groups because of the commutative property. The total number of binary and commutative operations is 4446.

Identity Definition Let f: AAB be a binary operation on A. An element x in A is called an identity for f if f(a, x)= f(x, a)=a for all a in A. Ex 5.34. If f(a, b)=a+b, then 0 is the identity. If f(a, b)=ab, then 1 is the identity. If f(a, b)=a-b, then there is no identity.

Identity Theorem 5.4. Let f: AAB be a binary operation on A. If f has an identity, then that identity is unique. Ex If A={x, a, b, c, d}, how many closed binary operations on A have x as the identity? Because x is the identity, we have Table 5.2, where there are 16 cells left unfilled. There are 516 closed binary operations on A, where x is the identity. Of these, 510=5456 are commutative. If every element can be used as the identity, we have 511 closed binary operations that are commutative.

Projection Definition if DAB, then A: DA, defined by A(a, b)=a is called the projection on the first coordinate. The function B: DB, defined by B(a, b)=b is called the projection on the second coordinate. if DA1 A2…An, then A: DAi1 Ai2 Ai3,,,, Aim, defined by (a1, a2, …, an)= ai1, ai2, ai3, …, aim is called the projection on the i1, i2, …, im coordinates.

The projection of a database

5.5. Pigeonhole principle The pigeonhole principle: If m pigeons occupy n pigeonholes and m>n, then at least one pigeonhole has two or pigeons roosting in it. Ex 5.39: among 13 people, at least two of them have birthdays during the same month. Ex In a laundry bag, there are 12 pairs of socks. Drawing the socks from the bag randomly, we will draw at most 13 of them to get a matched pair. Ex Let SZ+ and S=37. Then S contains two elements that have the same remainder upon division by 36.

Examples Ex If 101 integers are selected from the set S={1, 2, …, 200}, then there are two integers such that one divide the other. For each xS, we may write x=2ky, with k0 and gcd(2,y)=1. Then yT={1, 3, 5, …, 199}, where T =100. By the principle, there are two distinct integers of the form a=2my and b=2ny for some y in T. Ex Any subset of size 6 from the set S={1, 2, …, 9} must contain two elements whose sum is 10.

Examples Ex Triangle ACE is equilateral with AC=1. If five points are selected from the interior of the triangle, there are at least two whose distance apart is less than 1/2. Ex Let S be a set of six positive integers whose maximum is at most 14. The sums of the elements in all the nonempty subsets of S cannot be all distinct. There are 26-1=63 subsets of S. 1SA 9+10+…+14=69 If A=5, then 1SA 10+…+14=60 There are 62 nonempty subsets A of A with 5A.

Ex 5.47 Let m in Z+ and m is odd. There exists a positive integer n such that m divides 2n-1. Consider the m+1 positive integers 21-1, 22-1,…, 2m-1, 2m+1-1. By the principle, we have 1s<tm+1, where 2s-1 and 2t-1 have the same remainder upon division by m. Hence 2s-1=q1m+r and 2t-1=q2m+r. (2t-1)-(2s-1)= 2t-2s=2s(2t-s-1)=(q2-q1)m. Since m is odd, gcd(m, 2s)=1. Hence, m2t-s-1, and the result follows with n=t-s.

Ex 5.49 For each nZ+, a sequence of n2+1 distinct real numbers contains a decreasing or increasing subsequence of length n+1. Let the sequence be a1, a2,…,an2+1. For 1k n2+1 xk= the maximum length of a decreasing subsequence that ends with ak. yk= the maximum length of an increasing subsequence that ends with ak. If there is no such sequence, then 1xkn and 1ykn for 1k n2+1. Consequently, there are at most n2 distinct ordered pairs of xk and yk. But we have n2+1 ordered pairs of xk and yk. Thus, there are two identical (xi, yi) and (xj, yj). But since every real number is distinct from one another, this is a contradiction.

5.6. Function composition and inverse function
For each integer c there is a second integer d where c+d = d+c=0, and we call d the additive inverse of c. Similarly, for each real number c there is a second real number d where cd = dc=1, and we call d the multiplicative inverse of c. Definition If f: AB, then f is said to be bijective, or to be one-to-one correspondence, if f is both onto and one-to-one. Definition The function 1A: AA, defined by 1A(a)=a for all aA, is called the identity function for A.

Equal function Definition If f, g : AB, we say that f and g are equal and write f = g, if f(a)=g(a) for all aA. A common pitfall may happen when f and g have a common domain A and f(a)=g(a) for all aA, but they are not equal. Ex f and g look similar but they are not equal. Ex f and g look different but they are indeed equal.

Composite function Definition If f : AB and g : BC, we define the composition function, which is denoted by gf: AC, (gf) (a)=g(f(a)) for each aA. Ex 5.53, Ex 5.54. Properties The codomain of f = domain of g If range of f  domain of g, this will be enough to yield gf: AC. For any f : AB, f1A = f = 1Bf.

Is function composition associative?
Theorem 5.6. If f : AB and g : BC and h : CD, then (hg)f=h(gf). Ex 5.55.

Definitions Definition 5.19. If f : AA, we define f1=f and fn+1=ffn.
Ex 5.56 Definition For sets A and B, if  is a relation from A to B, then the converse of , denoted by c, is the relation from B to A defined by c={(b, a) (a, b)}. Ex 5.57

Invertible function Definition If f : AB, then f is said to be invertible if there is a function g: BA such that gf=1A and fg=1B. (Ex 5.58 ) Theorem 5.7. If a function f : AB is invertible and a function g : BA satisfies gf=1A and fg=1B, then this function g is unique.

Invertible function Theorem 5.8. A function f : AB is invertible if and only if it is one-to-one and onto. Theorem 5.9. If f : AB and g : BC are invertible functions, then gf: AC is invertible and (gf)-1=f-1g-1. Ex f:RR is defined by f(x)=mx+b, and f-1:RR is defined by f-1(x)=(1/m)(x-b). Ex f:RR+ is defined by f(x)=ex, and f-1:R+R is defined by f-1(x)=ln x.

Preimage Definition If f: AB and B1B, then f-1(B1)={xAf(x)B1}. The set f-1(B1) is called the pre-image of B1 under f. Ex If f={(1, 7), (2, 7), (3, 8), (4, 6), (5, 9), (6, 9)}, what are the preimage of B1={6, 8}, B2={7, 8}, B3={8, 9}, B4={8, 9, 10}, B5={8, 10}.

Ex 5.64 Table 5.9 for f:ZR with f(x)=x2+5
Table 5.10 for g:RR with g(x)= x2+5

Theorems For aA, af-1(B1B2) f(a) B1B2 f(a) B1 or f(a)B2
af-1(B1) or af-1(B2) af-1(B1)f-1(B2)

Theorem 5.11. If f : AB and A=B. Then the following statements are equivalent: (a) f is one-to-one; (b) f is onto, (c) f is invertible.

5.7. Computational complexity
Can we measure how long it takes the algorithm to solve a problem of a certain size? To be independent of compliers used, machines used or other factors that may affect the execution, we want to develop a measure of the function, called time complexity function, of the algorithm. Let n be the input size. Then f(n) denotes the number of basic steps needed by the algorithm for input size n.

Order Definition Let f, g: Z+R. we say that g dominates f (or f is dominated by g) if there exist constants mR+ and kZ+ such that fmg(n) for all nZ+, where nk. When f is dominated by g we say that f is of order g and we use what is called “Big-Oh” notation to denote this. We write fO(g). O(g) represents the set of all functions with domain Z+ and codomain R that are dominated by g.

Examples Ex 5.65, we observe that fO(g).
Ex we observe that gO(f). Ex When f(n)=atnt+at-1tt-1 +…+a0, fO(nt). Ex 5.68. f(n)=1+2+…+nO(n2). f(n)=12+22+…+n2O(n3). f(n)=1t+2t+…+ntO(nt+1). When dealing with the concept of function dominance, we seek the best ( or tightest) bound.

some order functions that are commonly seen

5.8. Analysis of algorithms
Ex The time complexity is f(n)=7n+5O(n)

Ex 5.70. Linear search. The best case is O(1). The worst case is O(n).
The average case f(n)=pn(n+1)/2+nq, where np+q=1.

Ex 5.72, Ex compute an. In Figure 5.14, the time complexity is f(n) O(n). In Figure 5.15, the complexity is O(log n).

The growth of complexities