Download presentation
Presentation is loading. Please wait.
Published byPierce Wilkerson Modified over 5 years ago
1
2/25/2019 §7.1 Binary Relations (2nd pass) and §7.2 n-ary Relations Longin Jan Latecki Slides adapted from Kees van Deemter who adopted them from Michael P. Frank’s Course Based on the Text Discrete Mathematics & Its Applications (5th Edition) by Kenneth H. Rosen A word about organization: Since different courses have different lengths of lecture periods, and different instructors go at different paces, rather than dividing the material up into fixed-length lectures, we will divide it up into “modules” which correspond to major topic areas and will generally take 1-3 lectures to cover. Within modules, we have smaller “topics”. Within topics are individual slides. The instructor can bring several modules to each lecture with him, to make sure he has enough material to fill the lecture, or in case he wants to preview or review slides from upcoming or recent past lectures. 2/25/2019
2
§7.1 Binary Relations (2nd pass)
Let A, B be any sets. A binary relation R from A to B is a subset of A×B. E.g., < can be seen as {(n,m) | n < m} (a,b)R means that a is related to b (by R) Also written as aRb; also R(a,b) E.g., a<b and < (a,b) both mean (a,b) < A binary relation R corresponds to a characteristic function PR:A×B→{T,F} 2/25/2019
3
Complementary Relations
Let R:A,B be any binary relation. Then, R:A×B, the complement of R, is the binary relation defined by R:≡{(a,b)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} = ≥ 2/25/2019
4
Inverse Relations Any binary relation R:A×B has an inverse relation R−1:B×A, defined by R−1 :≡ {(b,a) | (a,b)R}. E.g., <−1 = {(b,a) | a<b} = {(b,a) | b>a} = >. E.g., if R:People x Foods is defined by a R b a eats b, then: b R−1 a b is eaten by a. (Passive voice.) 2/25/2019
5
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. 2/25/2019
6
Reflexivity and relatives
A relation R on A is reflexive iff aA(aRa). E.g., the relation ≥ :≡ {(a,b) | a≥b} is reflexive. R is irreflexive iff aA(aRa) Note “irreflexive” does NOT mean “not reflexive”, which is just aA(aRa). 2/25/2019
7
Reflexivity and relatives
Theorem: A relation R is irreflexive iff its complementary relation R is reflexive. Example: < is irreflexive; ≥ is reflexive. Proof: trivial 2/25/2019
8
Involving numbers, propositions or sets?
Can you think of Reflexive relations Irreflexive relations Involving numbers, propositions or sets? 2/25/2019
9
Some examples Reflexive: Irreflexive: =, `have same cardinality’,
<=, >=, , , etc. Irreflexive: <, >, `have different cardinality’, 2/25/2019
10
Symmetry & relatives A binary relation R on A is symmetric iff a,b((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 asymmetric if a,b((a,b)R → (b,a)R). Examples: < is asymmetric, “likes” is not. 2/25/2019
11
Some direct consequences
Theorems: R is symmetric iff R = R−1, R is asymmetric iff RR−1 is empty. 2/25/2019
12
Symmetry & relatives 1. R is symmetric iff R = R−1
Suppose R is symmetric. Then (x,y) R (y,x) R (x,y) R−1 Suppose R = R−1 Then (x,y) R (x,y) R−1 (y,x) R 2/25/2019
13
Symmetry & relatives 2. R is asymmetric iff RR−1 is empty. (Straightforward application of the definitions of asymmetry and R−1) 2/25/2019
14
Antisymmetry Consider the relation xy This is called antisymmetry:
It is not symmetric. (For instance, 56 but not 65) It is not asymmetric. (For instance, 5 5) You might say it’s nearly symmetric, since the only symmetries occur when x=y This is called antisymmetry: 2/25/2019
15
Antisymmetry A binary relation R on A is antisymmetric iff a,b((a,b)R (b,a)R a=b). Examples: , , 2/25/2019
16
Transitivity A relation R is transitive iff (for all a,b,c) ((a,b)R (b,c)R) → (a,c)R. Example: “is an ancestor of” is transitive. 2/25/2019
17
Composite Relations Let R:A×B, and S:B×C. Then the composite SR of R and S is defined as: SR = {(a,c) | b: aRb bSc} Function composition is an example: writing fT for the function-version of the relation T, we have SR(a,c) iff b: aRb bSc iff fR(a)=b and fS(b)=c iff fSfR(a)=c 2/25/2019
18
Composite Relations The nth power Rn of a relation R on a set A can be defined recursively by: R0 :≡ IA ; Rn+1 :≡ RnR for all n≥0. E.g., R1 =R; R2 = RR; R3= RRR e d a c b 2/25/2019
19
Composite Relations R2= RR = (a, c) (d, d) (b, d) (c, c) e e d d a a
2/25/2019
20
§7.2: n-ary Relations An n-ary relation R on sets A1,…,An, is a subset R A1× … × An. The sets Ai are called the domains of R. The degree of R is n. R is functional in the domain Ai if it contains at most one n-tuple (…, ai ,…) for any value ai within domain Ai. 2/25/2019
21
§7.2: n-ary Relations An n-ary relation R on sets A1,…,An, is a subset R A1× … × An. This is a straightforward generalisation of a binary relation. For example: 3-ary relations: a is between b and c; a gave b to c 2/25/2019
22
Relational Databases A relational database is essentially just a set of relations. 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×… 2/25/2019
23
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 operator sC is the operator that maps any (n-ary) relation R on A to the n-ary relation consisting of all n-tuples from R that satisfy C. That is, sC(R) = {aR | C(a) = T} 2/25/2019
24
Selection Operator Example
Suppose we have a domain A = StudentName × Standing × SocSecNos Suppose we define a condition Upperlevel 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 students (juniors and seniors). 2/25/2019
25
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, 1 ≤ ik ≤ n for all 1 ≤ k ≤ m. Then the projection operator on n-tuples is defined by: 2/25/2019
26
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 maps each tuple (a1,a2,a3) = (model,year,color) to its image: This operator can be usefully applied to a whole relation RCars (a database of cars) to obtain a list of the model/color combinations available. {ik} 2/25/2019
27
Join Operator Puts two relations together to form a 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 can also be sequences of elements. 2/25/2019
28
Join Example Suppose R1 is a teaching assignment table, relating Lecturers to Courses. Suppose R2 is a room assignment table relating Courses to Rooms,Times. Then J(R1,R2) is like your class schedule, listing (lecturer,course,room,time). (For precise definition, see Rosen, p.486) 2/25/2019
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.