0% found this document useful (0 votes)
163 views

Properties of Binary Relations

The document defines and provides examples of binary relations and their properties. A binary relation R over a set A is a subset of the Cartesian product A×A. Properties of binary relations include being reflexive, symmetric, transitive, irreflexive, and antisymmetric. Binary relations can be represented using directed graphs. The composition of two binary relations R and S is the set of all ordered pairs (x,z) where there is some y such that x R y and y S z.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
163 views

Properties of Binary Relations

The document defines and provides examples of binary relations and their properties. A binary relation R over a set A is a subset of the Cartesian product A×A. Properties of binary relations include being reflexive, symmetric, transitive, irreflexive, and antisymmetric. Binary relations can be represented using directed graphs. The composition of two binary relations R and S is the set of all ordered pairs (x,z) where there is some y such that x R y and y S z.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 46

Section 4.

1: Properties of Binary Relations


A “binary relation” R over some set A is a subset of A×A.
If (x,y) ∈ R we sometimes write x R y.

Example: Let R be the binary relaion “less” (“<”) over N.


{(0,1), (0,2), … (1,2), (1,3), … }
(4,7) ∈ R
Normally, we write: 4 < 7

Additional Examples: Here are some binary relations over A={0,1,2}


Ø (nothing is related to anything)
A×A (everything is related to everything)
eq = {(0,0), (1,1),(2,2)}
less = {(0,1),(0,2),(1,2)}

CS340-Discrete Structures Section 4.1 Page 1


Representing Relations with Digraphs (directed graphs)

Let R = {(a,b), (b,a), (b,c)} over A={a,b,c}

We can represent R with this graph:

R:

a b c

CS340-Discrete Structures Section 4.1 Page 2


Properties of Binary Relations:

R is reflexive
x R x for all x∈A
Every element is related to itself.
R is symmetric
x R y implies y R x, for all x,y∈A
The relation is reversable.
R is transitive
x R y and y R z implies x R z, for all x,y,z∈A
Example:
i<7 and 7<j implies i<j.
R is irreflexive
(x,x) ∉ R, for all x∈A
Elements aren’t related to themselves.
R is antisymmetric
x R y and y R x implies that x=y, for all x,y,z∈A
Example: i≤7 and 7≤i implies i=7.

CS340-Discrete Structures Section 4.1 Page 3


Properties of Binary Relations:

R is reflexive
x R x for all x∈A a b
Every element is related to itself.
R is symmetric c d
x R y implies y R x, for all x,y∈A
The relation is reversable.
R is transitive
x R y and y R z implies x R z, for all x,y,z∈A
Example: Reflexive
i<7 and 7<j implies i<j.
R is irreflexive
(x,x) ∉ R, for all x∈A
Elements aren’t related to themselves.
R is antisymmetric
x R y and y R x implies that x=y, for all x,y,z∈A
Example: i≤7 and 7≤i implies i=7.

CS340-Discrete Structures Section 4.1 Page 4


Properties of Binary Relations:

R is reflexive
x R x for all x∈A a b
Every element is related to itself.
R is symmetric c d
x R y implies y R x, for all x,y∈A
The relation is reversable.
R is transitive
x R y and y R z implies x R z, for all x,y,z∈A Symmetric:
Example:
All edges are 2-way:
i<7 and 7<j implies i<j.
R is irreflexive Might as well use
(x,x) ∉ R, for all x∈A undirected edges!
Elements aren’t related to themselves.
R is antisymmetric
x R y and y R x implies that x=y, for all x,y,z∈A
Example: i≤7 and 7≤i implies i=7.

CS340-Discrete Structures Section 4.1 Page 5


Properties of Binary Relations:

