0% found this document useful (0 votes)
323 views43 pages

Binary and N-Ary Relations

This document provides an overview of sets and relations in computer science. It defines key concepts such as ordered pairs, Cartesian products, binary relations, and equality of relations. It discusses representing relations using ordered pairs and properties of relations such as subsets. Examples are provided to illustrate these concepts such as representing student-course enrollment as a binary relation and calculating the Cartesian product of multiple sets. The objectives are to understand the basic ideas of relations, perform set operations on binary relationships, represent relations, and understand properties of relations.

Uploaded by

Jack Kelly
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
323 views43 pages

Binary and N-Ary Relations

This document provides an overview of sets and relations in computer science. It defines key concepts such as ordered pairs, Cartesian products, binary relations, and equality of relations. It discusses representing relations using ordered pairs and properties of relations such as subsets. Examples are provided to illustrate these concepts such as representing student-course enrollment as a binary relation and calculating the Cartesian product of multiple sets. The objectives are to understand the basic ideas of relations, perform set operations on binary relationships, represent relations, and understand properties of relations.

Uploaded by

Jack Kelly
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 43

SCC120

Fundamentals of Computer Science

Prof Corina Sas

School of Computing and Communications


Recap: Sets

• Sets
• Defining sets
• Set operations
• Types of sets
Recap: Types of Sets

Symbol Symbol name Meaning


 empty set set with no elements
disjoint sets sets whose intersection is the empty set
A=B equal sets sets with the same elements
A≠B not equal sets sets which do not have the same elements

|A| set cardinality number of elements in a set A


Recap: Types of Sets

Symbol Symbol name Meaning


AB subset elements of set A are also in set B
AB proper subset A is subset and there is at least one
element in set B that is not in set A
B⊇A superset elements of set A are also in set B
B⊃A proper superset B is superset and there is at least one
element in set B that is not in set A
U universal set set of all of the possible elements relevant
to a specific problem
comp(A) complement set the difference between the universe and a
given set A
Let’s playxercise!

• https://kahoot.it/
Overview
Preliminary
• Ordered pairs
• Cartesian product
Binary and n-ary relations
• Definitions
• Equality of relations
• Operations on relations
• Representing relations
• Properties of relations
Objectives

• Understanding the basic ideas about relations


• Facility with set operations on binary relationships
• Ability to represent relations
• Understanding the properties of relations
Relations
Relations
Relations
Ordered Pairs
• An ordered pair
▪ pair of objects
▪ with an order associated with them.
▪ written: <x, y>

• Equality of ordered pairs


▪ <a, b> = <c, d>
▪ if a = c and b = d.
▪ <1, 2>  <2, 1>
Cartesian Product

• The set of all ordered pairs <a, b>


• where a  A and b  B,
• written: A x B

• Example: A = {a, b, c, d} and B = {1, 2, 3}


• A x B = { <a, 1>, <a, 2>, <a, 3>,
<b, 1>, <b, 2>, <b, 3>,
<c, 1>, <c, 2>, <c, 3>,
<d, 1>, <d, 2>, <d, 3> }
Associations

• Example: takes

course1
John
Helen
Jim Mary course2
course3

John takes course1, Jim takes course1, Mary takes course3, Helen takes course2
and course3
• sets of related objects <John, course1>
• order matters <John, course1> ≠ <course1, John>
Cartesian Product <Helen, course 1>
<Helen, course 2>
• S = {Helen, Jim, John, Mary} <Helen, course 3>
• C = {course1, course2, course 3} <Jim, course 1>
• 4 * 3 elements = 12 pairs <Jim, course 2>
<Jim, course 3>
<John, course 1>
<John, course 2>
<John, course 3>
< Mary, course 1>
<Mary, course 2>
<Mary, course 3>
Associations <Helen, course 1>
<Helen, course 2>
takes
<Helen, course 3>
course1
John <Jim, course 1>
Helen
Jim Mary course2 <Jim, course 2>
course3
<Jim, course 3>
<John, course 1>
• John takes course1 <John, course 2>
• Jim takes course1 <John, course 3>
• Mary takes course3 < Mary, course 1>
• Helen takes course2 and course3 <Mary, course 2>
<Mary, course 3>
Binary Relation: Definition
Binary relation is defined from one set to another (over 2 sets)

Binary relation R from a set A to a set B, or over A x B


• a set of ordered pairs <a, b>, a  A and b  B.

Written: <a, b>  R or a R b


