DOC PREVIEW
UVA CS 202 - Closures of Relations

This preview shows page 1-2-23-24 out of 24 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 24 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 24 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 24 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 24 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 24 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

Closures of RelationsRelational closuresReflexive closureSlide 4Reflexive closure exampleSymmetric closureSlide 7Symmetric closure examplePaths in directed graphsMore on paths…Shortest pathsTransitive closureSlide 13Slide 146 degrees of separationConnectivity relationHow long are the paths in a transitive closure?Slide 19Finding the transitive closureSample questionsSlide 22Transitive closure algorithmSlide 24More transitive closure algorithms1Closures of RelationsEpp, section 10.?CS 202Aaron Bloomfield2Relational closures•Three types we will study–Reflexive•Easy–Symmetric•Easy–Transitive•Hard3•Consider a relation R:–From our MapQuest example in the last slide set–Note that it is not reflexive•We want to add edges to make the relation reflexive•By adding those edges, we have made a non-reflexive relation R into a reflexive relation•This new relation is called the reflexive closure of RReflexive closure4Reflexive closure•In order to find the reflexive closure of a relation R, we add a loop at each node that does not have one•The reflexive closure of R is R U–Where  = { (a,a) | a  R }•Called the “diagonal relation”–With matrices, we set the diagonal to all 1’s5Reflexive closure example•Let R be a relation on the set { 0, 1, 2, 3 } containing the ordered pairs (0,1), (1,1), (1,2), (2,0), (2,2), and (3,0)•What is the reflexive closure of R?•We add all pairs of edges (a,a) that do not already exist0 13 2We add edges:(0,0), (3,3)6•Consider a relation R:–From our MapQuest example in the last slide set–Note that it is not symmetric•We want to add edges to make the relation symmetric•By adding those edges, we have made a non-symmetric relation R into a symmetric relation•This new relation is called the symmetric closure of RSymmetric closure7Symmetric closure•In order to find the symmetric closure of a relation R, we add an edge from a to b, where there is already an edge from b to a•The symmetric closure of R is R U R-1–If R = { (a,b) | … }–Then R-1 = { (b,a) | … }8Symmetric closure example•Let R be a relation on the set { 0, 1, 2, 3 } containing the ordered pairs (0,1), (1,1), (1,2), (2,0), (2,2), and (3,0)•What is the symmetric closure of R?•We add all pairs of edges (a,b) where (b,a) exists–We make all “single” edges into anti-parallel pairs0 13 2We add edges:(0,2), (0,3)(1,0), (2,1)9Paths in directed graphs•A path is a sequences of connected edges from vertex a to vertex b•No path exists from the noted start location•A path that starts and ends at the same vertex is called a circuit or cycle–Must have length ≥1Start (a) End (b)Start (a)Start (a)End (b)10More on paths…•The length of a path is the number of edges in the path, not the number of nodes11Shortest paths•What is really needed in most applications is finding the shortest path between two vertices12Transitive closureThe transitive closure would contain edges between all nodes reachable by a path of any length13Transitive closure•Informal definition: If there is a path from a to b, then there should be an edge from a to b in the transitive closure•First take of a definition:–In order to find the transitive closure of a relation R, we add an edge from a to c, when there are edges from a to b and b to c•But there is a path from 1 to 4 with no edge!12 34R = { (1,2), (2,3), (3,4) }(1,2) & (2,3) (1,3)(2,3) & (3,4) (2,4)12 3414Transitive closure•Informal definition: If there is a path from a to b, then there should be an edge from a to b in the transitive closure•Second take of a definition:–In order to find the transitive closure of a relation R, we add an edge from a to c, when there are edges from a to b and b to c–Repeat this step until no new edges are added to the relation•We will study different algorithms for determining the transitive closure•red means added on the first repeat•teal means added on the second repeat12 34156 degrees of separation•The idea that everybody in the world is connected by six degrees of separation–Where 1 degree of separation means you know (or have met) somebody else•Let R be a relation on the set of all people in the world–(a,b)  R if person a has met person b•So six degrees of separation for any two people a and g means:–(a,b), (b,c), (c,d), (d,e), (e,f), (f,g) are all in R•Or, (a,g)  R616Connectivity relation•R contains edges between all the nodes reachable via 1 edge•R◦R = R2 contains edges between nodes that are reachable via 2 edges in R•R2◦R = R3 contains edges between nodes that are reachable via 3 edges in R•Rn = contains edges between nodes that are reachable via n edges in R•R* contains edges between nodes that are reachable via any number of edges (i.e. via any path) in R–Rephrased: R* contains all the edges between nodes a and b when is a path of length at least 1 between a and b in R•R* is the transitive closure of R–The definition of a transitive closure is that there are edges between any nodes (a,b) that contain a path between them18How long are the paths in a transitive closure?•Let R be a relation on set A, and let A be a set with n elements–Rephrased: consider a graph G with n nodes and some number of edges•Lemma 1: If there is a path (of length at least 1) from a to b in R, then there is a path between a and b of length not exceeding n•Proof preparation:–Suppose there is a path from a to b in R–Let the length of that path be m–Let the path be edges (x0, x1), (x1, x2), …, (xm-1, xm)–That’s nodes x0, x1, x2, …, xm-1, xm–If a node exists twice in our path, then it’s not a shortest path•As we made no progress in our path between the two occurrences of the repeated node–Thus, each node may exist at most once in the path19How long are the paths in a transitive closure?•Proof by contradiction:–Assume there are more than n nodes in the path•Thus, m > n•Let m = n+1–By the pigeonhole principle, there are n+1 nodes in the path (pigeons) and they have to fit into the n nodes in the graph (pigeonholes)–Thus, there must be at least one pigeonhole that has at least two pigeons–Rephrased: there must be at least one node in the graph that has two occurrences in the nodes of the path•Not


View Full Document

UVA CS 202 - Closures of Relations

Download Closures of Relations
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Closures of Relations and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Closures of Relations 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?