1 / 60

Relations

Relations. Section 8.1, 8.3—8.5 of Rosen Fall 2008 CSCE 235 Introduction to Discrete Structures Course web-page: cse.unl.edu/~cse235 Questions: cse235@cse.unl.edu. Outline. Relation: Definition, representation, relation on a set Properties

Ava
Télécharger la présentation

Relations

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Relations Section 8.1, 8.3—8.5 of Rosen Fall 2008 CSCE 235 Introduction to Discrete Structures Course web-page: cse.unl.edu/~cse235 Questions: cse235@cse.unl.edu

  2. Outline • Relation: • Definition, representation, relation on a set • Properties • Reflexivity, symmetry, antisymmetric, irreflexive, asymmetric • Combining relations • , , \, composite of relations • Representing relations • 0-1 matrices, directed graphs • Closure of relations • Reflexive closure, diagonal relation, Warshall’s Algorithm, • Equivalence relations: • Equivalence class, partitions,

  3. Introduction • A relation between elements of two sets is a subset of their Cartesian products (set of all ordered pairs • Definition: A binary relation from a set A to a set B is a subset R AB ={ (a,b) | aA, bB} • Relation versus function • In a relation, each aA can map to multiple elements in B • Relations are more general than functions • When (a,b)R, we say that a is related to b. • Notation: aRb, aRb$aRb$, $a\notR b$

  4. Relations: Representation • To represent a relation, we can enumerate every element of R • Example • Let A={a1,a2,a3,a4,a5} and B={b1,b2,b3} • Let R be a relation from A to B defined as follows R={(a1,b1),(a1,b2),(a1,b3),(a3,b1),(a3,b2),(a3,b3),(a5,b1)} • We can represent this relation graphically A B a1 b1 a2 b2 a3 b3 a4 a5

  5. Relations on a Set • Definition: A relation on the set A is a relation from A to A and is a subset of AA • Example: The following are binary relations on N R1={ (a,b) | a  b } R2={ (a,b) | a,bN, a/bZ } R3={ (a,b) | a,bN, a-b=2 } • Question: Give some examples of ordered pairs (a,b) N2 that are not in each of these relations

  6. Properties • We will study several properties of relations • Reflexive • Symmetric • Transitive • Antisymmetric • Asymmetric

  7. Properties: Reflexivity • In a relation on a set, if all ordered pairs (a,a) for every aA appears in the relation, R is called reflexive • Definition: A relation Ron a set A is called reflexive iff aA (a,a)R

  8. Reflexivity: Examples • Recall the relations below, which is reflexive? R1={ (a,b) | a  b } R2={ (a,b) | a,bN, a/bZ } R3={ (a,b) | a,bN, a-b=2 } • R1 is reflexive since for every aN, a  a • R2 is reflexive since a/a=1 is an integer • R3 is not reflexive since a-a=0 for every aN

  9. Properties: Symmetry • Definitions: • A relation R on a set A is called symmetric if a,bA ( (b,a)R  (a,b)R ) • A relation R on a set A is called antisymmetric if a,bA [(a,b)R  (b,a)R  a=b]

  10. Symmetry versus Antisymmetry • In a symmetric relation aRb  bRa • In an antisymmetric relation, if we have aRb and bRa hold only when a=b • An antisymmetric relation is not necessarily a reflexive relation • A relation can be • both symmetric and antisymmetric • or neither • or have one property but not the other • A relation that is not symmetric is not necessarily asymmetric

  11. Symmetric Relations: Example • Consider R={(x,y)R2|x2+y2=1}, is R • Reflexive? • Symmetric? • Antisymmetric? • R is not reflexive since for example (2,2)R2 • R is symmetric because • x,yR, xRyx2+y2=1  y2+x2=1  yRx • R is not antisymmetric because (1/3,8/3)R and (8/3,1/3)R but 1/38/3

  12. Properties: Transitivity • Definition: A relation R on a set A is called transitive if whenever (a,b)R and (b,c)R then (a,c)R for all a,b,c  A a,b,cA ((aRb)(bRc))  aRc

  13. Transitivity: Examples (1) • Is the relation R={(x,y)R2| xy} transitive? • Is the relation R={(a,b),(b,a),(a,a)} transitive? Yes, it is transitive because xRy and yRz xy and yz  xz  xRz No, it is not transitive because bRa and aRb but bRb

  14. Transitivity: Examples (2) • Is the relation {(a,b) | a is an ancestor of b} transitive? • Is the relation {(x,y)R2| x2y} transitive? Yes, it is transitive because aRb and bRc a is an ancestor of b and b is an ancestor of c  a is an ancestor of c  aRc No, it is not transitive because 2R4 and 4R10 but 2R10

  15. More Properties • Definitions • A relation on a set A is irreflexive if aA (a,a)R • A relation on a set A is asymmetric if a,bA ( (a,b)R  (b,a)  R ) • Lemma: A relation R on a set A is asymmetric if and only if • R is irreflexive and • R is antisymmetric

  16. Outline • Relation: • Definition, representation, relation on a set • Properties • Reflexivity, symmetry, antisymmetric, irreflexive, asymmetric • Combining relations • , , \, composite of relations • Representing relations • 0-1 matrices, directed graphs • Closure of relations • Reflexive closure, diagonal relation, Warshall’s Algorithm, • Equivalence relations: • Equivalence class, partitions,

  17. Combining Relations • Relations are simply… sets (of ordered pairs); subsets of the Cartesian product of two sets • Therefore, in order to combine relations to create new relations, it makes sense to use the usual set operations • Intersection (R1R2) • Union (R1R2) • Set difference (R1\R2) • Sometimes, combining relations endows them with the properties previously discussed. For example, two relations may be not transitive, but their union may be

  18. Combining Relations: Example • Let • A={1,2,3,4} • B={1,2,3,4} • R1={(1,2),(1,3),(1,4),(2,2),(3,4),(4,1),(4,2)} • R2={(1,1),(1,2),(1,3),(2,3)} • Let • R1 R2= • R1  R2 = • R1 \ R2 = • R2 \ R1 =

  19. Composite of Relations • Definition: Let R1 be a relation from the set A to B and R2 be a relation from B to C, i.e. R1  AB and R2BC the composite ofR1 and R2 is the relation consisting of ordered pairs (a,c) where aA, cC and for which there exists an element bB such that (a,b)R1 and (b,c)R2. We denote the composite of R1 and R2 by R2R1

  20. Powers of Relations • Using the composite way of combining relations (similar to function composition) allows us to recursively define power of a relation R on a set A • Definition: Let R be a relation on A. The powersRn, n=1,2,3,…, are defined recursively by R1 = R Rn+1 = Rn R

  21. Powers of Relations: Example • Consider R={(1,1),(2,1),(3,2),(4,3)} • R2= • R3= • R4= • Note that Rn=R3 for n=4,5,6,…

  22. Powers of Relations & Transitivity • The powers of relations give us a nice characterization of transitivity • Theorem: A relation R is transitive if and only if Rn R for n=1,2,3,…

  23. Outline • Relation: • Definition, representation, relation on a set • Properties • Reflexivity, symmetry, antisymmetric, irreflexive, asymmetric • Combining relations • , , \, composite of relations • Representing relations • 0-1 matrices, directed graphs • Closure of relations • Reflexive closure, diagonal relation, Warshall’s Algorithm, • Equivalence relations: • Equivalence class, partitions,

  24. Representing Relations • We have seen ways to graphically represent a function/relation between two (different) sets—Specifically a graph with arrows between nodes that are related • We will look at two alternative ways to represent relations • 0-1 matrices (bit matrices) • Directed graphs

  25. 0-1 Matrices (1) • A 0-1 matrix is a matrix whose entries are 0 or 1 • Let R be a relation from A={a1,a2,…,an} and B={b1,b2,…,bn} • Let’s impose an ordering on the elements in each set. Although this ordering is arbitrary, it is important that it remain consistent. That is, once we fix an ordering, we have to stick to it. • When A=B, R is a relation on A and we choose the same ordering in the two dimensions of the matrix

  26. 0-1 Matrix (2) • The relation R can be represented by a (nm) sized 0-1 matrix MR=[mi,j] as follows • Intuitively, the (i,j)-th entry if 1 if and only if aiA is related to biB

  27. 0-1 Matrix (3) • An important note: the choice of row or column-major form is important. The (i,j)-th entry refers to the i-th row and the j-th column. The size, (nm), refers to the fact that MR has n rows and m columns • Though the choice is arbitrary, switching between row-major and column-major is a bad idea, because when AB, the Cartesian Product AB  BA • In matrix terms, the transpose, (MR)T does not give the same relation. This point is moot for A=B.

  28. 0-1 Matrix (4)

  29. Matrix Representation: Example • Consider again the example • A={a1,a2,a3,a4,a5} and B={b1,b2,b3} • Let R be a relation from A to B as follows: R={(a1,b1),(a1,b2),(a1,b3),(a3,b1),(a3,b2),(a3,b3),(a5,b1)} • Give MR • What is the size of the matrix?

  30. Using the Matrix Representation (1) • A 0-1 matrix representation makes it very easy to check whether or not a relation is • Reflexive • Symmetric • Antisymmetric • Reflexivity • For R to be reflexive, a (a,a)R • In MR, R is reflexive iff mi,i=1 for i=1,2,…,n • We check only the diagonal

  31. Using the Matrix Representation (2) • Symmetry • R is symmetric iff for all pairs (a,b) aRbbRa • In MR, this is equivalent to mi,j=mj,i for every pair i,j=1,2,…,n • We check that MR=(MR)T • Antisymmetry • R is antisymmetric if mi,j=1 with ij, then mj,i=0 • Thus, i,j=1,2,…, n, ij (mi,j=0)  (mj,i=0) • A simpler logical equivalence is i,j=1,2,…, n, ij ((mi,j=1)  (mj,i=1))

  32. Matrix Representation: Example • Is R reflexive? Symmetric? Antisymmetric? • Clearly R is not reflexive: m2,2=0 • It is not symmetric because m2,1=1, m1,2=0 • It is however antisymmetric

  33. Matrix Representation: Combining Relations • Combining relations is also simple: union and intersection of relations are nothing more than entry-wise Boolean opertions • Union: An entry in the matrix of the union of two relations R1R2 is 1 iff at least one of the corresponding entries in R1 or R2 is 1. Thus MR1R2 = MR1 MR2 • Intersection: An entry in the matrix of the intersection of two relations R1R2 is 1 iffboth of the corresponding entries in R1 and R2 are 1. Thus MR1R2 = MR1  MR2 • Count the number of operations

  34. Combining Relations: Example • What is MR1R2 and MR1R2? • How does combining the relations change their properties?

  35. Composing Relations: Example • 0-1 matrices are also useful for composing matrices. If you have not seen matrix product before, read Section 3.8

  36. Composite Relations: Rn • Remember that recursively composing a relation Rn R for n=1,2,3,… gives a nice characterization of transitivity • Theorem: A relation R is transitive if and only if Rn R for n=1,2,3,… • We will use • this idea and • the composition by matrix multiplication to build the Warshall (a.k.a. Roy-Warshall) algorithm, which computed the transitive closure (discussed in the next section)

  37. Directed Graphs Representation (1) • We will study graphs in details towards the end of the semester • We briefly introduce them here to use them to represent relations • We have already seen directed graphs to represent functions and relations (between two sets). Those are special graphs, called bipartite directed graphs • For a relation on a set A, it makes more sense to use a general directed graph rather than having two copies of the same set A

  38. Definition: Directed Graphs (2) • Definition: A Ggraph consists of • A set V of vertices (or nodes), and • A set E of edges (or arcs) • We note: G=(V,E) • Definition: A directedG graph (digraph) consists of • A set V of vertices (or nodes), and • A set E of edges of ordered pairs of elements of V (of vertices)

  39. Directed Graphs Representation (2) • Example: • Let A={a1,a2,a3,a4} and B={b1,b2,b3} • Let R be a relation on A defined as follows R={(a1,a2),(a1,a3),(a1,a4),(a2,a3),(a2,a4),(a3,a1),(a3,a4), (a4,a3),(a4,a4)} • Draw the digraph representing this relation (see white board)

  40. Using the Digraphs Representation (1) • A directed graph offers some insight into the properties of a relation • Reflexivity: In a digraph, the represented relation is reflexive iff every vertex has a self loop • Symmetry: In a digraph, the represented relation is symmetric iff for every directed edge from a vertex x to a vertex y there is also an edge from y to x

  41. Using the Digraphs Representation (2) • Antisymmetry: A represented relation is antisymmetric iff there is never a back edge for any directed edges between two distinct vertices • Transitivity: A digraph is transitive if for every pair of directed edges (x,y) and (y,z) there is also a directed edge (x,z)  This may be harder to visually verify in more complex graphs

  42. Outline • Relation: • Definition, representation, relation on a set • Properties • Reflexivity, symmetry, antisymmetric, irreflexive, asymmetric • Combining relations • , , \, composite of relations • Representing relations • 0-1 matrices, directed graphs • Closure of relations • Reflexive closure, diagonal relation, Warshall’s Algorithm, • Equivalence relations: • Equivalence class, partitions,

  43. Closures: Definitions • If a given relation R • is not reflexive (or symmetric, antisymmetric, transitive) • How can we transform it into a relation R’ that is? • Example: Let R={(1,2),(2,1),(2,2),(3,1),(3,3)} • How can we make it reflexive? • In general we would like to change the relation as little as possible • To make R reflexive, we simply add (1,1) to the set • Inducing a property on a relation is called its closure. • Above, R’=R{(1,1)} is called the reflexive closure

  44. Reflexive Closure • In general, the reflexive closure of a relation R on A is R where ={ (a,a) | aA} •  is the diagonal relation on A • Question: How can we compute the diagonal relation using • 0-1 matrix representation? • Digraph representation?

  45. Symmetric Closure • Similarly, we can create the symmetric closure using the inverse of the relation R. • The symmetric closer is, RR’ where R’={ (b,a) | (a,b)R } • Question: How can we compute the symmetric closure using • 0-1 matrix representation? • Digraph representation?

  46. Transitive Closure • To compute the transitive closure we use the theorem • Theorem: A relation R is transitive if and only if Rn R for n=1,2,3,… • Thus, if we compute Rk such that Rk  Rnfor all nk, then Rk is the transitive closure • The Warshall’s Algorithm allows us to do this efficiently • Note: Your textbook gives much greater details in terms of graphs and connectivity relations. It is good to read this material, but it is based on material that we have not yet seen.

  47. Warshall’s Algorithm: Key Ideas • In any set A with |A|=n, any transitive relation will be built from a sequence of relations that has a length of at most n. Why? • Consider the case where the relation R on A has the ordered pairs (a1,a2),(a2,a3),…,(an-1,an). Then, (a1,an) must be in R for R to be transitive • Thus, by the previous theorem, it suffices to compute (at most) Rn • Recall that Rk=RRk-1is computed using a bit-matrix product • The above gives us a natural algorithm for computing the transitive closure: the Warshall’s Algorithm

  48. Warshall’s Algorithm Input: An (nn) 0-1 matrix MR representing a relation R on A, |A|=n Output: An (nn) 0-1 matrix W representing the transitive closure of R on A 1. W MR 2. For k=1,…, n Do • Fori=1,…,n Do • For j=1,…,n Do • wi,j  wi.j  (wi,k  wk,j) • End • End • End • Return W

  49. Warshall’s Algorithm: Example • Compute the transitive closure of • The relation R={(1,1),(1,2),(1,4),(2,2),(2,3),(3,1), (3,4),(4,1),(4,4)} • On the set A={1,2,3,4}

  50. Outline • Relation: • Definition, representation, relation on a set • Properties • Reflexivity, symmetry, antisymmetric, irreflexive, asymmetric • Combining relations • , , \, composite of relations • Representing relations • 0-1 matrices, directed graphs • Closure of relations • Reflexive closure, diagonal relation, Warshall’s Algorithm • Equivalence relations: • Equivalence class, partitions,

More Related