• an ordered pair <a, b> is in a relation R
• element a is related to element b through the relation R
Binary Relation: Definition
What is the relationship between R and A x B?
• A x B is the set of all ordered pairs <a, b>
• R is a subset of A x B: R  A x B

We can also have A = B, so that the binary relation R is


a set of ordered pairs <a, b>, a  A and b  A.
• If A = B, the relation from A to B is also called relation on A
Example: Binary Relation
• Ordered pairs
• <John, course1>
• <Jim, course1>
• <Mary, course3>
• <Helen, course2>
• <Helen, course3>
• Relation: T (from Takes)
• John takes course1; < John, course1>  T
• Jim takes course1; < Jim, course1>  T
• Mary takes course3; <Mary, course3>  T
• …
Binary Relation: Exercise
• Let A = {0, 1, 2, 3} and B = {0, 1, 2, 3, 4}.
• List the ordered pairs in the relation R from A to B where
<a, b>  R if b – a = 1
Answer:
for a = 0, what is the value of b?
b – a = 1 means b = a + 1
or <a, b> = <a, a + 1>
R = {<0, 1>, <1, 2>, <2, 3>, <3, 4>}
Binary Relation: Exercise
• Let A = {0, 1, 2, 3} and B = {0, 1, 2, 3, 4}.
• A x B gives us a pool of possible answers
• 4 * 5 elements = 20 ordered pairs

A x B = { <0, 0>, <0, 1>, <0, 2>, <0, 3>, <0, 4>,
<1, 0>, <1, 1>, <1, 2>, <1, 3>, <1, 4>,
<2, 0>, <2, 1>, <2, 2>, <2, 3>, <2, 4>,
<3, 0>, <3, 1>, <3, 2>, <3, 3>, <3, 4>}
Binary Relation: Exercise
• Let A = {0, 1, 2, 3} and B = {0, 1, 2, 3, 4}.
• A x B gives us a pool of possible answers
• 4 * 5 elements = 20 ordered pairs
• <a, b> = <a, a +1>
A x B = { <0, 0>, <0, 1>, <0, 2>, <0, 3>, <0, 4>,
<1, 0>, <1, 1>, <1, 2>, <1, 3>, <1, 4>,
<2, 0>, <2, 1>, <2, 2> ,<2, 3>, <2, 4>,
<3, 0>, <3, 1>, <3, 2>, <3, 3>, <3, 4>}
Thus, R = {<0, 1>, <1, 2>, <2, 3>, <3, 4>}. <a, b>  R if b =a + 1
Equality of Binary Relations
Binary relations:
• R1  A1 x A2 and R2  B1 x B2

• When are two relations equal?


▪ R1 = R2 if
• the same sets: A1 = B1 , A2 = B2;
• the set of things related are the same: R1 = R2 as sets
Equality of Binary Relations
• R1  A1 x A2 and R2  B1 x B2

• R1 = {<1, 2> , <2, 2>}  {1, 2} x {1, 2}


R2 = {<a, b> , <b, b>}  {a, b} x {a, b}

R1 = R2 if
• set {1, 2} = {a, b}, and
• {<1, 2> , <2, 2>} = {<a, b> , <b, b>}
Equality of Binary Relations
• R1 = {<1, 2> , <2, 2>}  {1, 2} x {1, 2} ,
R2 = {<a, b> , <b, b>}  {a, b} x {a, b} .

R1 = R2 if
• set {1, 2} = {a, b}, and
• {<1, 2> , <2, 2>} = {<a, b> , <b, b>}

So a = 1; and b = 2
Equality of Binary Relations: Exercise

• P = {<3, 4>, <4, 5>, <5, 6>}


• Q = {<3, 4>, <4, 5>, <5, 6>}
• P has 3 elements, so does Q.

I P Q =?
1 <3, 4> <3, 4> yes
2 <4, 5> <4, 5> yes
3 <5, 6> <5, 6> yes
Equality of Binary Relations: Exercise

• R = {<3, 4>, <4, 2>, <5, 6>}


• Q = {<3, 4>, <4, 5>, <5, 6>}
• R has 3 elements, so does Q.
• Not equal
I R Q =?
1 <3, 4> <3, 4> yes
2 <4, 2> <4, 5> no
3 <5, 6> <5, 6> yes
Equality of Binary Relations: Exercise

• T = {<3, 4>, <4, 5>}


• Q = {<3, 4>, <4, 5>, <5, 6>}
• T has 2 elements, Q has 3
• Not equal
Ordered n-tuples: Definition
Ordered n-tuple
• on n sets A1, A2, …, An.
• ordered n-tuple is a set of n objects with an order
associated with them

