CS 441 Discrete mathematics for CS. Binary relation. Definition: Let A and B be
sets. A binary relation from A to B is a subset of a Cartesian product A x B.
CS 441 Discrete Mathematics for CS Lecture 22
Relations II
Milos Hauskrecht
[email protected] 5329 Sennott Square
CS 441 Discrete mathematics for CS
M. Hauskrecht
Cartesian product (review) • Let A={a1, a2, ..ak} and B={b1,b2,..bm}. • The Cartesian product A x B is defined by a set of pairs {(a1 b1), (a1, b2), … (a1, bm), …, (ak,bm)}. Example: Let A={a,b,c} and B={1 2 3}. What is AxB? AxB = {(a,1),(a,2),(a,3),(b,1),(b,2),(b,3)}
CS 441 Discrete mathematics for CS
M. Hauskrecht
1
Binary relation Definition: Let A and B be sets. A binary relation from A to B is a subset of a Cartesian product A x B. Example: Let A={a,b,c} and B={1,2,3}. • R={(a,1),(b,2),(c,2)} is an example of a relation from A to B.
CS 441 Discrete mathematics for CS
M. Hauskrecht
Representing binary relations • We can graphically represent a binary relation R as follows: • if a R b then draw an arrow from a to b. ab Example: • Let A = {0, 1, 2}, B = {u,v} and R = { (0,u), (0,v), (1,v), (2,u) } • Note: R A x B. • Graph: 2 0 1
u v
CS 441 Discrete mathematics for CS
M. Hauskrecht
2
Representing binary relations • We can represent a binary relation R by a table showing (marking) the ordered pairs of R. Example: • Let A = {0, 1, 2}, B = {u,v} and R = { (0,u), (0,v), (1,v), (2,u) } • Table: or R | u v R | u v 0 | x x 0 | 1 1 1 | x 1 | 0 1 2 | 1 0 2 | x
CS 441 Discrete mathematics for CS
M. Hauskrecht
Properties of relations Properties of relations on A: • • • • •
Reflexive Irreflexive Symmetric Anti-symmetric Transitive
CS 441 Discrete mathematics for CS
M. Hauskrecht
3
Reflexive relation Reflexive relation • Rdiv ={(a b), if a |b} on A = {1,2,3,4} • Rdiv = {(1,1), (1,2), (1,3), (1,4), (2,2), (2,4), (3,3), (4,4)}
MRdiv
=
1 0 0 0
1 1 0 0
1 0 1 0
1 1 0 1
• A relation R is reflexive if and only if MR has 1 in every position on its main diagonal.
M. Hauskrecht
CS 441 Discrete mathematics for CS
Irreflexive relation Irreflexive relation • R≠ on A={1,2,3,4}, such that a R≠ b if and only if a ≠ b. • R≠={(1,2),(1,3),(1,4),(2,1),(2,3),(2,4),(3,1),(3,2),(3,4),(4,1),(4,2),(4,3)}
MR
=
0 1 1 1
1 0 1 1
1 1 0 1
1 1 1 0
• A relation R is irreflexive if and only if MR has 0 in every position on its main diagonal.
CS 441 Discrete mathematics for CS
M. Hauskrecht
4
Symmetric relation Symmetric relation: • R≠ on A={1,2,3,4}, such that a R≠ b if and only if a ≠ b. • R≠={(1,2),(1,3),(1,4),(2,1),(2,3),(2,4),(3,1),(3,2),(3,4),(4,1),(4,2),(4,3)}
MR
=
0 1 1 1
1 0 1 1
1 1 0 1
1 1 1 0
• A relation R is symmetric if and only if mij = mji for all i,j.
CS 441 Discrete mathematics for CS
M. Hauskrecht
Anti-symmetric relation Definition (anti-symmetric relation): A relation on a set A is called anti-symmetric if • [(a,b) R and (b,a) R] a = b where a, b A. Example 3: • Relation Rfun on A = {1,2,3,4} defined as: • Rfun = {(1,2),(2,2),(3,3)}. • Is Rfun anti-symmetric? • Answer: Yes. It is anti-symmetric
CS 441 Discrete mathematics for CS
M. Hauskrecht
5
Anti-symmetric relation Antisymmetric relation • relation Rfun = {(1,2),(2,2),(3,3)}
MRfun =
0 0 0 0
1 1 0 0
0 0 1 0
0 0 0 0
• A relation is antisymmetric if and only if mij = 1 mji = 0 for i≠ j.
CS 441 Discrete mathematics for CS
M. Hauskrecht
Transitive relation Definition (transitive relation): A relation R on a set A is called transitive if • [(a,b) R and (b,c) R] (a,c) R for all a, b, c A. • • • • •
Example 1: Rdiv ={(a b), if a |b} on A = {1,2,3,4} Rdiv = {(1,1), (1,2), (1,3), (1,4), (2,2), (2,4), (3,3), (4,4)} Is Rdiv transitive? Answer:
CS 441 Discrete mathematics for CS
M. Hauskrecht
6
Transitive relation Definition (transitive relation): A relation R on a set A is called transitive if • [(a,b) R and (b,c) R] (a,c) R for all a, b, c A. • • • • •
Example 1: Rdiv ={(a b), if a |b} on A = {1,2,3,4} Rdiv = {(1,1), (1,2), (1,3), (1,4), (2,2), (2,4), (3,3), (4,4)} Is Rdiv transitive? Answer: Yes.
CS 441 Discrete mathematics for CS
M. Hauskrecht
Transitive relation Definition (transitive relation): A relation R on a set A is called transitive if • [(a,b) R and (b,c) R] (a,c) R for all a, b, c A. • Example 2: • R≠ on A={1,2,3,4}, such that a R≠ b if and only if a ≠ b. • R≠={(1,2),(1,3),(1,4),(2,1),(2,3),(2,4),(3,1),(3,2),(3,4),(4,1),(4,2),(4,3)}
• Is R≠ transitive ? • Answer:
CS 441 Discrete mathematics for CS
M. Hauskrecht
7
Transitive relation Definition (transitive relation): A relation R on a set A is called transitive if • [(a,b) R and (b,c) R] (a,c) R for all a, b, c A. • Example 2: • R≠ on A={1,2,3,4}, such that a R≠ b if and only if a ≠ b. • R≠={(1,2),(1,3),(1,4),(2,1),(2,3),(2,4),(3,1),(3,2),(3,4),(4,1),(4,2),(4,3)}
• Is R≠ transitive? • Answer: No. It is not transitive since (1,2) R and (2,1) R but (1,1) is not an element of R.
CS 441 Discrete mathematics for CS
M. Hauskrecht
Transitive relations Definition (transitive relation): A relation R on a set A is called transitive if • [(a,b) R and (b,c) R] (a,c) R for all a, b, c A. • Example 3: • Relation Rfun on A = {1,2,3,4} defined as: • Rfun = {(1,2),(2,2),(3,3)}. • Is Rfun transitive? • Answer:
CS 441 Discrete mathematics for CS
M. Hauskrecht
8
Transitive relations Definition (transitive relation): A relation R on a set A is called transitive if • [(a,b) R and (b,c) R] (a,c) R for all a, b, c A. • Example 3: • Relation Rfun on A = {1,2,3,4} defined as: • Rfun = {(1,2),(2,2),(3,3)}. • Is Rfun transitive? • Answer: Yes. It is transitive.
CS 441 Discrete mathematics for CS
M. Hauskrecht
Combining relations Definition: Let A and B be sets. A binary relation from A to B is a subset of a Cartesian product A x B. • Let R A x B means R is a set of ordered pairs of the form (a,b) where a A and b B. Combining Relations • Relations are sets combinations via set operations • Set operations of: union, intersection, difference and symmetric difference.
CS 441 Discrete mathematics for CS
M. Hauskrecht
9
Combining relations Example: • Let A = {1,2,3} and B = {u,v} and • R1 = {(1,u), (2,u), (2,v), (3,u)} • R2 = {(1,v),(3,u),(3,v)} What is: • R1 R2 = ?
CS 441 Discrete mathematics for CS
M. Hauskrecht
Combining relations Example: • Let A = {1,2,3} and B = {u,v} and • R1 = {(1,u), (2,u), (2,v), (3,u)} • R2 = {(1,v),(3,u),(3,v)} What is: • R1 R2 = {(1,u),(1,v),(2,u),(2,v),(3,u),(3,v)} • R1 R2 = ?
CS 441 Discrete mathematics for CS
M. Hauskrecht
10
Combining relations Example: • Let A = {1,2,3} and B = {u,v} and • R1 = {(1,u), (2,u), (2,v), (3,u)} • R2 = {(1,v),(3,u),(3,v)} What is: • R1 R2 = {(1,u),(1,v),(2,u),(2,v),(3,u),(3,v)} • R1 R2 = {(3,u)} • R1 - R2 = ?
CS 441 Discrete mathematics for CS
M. Hauskrecht
Combining relations Example: • Let A = {1,2,3} and B = {u,v} and • R1 = {(1,u), (2,u), (2,v), (3,u)} • R2 = {(1,v),(3,u),(3,v)} What is: • R1 R2 = {(1,u),(1,v),(2,u),(2,v),(3,u),(3,v)} • R1 R2 = {(3,u)} • R1 - R2 = {(1,u),(2,u),(2,v)} • R2 - R1 = ?
CS 441 Discrete mathematics for CS
M. Hauskrecht
11
Combining relations Example: • Let A = {1,2,3} and B = {u,v} and • R1 = {(1,u), (2,u), (2,v), (3,u)} • R2 = {(1,v),(3,u),(3,v)} What is: • R1 R2 = {(1,u),(1,v),(2,u),(2,v),(3,u),(3,v)} • R1 R2 = {(3,u)} • R1 - R2 = {(1,u),(2,u),(2,v)} • R2 - R1 = {(1,v),(3,v)}
CS 441 Discrete mathematics for CS
M. Hauskrecht
Combination of relations Representation of operations on relations: • Question: Can the relation be formed by taking the union or intersection or composition of two relations R1 and R2 be represented in terms of matrix operations? • Answer: Yes
CS 441 Discrete mathematics for CS
M. Hauskrecht
12
Combination of relations: implementation Definition. The join, denoted by , of two m-by-n matrices (aij) and (bij) of 0s and 1s is an m-by-n matrix (mij) where • mij = aij bij for all i,j = pairwise or (disjunction) • • • •
Example: Let A = {1,2,3} and B = {u,v} and R1 = {(1,u), (2,u), (2,v), (3,u)} R2 = {(1,v),(3,u),(3,v)}
• MR1 =1 1 1
0 1 0
MR2 = 0 0 1
1 0 1
M(R1 R2)= 1 1 1
CS 441 Discrete mathematics for CS
1 1 1 M. Hauskrecht
Combination of relations: implementation Definition. The meet, denoted by , of two m-by-n matrices (aij) and (bij) of 0s and 1s is an m-by-n matrix (mij) where • mij = aij bij for all i,j = pairwise and (conjunction) • • • •
Example: Let A = {1,2,3} and B = {u,v} and R1 = {(1,u), (2,u), (2,v), (3,u)} R2 = {(1,v),(3,u),(3,v)}
• MR1 =1 1 1
0 1 0
MR2 = 0 0 1
1 0 1
MR1 MR2= 0 0 1
CS 441 Discrete mathematics for CS
0 0 0 M. Hauskrecht
13
Composite of relations Definition: Let R be a relation from a set A to a set B and S a relation from B to a set C. The composite of R and S is the relation consisting of the ordered pairs (a,c) where a A and c C, and for which there is a b B such that (a,b) R and (b,c) S. We denote the composite of R and S by S o R. Examples: • Let A = {1,2,3}, B = {0,1,2} and C = {a,b}. • R = {(1,0), (1,2), (3,1),(3,2)} • S = {(0,b),(1,a),(2,b)} • SoR=? CS 441 Discrete mathematics for CS
M. Hauskrecht
Composite of relations Definition: Let R be a relation from a set A to a set B and S a relation from B to a set C. The composite of R and S is the relation consisting of the ordered pairs (a,c) where a A and c C, and for which there is a b B such that (a,b) R and (b,c) S. We denote the composite of R and S by S o R. Examples: • Let A = {1,2,3}, B = {0,1,2} and C = {a,b}. • R = {(1,0), (1,2), (3,1),(3,2)} • S = {(0,b),(1,a),(2,b)} • S o R = {(1,b),(3,a),(3,b)} CS 441 Discrete mathematics for CS
M. Hauskrecht
14
Implementation of composite Definition. The Boolean product, denoted by , of an m-by-n matrix (aij) and n-by-p matrix (bjk) of 0s and 1s is an m-by-p matrix (mik) where 1, if aij = 1 and bjk = 1 for some k=1,2,...,n • mik = 0, otherwise Examples: • Let A = {1,2,3}, B = {0,1,2} and C = {a,b}. • R = {(1,0), (1,2), (3,1),(3,2)} • S = {(0,b),(1,a),(2,b)} • S o R = {(1,b),(3,a),(3,b)}
CS 441 Discrete mathematics for CS
M. Hauskrecht
Implementation of composite Examples: • Let A = {1,2}, B= {1,2,3} C = {a,b} • R = {(1,2),(1,3),(2,1)} is a relation from A to B • S = {(1,a),(3,b),(3,a)} is a relation from B to C. • S R = {(1,b),(1,a),(2,a)} 0 1 1 1 0 0 0 MS = 0 0 MR = 1 1 1 MR MS = ?
CS 441 Discrete mathematics for CS
M. Hauskrecht
15
Implementation of composite Examples: • Let A = {1,2}, {1,2,3} C = {a,b} • R = {(1,2),(1,3),(2,1)} is a relation from A to B • S = {(1,a),(3,b),(3,a)} is a relation from B to C. • S R = {(1,b),(1,a),(2,a)} 0 1 1 1 0 MR = 1 0 0 MS = 0 0 1 1 = x x MR MS x x
CS 441 Discrete mathematics for CS
M. Hauskrecht
Implementation of composite Examples: • Let A = {1,2}, {1,2,3} C = {a,b} • R = {(1,2),(1,3),(2,1)} is a relation from A to B • S = {(1,a),(3,b),(3,a)} is a relation from B to C. • S R = {(1,b),(1,a),(2,a)} 0 1 1 1 0 0 0 MS = 0 0 MR = 1 1 1 MR MS = 1 x x x
CS 441 Discrete mathematics for CS
M. Hauskrecht
16
Implementation of composite Examples: • Let A = {1,2}, {1,2,3} C = {a,b} • R = {(1,2),(1,3),(2,1)} is a relation from A to B • S = {(1,a),(3,b),(3,a)} is a relation from B to C. • S R = {(1,b),(1,a),(2,a)} 0 MR = 1
1 0
1 0
MS
MR MS
=
1 x
1 x
=
1 0 1
0 0 1
M. Hauskrecht
CS 441 Discrete mathematics for CS
Implementation of composite Examples: • Let A = {1,2}, {1,2,3} C = {a,b} • R = {(1,2),(1,3),(2,1)} is a relation from A to B • S = {(1,a),(3,b),(3,a)} is a relation from B to C. • S R = {(1,b),(1,a),(2,a)} 0 MR = 1
1 0
1 0
MS
MR MS
=
1 1
1 x
=
CS 441 Discrete mathematics for CS
1 0 1
0 0 1
M. Hauskrecht
17
Implementation of composite Examples: • Let A = {1,2}, {1,2,3} C = {a,b} • R = {(1,2),(1,3),(2,1)} is a relation from A to B • S = {(1,a),(3,b),(3,a)} is a relation from B to C. • S R = {(1,b),(1,a),(2,a)} 0 1 1 1 0 MR = 1 0 0 MS = 0 0 1 1 = 1 1 MR MS 1 0 MS R =
? CS 441 Discrete mathematics for CS
M. Hauskrecht
Implementation of composite Examples: • Let A = {1,2}, {1,2,3} C = {a,b} • R = {(1,2),(1,3),(2,1)} is a relation from A to B • S = {(1,a),(3,b),(3,a)} is a relation from B to C. • S R = {(1,b),(1,a),(2,a)} 0 1 1 1 0 0 0 MS = 0 0 MR = 1 1 1 MR MS = 1 1 1 0 MS R =
1 1
1 0
CS 441 Discrete mathematics for CS
M. Hauskrecht
18
Composite of relations Definition: Let R be a relation on a set A. The powers Rn, n = 1,2,3,... is defined inductively by • R1 = R and Rn+1 = Rn R. Examples • R = {(1,2),(2,3),(2,4), (3,3)} is a relation on A = {1,2,3,4}. • R1= ?
CS 441 Discrete mathematics for CS
M. Hauskrecht
Composite of relations Definition: Let R be a relation on a set A. The powers Rn, n = 1,2,3,... is defined inductively by • R1 = R and Rn+1 = Rn R. Examples • R = {(1,2),(2,3),(2,4), (3,3)} is a relation on A = {1,2,3,4}. • R 1 = R = {(1,2),(2,3),(2,4), (3,3)} • R2=?
CS 441 Discrete mathematics for CS
M. Hauskrecht
19
Composite of relations Definition: Let R be a relation on a set A. The powers Rn, n = 1,2,3,... is defined inductively by • R1 = R and Rn+1 = Rn R. Examples • R = {(1,2),(2,3),(2,4), (3,3)} is a relation on A = {1,2,3,4}. • R 1 = R = {(1,2),(2,3),(2,4), (3,3)} • R 2 = {(1,3), (1,4), (2,3), (3,3)} • R3=?
CS 441 Discrete mathematics for CS
M. Hauskrecht
Composite of relations Definition: Let R be a relation on a set A. The powers Rn, n = 1,2,3,... is defined inductively by • R1 = R and Rn+1 = Rn R. Examples • R = {(1,2),(2,3),(2,4), (3,3)} is a relation on A = {1,2,3,4}. • R 1 = R = {(1,2),(2,3),(2,4), (3,3)} • R 2 = {(1,3), (1,4), (2,3), (3,3)} • R 3 = {(1,3), (2,3), (3,3)} • R4=?
CS 441 Discrete mathematics for CS
M. Hauskrecht
20
Composite of relations Definition: Let R be a relation on a set A. The powers Rn, n = 1,2,3,... is defined inductively by • R1 = R and Rn+1 = Rn R. Examples • R = {(1,2),(2,3),(2,4), (3,3)} is a relation on A = {1,2,3,4}. • R 1 = R = {(1,2),(2,3),(2,4), (3,3)} • R 2 = {(1,3), (1,4), (2,3), (3,3)} • R 3 = {(1,3), (2,3), (3,3)} • R 4 = {(1,3), (2,3), (3,3)} • R k = ? , k > 3.
CS 441 Discrete mathematics for CS
M. Hauskrecht
Composite of relations Definition: Let R be a relation on a set A. The powers Rn, n = 1,2,3,... is defined inductively by • R1 = R and Rn+1 = Rn R. Examples • R = {(1,2),(2,3),(2,4), (3,3)} is a relation on A = {1,2,3,4}. • R 1 = R = {(1,2),(2,3),(2,4), (3,3)} • R 2 = {(1,3), (1,4), (2,3), (3,3)} • R 3 = {(1,3), (2,3), (3,3)} • R 4 = {(1,3), (2,3), (3,3)} • R k = R 3, k > 3.
CS 441 Discrete mathematics for CS
M. Hauskrecht
21
Transitive relation Definition (transitive relation): A relation R on a set A is called transitive if • [(a,b) R and (b,c) R] (a,c) R for all a, b, c A. • • • • •
Example 1: Rdiv ={(a b), if a |b} on A = {1,2,3,4} Rdiv = {(1,1), (1,2), (1,3), (1,4), (2,2), (2,4), (3,3), (4,4)} Is Rdiv transitive? Answer: ?
CS 441 Discrete mathematics for CS
M. Hauskrecht
Transitive relation Definition (transitive relation): A relation R on a set A is called transitive if • [(a,b) R and (b,c) R] (a,c) R for all a, b, c A. • • • • •
Example 1: Rdiv ={(a b), if a |b} on A = {1,2,3,4} Rdiv = {(1,1), (1,2), (1,3), (1,4), (2,2), (2,4), (3,3), (4,4)} Is Rdiv transitive? Answer: Yes.
CS 441 Discrete mathematics for CS
M. Hauskrecht
22
Connection to Rn Theorem: The relation R on a set A is transitive if and only if Rn R for n = 1,2,3,... . Proof: biconditional (if and only if) ( ) Suppose Rn R, for n =1,2,3,... . • Let (a,b) R and (b,c) R • by the definition of R R, (a,c) R R =R2 R • Therefore R is transitive.
CS 441 Discrete mathematics for CS
M. Hauskrecht
Connection to Rn Theorem: The relation R on a set A is transitive if and only if Rn R for n = 1,2,3,... . Proof: biconditional (if and only if) () Suppose R is transitive. Show Rn R, for n =1,2,3,... . • Let P(n) : Rn R. Mathematical induction. • Basis Step:
CS 441 Discrete mathematics for CS
M. Hauskrecht
23
Connection to Rn Theorem: The relation R on a set A is transitive if and only if Rn R for n = 1,2,3,... . Proof: biconditional (if and only if) () Suppose R is transitive. Show Rn R, for n =1,2,3,... . • Let P(n) : Rn R. Mathematical induction. • Basis Step: P(1) says R1 = R so, R1 R is true.
CS 441 Discrete mathematics for CS
M. Hauskrecht
Connection to Rn Theorem: The relation R on a set A is transitive if and only if Rn R for n = 1,2,3,... . Proof: biconditional (if and only if) () Suppose R is transitive. Show Rn R, for n =1,2,3,... . • Let P(n) : Rn R. Mathematical induction. • Basis Step: P(1) says R1 = R so, R1 R is true. • Inductive Step: show P(n) P(n+1) • Want to show if Rn R then Rn+1 R.
CS 441 Discrete mathematics for CS
M. Hauskrecht
24
Connection to Rn Theorem: The relation R on a set A is transitive if and only if Rn R for n = 1,2,3,... . Proof: biconditional (if and only if) () Suppose R is transitive. Show Rn R, for n =1,2,3,... . • Let P(n) : Rn R. Mathematical induction. • Basis Step: P(1) says R1 = R so, R1 R is true. • Inductive Step: show P(n) P(n+1) • Want to show if Rn R then Rn+1 R. • Let (a,b) Rn+1 then by the definition of Rn+1 = Rn R there is an element x A so that (a,x) R and (x,b) Rn R (inductive hypothesis). In addition to (a,x) R and (x,b) R, R is transitive; so (a,b) R. • Therefore, Rn+1 R. CS 441 Discrete mathematics for CS
M. Hauskrecht
Number of reflexive relations Theorem: The number of reflexive relations on a set A, where | A | = n is: 2 n(n-1) . Proof: • A reflexive relation R on A must contain all pairs (a,a) where a A. • All other pairs in R are of the form (a,b), a ≠ b, such that a, b A. • How many of these pairs are there? Answer: n(n-1). • How many subsets on n(n-1) elements are there? • Answer: 2 n(n-1) .
CS 441 Discrete mathematics for CS
M. Hauskrecht
25