Section 4.2: Equivalence Relations

Similar documents
Class One: Degree Sequences

4. How many integers between 2004 and 4002 are perfect squares?

Quotient Rings and Field Extensions

Algebraic Properties and Proofs

Boolean Algebra Part 1

Warm-up Tangent circles Angles inside circles Power of a point. Geometry. Circles. Misha Lavrov. ARML Practice 12/08/2013

I. GROUPS: BASIC DEFINITIONS AND EXAMPLES

Database Design and Normalization

5. A full binary tree with n leaves contains [A] n nodes. [B] log n 2 nodes. [C] 2n 1 nodes. [D] n 2 nodes.

Chapter 3. Cartesian Products and Relations. 3.1 Cartesian Products

4. Binomial Expansions

Chapter 7: Products and quotients

Functional Dependencies and Normalization

Full and Complete Binary Trees

Elements of Abstract Group Theory

1 Symmetries of regular polyhedra

INCIDENCE-BETWEENNESS GEOMETRY

Part 2: Community Detection

Lecture 17 : Equivalence and Order Relations DRAFT

6.045: Automata, Computability, and Complexity Or, Great Ideas in Theoretical Computer Science Spring, Class 4 Nancy Lynch

GENERATING SETS KEITH CONRAD

INTRODUCTORY SET THEORY

Limitations of E-R Designs. Relational Normalization Theory. Redundancy and Other Problems. Redundancy. Anomalies. Example

Baltic Way Västerås (Sweden), November 12, Problems and solutions


Mining Social Network Graphs

Mathematics for Computer Science/Software Engineering. Notes for the course MSM1F3 Dr. R. A. Wilson

Minimal R 1, minimal regular and minimal presober topologies

Discrete Mathematics Problems


Collinear Points in Permutations

The common ratio in (ii) is called the scaled-factor. An example of two similar triangles is shown in Figure Figure 47.1

Boolean Algebra (cont d) UNIT 3 BOOLEAN ALGEBRA (CONT D) Guidelines for Multiplying Out and Factoring. Objectives. Iris Hui-Ru Jiang Spring 2010

CSE 326, Data Structures. Sample Final Exam. Problem Max Points Score 1 14 (2x7) 2 18 (3x6) Total 92.

Copy in your notebook: Add an example of each term with the symbols used in algebra 2 if there are any.

ON TORI TRIANGULATIONS ASSOCIATED WITH TWO-DIMENSIONAL CONTINUED FRACTIONS OF CUBIC IRRATIONALITIES.

PUTNAM TRAINING POLYNOMIALS. Exercises 1. Find a polynomial with integral coefficients whose zeros include

Testing for Congruent Triangles Examples

Lecture 16 : Relations and Functions DRAFT

SEMITOTAL AND TOTAL BLOCK-CUTVERTEX GRAPH

3. The Junction Tree Algorithms

Chapter 5.1 and 5.2 Triangles

Automata and Formal Languages

CM2202: Scientific Computing and Multimedia Applications General Maths: 2. Algebra - Factorisation

E3: PROBABILITY AND STATISTICS lecture notes

The University of the State of New York REGENTS HIGH SCHOOL EXAMINATION GEOMETRY. Wednesday, January 29, :15 a.m. to 12:15 p.m.

Outline 2.1 Graph Isomorphism 2.2 Automorphisms and Symmetry 2.3 Subgraphs, part 1

2 : two cube. 5 : five cube. 10 : ten cube.

Factoring Polynomials

C H A P T E R Regular Expressions regular expression

ABSTRACT ALGEBRA: A STUDY GUIDE FOR BEGINNERS

Reading 13 : Finite State Automata and Regular Expressions

Algorithmic Mathematics

Logic in Computer Science: Logic Gates

26 Ideals and Quotient Rings

Unit 3 Boolean Algebra (Continued)

Properties of Real Numbers

2014 Chapter Competition Solutions

Outline. NP-completeness. When is a problem easy? When is a problem hard? Today. Euler Circuits

DEFINITIONS. Perpendicular Two lines are called perpendicular if they form a right angle.

Formal Languages and Automata Theory - Regular Expressions and Finite Automata -


Lecture 1. Basic Concepts of Set Theory, Functions and Relations

Notes on Algebraic Structures. Peter J. Cameron

Linear Algebra I. Ronald van Luijk, 2012

