slide1 l.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Slides for a Course Based on the Text Discrete Mathematics & Its Applications (5 th Edition) by Kenneth H. Rosen PowerPoint Presentation
Download Presentation
Slides for a Course Based on the Text Discrete Mathematics & Its Applications (5 th Edition) by Kenneth H. Rosen

Loading in 2 Seconds...

play fullscreen
1 / 39

Slides for a Course Based on the Text Discrete Mathematics & Its Applications (5 th Edition) by Kenneth H. Rosen - PowerPoint PPT Presentation


  • 216 Views
  • Uploaded on

University of Florida Dept. of Computer & Information Science & Engineering COT 3100 Applications of Discrete Structures Dr. Michael P. Frank. Slides for a Course Based on the Text Discrete Mathematics & Its Applications (5 th Edition) by Kenneth H. Rosen. Module #21: Relations.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Slides for a Course Based on the Text Discrete Mathematics & Its Applications (5 th Edition) by Kenneth H. Rosen' - sandra_john


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide1

University of FloridaDept. of Computer & Information Science & EngineeringCOT 3100Applications of Discrete StructuresDr. Michael P. Frank

Slides for a Course Based on the TextDiscrete Mathematics & Its Applications (5th Edition)by Kenneth H. Rosen

(c)2001-2003, Michael P. Frank

module 21 relations

Module #21:Relations

Rosen 5th ed., ch. 7

~35 slides (in progress), ~2 lectures

(c)2001-2003, Michael P. Frank

binary relations
Binary Relations
  • Let A, B be any sets. A binary relationR from A to B, written (with signature) R:A×B, or R:A,B, is (can be identified with) a subset of the set A×B.
    • E.g., let <: N↔N :≡ {(n,m)| n < m}
  • The notation a Rb or aRb means that (a,b)R.
    • E.g., a <b means (a,b) <
  • If aRb we may say “a is related to b (by relation R)”,
    • or just “a relates to b (under relation R)”.
  • A binary relation R corresponds to a predicate function PR:A×B→{T,F} defined over the 2 sets A,B;
    • e.g., predicate “eats” :≡ {(a,b)| organism a eats food b}

(c)2001-2003, Michael P. Frank

complementary relations
Complementary Relations
  • Let R:A,B be any binary relation.
  • Then, R:A×B, the complement of R, is the binary relation defined byR :≡ {(a,b) | (a,b)R} = (A×B) − R
  • Note this is just R if the universe of discourse is U = A×B; thus the name complement.
  • Note the complement of R is R.

Example:< = {(a,b) | (a,b)<} = {(a,b) | ¬a<b} = ≥

(c)2001-2003, Michael P. Frank

inverse relations
Inverse Relations
  • Any binary relation R:A×B has an inverse relation R−1:B×A, defined byR−1 :≡ {(b,a) | (a,b)R}.

E.g., <−1 = {(b,a) | a<b} = {(b,a) | b>a} = >.

  • E.g., if R:People→Foods is defined by a R b  aeatsb, then: bR−1a  bis eaten bya. (Passive voice.)

(c)2001-2003, Michael P. Frank

relations on a set
Relations on a Set
  • A (binary) relation from a set A to itself is called a relation on the set A.
  • E.g., the “<” relation from earlier was defined as a relation on the set N of natural numbers.
  • The (binary) identity relation IA on a set A is the set {(a,a)|aA}.

(c)2001-2003, Michael P. Frank

reflexivity
Reflexivity
  • A relation R on A is reflexive if aA,aRa.
    • E.g., the relation ≥ :≡ {(a,b) | a≥b} is reflexive.
  • A relation R is irreflexive iff its complementary relation R is reflexive.
    • Example: < is irreflexive, because ≥ is reflexive.
    • Note “irreflexive” does NOT mean “notreflexive”!
      • For example: the relation “likes” between people is not reflexive, but it is not irreflexive either.
        • Since not everyone likes themselves, but not everyone dislikes themselves either!

(c)2001-2003, Michael P. Frank

symmetry antisymmetry
Symmetry & Antisymmetry
  • A binary relation R on A is symmetric iff R = R−1, that is, if (a,b)R↔ (b,a)R.
    • E.g., = (equality) is symmetric. < is not.
    • “is married to” is symmetric, “likes” is not.
  • A binary relation R is antisymmetric if a≠b, (a,b)R→ (b,a)R.
    • Examples: < is antisymmetric, “likes” is not.
    • Exercise: prove this definition of antisymmetric is equivalent to the statement that RR−1  IA.

(c)2001-2003, Michael P. Frank

transitivity
Transitivity
  • A relation R is transitive iff (for all a,b,c)(a,b)R  (b,c)R→ (a,c)R.
  • A relation is intransitive iff it is not transitive.
  • Some examples:
    • “is an ancestor of” is transitive.
    • “likes” between people is intransitive.
    • “is located within 1 mile of” is… ?