R is reflexive
x R x for all x∈A a b
Every element is related to itself.
R is symmetric c d
x R y implies y R x, for all x,y∈A
The relation is reversable.
R is transitive
x R y and y R z implies x R z, for all x,y,z∈A Symmetric:
Example:
All edges are 2-way:
i<7 and 7<j implies i<j.
R is irreflexive Might as well use
(x,x) ∉ R, for all x∈A undirected edges!
Elements aren’t related to themselves.
R is antisymmetric
x R y and y R x implies that x=y, for all x,y,z∈A
Example: i≤7 and 7≤i implies i=7.

CS340-Discrete Structures Section 4.1 Page 6


Properties of Binary Relations:

R is reflexive
x R x for all x∈A a b
Every element is related to itself.
R is symmetric c d
x R y implies y R x, for all x,y∈A
The relation is reversable.
R is transitive
x R y and y R z implies x R z, for all x,y,z∈A Symmetric:
Example:
All edges are 2-way:
i<7 and 7<j implies i<j.
R is irreflexive Might as well use
(x,x) ∉ R, for all x∈A undirected edges!
Elements aren’t related to themselves.
R is antisymmetric
x R y and y R x implies that x=y, for all x,y,z∈A
Example: i≤7 and 7≤i implies i=7.

CS340-Discrete Structures Section 4.1 Page 7


Properties of Binary Relations:

R is reflexive
x R x for all x∈A a b
Every element is related to itself.
R is symmetric c d
x R y implies y R x, for all x,y∈A
The relation is reversable.
R is transitive
x R y and y R z implies x R z, for all x,y,z∈A Transitive:
Example:
If you can get from
i<7 and 7<j implies i<j.
R is irreflexive x to y, then there
(x,x) ∉ R, for all x∈A is an edge directly
Elements aren’t related to themselves. from x to y!
R is antisymmetric
x R y and y R x implies that x=y, for all x,y,z∈A
Example: i≤7 and 7≤i implies i=7.

CS340-Discrete Structures Section 4.1 Page 8


Properties of Binary Relations:

R is reflexive
x R x for all x∈A a b
Every element is related to itself.
R is symmetric c d
x R y implies y R x, for all x,y∈A
The relation is reversable.
R is transitive
x R y and y R z implies x R z, for all x,y,z∈A Transitive:
Example:
If you can get from
i<7 and 7<j implies i<j.
R is irreflexive x to y, then there
(x,x) ∉ R, for all x∈A is an edge directly
Elements aren’t related to themselves. from x to y!
R is antisymmetric
x R y and y R x implies that x=y, for all x,y,z∈A
Example: i≤7 and 7≤i implies i=7.

CS340-Discrete Structures Section 4.1 Page 9


Properties of Binary Relations:

R is reflexive
x R x for all x∈A a b
Every element is related to itself.
R is symmetric c d
x R y implies y R x, for all x,y∈A
The relation is reversable.
R is transitive
x R y and y R z implies x R z, for all x,y,z∈A Irreflexive:
Example:
You won’t see any
i<7 and 7<j implies i<j.
R is irreflexive edges like these!
(x,x) ∉ R, for all x∈A
Elements aren’t related to themselves.
R is antisymmetric
x R y and y R x implies that x=y, for all x,y,z∈A
Example: i≤7 and 7≤i implies i=7.

CS340-Discrete Structures Section 4.1 Page 10


Properties of Binary Relations:

R is reflexive
x R x for all x∈A a b
Every element is related to itself.
R is symmetric c d
x R y implies y R x, for all x,y∈A
The relation is reversable.
R is transitive
x R y and y R z implies x R z, for all x,y,z∈A Antisymmetric:
Example:
You won’t see any
i<7 and 7<j implies i<j.
R is irreflexive edges like these!
(x,x) ∉ R, for all x∈A (although xRx is
Elements aren’t related to themselves. okay:
R is antisymmetric x )
x R y and y R x implies that x=y, for all x,y,z∈A
Example: i≤7 and 7≤i implies i=7.

CS340-Discrete Structures Section 4.1 Page 11


Properties of Binary Relations:

R is reflexive x R x for all x∈A