1. Prove that the empty set is a subset of every set.

SAT Math Facts & Formulas Review Quiz

CONTENTS 1. Peter Kahn. Spring 2007

MATH 304 Linear Algebra Lecture 9: Subspaces of vector spaces (continued). Span. Spanning set.

So let us begin our quest to find the holy grail of real analysis.

Session 5 Dissections and Proof

The University of the State of New York REGENTS HIGH SCHOOL EXAMINATION GEOMETRY. Thursday, August 16, :30 to 11:30 a.m.

GRAPH THEORY LECTURE 4: TREES

Section 1.1 Real Numbers

Vector Notation: AB represents the vector from point A to point B on a graph. The vector can be computed by B A.

1 = (a 0 + b 0 α) (a m 1 + b m 1 α) 2. for certain elements a 0,..., a m 1, b 0,..., b m 1 of F. Multiplying out, we obtain

Generalized Induced Factor Problems

Sample Test Questions

Tree-representation of set families and applications to combinatorial decompositions

1 if 1 x 0 1 if 0 x 1

The Prime Numbers. Definition. A prime number is a positive integer with exactly two positive divisors.

Solutions to Homework 10

Degree Hypergroupoids Associated with Hypergraphs

We can express this in decimal notation (in contrast to the underline notation we have been using) as follows: b + 90c = c + 10b

Basic Concepts of Set Theory, Functions and Relations

8. Matchings and Factors

TU e. Advanced Algorithms: experimentation project. The problem: load balancing with bounded look-ahead. Input: integer m 2: number of machines

Large induced subgraphs with all degrees odd

MATHEMATICAL THOUGHT AND PRACTICE. Chapter 7: The Mathematics of Networks The Cost of Being Connected

Why? A central concept in Computer Science. Algorithms are ubiquitous.

Geometric Transformations

CAIU Geometry - Relationships with Triangles Cifarelli Jordan Shatto

Computer Science 281 Binary and Hexadecimal Review

Equation of a Line. Chapter H2. The Gradient of a Line. m AB = Exercise H2 1

Mathematics Review for MS Finance Students

Discrete Mathematics. Hans Cuypers. October 11, 2007

Algebra I Vocabulary Cards

Solutions Manual for How to Read and Do Proofs

4. FIRST STEPS IN THE THEORY 4.1. A

Solutions to In-Class Problems Week 4, Mon.

Transcription:

Section 4.: Equivalence Relations What is equality? What is equivalence? Equality is more basic, fundamental concept. Every element in a set is equal only to itself. The basic equality relation {(x,x) x S} We tend to assume equality is implicitly understood and agreed upon. Broader Issues: Is +=4? No: + has 3 characters, while 4 has 1 character Yes: There is an underlying set, namely R and these strings refer to the same object in R. So + is equivalent to 4. (Use algebra to show the equivalence.) Page 1

We require three properties of any notion of equality: Reflexive x=x Symmetric If x=y then y=x Transitive If x=y and y=z then x=z Notation: = Equality ~ Equivalence Any equivalence relation should behave the same as we expect equality to behave. Reflexive x~x Symmetric If x~y then y~x Transitive If x~y and y~z then x~z Page

Equivalence Relations A binary relation is an equivalence relation iff it has these 3 properties: Reflexive x~x Symmetric If x~y then y~x Transitive If x~y and y~z then x~z RST Note: When taking the reflex.,sym. & trans. closures, write tsr(r) Examples: Equality on any set x ~ y iff x = y over the set of strngs {a,b,c}* x ~ y iff x and y have the same birthday over the set of people Another Example: Consider the set of all arithmetic expressions, such as: 4x+ The relation e 1 ~e holds iff e1 and e have the same value (for any assignment to the variables) So: 4x+ ~ (x+1) Page 3

Quiz: Which of these relations are RST? x R y iff x y or x>y over Z x R y iff x-y over Z x R y iff x and y are both even over Z Page 4

Quiz: Which of these relations are RST? x R y iff x y or x>y over Z everything is related to everything else reflexive, symmetric & transitive equivalence. x R y iff x-y over Z x R y iff x and y are both even over Z Page 5

Quiz: Which of these relations are RST? x R y iff x y or x>y over Z everything is related to everything else reflexive, symmetric & transitive equivalence. x R y iff x-y over Z 3~5 and 5~7 but not 3~7 not transitive x R y iff x and y are both even over Z Page 6

