Representing Relations - PowerPoint PPT Presentation

About This Presentation
Title:

Representing Relations

Description:

Let A = { Alice, Bob, Claire, Dan } Let B = { CS101, CS201, ... Claire. X. X. Bob. X. Alice. CS202. CS201. CS101. Relations using matrices. What is it good for? ... – PowerPoint PPT presentation

Number of Views:137
Avg rating:3.0/5.0
Slides: 35
Provided by: csVir
Category:

less

Transcript and Presenter's Notes

Title: Representing Relations


1
Representing Relations
  • Rosen, section 7.3
  • CS/APMA 202
  • Aaron Bloomfield

2
In this slide set
  • Matrix review
  • Two ways to represent relations
  • Via matrices
  • Via directed graphs

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
Matrix transposition
  • Given a matrix M, the transposition of M, denoted
    Mt, is the matrix obtained by switching the
    columns and rows of M
  • In a square matrix, the main diagonal stays
    unchanged

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
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
Matrix Boolean product
  • A Boolean product of two matrices is similar to
    matrix multiplication
  • Instead of the sum of the products, its the
    conjunction (and) of the disjunctions (ors)
  • Denoted by the or symbol ?

8
Relations using matrices
  • List the elements of sets A and B in a particular
    order
  • Order doesnt matter, but well generally use
    ascending order
  • Create a matrix

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

CS101 CS201 CS202
Alice X
Bob X X
Claire
Dan X X
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
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 1s, a
relation is reflexive
12
Irreflexivity
  • Consider a reflexive relation lt
  • One which every element is not related to itself
  • Let A 1, 2, 3, 4, 5

If the center (main) diagonal is all 0s, a
relation is irreflexive
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
Asymmetry
  • Consider an asymmetric relation lt
  • 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 0s

15
Antisymmetry
  • Consider an antisymmetric relation
  • One which if a is related to b then b is not
    related to a unless ab 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 1s and 0s

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 dont show this property easily

17
2004 IOCCC winners
  • 2004 winners
  • 2004 anonymous Rendering of a stroked font
  • 2004 arachnid Curses maze displayer/navigator
    with only line-of-sight visibility
  • 2004 burley A Poker game
  • 2004 gavare A ray tracer
  • 2004 gavin Mini-OS
  • 2004 hibachi A CGI capable HTTP server
  • 2004 hoyle Curses based polynomial graphing with
    auto-scale
  • 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
  • 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.html2004

18
End of lecture on 21 April 2005
  • I think!

19
Combining relations via Boolean operators
  • Example 4 from Rosen, section 7.3
  • Let
  • Join
  • Meet

20
Combining relations via relation composition
  • Example 4 from Rosen, section 7.3
  • Let
  • But why is this the case?

d e f
g h i
a b c
d e f
g h i
a b c
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

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
23
Irreflexivity
  • Consider a reflexive relation lt
  • 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
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

Called anti- parallel pairs
Note that this relation is neither reflexive nor
irreflexive!
25
Asymmetry
  • Consider an asymmetric relation lt
  • 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
  • If, for every edge, there is not an edge in the
    other direction, then the relation is asymmetric
  • Loops are not allowed in an asymmetric digraph
    (recall it must be irreflexive)

26
Antisymmetry
  • Consider an antisymmetric relation
  • One which if a is related to b then b is not
    related to a unless ab for all (a,b)
  • Let A 1, 2, 3, 4, 5
  • 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
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
  • 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
Applications of digraphs MapQuest
  • 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
Rosen, questions 31 32, section 7.3
Which of the graphs are reflexive, irreflexive,
symmetric, asymmetric, antisymmetric, or
transitive
23 24 25 26 27 28
Reflexive Y Y Y
Irreflexive Y Y
Symmetric Y Y
Asymmetric Y
Anti-symmetric Y Y
Transitive Y
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 well use matrices

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 n2 elements in the matrix
  • There are n elements in the center diagonal
  • Thus, there are 2n ways to fill in 0s and 1s in
    the diagonal
  • Thus, there are (n2-n)/2 elements in each
    triangle
  • Thus, there are ways to fill
    in 0s and 1s in the triangle
  • Answer there are
    possible symmetric relations on a set
    with n elements

32
Quick survey
  • I felt I understood the material in this slide
    set
  • Very well
  • With some review, Ill be good
  • Not really
  • Not at all

33
Quick survey
  • The pace of the lecture for this slide set was
  • Fast
  • About right
  • A little slow
  • Too slow

34
Quick survey
  • How interesting was the material in this slide
    set? Be honest!
  • Wow! That was SOOOOOO cool!
  • Somewhat interesting
  • Rather borting
  • Zzzzzzzzzzz

35
Biggest software errors
  • Ariane 5 rocket explosion (1996)
  • Due to loss of precision converting 64-bit double
    to 16-bit int
  • Pentium division error (1994)
  • Due to incomplete look-up table (like an array)
  • 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)
  • Onboard used metric units ground computer used
    English units
  • ATT long distance (1990)
  • Wrong break statement in C code
  • Therac-25, X-ray (1975-1987)
  • Badly designed software led to radiation overdose
    in chemotherapy patients
  • NE US power blackout (2003)
  • Flaw in GE software contributed to it
  • References http//www5.in.tum.de/huckle/bugse.ht
    ml, http//en.wikipedia.org/wiki/Computer_bug,
    http//www.cs.tau.ac.il/nachumd/verify/horror.htm
    l
Write a Comment
User Comments (0)
About PowerShow.com