R is symmetric x R y implies y R x, for all x,y∈A
R is transitive x R y and y R z implies x R z, for all x,y,z∈A
R is irreflexive (x,x) ∉ R, for all x∈A
R is antisymmetric x R y and y R x implies that x=y, for all x,y,z∈A

Examples: Here are some binary relations over A={0,1}.


Which of the properties hold?

Answers:
Ø
A×A
eq = {(0,0), (1,1)}
less = {(0,1)}

CS340-Discrete Structures Section 4.1 Page 12


Properties of Binary Relations:

R is reflexive x R x for all x∈A


R is symmetric x R y implies y R x, for all x,y∈A
R is transitive x R y and y R z implies x R z, for all x,y,z∈A
R is irreflexive (x,x) ∉ R, for all x∈A
R is antisymmetric x R y and y R x implies that x=y, for all x,y,z∈A

Examples: Here are some binary relations over A={0,1}.


Which of the properties hold?

Answers:
Ø symmetric,transitive,irreflexive,antisymmetric
A×A reflexive, symmetric, transitive
eq = {(0,0), (1,1)} reflexive, symmetric, transitive, antisymmetric
less = {(0,1)} transitive, irreflexive, antisymmetric

CS340-Discrete Structures Section 4.1 Page 13


Composition of Relations

If R and S are binary relations, then the composition of R and S is


R ᐤ S = {(x,z) | x R y and y S z for some y }

A A A B
B B B A

C C C C
D
D D D

R S
R S

CS340-Discrete Structures Section 4.1 Page 14


Composition of Relations

If R and S are binary relations, then the composition of R and S is


R ᐤ S = {(x,z) | x R y and y S z for some y }

A A A B
B B B A

C C C C
D
D D D

R S
R S

CS340-Discrete Structures Section 4.1 Page 15


Composition of Relations

If R and S are binary relations, then the composition of R and S is


R ᐤ S = {(x,z) | x R y and y S z for some y }

Examples:
eq ᐤ less = ?

RᐤØ=?

isMotherOf ᐤ isFatherOf = ?

isSonOf ᐤ isSiblingOf = ?

CS340-Discrete Structures Section 4.1 Page 16


Composition of Relations

If R and S are binary relations, then the composition of R and S is


R ᐤ S = {(x,z) | x R y and y S z for some y }

Examples:
eq ᐤ less = less
{ (x,z) | x=y and y<x, for some y}

RᐤØ=Ø

isMotherOf ᐤ isFatherOf = isPaternalGrandmotherOf


{ (x,z) | x isMotherOf y and y isFatherOf x, for some y}

isSonOf ᐤ isSiblingOf = isNephewOf


{ (x,z) | x isSonOf y and y isSiblingOf x, for some y}

CS340-Discrete Structures Section 4.1 Page 17


Representing Relations with Digraphs (directed graphs)

Let R = {(a,b), (b,a),(b,c)} over A={a,b,c}

Let R2 = R ᐤ R = ?

We can represent R graphically:

R:

a b c

CS340-Discrete Structures Section 4.1 Page 18


Representing Relations with Digraphs (directed graphs)

Let R = {(a,b), (b,a),(b,c)} over A={a,b,c}

Let R2 = R ᐤ R
Let R3 = R ᐤ R ᐤ R = ?

We can represent R graphically:

R: R2:

a b c a b c

CS340-Discrete Structures Section 4.1 Page 19


Representing Relations with Digraphs (directed graphs)

Let R = {(a,b), (b,a),(b,c)} over A={a,b,c}

Let R2 = R ᐤ R
Let R3 = R ᐤ R ᐤ R = R2 ᐤ R.

We can represent R graphically:

R: R2: R3:

a b c a b c a b c

In this example, R3 happens to be the same relation as R.


R3 = R

Note: By definition, R0 = Eq, where x Eq y iff x=y.

CS340-Discrete Structures Section 4.1 Page 20


Reflexive Closure

Given a relation R, we want to add to it just enough “edges” to make


the resulting relation satisfy the reflexive property.