Quiz: Which of these relations are RST? x R y iff x y or x>y over Z everything is related to everything else reflexive, symmetric & transitive equivalence. x R y iff x-y over Z 3~5 and 5~7 but not 3~7 not transitive x R y iff x and y are both even over Z 7 is not related to 7 --> not reflexive Page 7

Equivalence Relations RST Reflexive Symmetric Transitive e k S c k g b d j f m h a Page 8

Equivalence Relations RST Reflexive Symmetric Transitive e k S c k g b d j f m h a Page 9

Equivalence Relations RST Reflexive Symmetric Transitive e k S c k g b d j f m h a Page 10

Equivalence Relations RST Reflexive Symmetric Transitive e k S c k g b d j f m h a Page 11

Equivalence Relations RST Reflexive Symmetric Transitive Equivalence Classes e k S c k g b d j f m h a Page 1

Partitions A partition of a set S is a collection of (nonempty) disjoint subsets whose union is S. Equivalence Classes If R is RST over A, then for each a A, the equivalence class of a is denoted [a] and is defined as the set of things equivalent to a: [a] = { x x R a } Theorem Let A be a set The equivalence classes of any RST relation over A form a partition of A. Any partition of A yields an RST over A, a where the sets of the partition act as the equivalence classes. S [a] Page 13

Partitions A partition of a set S is a collection of (nonempty) disjoint subsets whose union is S. Equivalence Classes If R is RST over A, then for each a A, the equivalence class of a is denoted [a] and is defined as the set of things equivalent to a: [a] = { x x R a } Theorem Let A be a set The equivalence classes of any RST relation over A form a partition of A. Any partition of A yields an RST over A, where the sets of the partition act as the equivalence classes. You can use any member of an equivalence class as its representative. [a] = [b] [a] = [b] a b S Page 14

Intersection Property If E and F are two equivalence relations over A (i.e., E and F are RST) then E F is also an equivalence relation (i.e., is also RST). a b c d e g h Page 15

Intersection Property If E and F are two equivalence relations over A (i.e., E and F are RST) then E F is also an equivalence relation (i.e., is also RST). E c g a d b h e a~b a~c a~d a~e b~c b~d b~e c~d c~e d~e g~h Page 16

Intersection Property If E and F are two equivalence relations over A (i.e., E and F are RST) then E F is also an equivalence relation (i.e., is also RST). F c g a d b h e a~b a~c a~d a~e b~c b~d b~e c~d c~e d~e g~h a~b c~d c~e d~e c~g c~h d~g d~h e~g e~h g~h Page 17

Intersection Property If E and F are two equivalence relations over A (i.e., E and F are RST) then E F is also an equivalence relation (i.e., is also RST). E F c g a d b h e a~b a~c a~d a~e b~c b~d b~e c~d c~e d~e g~h a~b c~d c~e d~e c~g c~h d~g d~h e~g e~h g~h Page 18

Intersection Property If E and F are two equivalence relations over A (i.e., E and F are RST) then E F is also an equivalence relation (i.e., is also RST). E F c g a d b h e a~b a~c a~d a~e b~c b~d b~e c~d c~e d~e g~h a~b c~d c~e d~e c~g c~h d~g d~h e~g e~h g~h Page 19

Example: has same birthday as is an equivalence relation All people born on June 1 is an equivalence class has the same first name is an equivalence relation All people named Fred is an equivalence class Let x~y iff x and y have the same birthday and x and y have the same first name This relation must be an equivalence relation. It is the intersection of two equivalence relations. One class contains all people named Fred who were also born June 1. Page 0

Kernel Relations Assume we have a function f: A B Define a relation on set A by letting x ~ y iff f(x)=f(y) This is a kernel relation and it will be RST: an equivalence relation! A B Page 1

Kernel Relations Assume we have a function f: A B Define a relation on set A by letting x ~ y iff f(x)=f(y) This is a kernel relation and it will be RST: an equivalence relation! A B Page

Kernel Relations Example: Let x~y iff x mod n = y mod n, over any set of integers. Then ~ is an equivalence relation because it is the kernel relation of function f:s N defined by f(x) = x mod n. Example: Let x~y iff x+y is even over Z. Note that x+y is even iff x and y are both even or both odd iff x mod = y mod. Therefore ~ is an equivalence relation because ~ is the kernel relation of the function f:z N defined by f(x) = x mod. Page 3

