Download presentation
Presentation is loading. Please wait.
Published byJordan Bryant Modified over 9 years ago
1
1 Representing Relations Rosen, section 7.3 CS/APMA 202 Aaron Bloomfield
2
2 In this slide set… Matrix review Two ways to represent relations –Via matrices –Via directed graphs
3
3 Matrix review This is from Rosen, page 201 and 202 We will only be dealing with zero-one matrices –Each element in the matrix is either a 0 or a 1 These matrices will be used for Boolean operations –1 is true, 0 is false
4
4 Matrix transposition Given a matrix M, the transposition of M, denoted M t, is the matrix obtained by switching the columns and rows of M In a “square” matrix, the main diagonal stays unchanged
5
5 Matrix join A join of two matrices performs a Boolean OR on each relative entry of the matrices –Matrices must be the same size –Denoted by the or symbol:
6
6 Matrix meet A meet of two matrices performs a Boolean AND on each relative entry of the matrices –Matrices must be the same size –Denoted by the or symbol:
7
7 Matrix Boolean product A Boolean product of two matrices is similar to matrix multiplication –Instead of the sum of the products, it’s the conjunction (and) of the disjunctions (ors) –Denoted by the or symbol:
8
8 Relations using matrices List the elements of sets A and B in a particular order –Order doesn’t matter, but we’ll generally use ascending order Create a matrix
9
9 Relations using matrices Consider the relation of who is enrolled in which class –Let A = { Alice, Bob, Claire, Dan } –Let B = { CS101, CS201, CS202 } –R = { (a,b) | person a is enrolled in course b } CS101CS201CS202 Alice X Bob XX Claire Dan XX
10
10 Relations using matrices What is it good for? –It is how computers view relations A 2-dimensional array –Very easy to view relationship properties We will generally consider relations on a single set –In other words, the domain and co-domain are the same set –And the matrix is square
11
11 Reflexivity Consider a reflexive relation: ≤ –One which every element is related to itself –Let A = { 1, 2, 3, 4, 5 } If the center (main) diagonal is all 1’s, a relation is reflexive
12
12 Irreflexivity Consider a reflexive relation: < –One which every element is not related to itself –Let A = { 1, 2, 3, 4, 5 } If the center (main) diagonal is all 0’s, a relation is irreflexive
13
13 Symmetry Consider an symmetric relation R –One which if a is related to b then b is related to a for all (a,b) –Let A = { 1, 2, 3, 4, 5 } If, for every value, it is the equal to the value in its transposed position, then the relation is symmetric
14
14 Asymmetry Consider an asymmetric relation: < –One which if a is related to b then b is not related to a for all (a,b) –Let A = { 1, 2, 3, 4, 5 } If, for every value and the value in its transposed position, if they are not both 1, then the relation is asymmetric An asymmetric relation must also be irreflexive Thus, the main diagonal must be all 0’s
15
15 Antisymmetry Consider an antisymmetric relation: ≤ –One which if a is related to b then b is not related to a unless a=b for all (a,b) –Let A = { 1, 2, 3, 4, 5 } If, for every value and the value in its transposed position, if they are not both 1, then the relation is antisymmetric The center diagonal can have both 1’s and 0’s
16
16 Transitivity Consider an transitive relation: ≤ –One which if a is related to b and b is related to c then a is related to c for all (a,b), (b,c) and (a,c) –Let A = { 1, 2, 3, 4, 5 } If, for every spot (a,b) and (b,c) that each have a 1, there is a 1 at (a,c), then the relation is transitive Matrices don’t show this property easily
17
17 2004 IOCCC winners 2004 winners: 2004 winners: –2004 anonymousRendering of a stroked font anonymous –2004 arachnidCurses maze displayer/navigator with only line-of-sight visibility arachnid –2004 burley A Poker game –2004 gavareA ray tracer gavare –2004 gavin Mini-OS –2004 hibachi A CGI capable HTTP server –2004 hoyleCurses based polynomial graphing with auto-scale hoyle –2004 jdalbec Conway's look'n'say sequence split into elements –2004 kopczynski OCR of 8, 9, 10 and 11 –2004 newbern Renders arbitary bitmapped fonts newbern –2004 omoikane A CRC inserter –2004 schnitzi Editor animation –2004 sds Space/tab/linefeed steganography –2004 vik1 X Windows car racing game –2004 vik2 Calculates prime numbers using only CPP At http://www1.us.ioccc.org/years.html#2004 At http://www1.us.ioccc.org/years.html#2004http://www1.us.ioccc.org/years.html#2004
18
18 End of lecture on 21 April 2005 I think!
19
19 Combining relations: via Boolean operators Example 4 from Rosen, section 7.3 Let: Join: Meet:
20
20 Combining relations: via relation composition Example 4 from Rosen, section 7.3 Let: But why is this the case? abcabc defdef d e fg h i abcabc
21
21 Representing relations using directed graphs A directed graph consists of: –A set V of vertices (or nodes) –A set E of edges (or arcs) –If (a, b) is in the relation, then there is an arrow from a to b Will generally use relations on a single set Consider our relation R = { (a,b) | a divides b } Old way: 12341234 12341234 12 34
22
22 Reflexivity Consider a reflexive relation: ≤ –One which every element is related to itself –Let A = { 1, 2, 3, 4, 5 } If every node has a loop, a relation is reflexive 1 2 53 4
23
23 Irreflexivity Consider a reflexive relation: < –One which every element is not related to itself –Let A = { 1, 2, 3, 4, 5 } If every node does not have a loop, a relation is irreflexive 1 2 53 4
24
24 Symmetry Consider an symmetric relation R –One which if a is related to b then b is related to a for all (a,b) –Let A = { 1, 2, 3, 4, 5 } If, for every edge, there is an edge in the other direction, then the relation is symmetric Loops are allowed, and do not need edges in the “other” direction 1 2 53 4 Note that this relation is neither reflexive nor irreflexive! Called anti- parallel pairs
25
25 Asymmetry Consider an asymmetric relation: < –One which if a is related to b then b is not related to a for all (a,b) –Let A = { 1, 2, 3, 4, 5 } A digraph is asymmetric if: 1.If, for every edge, there is not an edge in the other direction, then the relation is asymmetric 2.Loops are not allowed in an asymmetric digraph (recall it must be irreflexive) 1 2 53 4
26
26 Antisymmetry Consider an antisymmetric relation: ≤ –One which if a is related to b then b is not related to a unless a=b for all (a,b) –Let A = { 1, 2, 3, 4, 5 } 1 2 53 4 If, for every edge, there is not an edge in the other direction, then the relation is antisymmetric Loops are allowed in the digraph
27
27 Transitivity Consider an transitive relation: ≤ –One which if a is related to b and b is related to c then a is related to c for all (a,b), (b,c) and (a,c) –Let A = { 1, 2, 3, 4, 5 } 1 2 53 4 A digraph is transitive if, for there is a edge from a to c when there is a edge from a to b and from b to c
28
28 Applications of digraphs: MapQuest Start End Not reflexive Is irreflexive Not symmetric Not asymmetric Not antisymmetric Not transitive Not reflexive Is irreflexive Is symmetric Not asymmetric Not antisymmetric Not transitive
29
29 Rosen, questions 31 & 32, section 7.3 Which of the graphs are reflexive, irreflexive, symmetric, asymmetric, antisymmetric, or transitive 232425262728 Reflexive YYY Irreflexive YY Symmetric YY Asymmetric Y Anti- symmetric YY Transitive Y
30
30 Rosen, section 7.1 (sic) question 45 (a) How many symmetric relations are there on a set with n elements? Solution guide explanation is pretty poorly worded So instead we’ll use matrices
31
31 Rosen, section 7.1 (sic) question 45 (a) Consider the matrix representing symmetric relation R on a set with n elements: The center diagonal can have any values Once the “upper” triangle is determined, the “lower” triangle must be the transposed version of the “upper” one How many ways are there to fill in the center diagonal and the upper triangle? There are n 2 elements in the matrix There are n elements in the center diagonal –Thus, there are 2 n ways to fill in 0’s and 1’s in the diagonal Thus, there are (n 2 -n)/2 elements in each triangle –Thus, there are ways to fill in 0’s and 1’s in the triangle Answer: there are possible symmetric relations on a set with n elements
32
32 Quick survey I felt I understood the material in this slide set… I felt I understood the material in this slide set… a) Very well b) With some review, I’ll be good c) Not really d) Not at all
33
33 Quick survey The pace of the lecture for this slide set was… The pace of the lecture for this slide set was… a) Fast b) About right c) A little slow d) Too slow
34
34 Quick survey How interesting was the material in this slide set? Be honest! How interesting was the material in this slide set? Be honest! a) Wow! That was SOOOOOO cool! b) Somewhat interesting c) Rather borting d) Zzzzzzzzzzz
35
35 Biggest software errors Ariane 5 rocket explosion (1996) Ariane 5 rocket explosion (1996) –Due to loss of precision converting 64-bit double to 16-bit int Pentium division error (1994) Pentium division error (1994) –Due to incomplete look-up table (like an array) Patriot-Scud missile error (1991) Patriot-Scud missile error (1991) –Rounding error on the time –The missile did not intercept an incoming Scud missile, leaving 28 dead and 98 wounded Mars Climate Orbiter (1999) Mars Climate Orbiter (1999) –Onboard used metric units; ground computer used English units AT&T long distance (1990) AT&T long distance (1990) –Wrong break statement in C code Therac-25, X-ray (1975-1987) Therac-25, X-ray (1975-1987) –Badly designed software led to radiation overdose in chemotherapy patients NE US power blackout (2003) NE US power blackout (2003) –Flaw in GE software contributed to it References: http://www5.in.tum.de/~huckle/bugse.html, http://en.wikipedia.org/wiki/Computer_bug, http://www.cs.tau.ac.il/~nachumd/verify/horror.html References: http://www5.in.tum.de/~huckle/bugse.html, http://en.wikipedia.org/wiki/Computer_bug, http://www.cs.tau.ac.il/~nachumd/verify/horror.htmlhttp://www5.in.tum.de/~huckle/bugse.html http://en.wikipedia.org/wiki/Computer_bug http://www.cs.tau.ac.il/~nachumd/verify/horror.htmlhttp://www5.in.tum.de/~huckle/bugse.html http://en.wikipedia.org/wiki/Computer_bug http://www.cs.tau.ac.il/~nachumd/verify/horror.html
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.