(c)2001-2003, Michael P. Frank

totality
Totality
  • A relation R:A×B is total if for every aA, there is at least one bB such that (a,b)R.
  • If R is not total, then it is called strictly partial.
  • A partial relation is a relation that might be strictly partial. (Or, it might be total.)
    • In other words, all relations are considered “partial.”

(c)2001-2003, Michael P. Frank

functionality
Functionality
  • A relation R:A×B is functionalif, for any aA, there is at most 1bB such that (a,b)R.
    • “R is functional”  aA: ¬b1≠b2B: aRb1  aRb2.
    • Iff R is functional, then it corresponds to a partial function R:A→B
      • where R(a)=b  aRb; e.g.
        • E.g., The relation aRb :≡ “a + b = 0” yields the function −(a) = b.
  • R is antifunctional if its inverse relation R−1 is functional.
    • Note: A functional relation (partial function) that is also antifunctional is an invertible partial function.
  • R is a total functionR:A→B if it is both functional and total, that is, for any aA, there is exactly 1 b such that (a,b)R. I.e., aA: ¬!b: aRb.
    • If R is functional but not total, then it is a strictly partial function.
    • Exercise: Show that iff R is functional and antifunctional, and both it and its inverse are total, then it is a bijective function.

(c)2001-2003, Michael P. Frank

lambda notation
Lambda Notation
  • The lambda calculus is a formal mathematical language for defining and operating on functions.
    • It is the mathematical foundation of a number of functional (recursive function-based) programming languages, such as LISP and ML.
  • It is based on lambda notation, in which “λa: f(a)” is a way to denote the function fwithout ever assigning it a specific symbol.
    • E.g., (λx. 3x2+2x) is a name for the function f:R→R where f(x)=3x2+2x.
  • Lambda notation and the “such that” operator “” can also be used to compose an expression for the function that corresponds to any given functional relation.
    • Let R:A×B be any functional relation on A,B.
    • Then the expression (λa: b aRb) denotes the function f:A→Bwhere f(a) = b iff aRb.
      • E.g., If I write:f :≡(λa: b  a+b = 0),this is one way of defining the function f(a)=−a.

(c)2001-2003, Michael P. Frank

composite relations
Composite Relations
  • Let R:A×B, and S:B×C. Then the compositeSR of R and S is defined as:

SR = {(a,c) | b:aRb bSc}

  • Note that function composition fg is an example.
  • Exer.: Prove that R:A×A is transitive iff RR = R.
  • The nth power Rn of a relation R on a set A can be defined recursively by:R0 :≡ IA; Rn+1 :≡ RnR for all n≥0.
    • Negative powers of R can also be defined if desired, by R−n:≡ (R−1)n.

(c)2001-2003, Michael P. Frank

7 2 n ary relations
§7.2: n-ary Relations
  • An n-ary relation R on sets A1,…,An,written (with signature) R:A1×…×An or R:A1,…,An, is simply a subsetR  A1× … × An.
  • The sets Ai are called the domains of R.
  • The degree of R is n.
  • R is functional in the domain Aiif it contains at most one n-tuple (…, ai ,…) for any value ai within domain Ai.

(c)2001-2003, Michael P. Frank

relational databases
Relational Databases
  • A relational database is essentially just an n-ary relation R.
  • A domain Ai is a primary key for the database if the relation R is functional in Ai.
  • A composite key for the database is a set of domains {Ai, Aj, …} such that R contains at most 1 n-tuple (…,ai,…,aj,…) for each composite value (ai, aj,…)Ai×Aj×…

(c)2001-2003, Michael P. Frank

selection operators
Selection Operators
  • Let A be any n-ary domain A=A1×…×An, and let C:A→{T,F} be any condition (predicate) on elements (n-tuples) of A.
  • Then, the selection operatorsC is the operator that maps any (n-ary) relation R on A to the n-ary relation of all n-tuples from R that satisfy C.
    • I.e., RA,sC(R) = {aR | sC(a) = T}

(c)2001-2003, Michael P. Frank

selection operator example
Selection Operator Example
  • Suppose we have a domain A = StudentName × Standing × SocSecNos
  • Suppose we define a certain condition on A, UpperLevel(name,standing,ssn) :≡ [(standing = junior) (standing = senior)]
  • Then, sUpperLevel is the selection operator that takes any relation R on A (database of students) and produces a relation consisting of just the upper-level classes (juniors and seniors).

(c)2001-2003, Michael P. Frank