Equivalence Classes Property: For every pair a,b A we must have either: [a] = [b] or [a] [b] = Ø Example: Suppose x~y iff x mod 3 = y mod 3, over the set N. The equivalence classes are: [0] = {0,3,6, } = {3k k N} [1] = {1,4,7, } = {3k+1 k N} [] = {,5,8, } = {3k+ k N} Notice that [0] = [3] = [6]. Notice that [1] [] = Ø. Example: Suppose x~y iff x mod = y mod, over the integers Z. Then ~ is an equivalence relation with equivalence classes [0]=evens, and [1]=odds. Note that {[0],[1]} is a partition of Z. Page 4

Equivalence Classes Example: The set of real numbers R can be partitioned into the set of half-open intervals {(n,n+1] n Z}. (0,1], (1,], (,3], Then we have an RST ~ over R, where x~y iff x,y (n,n+1], for some n Z. Quiz: In the preceding example, what is another way to say x~y? Answer: x~y iff x = y Page 5

Refining Partitions If P and Q are partitions of a set S, then P is a refinement of Q if every A P is a subset of some B Q. Q Page 6

Refining Partitions If P and Q are partitions of a set S, then P is a refinement of Q if every A P is a subset of some B Q. P Q Page 7

Refining Partitions Example: Let S = {a,b,c,d,e} and consider the following four partitions of S. P 1 = { {a,b,c,d,e} } P = { {a,b}, {c,d,e} } P 3 = { {a}, {b}, {c}, {d,e} } P 4 = { {a}, {b}, {c}, {d}, {e} } Each P i is a refinement of the previous one. We can talk about courser and finer refinements. P 1 is the coursest and P 4 is the finest refinement. Page 8

Example: Let ~3 and ~6 be the following equivalence relations over N: x ~ 3 y iff x mod 3 = y mod 3 This relation has the following equivalence classes: [0] 3 = {0,3,6,9,1 } = {3k k N} [1] 3 = {1,4,7,10,13 } = {3k+1 k N} [] 3 = {,5,8,11,14 } = {3k+ k N} x ~ 6 y iff x mod 6 = y mod 6 This relation has the following equivalence classes: [0] 6 = {0,6,1, } = {6k k N} [1] 6 = {1,7,13, } = {6k+1 k N} [] 6 = {,8,14, } = {6k+ k N} [3] 6 = {3,9,15, } = {6k+3 k N} [4] 6 = {4,10,16, } = {6k+4 k N} [5] 6 = {5,11,17, } = {6k+5 k N} Page 9

Example: Let ~3 and ~6 be the following equivalence relations over N: x ~ 3 y iff x mod 3 = y mod 3 This relation has the following equivalence classes: [0] 3 = {0,3,6,9,1 } = {3k k N} [1] 3 = {1,4,7,10,13 } = {3k+1 k N} [] 3 = {,5,8,11,14 } = {3k+ k N} x ~ 6 y iff x mod 6 = y mod 6 This relation has the following equivalence classes: [0] 6 = {0,6,1, } = {6k k N} [0] 3 [1] 6 = {1,7,13, } = {6k+1 k N} [1] 3 [] 6 = {,8,14, } = {6k+ k N} [] 3 [3] 6 = {3,9,15, } = {6k+3 k N} [0] 3 [4] 6 = {4,10,16, } = {6k+4 k N} [1] 3 [5] 6 = {5,11,17, } = {6k+5 k N} [] 3 The partition ~ 6 is a refinement of ~ 3. Page 30

Quiz: Consider the equivalence relations ~ and ~ 3. Is either a refinement of the other? Answer: [0] = set of even numbers = {0,, 4, 6, 8, } [1] = set of odd numbers = {1, 3, 5, 7, 9, } [0] 3 = {0, 3, 6, 9, } [1] 3 = {1, } [] 3 = {, } There is no subset relation between [0] 3 and either [0] or [1]. No. Page 31

Theorem: (The intersection property of RSTs) If E and F are RSTs over A, then the equivalence classes of E F have the form [x] E F = [x] E [x] F, where x A Page 3

