Lecture 5.3: Graph Isomorphism and Connectivity CS 250, Discrete Structures, Fall 2011 Nitesh Saxena *Adopted from previous lectures by Zeph Grunschlag
HW1 Submitted yesterday Grading now – expect results in about a week Solution to be posted soon Lecture Graph Isomorphism and Connectivity
Course Admin -- Final Exam Thursday, December 8, 10:45am- 1:15pm, lecture room Heads up! Please mark the date/time/place Emphasis on post mid-term 2 material Coverage: 65% post mid-term 2 (lectures 4.*, 5.*, 6.*), and 35% pre mid-term 2 (lecture 1.*. 2.* and 3.*) Our last lecture will be on December 6 We plan to do a final exam review then Lecture Graph Isomorphism and Connectivity
Course Admin -- Homework 5 Heads up: will be posted by the coming weekend Due in 10 days after the day of posting Covers the chapter on Graphs (lecture 5.*) Lecture Graph Isomorphism and Connectivity
Outline Graph Isomorphism Paths and Connectivity
Warm-up Exercise Theorem: No. of edges in an n-cube is n2 n-1 Proof: Use mathematical induction. Let’s use the whiteboard. Lecture Graph Isomorphism and Connectivity
Graph Isomorphism Various mathematical notions come with their own concept of equivalence, as opposed to equality: Equivalence for sets is bijectivity: EG {23, 12, 43} {12, 23, 43} Equivalence for graphs is isomorphism: EG Lecture Graph Isomorphism and Connectivity
Graph Isomorphism Intuitively, two graphs are isomorphic if can bend, stretch and reposition vertices of the first graph, until the second graph is formed. Etymologically, isomorphic means “same shape”. EG: Can twist or relabel: to obtain: Lecture Graph Isomorphism and Connectivity
Graph Isomorphism Undirected Graphs DEF: Suppose G 1 = (V 1, E 1 ) and G 2 = (V 2, E 2 ) are pseudographs. Let f :V 1 V 2 be a function s.t.: 1) f is bijective 2) for all vertices u,v in V 1, the number of edges between u and v in G 1 is the same as the number of edges between f (u) and f (v ) in G 2. Then f is called an isomorphism and G 1 is said to be isomorphic to G 2. Lecture Graph Isomorphism and Connectivity
Graph Isomorphism Digraphs DEF: Suppose G 1 = (V 1, E 1 ) and G 2 = (V 2, E 2 ) are directed multigraphs. Let f :V 1 V 2 be a function s.t.: 1) f is bijective 2) for all vertices u,v in V 1, the number of edges from u to v in G 1 is the same as the number of edges between f (u) and f (v ) in G 2. Then f is called an isomorphism and G 1 is said to be isomorphic to G 2. Note: Only difference between two definitions is the italicized “from” in no. 2 (was “between”).
Graph Isomorphism -Example EG: Prove that is isomorphic to First label the vertices : Lecture Graph Isomorphism and Connectivity
Graph Isomorphism -Example Next, set f (1) = 1 and try to walk around clockwise on the star Lecture Graph Isomorphism and Connectivity
Graph Isomorphism -Example Next, set f (1) = 1 and try to walk around clockwise on the star. The next vertex seen is 3, not 2 so set f (2) = Lecture Graph Isomorphism and Connectivity
Graph Isomorphism -Example Next, set f (1) = 1 and try to walk around clockwise on the star. The next vertex seen is 3, not 2 so set f (2) = 3. Next vertex is 5 so set f (3) = Lecture Graph Isomorphism and Connectivity
Graph Isomorphism -Example Next, set f (1) = 1 and try to walk around clockwise on the star. The next vertex seen is 3, not 2 so set f (2) = 3. Next vertex is 5 so set f (3) = 5. In this fashion we get f (4) = Lecture Graph Isomorphism and Connectivity
Graph Isomorphism -Example Next, set f (1) = 1 and try to walk around clockwise on the star. The next vertex seen is 3, not 2 so set f (2) = 3. Next vertex is 5 so set f (3) = 5. In this fashion we get f (4) = 2, f (5) = Lecture Graph Isomorphism and Connectivity
Graph Isomorphism -Example Next, set f (1) = 1 and try to walk around clockwise on the star. The next vertex seen is 3, not 2 so set f (2) = 3. Next vertex is 5 so set f (3) = 5. In this fashion we get f (4) = 2, f (5) = 4. If we would continue, we would get back to f (1) =1 so this process is well defined and f is a isomorphism Lecture Graph Isomorphism and Connectivity
Graph Isomorphism -Example Next, set f (1) = 1 and try to walk around clockwise on the star. The next vertex seen is 3, not 2 so set f (2) = 3. Next vertex is 5 so set f (3) = 5. In this fashion we get f (4) = 2, f (5) = 4. If we would continue, we would get back to f (1) =1 so this process is well defined and f is a morphism. Finally since f is bijective, f is an isomorphism
Properties of Isomorphims Since graphs are completely defined by their vertex sets and the number of edges between each pair, isomorphic graphs must have the same intrinsic properties. I.e. isomorphic graphs have the same… number of vertices and edges degrees at corresponding vertices types of possible subgraphs Lecture Graph Isomorphism and Connectivity
Exercise Is “isomorphism” on graphs an equivalence relation? If so, what are the equivalence classes? Let’s use the whiteboard! Lecture Graph Isomorphism and Connectivity
Graph Isomorphism -Negative Examples To show that two graphs are non-isomorphic need to show that no function can exist that satisfies defining properties of isomorphism. In practice, you try to find some intrinsic property that differs between the 2 graphs in question. Lecture Graph Isomorphism and Connectivity
Graph Isomorphism -Negative Examples Q: Why are the following non-isomorphic? u1u1 u2u2 u3u3 u5u5 u4u4 v1v1 v2v2 v3v3 v4v4 Lecture Graph Isomorphism and Connectivity
Graph Isomorphism -Negative Examples A: 1 st graph has more vertices than 2 nd. Q: Why are the following non-isomorphic? u1u1 u2u2 u3u3 u5u5 u4u4 v1v1 v2v2 v3v3 v5v5 v4v4 Lecture Graph Isomorphism and Connectivity
Graph Isomorphism -Negative Examples A: 1 st graph has more edges than 2 nd. Q: Why are the following non-isomorphic? u1u1 u2u2 u3u3 u5u5 u4u4 v1v1 v2v2 v3v3 v5v5 v4v4 Lecture Graph Isomorphism and Connectivity
Graph Isomorphism -Negative Examples A: 2 nd graph has vertex of degree 1, 1 st graph doesn't. Q: Why are the following non-isomorphic? u1u1 u2u2 u3u3 u6u6 u4u4 u5u5 u7u7 u9u9 v1v1 v2v2 v3v3 v6v6 v4v4 v5v5 v7v7 v8v8 v9v9 u8u8 Lecture Graph Isomorphism and Connectivity
Graph Isomorphism -Negative Examples A: 1 st graph has 2 degree 1 vertices, 4 degree 2 vertex and 2 degree 3 vertices. 2 nd graph has 3 degree 1 vertices, 3 degree 2 vertex and 3 degree 3 vertices. Q: Why are the following non-isomorphic? u1u1 u2u2 u3u3 u6u6 u4u4 u5u5 u7u7 u8u8 v1v1 v2v2 v3v3 v6v6 v4v4 v5v5 v7v7 v8v8 Lecture Graph Isomorphism and Connectivity
Graph Isomorphism -Negative Examples A: None of the previous approaches work as there are the same no. of vertices, edges, and same no. of vertices per degree. LEMMA: If G and H are isomorphic, then any subgraph of G will be isomorphic to some subgraph of H. Q: Find a subgraph of 2 nd graph which isn’t a subgraph of 1 st graph. u1u1 u2u2 u3u3 u6u6 u4u4 u5u5 u7u7 u8u8 v1v1 v2v2 v3v3 v6v6 v4v4 v5v5 v7v7 v8v8
Graph Isomorphism -Negative Examples A: This subgraph is not a subgraph of the left graph. Why not? Deg. 3 vertices must map to deg. 3 vertices. Since subgraph and left graph are symmetric, can assume v 2 maps to u 2. Adjacent deg. 1 vertices to v 2 must map to degree 1 vertices, forcing the deg. 2 adjacent vertex v 3 to map to u 3. This forces the other vertex adjacent to v 3, namely v 4 to map to u 4. But then a deg. 3 vertex has mapped to a deg. 2 vertex. u1u1 u2u2 u3u3 u6u6 u4u4 u5u5 u7u7 u8u8 v1v1 v2v2 v3v3 v6v6 v4v4 v5v5 v7v7 v8v8
Paths A path in a graph is a continuous way of getting from one vertex to another by using a sequence of edges. EG: could get from 1 to 3 circuitously as follows: 1-e 1 2-e 1 1-e 3 3-e 4 2-e 6 2-e 5 2-e 4 e1e1 e3e3 e2e2 e4e4 e5e5 e6e6 e7e7
Paths A path in a graph is a continuous way of getting from one vertex to another by using a sequence of edges. EG: could get from 1 to 3 circuitously as follows: 1-e 1 2-e 1 1-e 3 3-e 4 2-e 6 2-e 5 2-e 4 e1e1 e3e3 e2e2 e4e4 e5e5 e6e6 e7e7
Paths 1 A path in a graph is a continuous way of getting from one vertex to another by using a sequence of edges. EG: could get from 1 to 3 circuitously as follows: 1- e 1 2-e 1 1-e 3 3-e 4 2-e 6 2-e 5 2-e 4 e1e1 e3e3 e2e2 e4e4 e5e5 e6e6 e7e7
Paths A path in a graph is a continuous way of getting from one vertex to another by using a sequence of edges. EG: could get from 1 to 3 circuitously as follows: 1-e 1 2- e 1 1-e 3 3-e 4 2-e 6 2-e 5 2-e 4 e1e1 e3e3 e2e2 e4e4 e5e5 e6e6 e7e7
Paths A path in a graph is a continuous way of getting from one vertex to another by using a sequence of edges. EG: could get from 1 to 3 circuitously as follows: 1-e 1 2-e 1 1- e 3 3-e 4 2-e 6 2-e 5 2-e 4 e1e1 e3e3 e2e2 e4e4 e5e5 e6e6 e7e7
Paths A path in a graph is a continuous way of getting from one vertex to another by using a sequence of edges. EG: could get from 1 to 3 circuitously as follows: 1-e 1 2-e 1 1-e 3 3- e 4 2-e 6 2-e 5 2-e 4 e1e1 e3e3 e2e2 e4e4 e5e5 e6e6 e7e7
Paths A path in a graph is a continuous way of getting from one vertex to another by using a sequence of edges. EG: could get from 1 to 3 circuitously as follows: 1-e 1 2-e 1 1-e 3 3-e 4 2- e 6 2-e 5 2-e 4 e1e1 e3e3 e2e2 e4e4 e5e5 e6e6 e7e7
Paths A path in a graph is a continuous way of getting from one vertex to another by using a sequence of edges. EG: could get from 1 to 3 circuitously as follows: 1-e 1 2-e 1 1-e 3 3-e 4 2-e 6 2- e 5 2-e 4 e1e1 e3e3 e2e2 e4e4 e5e5 e6e6 e7e7
Paths A path in a graph is a continuous way of getting from one vertex to another by using a sequence of edges. EG: could get from 1 to 3 circuitously as follows: 1-e 1 2-e 1 1-e 3 3-e 4 2-e 6 2-e 5 2- e 4 e1e1 e3e3 e2e2 e4e4 e5e5 e6e6 e7e7
Paths DEF: A path of length n in an undirected graph is a sequence of n edges e 1, e 2, …,e n such that each consecutive pair e i, e i+1 share a common vertex. In a simple graph, one may instead define a path of length n as a sequence of n+1 vertices v 0, v 1, v 2, …,v n such that each consecutive pair v i, v i+1 are adjacent. Paths of length 0 are also allowed according to this definition. Q: Why does the second definition work for simple graphs? Lecture Graph Isomorphism and Connectivity
Paths A: For simple graphs, any edge is unique between vertices so listing the vertices gives us the edge-sequence as well. DEF: A simple path contains no duplicate edges (though duplicate vertices are allowed). A cycle (or circuit) is a path which starts and ends at the same vertex. Note: Simple paths need not be in simple graphs. E.g., may contain loops. Lecture Graph Isomorphism and Connectivity
Paths Q: Find a longest possible simple path in the following graph: e1e1 e3e3 e2e2 e4e4 e5e5 e6e6 e7e7 Lecture Graph Isomorphism and Connectivity
Paths A: The following path from 1 to 2 is a maximal simple path because simple: each of its edges appears exactly once maximal: because it contains every edge except the unreachable edge e 7 The maximal path: e 1,e 5,e 6,e 2,e 3,e e1e1 e3e3 e2e2 e4e4 e5e5 e6e6 e7e7 Lecture Graph Isomorphism and Connectivity
Paths in Directed Graphs One can define paths for directed graphs by insisting that the target of each edge in the path is the source of the next edge: DEF: A path of length n in a directed graph is a sequence of n edges e 1, e 2, …,e n such that the target of e i is the source e i+1 for each i. In a digraph, one may instead define a path of length n as a sequence of n+1 vertices v 0, v 1, v 2, …,v n such that for each consecutive pair v i, v i+1 there is an edge from v i to v i+1. Lecture Graph Isomorphism and Connectivity
Paths in Directed Graphs Q: Consider digraph adjacency matrix: 1. Find a path from 1 to Is there a path from 4 to 1? Lecture Graph Isomorphism and Connectivity
Paths in Directed Graphs A: 1. 1 There’s no path from 4 to 1. From 4 must go to 2, from 2 must stay at 2 or return to 4. In other words 2 and 4 are disconnected from 1. Lecture Graph Isomorphism and Connectivity
Paths in Directed Graphs A: 1. 1 3 There’s no path from 4 to 1. From 4 must go to 2, from 2 must stay at 2 or return to 4. In other words 2 and 4 are disconnected from 1. Lecture Graph Isomorphism and Connectivity
Paths in Directed Graphs A: 1. 1 3 2 There’s no path from 4 to 1. From 4 must go to 2, from 2 must stay at 2 or return to 4. In other words 2 and 4 are disconnected from 1. Lecture Graph Isomorphism and Connectivity
Connectivity DEF: Let G be a pseudograph. Let u and v be vertices. u and v are connected to each other if there is a path in G which starts at u and ends at v. G is said to be connected if all vertices are connected to each other. Note: Any vertex is automatically connected to itself via the empty path. Lecture Graph Isomorphism and Connectivity
Q: Which of the following graphs are connected? Connectivity Lecture Graph Isomorphism and Connectivity
A: First and second are disconnected. Last is connected. Connectivity Lecture Graph Isomorphism and Connectivity
A: First and second are disconnected. Last is connected. Connectivity Lecture Graph Isomorphism and Connectivity
A: First and second are disconnected. Last is connected. Connectivity Lecture Graph Isomorphism and Connectivity
A: First and second are disconnected. Last is connected. Connectivity Lecture Graph Isomorphism and Connectivity
A: First and second are disconnected. Last is connected. Connectivity Lecture Graph Isomorphism and Connectivity
A: First and second are disconnected. Last is connected. Connectivity Lecture Graph Isomorphism and Connectivity
English Connectivity Puzzle Can define a puzzling graph G as follows: V = {3-letter English words} E : two words are connected if we can get one word from the other by changing a single letter. One small subgraph of G is: Q: Is “fun” connected to “car” ? jobrobjab Lecture Graph Isomorphism and Connectivity
English Connectivity Puzzle A: Yes: fun fan far car Or: fun fin bin ban bar car Lecture Graph Isomorphism and Connectivity
Connected Components DEF: A connected component (or just component) in a graph G is a set of vertices such that all vertices in the set are connected to each other and every possible connected vertex is included. Q: What are the connected components of the following graph? Lecture Graph Isomorphism and Connectivity
Connected Components A: The components are {1,3,5},{2,4,6},{7} and {8} as one can see visually by pulling components apart: Lecture Graph Isomorphism and Connectivity
Connected Components A: The components are {1,3,5},{2,4,6},{7} and {8} as one can see visually by pulling components apart: Lecture Graph Isomorphism and Connectivity
Connected Components A: The components are {1,3,5}, {2,4,6}, {7} and {8} as one can see visually by pulling components apart: Lecture Graph Isomorphism and Connectivity
Degree of Connectivity Not all connected graphs are treated equal! Q: Rate following graphs in terms of their design value for computer networks: 1) 2) 3) 4)
Degree of Connectivity A: Want all computers to be connected, even if 1 computer goes down: 1) 2 nd best. However, there’s a weak link— “cut vertex” 2) 3 rd best. Connected but any computer can disconnect 3) Worst! Already disconnected 4) Best! Network dies only with 2 bad computers Lecture Graph Isomorphism and Connectivity
Degree of Connectivity The network is best because it can only become disconnected when 2 vertices are removed. In other words, it is 2-connected. Formally: DEF: A connected simple graph with 3 or more vertices is 2-connected if it remains connected when any vertex is removed. When the graph is not 2-connected, we call the disconnecting vertex a cut vertex. Lecture Graph Isomorphism and Connectivity
Degree of Connectivity There is also a notion of N-Connectivity where we require at least N vertices to be removed to disconnect the graph. Lecture Graph Isomorphism and Connectivity
Connectivity in Directed Graphs In directed graphs may be able to find a path from a to b but not from b to a. However, Connectivity was a symmetric concept for undirected graphs. So how to define directed Connectivity is non- obvious: 1) Should we ignore directions? 2) Should we insist that can get from a to b in actual digraph? 3) Should we insist that can get from a to b and that can get from b to a? Lecture Graph Isomorphism and Connectivity
Connectivity in Directed Graphs Resolution: Don’t bother choosing which definition is better. Just define to separate concepts: 1) Weakly connected : can get from a to b in underlying undirected graph 2) Semi-connected (my terminology): can get from a to b OR from b to a in digraph 3) Strongly connected : can get from a to b AND from b to a in the digraph DEF: A graph is strongly (resp. semi, resp. weakly) connected if every pair of vertices is connected in the same sense. Lecture Graph Isomorphism and Connectivity
Connectivity in Directed Graphs Q: Classify the connectivity of each graph. Lecture Graph Isomorphism and Connectivity
Connectivity in Directed Graphs A: semi weakstrong Lecture Graph Isomorphism and Connectivity
Today’s Reading Rosen 10.3 and 10.4