Reflexive Closure of R is r(R) = R ∪ Eq, where Eq is the equality relation.

Example:

r(R) = R ∪ Eq = {(a,b),(b,a),(b,c),(a,a),(b,b),(c,c)}

R: r(R):

a b c a b c

CS340-Discrete Structures Section 4.1 Page 21


Symmetric Closure

Given a relation R, we want to add to it just enough “edges” to make


the resulting relation satisfy the symmetric property.

Symmetric Closure of R is s(R) = R ∪ Rc, where Rc is the converse


relation. Rc = {(b,a) | a R b}

Example:

s(R) = R ∪ Rc = {(a,b),(b,a),(b,c),(c,b)}

R: s(R):

a b c a b c

CS340-Discrete Structures Section 4.1 Page 22


Transitive Closure

Given a relation R, we want to add to it just enough “edges” to make


the resulting relation satisfy the transitivity property.

Transitive Closure of R is t(R) = R ∪ R2 ∪ R3 ∪ …

Note: If the number of nodes is finite…


If |A| = n then t(R) = R ∪ R2 ∪ R3 ∪ … ∪ Rn

Example:

t(R) = R ∪ R2 ∪ R3 = {(a,b),(b,a),(b,c),(a,a),(b,b),(a,c)}

R: t(R):

a b c a b c

If there is a path from x to y, then add an edge directly from x to y.

CS340-Discrete Structures Section 4.1 Page 23


In-Class Quiz:

Let R = {(x,x+1) | x∈Z }

What is t(R)?
What is rt(R)?
What is st(R)?

CS340-Discrete Structures Section 4.1 Page 24


In-Class Quiz:

Let R = {(x,x+1) | x∈Z }

What is t(R)? <


What is rt(R)?
What is st(R)?

CS340-Discrete Structures Section 4.1 Page 25


In-Class Quiz:

Let R = {(x,x+1) | x∈Z }

What is t(R)? <


What is rt(R)? ≤
What is st(R)?

CS340-Discrete Structures Section 4.1 Page 26


In-Class Quiz:

Let R = {(x,x+1) | x∈Z }

What is t(R)? <


What is rt(R)? ≤
What is st(R)? ≠

CS340-Discrete Structures Section 4.1 Page 27


Adjacency Matrix

Idea: Use a matrix to represent a directed graph (or a relation).

Let R = {(a,b),(b,c),(c,d)}

Number the elements in the set: 1,2,3,…

a b c d

CS340-Discrete Structures Section 4.1 Page 28


Adjacency Matrix

Idea: Use a matrix to represent a directed graph (or a relation).

Let R = {(a,b),(b,c),(c,d)}

Number the elements in the set: 1,2,3,…

a b c d
1 2 3 4

CS340-Discrete Structures Section 4.1 Page 29


Adjacency Matrix

Idea: Use a matrix to represent a directed graph (or a relation).

Let R = {(a,b),(b,c),(c,d)}

Number the elements in the set: 1,2,3,…

Now we can write R = {(1,2),(2,3),(3,4)}

The matrix M will have a “1” in position Mij if i R j, and “0” otherwise.

M = 0 1 0 0
0 0 1 0
0 0 0 1
0 0 0 0 1 2 3 4

CS340-Discrete Structures Section 4.1 Page 30


Computing the Transitive Closure: Warshall’s Algorithm

We can use this matrix to compute the t(R), the transitive closure of R.

Idea: Every time we find this pattern:


i k j
…add this edge:

Warshall’s Algorithm

for k := 1 to n
for i := 1 to n
for j := 1 to n
if Mik = Mkj = 1 then
Mij := 1
endIf
endFor
endFor
endFor

CS340-Discrete Structures Section 4.1 Page 31


Computing the Transitive Closure: Warshall’s Algorithm

We can use this matrix to compute the t(R), the transitive closure of R.

Idea: Every time we find this pattern:


i k j
…add this edge:

Warshall’s Algorithm
Consider all ways to bypass node 1.
Then forget about node 1. for k := 1 to n
Consider all ways to bypass node 2. for i := 1 to n
and so on… for j := 1 to n
if Mik = Mkj = 1 then
Mij := 1
endIf
1 2 endFor
endFor
endFor

CS340-Discrete Structures Section 4.1 Page 32


Computing the Transitive Closure: Warshall’s Algorithm

We can use this matrix to compute the t(R), the transitive closure of R.

Idea: Every time we find this pattern:


i k j
…add this edge:

Warshall’s Algorithm
Consider all ways to bypass node 1.
Then forget about node 1. for k := 1 to n
Consider all ways to bypass node 2. for i := 1 to n
and so on… for j := 1 to n
if Mik = Mkj = 1 then
Mij := 1
endIf
1 2 endFor
endFor
endFor

CS340-Discrete Structures Section 4.1 Page 33


Computing the Transitive Closure: Warshall’s Algorithm

We can use this matrix to compute the t(R), the transitive closure of R.

Idea: Every time we find this pattern:


i k j
…add this edge:

Warshall’s Algorithm
Consider all ways to bypass node 1.
Then forget about node 1. for k := 1 to n
Consider all ways to bypass node 2. for i := 1 to n
and so on… for j := 1 to n
if Mik = Mkj = 1 then
Mij := 1
endIf
1 2 endFor
endFor
endFor

CS340-Discrete Structures Section 4.1 Page 34


Computing the Transitive Closure: Warshall’s Algorithm

We can use this matrix to compute the t(R), the transitive closure of R.

Idea: Every time we find this pattern:


i k j
…add this edge:

Warshall’s Algorithm
Consider all ways to bypass node 1.
Then forget about node 1. for k := 1 to n
Consider all ways to bypass node 2. for i := 1 to n
and so on… for j := 1 to n
if Mik = Mkj = 1 then
Mij := 1
endIf
1 2 endFor
endFor
endFor

CS340-Discrete Structures Section 4.1 Page 35


Computing the Transitive Closure: Warshall’s Algorithm

We can use this matrix to compute the t(R), the transitive closure of R.

Idea: Every time we find this pattern:


i k j
…add this edge:

Warshall’s Algorithm
Consider all ways to bypass node 1.
Then forget about node 1. for k := 1 to n
Consider all ways to bypass node 2. for i := 1 to n
and so on… for j := 1 to n
if Mik = Mkj = 1 then
Mij := 1
endIf
1 2 endFor
endFor
endFor

CS340-Discrete Structures Section 4.1 Page 36


Example:

k=1
1 2 3 4

0 1 0 0
M = 0 0 1 0
0 0 0 1
Warshall’s Algorithm
0 0 0 0

for k := 1 to n
for i := 1 to n
for j := 1 to n
if Mik = Mkj = 1 then
Mij := 1
endIf
endFor
endFor
endFor

CS340-Discrete Structures Section 4.1 Page 37


Example:

k=2
1 2 3 4

0 1 1 0
M = 0 0 1 0
0 0 0 1
Warshall’s Algorithm
0 0 0 0

for k := 1 to n
for i := 1 to n
for j := 1 to n
if Mik = Mkj = 1 then
Mij := 1
endIf
endFor
endFor
endFor

CS340-Discrete Structures Section 4.1 Page 38


Example:

k=3
1 2 3 4

0 1 1 1
M = 0 0 1 0
0 0 0 1
Warshall’s Algorithm
0 0 0 0

for k := 1 to n
for i := 1 to n
for j := 1 to n
if Mik = Mkj = 1 then
Mij := 1
endIf
endFor
endFor
endFor

CS340-Discrete Structures Section 4.1 Page 39


Example:

k=3
1 2 3 4

0 1 1 1
M = 0 0 1 1
0 0 0 1
Warshall’s Algorithm
0 0 0 0

for k := 1 to n
for i := 1 to n
for j := 1 to n
if Mik = Mkj = 1 then
Mij := 1
endIf
endFor
endFor
endFor