Example: Let ~ 1 and ~ be the following RSTs over N: x ~ 1 y iff x/4 = y/4 x ~ y iff x/6 = y/6 Now define a new RST as R = ~ 1 ~ What do the equivalence classes of R look like? [1n] R = { 1n, 1n+1, 1n+, 1n+3 } [1n+4] R = { 1n+4, 1+5 } [1n+6] R = { 1n+6, 1n+7 } [1n+8] R = { 1n+8, 1n+9, 1n+10, 1n+11 } Page 33

Example: Let ~ 1 and ~ be the following RSTs over N: x ~ 1 y iff x/4 = y/4 [0] 1 = {0,1,,3} [4] 1 = {4,5,6,7} etc x ~ y iff x/6 = y/6 [0] = {0,1,,3,4,5} [6] = {6,7,8,9,10,11} etc Now define a new RST as R = ~ 1 ~ What do the equivalence classes of R look like? [1n] R = { 1n, 1n+1, 1n+, 1n+3 } [1n+4] R = { 1n+4, 1+5 } [1n+6] R = { 1n+6, 1n+7 } [1n+8] R = { 1n+8, 1n+9, 1n+10, 1n+11 } Page 34

Example: Let ~ 1 and ~ be the following RSTs over N: x ~ 1 y iff x/4 = y/4 The equivalence classes are: [4n] 1 = {4n,4n+1,4n+,4n+3} [0] 1 = {0,1,,3} [4] 1 = {4,5,6,7} etc x ~ y iff x/6 = y/6 The equivalence classes are: [6n] = {6n,6n+1,6n+,6n+3,6n+4,6n+5} [0] = {0,1,,3,4,5} [6] = {6,7,8,9,10,11} etc Now define a new RST as R = ~ 1 ~ What do the equivalence classes of R look like? [1n] R = { 1n, 1n+1, 1n+, 1n+3 } [1n+4] R = { 1n+4, 1+5 } [1n+6] R = { 1n+6, 1n+7 } [1n+8] R = { 1n+8, 1n+9, 1n+10, 1n+11 } Page 35

Example: Let ~ 1 and ~ be the following RSTs over N: x ~ 1 y iff x/4 = y/4 The equivalence classes are: [4n] 1 = {4n,4n+1,4n+,4n+3} [0] 1 = {0,1,,3} [4] 1 = {4,5,6,7} etc x ~ y iff x/6 = y/6 The equivalence classes are: [6n] = {6n,6n+1,6n+,6n+3,6n+4,6n+5} [0] = {0,1,,3,4,5} [6] = {6,7,8,9,10,11} etc Now define a new RST as R = ~ 1 ~ What do the equivalence classes of R look like? [0] R = [0] 1 [0] = {0,1,,3} {0,1,,3,4,5} = {0,1,,3} [1n] R = { 1n, 1n+1, 1n+, 1n+3 } [1n+4] R = { 1n+4, 1+5 } [1n+6] R = { 1n+6, 1n+7 } [1n+8] R = { 1n+8, 1n+9, 1n+10, 1n+11 } Page 36

Example: Let ~ 1 and ~ be the following RSTs over N: x ~ 1 y iff x/4 = y/4 The equivalence classes are: [4n] 1 = {4n,4n+1,4n+,4n+3} [0] 1 = {0,1,,3} [4] 1 = {4,5,6,7} etc x ~ y iff x/6 = y/6 The equivalence classes are: [6n] = {6n,6n+1,6n+,6n+3,6n+4,6n+5} [0] = {0,1,,3,4,5} [6] = {6,7,8,9,10,11} etc Now define a new RST as R = ~ 1 ~ What do the equivalence classes of R look like? [0] R = [0] 1 [0] = {0,1,,3} {0,1,,3,4,5} = {0,1,,3} [4] R = [4] 1 [4] = {4,5,6,7} {0,1,,3,4,5} = {4,5} [1n] R = { 1n, 1n+1, 1n+, 1n+3 } [1n+4] R = { 1n+4, 1+5 } [1n+6] R = { 1n+6, 1n+7 } [1n+8] R = { 1n+8, 1n+9, 1n+10, 1n+11 } Page 37