projection operators
Projection Operators
  • Let A = A1×…×An be any n-ary domain, and let {ik}=(i1,…,im) be a sequence of indices all falling in the range 1 to n,
    • That is, where 1 ≤ ik ≤ n for all 1 ≤ k ≤ m.
  • Then the projection operator on n-tuplesis defined by:

(c)2001-2003, Michael P. Frank

projection example
Projection Example
  • Suppose we have a ternary (3-ary) domain Cars=Model×Year×Color. (note n=3).
  • Consider the index sequence {ik}= 1,3. (m=2)
  • Then the projection P simply maps each tuple (a1,a2,a3) = (model,year,color) to its image:
  • This operator can be usefully applied to a whole relation RCars (a database of cars) to obtain a list of the model/color combinations available.

{ik}

(c)2001-2003, Michael P. Frank

join operator
Join Operator
  • Puts two relations together to form a sort of combined relation.
  • If the tuple (A,B) appears in R1, and the tuple (B,C) appears in R2, then the tuple (A,B,C) appears in the join J(R1,R2).
    • A, B, and C here can also be sequences of elements (across multiple fields), not just single elements.

(c)2001-2003, Michael P. Frank

join example
Join Example
  • Suppose R1 is a teaching assignment table, relating Professors to Courses.
  • Suppose R2 is a room assignment table relating Courses to Rooms,Times.
  • Then J(R1,R2) is like your class schedule, listing (professor,course,room,time).

(c)2001-2003, Michael P. Frank

7 3 representing relations
§7.3: Representing Relations
  • Some ways to represent n-ary relations:
    • With an explicit list or table of its tuples.
    • With a function from the domain to {T,F}.
      • Or with an algorithm for computing this function.
  • Some special ways to represent binary relations:
    • With a zero-one matrix.
    • With a directed graph.

(c)2001-2003, Michael P. Frank

using zero one matrices
Using Zero-One Matrices
  • To represent a binary relation R:A×B by an |A|×|B| 0-1 matrix MR = [mij], let mij = 1 iff (ai,bj)R.
  • E.g., Suppose Joe likes Susan and Mary, Fred likes Mary, and Mark likes Sally.
  • Then the 0-1 matrix representationof the relationLikes:Boys×Girlsrelation is:

(c)2001-2003, Michael P. Frank

zero one reflexive symmetric
Zero-One Reflexive, Symmetric
  • Terms: Reflexive, non-reflexive, irreflexive,symmetric, asymmetric, and antisymmetric.
    • These relation characteristics are very easy to recognize by inspection of the zero-one matrix.

any-thing

any-thing

anything

anything

any-thing

any-thing

Reflexive:all 1’s on diagonal

Irreflexive:all 0’s on diagonal

Symmetric:all identicalacross diagonal

Antisymmetric:all 1’s are acrossfrom 0’s

(c)2001-2003, Michael P. Frank

using directed graphs
Using Directed Graphs
  • A directed graph or digraphG=(VG,EG) is a set VGof vertices (nodes) with a set EGVG×VG of edges (arcs,links). Visually represented using dots for nodes, and arrows for edges. Notice that a relation R:A×B can be represented as a graph GR=(VG=AB, EG=R).

Edge set EG(blue arrows)

Graph rep. GR:

Matrix representation MR:

Joe

Susan

Fred

Mary

Mark

Sally

Node set VG(black dots)

(c)2001-2003, Michael P. Frank

digraph reflexive symmetric
Digraph Reflexive, Symmetric

It is extremely easy to recognize the reflexive/irreflexive/ symmetric/antisymmetric properties by graph inspection.

Reflexive:Every nodehas a self-loop

Irreflexive:No nodelinks to itself

Symmetric:Every link isbidirectional

Antisymmetric:No link isbidirectional

These are asymmetric & non-antisymmetric

These are non-reflexive & non-irreflexive

(c)2001-2003, Michael P. Frank

7 4 closures of relations
§7.4: Closures of Relations
  • For any property X, the “X closure” of a set A is defined as the “smallest” superset of A that has the given property.
  • The reflexive closure of a relation R on A is obtained by adding (a,a) to R for each aA. I.e.,it is R  IA
  • The symmetric closure of R is obtained by adding (b,a) to R for each (a,b) in R. I.e., it is R  R−1
  • The transitive closure or connectivity relation of R is obtained by repeatedly adding (a,c) to R for each (a,b),(b,c) in R.
    • I.e., it is

(c)2001-2003, Michael P. Frank

paths in digraphs binary relations
Paths in Digraphs/Binary Relations
  • A path of length n from node a to b in the directed graph G (or the binary relation R) is a sequence (a,x1), (x1,x2), …, (xn−1,b) of n ordered pairs in EG (or R).
    • An empty sequence of edges is considered a path of length 0 from a to a.
    • If any path from a to b exists, then we say that a is connected tob. (“You can get there from here.”)
  • A path of length n≥1 from a to itself is called a circuit or a cycle.
  • Note that there exists a path of length n from a to b in R if and only if (a,b)Rn.