Written: <x1, x2, ..., xn>


• n sets and n elements in the n-tuple
• x1 A1, x2 A2, … xn An
Equality of Ordered n-tuples
Equality of ordered n-tuples:
<x1,x2, x3, ..., xn> = <y1,y2, y3, ..., yn> if
x1 = y1,
x2 = y2,
x3 = y3, …,
xn = yn
(xi = yi for all i, 1 ≤ i ≤ n)

• Example: ordered 3-tuple


<1, 2, 3> = <1, 2, 3> and
<1, 2, 3>  <2, 3, 1> because 1  2, 2  3, and 3  1.
Cartesian Product of n Sets
Cartesian product of n sets A1, ..., An
• the set of all possible ordered n-tuples
<x1, x2, ... , xn> , where x1  A1, x2  A2, …, xn  An
(xi  Ai, for all i, 1≤ i ≤ n)

Written: A1 x A2 x... x An.


Ordered 3-tuples: Examples
• S = {John, Jim, Helen, Mary}
• C = {course1, course2, course3}
• M = {65, 41, 55, 72, 63}

<John, course1, 65>


<Jim, course1, 41>
<Mary, course3, 55>
<Helen, course2, 72>
<Helen, course3, 63>
Cartesian Product of 3 Sets: Example

• How many n-tuples in S x C x M?


• Every possible combination of the values:
• 4 * 3 * 5 = 60

John 65
41
Jim course 1
course 2 55
Helen
course 3 72
Mary
63
S C M
Cartesian Product of 3 Sets: Example
• S ={John, Jim, Helen, Mary}
• C = {course1, course2, course3}
• M = {65, 41, 55, 72, 63}
A x B x C = {<John,course1,65>,<John,course1,41>, <John,course1,55>,<John,course1,72>,<John,course1,63>,
<John,course2,65>,<John,course2,41>, <John,course2,55>,John,course2,72>,<John,course2,63>,
<John,course3,65>,John, course3,41>, <John,course3,55>,<John, course3,72>,<John,course3,63>,
<Jim,course1,65>,<Jim,course1,41>, <Jim,course1,55>,<Jim,course1,72>,<Jim,course1,63>,
<Jim,course2,65>,<Jim,course2,41>, <Jim,course2,55>,<Jim,course2,72>,<Jim,course2,63>,
<Jim,course3,65>,<Jim, course3,41>, <Jim,course3,55>,<Jim, course3,72>,<Jim,course3,63>,
<Helen,course1,65>,<Helen,course1,41>,<Helen,course1,55>, <Helen,course1,72>,<Helen,course1,63>,
<Helen,course2,65>,<Helen,course2,41>,<Helen,course2,55>, <Helen,course2,72>,<Helen,course2,63>,
<Helen,course3,65>,<Helen,course3,41>,<Helen,course3,55>, <Helen,course3,72>,<Helen,course3,63>,
<Mary,course1,65>,< Mary,course1,41>,<Mary,course1,55>, < Mary,course1,72>,<Mary,course1,63>,
<Mary,course2,65>,<Mary,course2,41>,<Mary,course2,55>, <Mary,course2,72>,<Mary,course2,63>,
<Mary,course3,65>,<Mary,course3,41>,<May,course3,55>, <Mary,course3,72>,<Mary,course3,63>}
n-ary Relation: Definition
• A binary relation involves 2 sets and can be described by a set of pairs
• A ternary relation involves 3 sets and can be described by a set of triples
• …
• An n-ary relation involves n sets and can be described by a set of n-tuples

• n-ary relation (R) on n sets A1, A2, …, An:


• R is a set of ordered n-tuples <a1, a2, ..., an>
where a1  A1, a2  A2, …, an  An, (ai  Ai for all i, 1 ≤ i ≤ n)
R  A1 x A2 x A3 x ... x An, subset of Cartesian product A1x A2 x A3 x ... x An.
n-ary Relation: Example

• S = {John, Jim, Helen, Mary}


• C = {course1, course2, course3}
• M = {65, 41, 55, 72, 63}
T = {<John, course1, 65>,
<Jim, course1, 41>,
<Mary, course3, 55>,
<Helen, course2, 72>,
<Helen, course3, 63>}
• TSxCxM
n-ary Relation: Example
Let A = {0, 1, 2, 3, 4} and R on A x A x A consisting of 3-tuples:
<a, b, c> such that a <b < c. List the ordered pairs in the relation R
n-ary Relation: Example
Let A = {0, 1, 2, 3, 4} and R on A x A x A consisting of 3-tuples:
<a, b, c> such that a <b < c. List the ordered pairs in the relation R

