Equivalence Relations

Slides:



Advertisements
Similar presentations
Relations.
Advertisements

Applied Discrete Mathematics Week 11: Graphs
EECS 311: Chapter 8 Notes Chris Riesbeck EECS Northwestern.
Union-Find: A Data Structure for Disjoint Set Operations
Disjoint Union / Find CSE 373 Data Structures Lecture 17.
1 Chapter 8 The Disjoint Set ADT Concerns with equivalence problems Find and Union.
CS2420: Lecture 42 Vladimir Kulyukin Computer Science Department Utah State University.
Last Meeting Of The Year. Last Week's POTW Solution: #include... map DP; int getdp(int a) { if(DP[a]) return DP[a]; int digsum = 0; for(int c = a; c >
Unit Unit 04 Relations IT DisiciplineITD1111 Discrete Mathematics & Statistics STDTLP1 Unit 4 Relations.
CSE373: Data Structures & Algorithms Lecture 10: Disjoint Sets and the Union-Find ADT Lauren Milne Spring 2015.
Relations, Functions, and Matrices Mathematical Structures for Computer Science Chapter 4 Copyright © 2006 W.H. Freeman & Co.MSCS Slides Relations, Functions.
CMSC 341 Disjoint Sets Textbook Chapter 8. Equivalence Relations A relation R is defined on a set S if for every pair of elements (a, b) with a,b  S,
Relations, Functions, and Matrices Mathematical Structures for Computer Science Chapter 4 Copyright © 2006 W.H. Freeman & Co.MSCS Slides Relations, Functions.
Mathematical Preliminaries
Nirmalya Roy School of Electrical Engineering and Computer Science Washington State University Cpt S 223 – Advanced Data Structures Disjoint Sets.
Reflexivity, Symmetry, and Transitivity Lecture 44 Section 10.2 Thu, Apr 7, 2005.
1 The Disjoint Set ADT CS146 Chapter 8 Yan Qing Lei.
1 Today’s Material The dynamic equivalence problem –a.k.a. Disjoint Sets/Union-Find ADT –Covered in Chapter 8 of the textbook.
CS 146: Data Structures and Algorithms July 16 Class Meeting Department of Computer Science San Jose State University Summer 2015 Instructor: Ron Mak
Equivalence Relations. Partial Ordering Relations 1.
CHAPTER 8 THE DISJOINT SET ADT §1 Equivalence Relations 【 Definition 】 A relation R is defined on a set S if for every pair of elements (a, b), a, b 
Chapter Relations and Their Properties
CSE373: Data Structures & Algorithms Lecture 9: Disjoint Sets and the Union-Find ADT Lauren Milne Summer 2015.
Chapter 8: Relations. 8.1 Relations and Their Properties Binary relations: Let A and B be any two sets. A binary relation R from A to B, written R : A.
WEEK 5 The Disjoint Set Class Ch CE222 Dr. Senem Kumova Metin
Copyright © Cengage Learning. All rights reserved. CHAPTER 8 RELATIONS.
MAT 2720 Discrete Mathematics Section 3.3 Relations
Priority Queue Using Heap #include “Event.cpp” #include “Heap.cpp” #define PQMAX 30 class PriorityQueue { public: PriorityQueue() { heap = new Heap ( PQMAX.
Relations Chapter 9 Copyright © McGraw-Hill Education. All rights reserved. No reproduction or distribution without the prior written consent of McGraw-Hill.
The Relation Induced by a Partition
Representing Relations Using Digraphs
Chapter 5 Relations and Operations
CSE 373: Data Structures and Algorithms
Relations.
Set Operations CS 202, Spring 2008 Epp, chapter 5.
Formal Language & Automata Theory
CSCE 210 Data Structures and Algorithms
Introduction to Relations
Introduction to Algorithms
Reflexivity, Symmetry, and Transitivity
CS 3343: Analysis of Algorithms
Chapter 8 Disjoint Sets and Dynamic Equivalence
Disjoint Sets Chapter 8.
Mathematical Structures for Computer Science Chapter 6
CS201: Data Structures and Discrete Mathematics I
Chapter 2 Sets and Functions.
CSE373: Data Structures & Algorithms Lecture 10: Disjoint Sets and the Union-Find ADT Linda Shapiro Spring 2016.
CSE373: Data Structures & Algorithms Lecture 10: Disjoint Sets and the Union-Find ADT Linda Shapiro Winter 2015.
Disjoint Set Neil Tang 02/23/2010
Disjoint Set Neil Tang 02/26/2008
CSE 373 Data Structures and Algorithms
Artificial Intelligence
CSE373: Data Structures & Algorithms Lecture 9: Disjoint Sets & Union-Find Dan Grossman Fall 2013.
CSE 332: Data Abstractions Union/Find II
Solving Linear Equations
Tree Data Structures There are a number of applications where linear data structures are not appropriate. Consider a genealogy tree of a family. Mohammad.
Introduction to Relations and Functions
The UNION-FIND Abstract Data Type
MCS680: Foundations Of Computer Science
Copyright © Cengage Learning. All rights reserved.
Disjoint Sets DS.S.1 Chapter 8 Overview Dynamic Equivalence Classes
Equivalence relations
Dynamic Equivalence Problem
REVISION Relation. REVISION Relation Introduction to Relations and Functions.
Minimum Spanning Trees
Disjoint Sets Textbook Chapter 8
CSE 373: Data Structures and Algorithms
Lecture # 16 Inverse of Relations
Disjoint Set Operations: “UNION-FIND” Method
Presentation transcript:

Equivalence Relations A binary relation  over a set S is called an equivalence relation if it has following properties Reflexivity: for all element xS, x  x Symmetry: for all elements x and y, x  y if and only if y  x Transitivity: for all elements x, y and z, if x  y and y  z then x  z The relation “is related to” is an equivalence relation over the set of people End of lecture 33, Start of lecture 34

Lecture No.34 Data Structure Dr. Sohail Aslam

Equivalence Relations The  relationship is not an equivalence relation. It is reflexive, since x  x, and transitive, since x  y and y  z implies x  z, it is not symmetric since x  y does not imply y  x.

Equivalence Relations Electrical connectivity, where all connections are by metal wires, is an equivalence relation. It is clearly reflexive, since any component is connected to itself. It is symmetric because if component a is connected to component b then b must be electrically connected to a. It is transitive, since if component a is connected to component b and b is connected to c then a is connected to c.

The Disjoint Sets View An equivalence relation  over a set S can be viewed as a partitioning of S into disjoint sets. Each set of the partition is called an equivalence class of  (all elements that are related).

The Disjoint Sets View Every member of S appears in exactly one equivalence class. To decide if a  b, we need only to check whether a and b are in the same equivalence class. This provides a strategy to solve the equivalence problem.

Dynamic Equivalence Problem If the relation is stored as a two-dimensional array of booleans, then, of course, this can be done in constant time. The problem is that the relation is usually not explicitly defined, but, rather, implicitly defined. Haaris Ahmed Saad Omar Asim Qasim Haaris T T T Saad T T Ahmed T Omar T Asim T T Qasim T

Dynamic Equivalence Problem As an example, suppose the equivalence relation is defined over the five-element set {a1, a2, a3, a4, a5 }. There are 25 pairs of elements, each of which is related or not. (30 pairs – 5 self-pairs=25).

Dynamic Equivalence Problem However, given the information a1  a2, a3  a4, a5  a1, a4  a2, Implies that all pairs are related. We would like to be able to infer this information quickly. a2 a3 a1 a5 a4

Dynamic Equivalence Problem The input is initially a collection of n sets, each with one element. This initial representation is that all relations (except reflexive relations) are false. Each set has a different element so that Si  Sj =  ; this makes the sets disjoint.

Dynamic Equivalence Problem There are two permissible operations: find and union. Find returns the name of the set (equivalence class) that contains a given element, i.e., Si  find(a) Union merges two sets to create a new set Sk = Si  Sj.

Dynamic Equivalence Problem If we want to add the relation a  b, then we first see if a and b are already related. This is done by performing finds on both a and b to check whether they are in the same set. If they are not, we apply union which merges the two sets a and b belong to. The algorithm to do this is frequently known as Union/Find for this reason.

Dynamic Equivalence Problem Notice that we do not perform any operations comparing the relative values of set elements. We merely require knowledge of their location, i.e., which set an element belongs to. We can thus assume that all elements are numbered sequentially from 1 to n. Thus, initially we have Si = {i} for i = 1 through n.

Dynamic Equivalence Problem Our second observation is that the name of the set returned by find is fairly arbitrary. All that really matters is that find(x) = find(y) if an only if x an y are in the same set. We will now discuss a solution to the union/find problem that for any sequence of at most m finds and upto n-1 unions will require time proportional to (m+n). End of lecture 34