(c)2001-2003, Michael P. Frank

simple transitive closure alg
Simple Transitive Closure Alg.

A procedure to compute R* with 0-1 matrices.

proceduretransClosure(MR:rank-n 0-1 mat.)

A := B := MR;

fori := 2 to nbeginA := A⊙MR; B := B A{join}endreturn B {Alg. takes Θ(n4) time}

{note A represents Ri,B represents }

(c)2001-2003, Michael P. Frank

a faster transitive closure alg
A Faster Transitive Closure Alg.

proceduretransClosure(MR:rank-n 0-1 mat.)

A := MR;

fori := 1 to log2n beginA := A⊙(A+In); {A represents }endreturn A {Alg. takes only Θ(n3 log n) time!}

(c)2001-2003, Michael P. Frank

roy warshall algorithm
Roy-Warshall Algorithm
  • Uses only Θ(n3) operations!

Procedure Warshall(MR : rank-n 0-1 matrix)

W := MR

fork := 1 tonfori := 1 tonforj := 1 tonwij := wij (wik  wkj)return W{this represents R*}

wij = 1 means there is a path from i to j going only through nodes ≤k

(c)2001-2003, Michael P. Frank

7 5 equivalence relations
§7.5: Equivalence Relations
  • An equivalence relation (e.r.) on a set A is simply any binary relation on A that is reflexive, symmetric, and transitive.
    • E.g., = itself is an equivalence relation.
    • For any function f:A→B, the relation “have the same f value”, or =f :≡ {(a1,a2) | f(a1)=f(a2)}is an equivalence relation,
      • e.g., let m=“mother of” then =m = “have the same mother” is an e.r.

(c)2001-2003, Michael P. Frank

equivalence relation examples
Equivalence Relation Examples
  • “Strings a and b are the same length.”
  • “Integers a and b have the same absolute value.”
  • “Real numbers a and b have the same fractional part.” (i.e., a− b Z)
  • “Integers a and b have the same residue modulo m.” (for a given m>1)

(c)2001-2003, Michael P. Frank

equivalence classes
Equivalence Classes
  • Let R be any equiv. rel. on a set A.
  • The equivalence class of a,[a]R :≡ { b | aRb } (optional subscript R)
    • It is the set of all elements of A that are “equivalent” to a according to the eq.rel. R.
    • Each such b (including a itself) is called a representative of [a]R.
  • Since f(a)=[a]Ris a function of a, any equivalence relation R can be defined using aRb :≡ “a and b have the same f value”, given f.

(c)2001-2003, Michael P. Frank

equivalence class examples
Equivalence Class Examples
  • “Strings a and b are the same length.”
    • [a] = the set of all strings of the same length as a.
  • “Integers a and b have the same absolute value.”
    • [a] = the set {a, −a}
  • “Real numbers a and b have the same fractional part (i.e., a− b Z).”
    • [a] = the set {…, a−2, a−1, a, a+1, a+2, …}
  • “Integers a and b have the same residue modulo m.” (for a given m>1)
    • [a] = the set {…, a−2m, a−m, a, a+m, a+2m, …}

(c)2001-2003, Michael P. Frank

partitions
Partitions
  • A partition of a set A is the set of all the equivalence classes {A1, A2, … } for some equivalence relation on A.
    • The Ai’s are all disjoint and their union = A.
  • They “partition” the set into pieces. Within each piece, all members of that set are equivalent to each other.

(c)2001-2003, Michael P. Frank

7 6 partial orderings
§7.6: Partial Orderings
  • A relation R on A is called a partial ordering or partial order iff it is reflexive, antisymmetric, and transitive.
    • We often use a symbol looking something like ≼ (or analogous shapes) for such relations.
    • Examples: ≤, ≥ on real numbers, ,  on sets.
    • Another example: the divides relation | on Z+.
      • Note it is not necessarily the case that either a≼b or b≼a.
  • A set A together with a partial order ≼ on A is called a partially ordered set or poset and is denoted (A, ≼).

(c)2001-2003, Michael P. Frank

posets as noncyclical digraphs
Posets as Noncyclical Digraphs
  • There is a one-to-one correspondence between posets and the reflexive+transitive closures of noncyclical digraphs.
    • Noncyclical: Containing no directed cycles.
  • Example: consider the poset ({0,…,10},|)
    • Its minimaldigraph:

2

4

8

6

3

1

0

9

5

10

7

(c)2001-2003, Michael P. Frank

more to come
More to come…
  • More slides on partial orderings to be added in the future…

(c)2001-2003, Michael P. Frank