71
Problem Statement How do we represent relationship between two related elements ?

Problem Statement How do we represent relationship between two related elements ?

Embed Size (px)

Citation preview

Page 1: Problem Statement How do we represent relationship between two related elements ?

Problem Statement

How do we represent relationship between two related elements ?

Page 2: Problem Statement How do we represent relationship between two related elements ?

Relations

Page 3: Problem Statement How do we represent relationship between two related elements ?

Definition

Let A and B be sets. A binary relation from A to B is a subset of A x B.

A binary relation from A to B is a set R of ordered pairs where the first element from each ordered pair comes from A and the second one from B.

Notation: a R b denotes that (a,b) Є R

Page 4: Problem Statement How do we represent relationship between two related elements ?

Definition

Example:Let A = {a,b}

B = {1,2}Then {(a,1),(a,2),(b,1)} is a relation from A to B. (b,2) is in A X B

Note that (b,1) belongs to R but not (b,2)

Page 5: Problem Statement How do we represent relationship between two related elements ?

Function as Relations Relations are generalization of functions that

can be used to represent much wider class of relationships between sets.

Functions can be visualized as subset of relations.

Example: F: A B is a subset of A x B

Page 6: Problem Statement How do we represent relationship between two related elements ?

Relations on a Set A relation on a set A is represented as A to A

Example: A = {1,2,3}, R = {(a, b)| a < b}Represented as {(1,2), (2,3),(1,3)}

Page 7: Problem Statement How do we represent relationship between two related elements ?

Properties of Relations

A relation R on a set A is reflexive if (a, a) Є R for element a Є A

Example: A = {1,2,3}R1 ={(1,1),(1,2),(2,1)}

R2 ={(1,1), (1,2), (1,3), (2,1), (2,2), (3,3)}

Here, R2 is reflexive whereas R1 is not.

R1 contains (1,1) but not (2,2) & (3,3).

Page 8: Problem Statement How do we represent relationship between two related elements ?

Properties of Relations…(continued)

A relation R on a set A is symmetric if (b,a) Є Rwhenever (a,b) Є R, for all a, b Є A

A relation R on a set A such that (a,b) Є R and (b,a) Є R only if a = b, for all a,b Є A, is calledantisymmtric.

Page 9: Problem Statement How do we represent relationship between two related elements ?

Properties of Relations…(continued)

Example: A = {1,2,3}R1 ={(1,1),(1,2),(2,1)}

R2 ={(1,1), (1,2), (1,3), (2,2), (3,3)}

Here, R1is symmetric because in each case (b,a)belongs to the relation whenever (a,b) does.

R2 is antisymmetric. There is no pair of elementsa and b with a≠b such that both (a,b) and (b,a)belongs to the relation.

Page 10: Problem Statement How do we represent relationship between two related elements ?

Properties of Relations…(continued)

A relation R on a set A is transitive if (a,b) Є R and (b,c) Є R, then (a,c) Є R, for all a,b,c Є A.

Example: A = {1,2,3}R1 ={(1,1),(1,2),(2,1),(2,2)}

R1 is transitive.

Page 11: Problem Statement How do we represent relationship between two related elements ?

Combining Relations

R1 ={(1,1),(2,2),(3,3)}

R2 ={(1,1), (1,2), (1,3), (1,4)}

R1 U R2 ={(1,1),(2,2),(3,3), (1,2), (1,3), (1,4)}R1 – R2 = {(2,2),(3,3)}R2 – R1 = {(1,2),(1,3),(1,4)}

Page 12: Problem Statement How do we represent relationship between two related elements ?

Composite Relations

Let R be a relation from a set A to a set B and S a relation from set B to set C.

The composite of R and S is the relation consisting of ordered pairs (a,c), where a Є A, c Є C, and for which there exists an element b Є B such that (a,b) Є R and (b,c) Є S.

The composite of R and S is denoted by S o R.

Page 13: Problem Statement How do we represent relationship between two related elements ?

Composite Relations

Example: A = {1,2,3} B = {1,2,3,4} C = {0,1,2}