Example: Let ~ 1 and ~ be the following RSTs over N: x ~ 1 y iff x/4 = y/4 The equivalence classes are: [4n] 1 = {4n,4n+1,4n+,4n+3} [0] 1 = {0,1,,3} [4] 1 = {4,5,6,7} etc x ~ y iff x/6 = y/6 The equivalence classes are: [6n] = {6n,6n+1,6n+,6n+3,6n+4,6n+5} [0] = {0,1,,3,4,5} [6] = {6,7,8,9,10,11} etc Now define a new RST as R = ~ 1 ~ What do the equivalence classes of R look like? [0] R = [0] 1 [0] = {0,1,,3} {0,1,,3,4,5} = {0,1,,3} [4] R = [4] 1 [4] = {4,5,6,7} {0,1,,3,4,5} = {4,5} [6] R = [6] 1 [6] = {4,5,6,7} {6,7,8,9,10,11} = {6,7} [1n] R = { 1n, 1n+1, 1n+, 1n+3 } [1n+4] R = { 1n+4, 1+5 } [1n+6] R = { 1n+6, 1n+7 } [1n+8] R = { 1n+8, 1n+9, 1n+10, 1n+11 } Page 38

Example: Let ~ 1 and ~ be the following RSTs over N: x ~ 1 y iff x/4 = y/4 The equivalence classes are: [4n] 1 = {4n,4n+1,4n+,4n+3} [0] 1 = {0,1,,3} [4] 1 = {4,5,6,7} etc x ~ y iff x/6 = y/6 The equivalence classes are: [6n] = {6n,6n+1,6n+,6n+3,6n+4,6n+5} [0] = {0,1,,3,4,5} [6] = {6,7,8,9,10,11} etc Now define a new RST as R = ~ 1 ~ What do the equivalence classes of R look like? [0] R = [0] 1 [0] = {0,1,,3} {0,1,,3,4,5} = {0,1,,3} [4] R = [4] 1 [4] = {4,5,6,7} {0,1,,3,4,5} = {4,5} [6] R = [6] 1 [6] = {4,5,6,7} {6,7,8,9,10,11} = {6,7} [8] R = [8] 1 [8] = {8,9,10,11} {6,7,8,9,10,11} = {8,9,10,11} [1n] R = { 1n, 1n+1, 1n+, 1n+3 } [1n+4] R = { 1n+4, 1+5 } [1n+6] R = { 1n+6, 1n+7 } [1n+8] R = { 1n+8, 1n+9, 1n+10, 1n+11 } Page 39

Example: Let ~ 1 and ~ be the following RSTs over N: x ~ 1 y iff x/4 = y/4 The equivalence classes are: [4n] 1 = {4n,4n+1,4n+,4n+3} [0] 1 = {0,1,,3} [4] 1 = {4,5,6,7} etc x ~ y iff x/6 = y/6 The equivalence classes are: [6n] = {6n,6n+1,6n+,6n+3,6n+4,6n+5} [0] = {0,1,,3,4,5} [6] = {6,7,8,9,10,11} etc Now define a new RST as R = ~ 1 ~ What do the equivalence classes of R look like? [0] R = [0] 1 [0] = {0,1,,3} {0,1,,3,4,5} = {0,1,,3} [4] R = [4] 1 [4] = {4,5,6,7} {0,1,,3,4,5} = {4,5} [6] R = [6] 1 [6] = {4,5,6,7} {6,7,8,9,10,11} = {6,7} [8] R = [8] 1 [8] = {8,9,10,11} {6,7,8,9,10,11} = {8,9,10,11} 0 1 3 4 5 6 7 8 9 10 11 1 13 14 15 16 17 18 [1n] R = { 1n, 1n+1, 1n+, 1n+3 } [1n+4] R = { 1n+4, 1+5 } [1n+6] R = { 1n+6, 1n+7 } [1n+8] R = { 1n+8, 1n+9, 1n+10, 1n+11 } Page 40

Generating Equivalence Relations The smallest equivalence relation containing binary relation R (i.e., the equivalence closure of R ) is tsr(r) Example: Let R = {(a,b),(a,c)} be a relation over {a,b,c}. Let s turn it into an equivalence relation by computing tsr(r): a b c Page 41

Generating Equivalence Relations The smallest equivalence relation containing binary relation R (i.e., the equivalence closure of R ) is tsr(r) Example: Let R = {(a,b),(a,c)} be a relation over {a,b,c}. Let s turn it into an equivalence relation by computing tsr(r): Add reflexive closure: a b c Page 4