CS340-Discrete Structures Section 4.1 Page 40


Example:

k=4 …Done;
no more changes. 1 2 3 4

0 1 1 1
M = 0 0 1 1
0 0 0 1
Warshall’s Algorithm
0 0 0 0

for k := 1 to n
for i := 1 to n
for j := 1 to n
if Mik = Mkj = 1 then
Mij := 1
endIf
endFor
endFor
endFor

CS340-Discrete Structures Section 4.1 Page 41


Path Problems: Floyd’s Algorithm
Consider a directed graph with weights on the edges.

10

1 3
10
 10
 2
20
 30

30

6
5

4
5
Problems: 40

Find the cheapest path from x to y.
Find the shortest path from x to y.
(Just make all weights = 1!)

CS340-Discrete Structures Section 4.1 Page 42


Path Problems: Floyd’s Algorithm
Consider a directed graph with weights on the edges.

10

1 3
10
 10
 2
Idea: 20
 30

30

Represent the graph with a matrix. 6
Store the weights. 5

For non-existent edges, use 4
a weight of ∞. 5
Then modify Warshall’s Algorithm. 40


0 10 10 ∞ 20 10
∞ 0 ∞ 30 ∞ ∞
∞ ∞ 0 30 ∞ ∞
M =
∞ ∞ ∞ 0 ∞ ∞
∞ ∞ ∞ 40 0 ∞
∞ ∞ ∞ ∞ 5 0

CS340-Discrete Structures Section 4.1 Page 43


Path Problems: Floyd’s Algorithm
Consider a directed graph with weights on the edges.

Floyd’s Algorithm: 10



1 3
for k := 1 to n
for i := 1 to n 10
 10
 2
for j := 1 to n 20

if Mik+Mkj < Mij 30

30

6
Mij := Mik+Mkj
5

endIf 4
endFor 5
40

endFor
endFor

0 10 10 ∞ 20 10
∞ 0 ∞ 30 ∞ ∞
∞ ∞ 0 30 ∞ ∞
M =
∞ ∞ ∞ 0 ∞ ∞
∞ ∞ ∞ 40 0 ∞
∞ ∞ ∞ ∞ 5 0

CS340-Discrete Structures Section 4.1 Page 44


Path Problems: Floyd’s Algorithm
Consider a directed graph with weights on the edges.

Floyd’s Algorithm: 10



1 3
for k := 1 to n
for i := 1 to n 10
 10
 2
for j := 1 to n 20

if Mik+Mkj < Mij 30

15
 30

6
Mij := Mik+Mkj 40

5

endIf 4
endFor 5
40

endFor 45

endFor

0 10 10 40 15 10
∞ 0 ∞ 30 ∞ ∞
∞ ∞ 0 30 ∞ ∞
M =
∞ ∞ ∞ 0 ∞ ∞
∞ ∞ ∞ 40 0 ∞
∞ ∞ ∞ 45 5 0

CS340-Discrete Structures Section 4.1 Page 45


Path Problems: Floyd’s Algorithm
How can we remember the best path? P=next node in best path!

Floyd’s Algorithm: 10



1 3
for k := 1 to n
for i := 1 to n 10
 10
 2
for j := 1 to n 20

if Mik+Mkj < Mij 30

15
 30

6
Mij := Mik+Mkj 40

5

Pij := k
endIf 4
endFor 5
40

endFor 45

endFor

0 10 10 40 15 10 0 0 0 2 6 0
∞ 0 ∞ 30 ∞ ∞ 0 0 0 0 0 0
∞ ∞ 0 30 ∞ ∞ 0 0 0 0 0 0
M = P =
∞ ∞ ∞ 0 ∞ ∞ 0 0 0 0 0 0
∞ ∞ ∞ 40 0 ∞ 0 0 0 0 0 0
∞ ∞ ∞ 45 5 0 0 0 0 5 0 0

CS340-Discrete Structures Section 4.1 Page 46

You might also like