R:ABR = {(1,1), (1,4), (2,3), (3,1), (3,4)}

S:BCS = {(1,0), (2,0), (3,1), (3,2), (4,1)}

S o R = {(1,0),(1,1),(2,1),(2,2),(3,0),(3,1)}

Page 14: Problem Statement How do we represent relationship between two related elements ?

Composite Relations

Let R be a relation on the set A.

The powers Rn,n = 1,2,3,… are defined recursively by

R1 = R and Rn+1 = Rn o R

The relation R on a set A is transitive if and only if Rn R for n = 1,2,3,…

Page 15: Problem Statement How do we represent relationship between two related elements ?

Theorem 1

The relation R on a set A is transitive if andonly if Rn R for n = 1,2,3,…Proof:=> : Rn R

Given, Rn is a subset of R for n = 1,2,3. If (a,b) and (b,c) are in R, then (a, c) Є R2 by definition of composite relationship.

=> R2 R (a, c) Є R R is transitive

Page 16: Problem Statement How do we represent relationship between two related elements ?

Proof contd …………

<= Using Mathematical inductionBasic Step:R is a subset of R Assume Rn RInductive Step:We know that by composite relationship 1. (a, b) Є Rn+1 , Rn+1= Rn o R For element x with x Є A such that (a, x) Є R and (x, b) Є Rn

2. Since Rn R => (x, b) Є R3. R is transitive and (a, x) Є R and (x, b) Є R (a, b) Є R Rn+1 R

Page 17: Problem Statement How do we represent relationship between two related elements ?

N-ary Relations & Databases

Definition:Let A1, A2, …, An be sets. An n-ary relation on these sets is a subset of A1 x A2 x .. X An. The sets A1, A2, .., An are domains. n is its degree.

Example: Database relations.

Student_Name ID_Number Major GPA

Page 18: Problem Statement How do we represent relationship between two related elements ?

Operations on N-ary Relations

Student_Name ID_Number Major GPA

Definition:Projection Pi1, i2,..,im maps the n-tuple (a1,a2,..,an) to them-tuple (ai1,..,aim) where m<= n.

Example: P(1,3) on Students Database: <Student_Name,Major>.

Page 19: Problem Statement How do we represent relationship between two related elements ?

Operations on N-ary Relations

Student_Name ID_Number Major GPA

Definition:Selection Sc maps the n-ary relation R to the n-ary relationof all n-tuples from R that satisfy the condition C.

Example: Condition C can be Major = Computer Science.Gives a set of n-tuples with students majoring CS.

Page 20: Problem Statement How do we represent relationship between two related elements ?

Operations on N-ary Relations

Student_Name Address Phone Cell

Definition:R: relation of degree m. S: relation of degree n. Join Jp(R,S)[p <= m and p <= n], is a relation of degree m + n – p thatconsists of all (m + n – p) tuples (a1, a2,..,am-p, c1, c2,.., cp, b1, b2,…, bn-p). (a1, a2,..,am-p, c1, c2,.., cp) in R. (c1, c2,.., cp, b1, b2,…, bn-p) in S.

Example:Join J1 on the 2 databases: Produces a databasewith tuples <Student_Name, ID_Number, Major, GPA, Address, Phone, Cell>

Page 21: Problem Statement How do we represent relationship between two related elements ?

Representing Relation

Different ways of representing Relation are:

Ordered pairs (which we have already seen) Zero-one matrices (useful for representing

relations in computer programs) Directed Graphs (useful in understanding the

properties of relations)

Page 22: Problem Statement How do we represent relationship between two related elements ?

Representing Relation using Matrices

Let A = {a1 ,a2 ,a3,…,am }

B = {b1 ,b2 ,b3 ,…,bn }

The relation R can be represented by the matrix MR = [mij], where

Rbaif

Rbaifij

ji

ji