Generating Equivalence Relations The smallest equivalence relation containing binary relation R (i.e., the equivalence closure of R ) is tsr(r) Example: Let R = {(a,b),(a,c)} be a relation over {a,b,c}. Let s turn it into an equivalence relation by computing tsr(r): Add symmetric closure: a b c Page 43

Generating Equivalence Relations The smallest equivalence relation containing binary relation R (i.e., the equivalence closure of R ) is tsr(r) Example: Let R = {(a,b),(a,c)} be a relation over {a,b,c}. Let s turn it into an equivalence relation by computing tsr(r): a b Take transitive closure: c Page 44

Generating Equivalence Relations The smallest equivalence relation containing binary relation R (i.e., the equivalence closure of R ) is tsr(r) Example: Let R = {(a,b),(a,c)} be a relation over {a,b,c}. Let s turn it into an equivalence relation by computing tsr(r): a b c Is order important? Will str(r) work just as well? Page 45

Generating Equivalence Relations The smallest equivalence relation containing binary relation R (i.e., the equivalence closure of R ) is tsr(r) Example: Let R = {(a,b),(a,c)} be a relation over {a,b,c}. Let s turn it into an equivalence relation by computing tsr(r): a b c Is order important? Will str(r) work just as well? Page 46

Generating Equivalence Relations The smallest equivalence relation containing binary relation R (i.e., the equivalence closure of R ) is tsr(r) Example: Let R = {(a,b),(a,c)} be a relation over {a,b,c}. Let s turn it into an equivalence relation by computing tsr(r): Add reflexive closure: a b c Is order important? Will str(r) work just as well? Page 47

Generating Equivalence Relations The smallest equivalence relation containing binary relation R (i.e., the equivalence closure of R ) is tsr(r) Example: Let R = {(a,b),(a,c)} be a relation over {a,b,c}. Let s turn it into an equivalence relation by computing tsr(r): Take transitive closure: (No change) a c b Is order important? Will str(r) work just as well? Page 48

Generating Equivalence Relations The smallest equivalence relation containing binary relation R (i.e., the equivalence closure of R ) is tsr(r) Example: Let R = {(a,b),(a,c)} be a relation over {a,b,c}. Let s turn it into an equivalence relation by computing tsr(r): a b Take symmetric closure: c Is order important? Will str(r) work just as well? NO! Page 49

Equivalence and Meaning For sets where the elements have no meaning just use BASIC EQUALITY on S. For sets where the elements do have some meaning We need another set of values, V, and a meaning function, m. m: S V Now we can say that two elements in set S are equivalent/equal if they mean the same thing. x~y iff m(x)=m(y) x=y iff m(x)=m(y) Example: S = strings from {1,+}* that are well-formed expressions, e.g., 111+111, 111111, 1+1+1+1+1+1, V = N Define m as follows: m(1 k ) = k, for k>0 m(e 1 +e ) = m(e 1 ) + m(e ) m(111+111) = 6 So our equivalence relation is the kernel relation of m. 111+111 ~ 11+11+11 Page 50

Kruskal s Algorithm To compute a minimal spanning tree. Overview: Look at the set of all vertices in the graph. Create a partitioning of the set. Start with the finest possible partitioning. Every node is in an equivalence set by itself. Gradually merge partitions. Until there is only one partition, containing all the nodes. We are constructing the spanning tree by adding edges. Two nodes x and y are in the same subset if there is a path from x to y in the current spanning tree. Page 51

Kruskal s Algorithm Order the edges by weight and put them into a list, L. T will be the set of egdes representing the spanning tree. T := Ø. Create the initial (finest) partitioning. [v] := {v} for each vertex v in the graph. while there are two or more equivalence classes do {x,y} := head(l) L := tail(l) if [x] [y] then T := T {{x,y}} Merge the sets [x] and [y] i.e., replace [x] and [y] by [x] [y] endif endwhile Page 5

Kruskal s Algorithm List L = {a,b} {b,c} {d,f} {e,f} {a,d} {c,e} {f,g} {b,g} {c,d} {b,e} a 1 d b 1 c 3 3 e 1 f 1 g T (Set of edges): T = {} Equivalence Classes: {a} {b} {c} {d} {e} {f} {g} Page 53

