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

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-toone
 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 5.12. 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 5.13. 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 5.14. 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-toone 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-toone.
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 5.18. 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 5.19. 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 5.20. 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 5.22. 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 5.23. 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:
 n m  n 
 n 
m
m
n 1  n  m
 n  
(n  1)  
(n  2) ...  (1)  1
 n
 n  1
 n  2
 1
 n 
(n  k ) m
  (1) 
k 0
n  k
n
k
Examples
 Ex 5.24. 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 5.26. 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 :
 n 
m


(

1
)
(
n

k
)

n  k 
k 0


n
k
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
1 n
k n 
m


(

1
)
(
n

k
)

n  k
n! k 0


n
 S ( m, i )
i 1
 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
6
are 202=  S (6, i )
i2
5.4. Special functions
 Definition 5.10. f: AAB is called a binary
operation. If BA, then it is closed on A.
 Definition 5.11. 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)=ab, 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 5.12. 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 5.33. 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 5.13. 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 5.35. 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 5.14. 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Ai  Ai 
Ai ,,,, Ai , defined by (a1, a2, …, an)= ai ,
ai , ai , …, ai is called the projection on the
i1, i2, …, im coordinates.
1
3
2
m
3
2
1
m
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 5.40. 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 5.42. Let SZ+ and S=37. Then S contains two
elements that have the same remainder upon division
by 36.
Examples
 Ex 5.43. 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 5.44. Any subset of size 6 from the set
S={1, 2, …, 9} must contain two elements
whose sum is 10.
Examples
 Ex 5.45. 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 5.46. 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,…, 2m1, 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 5.15. 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 5.16. The function 1A: AA, defined by
1A(a)=a for all aA, is called the identity function for
A.
Equal function
 Definition 5.17. 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 5.51. f and g look similar but they are
not equal.
 Ex 5.52. f and g look different but they are
indeed equal.
Composite function
 Definition 5.18. 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 5.20. 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 5.21. 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 5.60. 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 5.61. f:RR+ is defined by f(x)=ex, and
f-1:R+R is defined by f-1(x)=ln x.
Preimage
 Definition 5.22. 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 5.62. 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 5.23. 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 “BigOh” 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 5.66. we observe that gO(f).
 Ex 5.67. 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 5.69. 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 5.73. 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