Chapter 4

advertisement
CSCI 115
Chapter 4
Relations and Digraphs
CSCI 115
§4.1
Product Sets and Partitions
§4.1 – Product Sets and Partitions
• Product Set
– Ordered pair
– Cartesian Product
• Theorem 4.1.1
– For any 2 finite non-empty sets A and B,
|A x B| = |A||B|
§4.1 – Product Sets and Partitions
•
Partitions
–
A partition (quotient set) of A is a set P of
nonempty subsets of A such that:
1. Each element of A belongs to a set in P
2. If A1 and A2 are elements of P, then A1A2 = {}
–
Each element of P is called a cell or a block
CSCI 115
§4.2
Relations and Digraphs
§4.2 – Relations and Digraphs
• Relations
– Relation from A to B
• Subset of A x B
– Relation on A
• Subset of A x A
§4.2 – Relations and Digraphs
• Sets arising from relations
– Domains
• Domain of relation
– Ranges
• Range of relation
• Range of an element
• Range of a subset
§4.2 – Relations and Digraphs
• Theorem 4.2.1
– Let R be a relation from A to B, and let A1 and A2 be
subsets of A. Then:
i. If A1  A2, then R(A1)  R(A2)
ii. R(A1  A2) = R(A1)  R(A2)
iii. R(A1  A2)  R(A1)  R(A2)
• Theorem 4.2.2
– Let R and S be Relations from A to B. If R(a) = S(a) 
a  A, then R = S.
§4.2 – Relations and Digraphs
• The matrix of a relation
– If A = {a1, a2, …, am} and B = {b1, b2, …, bn},
then a relation R from A to B can be represented
by an m x n boolean matrix (MR) constructed as
follows:
mij =
{
1 if (ai, bj)  R
0 if (ai, bj)  R
§4.2 – Relations and Digraphs
• The Digraph of a relation
– Let R be a relation on A. The Digraph of R is
constructed as follows:
1.
2.
Draw a circle for each element in A, and label the circles
accordingly (these are called vertices)
Draw an arrow from ai to aj iff aiRaj (these are called edges)
– In-degrees and out-degrees
§4.2 – Relations and Digraphs
• Relation Restriction
– Let R be a relation on a set A, with B  A. The
restriction of R to B is R  (B x B).
CSCI 115
§4.3
Paths in Relations and Digraphs
§4.3 – Paths in Relations and
Digraphs
• Path of length n from a to b:
– aRx1, x1Rx2, x2Rx3, …, xn-1Rb
– Geometric path in digraph
• Cycle: A path that begins and ends at the
same vertex
§4.3 – Paths in Relations and
Digraphs
• New relations from paths
– Rn: xRny iff there is a path of length n from
x to y
– R: xRy iff there is any path from x to y
• Connectivity Relation
– R*: xR*y iff there is a path from x to y, or x = y
• Reachability Relation
§4.3 – Paths in Relations and
Digraphs
• Theorem 4.3.1
– If R is a relation on A = {a1, a2, …, an}, then
MR2 = MR  MR = ((MR))2
• Theorem 4.3.2
– For n  2 and R a relation on a finite set A, we
have MRn = MR  MR...  MR (n factors)
§4.3 – Paths in Relations and
Digraphs
• Path composition
–  is used as a variable for paths
– Assume we have:
• 1: a, x1, x2, …, xn-1, b
• 2: b, y1, y2, …, ym-1, c
– Then, we can compose 1 and 2 as follows:
• 21: a, x1, x2, …, xn-1, b, y1, y2, …, ym-1, c
• 21 is a path of length n + m
– 12 does not make sense
CSCI 115
§4.4
Properties of Relations
§4.4 – Properties of Relations
• A relation R on a set A is:
–
–
–
–
–
–
Reflexive iff (a,a)  R a  A
Irreflexive iff (a,a)  R a  A
Symmetric iff (a,b)  R  (b,a)  R
Asymmetric iff (a,b)  R  (b,a)  R
Antisymmetric iff (a,b)  R and (b,a)  R  a = b
Transitive iff (a,b)  R and (b,c)  R  (a,c)  R
§4.4 – Properties of Relations
• Theorem 4.4.1
– A relation R is transitive iff it satisfies the following
property: If there is a path of length greater than 1
from vertex a to vertex b, there is a path of length 1
from a to b (i.e. aRb).
In other words, R is transitive iff Rn  R  n > 1.
§4.4 – Properties of Relations
• Theorem 4.4.2
– Let R be a relation on a set A. Then:
i. Reflexivity of R means a  R(a)  a  A
ii. Symmetry of R means a  R(b) iff b  R(a)
iii. Transitivity of R means b  R(a) and c  R(b) implies
c  R(a)
§4.4 – Properties of Relations
• Other properties:
•
•
•
•
•
•
•
The digraph of a reflexive relation has a cycle of length 1 at every vertex
The digraph of an irreflexive relation has no cycles of length 1
If R is reflexive then the Domain(R) = Range(R) = A
The matrix of a reflexive relation has all 1s on the diagonal
The matrix of an irreflexive relation has all 0s on the diagonal
The matrix of a symmetric relation has mij = mji i,j (MR = MRT)
The matrix of an asymmetric relation meets the following 2 criteria:
• mij = 1  mji = 0 AND the diagonal must be all 0s
• The matrix of an antisymmetric relation meets the following criteria:
• If ij, then mij = 0 or mji = 0
• The Matrix of a transitive relation meets the following criteria:
• MR must have a 1 everywhere ((MR))2 has a 1
§4.4 – Properties of Relations
• Graph of a symmetric relation
– Undirected edge
– Adjacent vertices
• Connected graphs
• Disconnected graphs
CSCI 115
§4.5
Equivalence Relations
§4.5 – Equivalence Relations
• Equivalence Relation
– A relation R on a set A is an equivalence
relation if it is reflexive, symmetric, and
transitive
§4.5 – Equivalence Relations
• Theorem 4.5.1
– Let P be a partition of a set A such that
P = {A1, A2, …, An}. Define a relation R on A
as follows:
aRb iff aAi and bAi (i  {1, 2, …, n}).
Then R is an equivalence relation on A.
– Here R is called the equivalence relation
determined by P.
§4.5 – Equivalence Relations
• Lemma 4.5.1
– Let R be an equivalence relation on A. Let
a, b  A. Then aRb iff R(a) = R(b).
• Theorem 4.5.2
– Let R be an equivalence relation on A, and let P be the
collection of all distinct relative sets R(a) for a in A.
Then P is a partition of A, and R is the equivalence
relation determined by P.
• Note: When R is an equivalence relation on A,
the sets R(a) are called equivalence classes. The
partition constructed in Theorem 4.5.2 is denoted
A/R.
§4.5 – Equivalence Relations
Procedure to determine A/R (A finite or countable):
1. Choose any aA and find R(a).
2. If R(a)  A, choose bA, bR(a) and find R(b).
3. If A is not the union of the computed equivalence
classes, choose xA such that x is not in any of the
equivalence classes, and find R(x).
4. Repeat step 3 until A is accounted for, or a pattern
emerges which describes the equivalence classes.
5. A/R is the partition formed by using each equivalence
class as a cell.
CSCI 115
§4.6
Data Structures for Relations and
Digraphs
§4.6 – Data Structures for
Relations and Digraphs
• Linked list data structure
– Storage cell
• Data
• Pointer
• Implementations
– Structures
– Arrays
• We will use the array implementation
§4.6 – Data Structures for
Relations and Digraphs
•
Implementation 1 – Start, Tail, Head, Next
1. Fill in tail and head arrays
2. Fill in start variable
3. Fill in next array
•
•
The tail, head and next arrays have as many
elements as the digraph has edges
Start is a simple variable (not an array)
§4.6 – Data Structures for
Relations and Digraphs
•
Implementation 2 – Vert, Tail, Head, Next
1. Fill in tail and head arrays
2. Fill in next array (within vertex)
3. Fill in vert array. The data in vert is the first
subscript in tail that corresponds to the current vertex
•
•
The tail, head and next arrays have as many elements
as the digraph has edges
The vert array has as many elements as the digraph
has vertices
Download