Kruskal s Algorithm List L = {a,b} {b,c} {d,f} {e,f} {a,d} {c,e} {f,g} {b,g} {c,d} {b,e} a 1 d b 1 c 3 3 e 1 f 1 g T (Set of edges): T = {} {{a,b}} Equivalence Classes: {a} {b} {c} {d} {e} {f} {g} {a,b} {c} {d} {e} {f} {g} Page 54

Kruskal s Algorithm List L = {a,b} {b,c} {d,f} {e,f} {a,d} {c,e} {f,g} {b,g} {c,d} {b,e} a 1 d b 1 c 3 3 e 1 f 1 g T (Set of edges): T = {} {{a,b}} {{b,c}} Equivalence Classes: {a} {b} {c} {d} {e} {f} {g} {a,b} {c} {d} {e} {f} {g} {a,b,c} {d} {e} {f} {g} Page 55

Kruskal s Algorithm List L = {a,b} {b,c} {d,f} {e,f} {a,d} {c,e} {f,g} {b,g} {c,d} {b,e} a 1 d b 1 c 3 3 e 1 f 1 g T (Set of edges): T = {} {{a,b}} {{b,c}} {{d,f}} Equivalence Classes: {a} {b} {c} {d} {e} {f} {g} {a,b} {c} {d} {e} {f} {g} {a,b,c} {d} {e} {f} {g} {a,b,c} {d,f} {e} {g} Page 56

Kruskal s Algorithm List L = {a,b} {b,c} {d,f} {e,f} {a,d} {c,e} {f,g} {b,g} {c,d} {b,e} a 1 d b 1 c 3 3 e 1 f 1 g T (Set of edges): T = {} {{a,b}} {{b,c}} {{d,f}} {{e,f}} Equivalence Classes: {a} {b} {c} {d} {e} {f} {g} {a,b} {c} {d} {e} {f} {g} {a,b,c} {d} {e} {f} {g} {a,b,c} {d,f} {e} {g} {a,b,c} {d,e,f} {g} Page 57

Kruskal s Algorithm List L = {a,b} {b,c} {d,f} {e,f} {a,d} {c,e} {f,g} {b,g} {c,d} {b,e} a 1 d b 1 c 3 3 e 1 f 1 g T (Set of edges): T = {} {{a,b}} {{b,c}} {{d,f}} {{e,f}} {{a,d}} Equivalence Classes: {a} {b} {c} {d} {e} {f} {g} {a,b} {c} {d} {e} {f} {g} {a,b,c} {d} {e} {f} {g} {a,b,c} {d,f} {e} {g} {a,b,c} {d,e,f} {g} {a,b,c,d,e,f} {g} Page 58

Kruskal s Algorithm List L = {a,b} {b,c} {d,f} {e,f} {a,d} {c,e} {f,g} {b,g} {c,d} {b,e} a 1 d b 1 c 3 3 e 1 f 1 g T (Set of edges): T = {} {{a,b}} {{b,c}} {{d,f}} {{e,f}} {{a,d}} {{f,g}} Equivalence Classes: {a} {b} {c} {d} {e} {f} {g} {a,b} {c} {d} {e} {f} {g} {a,b,c} {d} {e} {f} {g} {a,b,c} {d,f} {e} {g} {a,b,c} {d,e,f} {g} {a,b,c,d,e,f} {g} {a,b,c,d,e,f,g} Page 59

Problem: Given an bunch of explicit equivalences 1~8 4~5 9~ 4~10 3~7 6~3 4~9 (the generators ) build up the full equivalence relation, by constructing a partioning. Approach: Start with a collection of singleton sets {1} {} {3} {4} {5} {6} {7} {8} {9} {10} Process the generators one at a time. Merge the partitions. Result: 1~8 merge {1} and {8} to produce {1,8} 1~8 4~5 9~ 4~10 3~7 6~3 4~9 { {1,8}, {,4,5,9,10}, {3,6,7} } Page 60

How to represent sets of nodes? As trees! Each node may have a parent. 9 5 4 10 {,9} {4,5,10} We don t care which node happens to be the root. Are two nodes in the same set? Follow the parent links to the roots Are they the same root? How to merge two sets? Make one root the parent of another. 9 5 5 Representation: Store parent pointers 4 10 9 Page 61 node: 1 3 4 5 6 7 8 9 10 parent: 8 9 6 5 0 0 6 0 X 05 5 4 10