m),(1

),(0

Page 23: Problem Statement How do we represent relationship between two related elements ?

Representing Relation using Matrices

Example 1: A = {1,2,3} B = {1,2}Given R = {(2,1),(3,1),(3,2)}Find MR?

Example 2:A = {1,2,3} B = {1,2,3,4,5} Given Find R?

R = {(1,2), (2,1), (2,3), (2,4), (3,1), (3,3), (3,5)}

1

0

0

1

1

0

RM

1

0

0

0

1

0

1

1

0

0

0

1

1

1

0

RM

Page 24: Problem Statement How do we represent relationship between two related elements ?

Relation Properties using Matrices

R is reflexive if and only if mii = 1, for i = 1,2,…,n. i.e

if all the diagonal elements of MR are equal to 1.

R is symmetric if and only if mij = mji, for all pairs of

integers i and j with i = 1,2,…,n and j = 1,2,…,n

1

1

1

1

1

RM

1

0

1

1

1

1

0

1

0

1

1

0

1

0

1

1

1

1

0

1

RM

Page 25: Problem Statement How do we represent relationship between two related elements ?

Relation Properties using Matrices

R is antisymmetric if and only if mij = 1 with i ≠ j,

then mji = 0

Example: The relation R on a set is given by

Is R reflexive, symmetric, and/or antisymmetric ?

R is reflexive, symmetric and not antisymmetric.

1

0

0

1

0

1

0

0

1

0

1

0

1

1

0

1

0

1

1

0

RM

1

1

0

1

1

1

0

1

1

RM

Page 26: Problem Statement How do we represent relationship between two related elements ?

Relations & Matrices

0

0

1

1

0

0

0

1

1

1RM

0

1

1

0

1

0

1

0

1

2RM

MR1UR2 =

0

1

1

1

1

0

1

1

1MR1 o MR2 =

1

1

1

1

0

0

0

1

1

Page 27: Problem Statement How do we represent relationship between two related elements ?

Representing Relation using Digraphs

A directed graph, or digraph, consists of a set V of vertices together with a set E of ordered pairs of elements of V called edges. The vertex a is call the initial vertex of the edge (a,b), and the vertex b is called the terminal vertex of this edge.

Example:R = {(A,B), (A,C), (A,D), (B,D), (C,D), (C,E), (D,E), (E,A)}

A

C

E

B

D

Page 28: Problem Statement How do we represent relationship between two related elements ?

Relation Properties using Digraphs

Page 29: Problem Statement How do we represent relationship between two related elements ?

Relation Properties using Digraphs

A relation R is transitive if and only if whenever there is an edge from vertex x to a vertex y and an edge from a vertex y to a vertex z, there is an edge from x to z

Page 30: Problem Statement How do we represent relationship between two related elements ?

Closures of Relations

Let R be a relation on a set A. R may or may not have some property P, such as reflexivity, symmetry, or transitivity. If there is a relation S with property P containing R such that S is a subset of every relation with property P containing R, then S is called the closure of R with respect to P. 3 types of Closures exists:

1. Reflexive Closure2. Symmetric Closure3. Transitive Closure

Page 31: Problem Statement How do we represent relationship between two related elements ?

Reflexive Closure Given a relation R on a set A is not reflexive.

The reflexive closure of R can be formed by adding ordered pairs (a,a) not already in A, where a Є A.

These new additions will make the new relation reflexive which contains R.

Example: A = {1,2,3}Let R = {(1,1), (1,2), (2,1), (3,2)}

R is not reflexive since it does not contain (2,2) and (3,3). Adding these two ordered pairs to R will make the new relation, say S, reflexive. Also, S contains R.

Thus, S is a reflexive closure of R.

Page 32: Problem Statement How do we represent relationship between two related elements ?

Symmetric Closure

Given a relation R on a set A is not symmetric. The symmetric closure of a relation R can be constructed by

adding all the ordered pairs of the form (b,a), where (a,b) is in R, that are not already in R.

Example: A = {1,2,3}Let R = {(1,1), (1,2), (2,1), (3,2)}

The ordered pair (2,3) is to be added to R. This new relation S will then be symmetric. S will then be called the symmetric closure of R.

Page 33: Problem Statement How do we represent relationship between two related elements ?

Transitive Closure using Digraphs

A Path from a to b in the directed graph in G is a sequence of edges (x0,x1),(x1,x2),…,(xn-1,xn) in G, where n is a nonnegative

integer, and x0 = a and xn = b, that is, a sequence of edges

where the terminal vertex of an edge is the initial vertex in the next edge in the path. The path is denoted by x0, x1, x2,…,

xn-1, xn and has length n.

Example: Consider the directed graph G:

Path(A,E) = {A,C,E},{A,D,E},{A,B,D,E}, {A,C,D,E}

A

C

E

B

D

Page 34: Problem Statement How do we represent relationship between two related elements ?

Transitive Closure using Digraphs

Let R be a relation on a set A.

There is a path of length n, where n is a positive integer, from a to b if and only if (a,b) Є Rn.

The connectivity relation R* consists of the pairs (a,b) such that there is a path of length at least one from a to b in R.

Rn consists of the pairs (a,b) such that there is a path of length n from a to b, it follows that

The transitive closure of a relation equals the connectivity relation R*

n

nRR

1*

Page 35: Problem Statement How do we represent relationship between two related elements ?

Transitive Closure using Digraphs

Given a digraph G, the transitive closure of G is the digraph G* such that

G* has the same vertices as G

if G has a directed path from u to v (u v), G* has a directed edge from u to v

The transitive closure provides reachability information about a digraph

B

A

D

C

E

B

A

D

C

E

G

G*

Page 36: Problem Statement How do we represent relationship between two related elements ?

Transitive Closure using Matrices

Let MR be the zero-one matrix of the relation R. The zero-one matrix of the transitive closure R* is

MR* = MRMR[2]MR

[3]…MR[n]

Procedure for computing the transitive closure

Page 37: Problem Statement How do we represent relationship between two related elements ?

Transitive Closure using Matrices

Example: A = {1, 2, 3, 4}R = {(1, 3), (1, 4), (2, 1), (3, 2)}

R can be represented by the following matrix MR:

0

0

0

1

0

0

0

1

0

1

0

0

0

0

1

0

RM

Page 38: Problem Statement How do we represent relationship between two related elements ?

Transitive Closure using Matrices

0

0

0

1

0

0

0

1

0

1

0

0

0

0

1

0

RM

0

0

1

0

0

0

1

0

0

0

0

1

0

1

0

0

]2[RM

0

1

1

1

0

1

1

1

0

1

1

1

0

1

1

1

]4[]3[]2[* RRRRR MMMMM

0

1

0

0

0

1

0

0

0

0

1

0

0

0

0

1

]3[RM

0

0

0

1

0

0

0

1

0

1

0

0

0

0

1

0

]4[RM

Page 39: Problem Statement How do we represent relationship between two related elements ?

Warshall’s Algorithm

Warshall’s Algorithm is based on the construction of a sequence of zero-one matrices.

If a, v1,v2,…,vk,b is a path, its interior vertices are v1,v2,…,vk

The algorithm computes Wk = [wij(k)], where wij

(k) = 1 if there exists a path from vi to vj such that all interior vertices of this path are in the set {v1,v2,…,vk} and is 0 otherwise.

Page 40: Problem Statement How do we represent relationship between two related elements ?

Warshall’s Algorithm

Page 41: Problem Statement How do we represent relationship between two related elements ?

Warshall’s Algorithm

Example: A = {a,b,c,d}R = {(a,d), (b,a), (b,c), (c,a), (c,d), (d,c)}

W4 is the matrix of the transitive closure.

0

1

1

1

1

0

1

0

0

0

0

0

0

1

1

0

1W

0

1

0

1

1

0

1

0

0

0

0

0

0

1

1

0

0 RMW

0

1

1

1

1

0

1

0

0

0

0

0

0

1

1

0

2W

1

1

1

1

1

0

1

0

0

0

0

0

1

1

1

0

3W

1

1

1

1

1

1

1

1

0

0

0

0

1

1

1

1

4W

Page 42: Problem Statement How do we represent relationship between two related elements ?

Equivalence Relations

A relation R on a set A is called an equivalence relation if and only if1. R is reflexive2. R is symmetric, and3. R is transitive

Example:The congruent modulo m relation on the set of integers i.e. {<a, b>| a Ξ b (mod m)}, where m is a positive integer

greater than 1, is an equivalence relation.

Page 43: Problem Statement How do we represent relationship between two related elements ?

Equivalence Classes

For an equivalence relation R on a set A, the set of the elements of A that are related to an element, say a, of A is called the equivalence class of element a.

The equivalence class of a is denoted by [a].

[a] = {s | (a, s) Є R}.

IF b Є [a], then b is called a representative of this equivalence class.

Page 44: Problem Statement How do we represent relationship between two related elements ?

Equivalence Classes

Example:

For the equivalence relation of hours on a clock, equivalence classes are

[1] = {1, 13, 25, ... } = {1+ 12n: n Є N} , [2] = {2, 14, 26, ... } = {2+ 12n: n Є N} , ........,

where N is the set of natural numbers. There are altogether twelve of them.

Page 45: Problem Statement How do we represent relationship between two related elements ?

Equivalence Classes and Partitions

For an equivalence relation R on a set A, every element of A is in an equivalence class. For if an element, say b , does not belong to the equivalence class of any other element in A, then the set consisting of the element b itself is an equivalence class.

Another property of equivalence class is that equivalence classes of two elements of a set A are either disjoint or identical, that is either

1. [a]=[b]

2.

Thus the set A is partitioned into equivalence classes by an equivalence relation R on A.

][][ ba

Page 46: Problem Statement How do we represent relationship between two related elements ?

Equivalence Classes and Partitions

Let A be a set and let A1, A2, ..., An be subsets of A. Then {A1, A2, ..., An } is a partition of A, if and only if

1.

2. if Ai ≠Aj , 1≤ i, j ≤ n

Example:

A = {1, 2, 3, 4, 5}

A1 = {1, 5}, A2 = {3}, and A3 = {2, 4}.Then {A1, A2, A3} is a partition of A since the subsets satisfy both theconditions.

However, B1 = {1, 2, 5}, B2 = {2, 3}, and B3 = {4} do not form a partition for A.

ji

i

n

i

AA

AA1

Page 47: Problem Statement How do we represent relationship between two related elements ?

Equivalence Relations

Let R be an equivalence relation on a set S. Then the equivalence classes of R form a partition of S.

Conversely, given a partition {Ai | i Є I} of the set S, there is an equivalence relation R that has the sets Ai, i Є I, as its equivalence classes.

Example: S = { 1,2,3,4,5,6}

A1 = {1,2,3}, A2 = {4,5}, and A3 = {6}

{A1, A2, A3} are the equivalence classes of R. The pair (a, b) Є R if and only if a and b are in the same equivalence class.

(1,1), (1,2), (1,3), (2,1), (2,2), (2,3), (3,1), (3,2), (3,3)belong to R due to A1.

Similarly, (4,4), (4,5), (5,4), (5,5) due to A2 and (6,6) due to A3

Page 48: Problem Statement How do we represent relationship between two related elements ?

Partial Orderings

A relation R on a set S is called a partial ordering or partial order if and only if

1. R is reflexive2. R is antisymmetric3. R is transitive.

A set S together with partial ordering R is called a partially ordered set, or poset, and is denoted by (S,R).

Page 49: Problem Statement How do we represent relationship between two related elements ?

Partial Orderings

Example: The “greater than or equal” relation (≥) is a partial

order on the set of integers

It is reflexive: a ≥ a for all a Z It is antisymmetric: if a ≥ b then the only way that

b ≥ a is when b = a It is transitive: if a ≥ b and b ≥ c, then a ≥ c

Note that ≥ is the partial ordering on the set of integers

(Z, ≥) is the partially ordered set, or poset

Page 50: Problem Statement How do we represent relationship between two related elements ?

Partial Orderings … (continued)

The symbol is used to represent any relation when discussing partial orders

Not just the less than or equals to relation Can represent ≤, ≥,, etc Thus, a b denotes that (a, b) R The poset is (S,)

The symbol is used to denote a b but a ≠ b If represents ≥, then represents >

Page 51: Problem Statement How do we represent relationship between two related elements ?

Comparability

The elements a and b of a poset (S,) are called comparable if either a b or b a.

Meaning if (a, b) R or (b, a) R

It can’t be both because is antisymmetric Unless a = b, of course

If neither a b nor b a, then a and b are incomparable Meaning they are not related to each other

If all elements in S are comparable, the relation is a total ordering.

Page 52: Problem Statement How do we represent relationship between two related elements ?

ComparabilityExample: Let be the “divides” operator |

In the poset (Z+,|), are the integers 3 and 9 comparable? Yes, as 3 | 9

Are 7 and 5 comparable? No, as 7 | 5 and 5 | 7

Thus, as there are pairs of elements in Z+ that are not comparable, the poset (Z+,|) is a partial order.

Page 53: Problem Statement How do we represent relationship between two related elements ?

Well-ordered sets

(S,) is a well-ordered set if: (S,) is a totally ordered poset Every non-empty subset of S has a least element

Example: (Z,≤) is a total ordered poset (every element is comparable to

every other element) It has no least element Thus, it is not a well-ordered set

Example: (S,≤) where S = { 1, 2, 3, 4, 5 } is a total ordered poset (every element is comparable to

every other element) Has a least element (1) Thus, it is a well-ordered set

Page 54: Problem Statement How do we represent relationship between two related elements ?

Lexicographic ordering

Consider two posets: (S,1) and (T,2)

Order Cartesian products of these two posets via lexicographic ordering

Let s1 S and s2 S Let t1 T and t2 T (s1,t1) (s2,t2) if either:

s1 1 s2 s1 = s2 and t1 2 t2

Lexicographic ordering is used to order dictionaries

Page 55: Problem Statement How do we represent relationship between two related elements ?

Lexicographic ordering

Let S be the set of word strings (i.e. no spaces)

Let T be the set of strings with spaces

Both the relations are alphabetic sorting

Thus, posets are: (S,) and (T,)

Order (“run”, “noun: to…”) and (“set”, “verb: to…”) As “run” “set”, the “run” Cartesian product comes before

the “set” one

Order (“run”, “noun: to…”) and (“run”, “verb: to…”) Both the first part of the Cartesian products are equal “noun” is first (alphabetically) than “verb”, so it is ordered

first

Page 56: Problem Statement How do we represent relationship between two related elements ?

Lexicographic ordering Consider the two strings a1a2a3…am, and b1b2b3…bn

The formal definition for lexicographic ordering of strings is as follows:

If m = n (i.e. the strings are equal in length)

(a1, a2, a3, …, am) (b1, b2, b3, …, bn) using the comparisons discussedExample: “run” “set”

If m ≠ n, then let t be the minimum of m and n then a1a2a3…am, is less than b1b2b3…bn if and only if either of the following are true:

(a1, a2, a3, …, at) (b1, b2, b3, …, bt) Example: “run” “sets” (t = 3) (a1, a2, a3, …, at) = (b1, b2, b3, …, bt) and m < n Example: “run” “running”

Page 57: Problem Statement How do we represent relationship between two related elements ?

Hasse Diagrams

Consider the directed graph for a finite poset ({1,2,3,4},≤).

Many edges in the directed graph for a finite poset do not have to be shown since they must be present.

4

3

2

1

4

3

2

1

4

3

2

1

4

3

2

1

Hasse

Diagram

Page 58: Problem Statement How do we represent relationship between two related elements ?

Hasse Diagrams

Example: For a poset ({1,2,3,4,5,6},|)

Page 59: Problem Statement How do we represent relationship between two related elements ?

Maximal and Minimal Elements

Let (A, R) be a poset.

An element of a poset is called maximal if it is not less than any element of the poset.

a is maximal in the poset (A, R) if there is no b Є A

such that a R b

An element of a poset is called minimal if it is not greater than any element of the poset.

a is minimal in the poset (A, R) if there is no b Є A such that b R a

Page 60: Problem Statement How do we represent relationship between two related elements ?

Maximal and Minimal Elements

Example: Consider the Hasse Diagrams of P({a,b,c}, )

{a,b,c} is the maximal element and Φ is the minimal element

Page 61: Problem Statement How do we represent relationship between two related elements ?

Maximal and Minimal Elements

Consider the following poset ({2,4,5,10,12,20,25},|)

12

25

20

104

52

Maximal Elements : 12, 20, 25

Minimal Elements : 2, 5

Page 62: Problem Statement How do we represent relationship between two related elements ?

Least and Greatest Element

Let (A,R} be a poset. A element a in A is the least element in A if every

element b in A, a R b. A element a in A is the greatest element in A if every

element b in A, b R a.

c dd

c

a ba

b

ed

c

ba

(i) (ii) (iii)

(i) Least Element : a

Greatest Element : No Element

(ii) Least Element : No Element

Greatest Element : d

(iii) Least Element : No Element

Greatest Element : No Element

Page 63: Problem Statement How do we represent relationship between two related elements ?

Upper and Lower Bound

Let S be the subset in the poset (A,R).

If there exists a element a in A such that s R a for all s in S, then a is called an upper bound.

If there exists a element a in A such that a R s for all s in S, then a is called an lower bound.

Page 64: Problem Statement How do we represent relationship between two related elements ?

Upper and Lower Bound

Example: Consider the following poset with the Hasse Diagram

Subsets:

{a,b,c}: Upper Bound: e,f,j,h Lower Bound: a{j,h}: Upper Bound: No one

Lower Bound: a,b,c,d,e,f{a,c,d,f}: Upper Bound: f,g,j Lower Bound: ab

a

d

c

e

fg

jh

Page 65: Problem Statement How do we represent relationship between two related elements ?

Least Upper and Greatest Lower Bound

Consider a poset (A,R).

The element x is called the least upper bound of the subset A if x is an upper bound that is less than every other upper bound of A.

The element y is called the greatest lower bound of A if y is an lower bound of A and z R y where z is a lower bound.

Page 66: Problem Statement How do we represent relationship between two related elements ?

Least Upper and Greatest Lower Bound

Example: Consider the following poset with the Hasse Diagram

b

a

d

c

e

fg

jh

Least Upper Bound : {b,d,g}

Upper Bound : g ,h

Since g h, g is the least

upper bound.

Greatest Lower Bound : {b,d,g}

Lower Bound : a, b

Since a b, b is the greatest

lower bound.

Page 67: Problem Statement How do we represent relationship between two related elements ?

Lattices

A partially ordered set in which every pair of elements has both a least upper bound and greatest lower bound is called a lattice.

Example:

Page 68: Problem Statement How do we represent relationship between two related elements ?

Lattices

Example:

Page 69: Problem Statement How do we represent relationship between two related elements ?

Topological Sorting

A total ordering is said to be compatible with the partial ordering R if a b whenever a R b.

Constructing a compatible total ordering from a partial ordering is called topological sorting.

Topological sorting has application to the scheduling of projects.

Page 70: Problem Statement How do we represent relationship between two related elements ?

Topological Sorting

Algorithm Topological Sort

Input: A finite poset <A, R>.

Output: A sequence of the elements of A preserving the order R.

i := 1;

while ( A ≠ Φ ) {    pick a minimal element bi from A;     A := A - {bi};     i := i + 1;     output b }

Page 71: Problem Statement How do we represent relationship between two related elements ?

Topological Sorting

Example: Consider a poset ({1,2,4,5,12,20},|)

2

1

4

5

2012 The algorithm selects the minimal

elements in the following order:

1 5 2 4 20 12.

The second minimal element can be

either be 5 or 2.

Similarly, either 20 or 12 can be

chosen at the later stage.