Let’s start with: a = 0, then b can be 1, 2, 3 or 4, but not 0, and c can


be 2, 3, or 4 but not 0 or 1.
R = {<0, 1, 2>, <0, 1, 3>, <0, 1, 4>, <0, 2, 3>, <0, 2, 4>, <0, 3, 4>,
<1, 2, 3>, <1, 2, 4>, <1, 3, 4>, <2, 3, 4>}
n-ary Relation: Example
• A = {0, 1, 2, 3, 4}; A x A x A gives us a pool of possible answers
• 5 * 5 * 5 elements = 125 ordered pairs <a, b, c>

A x A x A = { <0, 0, 0>, <0, 0, 1 >, <0, 0, 2>, <0, 0, 3>, <0, 0, 4>,
<0, 1, 0>, <0, 1, 1 >, <0, 1, 2>, <0, 1, 3>, <0, 1, 4>,
<0, 2, 0>, <0, 2, 1 >, <0, 2, 2>, <0, 2, 3>, <0, 2, 4>,
<0, 3, 0>, <0, 3, 1 >, <0, 3, 2>, <0, 3, 3>, <0, 3, 4>,
<0, 4, 0>, <0, 4, 1 >, <0, 4, 2>, <0, 4, 3>, <0, 4, 4>,…
<4, 4, 0>, <4, 4, 1>, <4, 4, 2>, <4, 4, 3>, <4, 4, 4>}
n-ary Relation: Example
• A = {0, 1, 2, 3, 4}; A x A x A gives us a pool of possible answers
• 5 * 5 * 5 elements = 125 ordered pairs <a, b, c> such that a <b < c
A x A x A = { <0, 0, 0>, <0, 0, 1 >, <0, 0, 2>, <0, 0, 3>, <0, 0, 4>,
<0, 1, 0>, <0, 1, 1 >, <0, 1, 2>, <0, 1, 3>, <0, 1, 4>,
<0, 2, 0>, <0, 2, 1 >, <0, 2, 2>, <0, 2, 3>, <0, 2, 4>,
<0, 3, 0>, <0, 3, 1 >, <0, 3, 2>, <0, 3, 3>, <0, 3, 4>,
<0, 4, 0>, <0, 4, 1 >, <0, 4, 2>, <0, 4, 3>, <0, 4, 4>,…
<4, 4, 0>, <4, 4, 1>, <4, 4, 2>, <4, 4, 3>, <4, 4, 4>}
R = {<0, 1, 2>, <0, 1, 3>, <0, 1, 4>, <0, 2, 3>, <0, 2, 4>, <0, 3, 4>,
<1, 2, 3>, <1, 2, 4>, <1, 3, 4>}
n-ary Relations: Equality
• n-ary relation R1  A1 x ... x An
• m-ary relation R2  B1 x ... x Bm

• R1 = R2 if
• m=n
• Ai = Bi for each i, 1 ≤ i ≤ n,
• R1 = R2 as a set of ordered n-tuples
n-ary Relations Equality: Example
• R1 and R2 on A x A x A, with A = {1, 2, 3}
• R1 = {<1, 2, 3>, <1, 2, 2>, <2, 2, 2>}
• R2 = {<2, 2, 2>, <1, 2, 3>, <1, 2, 2>}
• R1 = R2, because both sets contains the same 3 ordered n-tuples

• R3 = {<1, 1, 1>}; R1 ≠ R3 as they have do not have the same


ordered pain-tuples

• R4 on B x B, with B = {a, b}, R4 = {<a, a>,<a, b>}


• R1 ≠ R4 as they are over different number of (different) sets,
i.e., A x A x A vs B x B.
Summary: Binary Relations

Symbol Symbol name Meaning


<a, b> ordered pair a pair of elements with an order associated with them
R over A x B binary relation set of ordered pairs <a, b>, where a is paired with b through the
relation R, with a  A and b  B
Summary: n-ary Relations

Symbol Symbol name Meaning


<x1, x2, ..., xn> ordered n tuple a set of n objects x1, x2,…, xn with an order associated with them
A1 x A2 x... x An Cartesian the set of all possible ordered n-tuples <x1, x2, ... , xn> ,
product of n sets where x1  A1, x2  A2, …, xn  An

n-ary relation set of ordered n-tuples <a1, a2, ..., an>


where a1  A1, a2  A2, …, an  An

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy