Lecture 5.3: Graph Isomorphism and Connectivity CS 250, Discrete Structures, Fall 2011 Nitesh Saxena *Adopted from previous lectures by Zeph Grunschlag.

Slides:



Advertisements
Similar presentations
CSE 211 Discrete Mathematics
Advertisements

Discrete Mathematics University of Jazeera College of Information Technology & Design Khulood Ghazal Connectivity Lecture _13.
Based on slides by Y. Peng University of Maryland
Chapter 8 Topics in Graph Theory
Chapter 9 Graphs.
Walks, Paths and Circuits Walks, Paths and Circuits Sanjay Jain, Lecturer, School of Computing.
Midwestern State University Department of Computer Science Dr. Ranette Halverson CMPS 2433 – CHAPTER 4 GRAPHS 1.
Graph-02.
Introduction to Graphs
Representing Relations Using Matrices
Applied Discrete Mathematics Week 12: Trees
SE561 Math Foundations Week 11 Graphs I
Introduction to Graphs Lecture 18: Nov 16. Seven Bridges of Königsberg Is it possible to walk with a route that crosses each bridge exactly once?
Graph Theory in CS Route Search in Online Map Services
Math Foundations Week 12 Graphs (2). Agenda Paths Connectivity Euler paths Hamilton paths 2.
Copyright © Zeph Grunschlag, Paths and Connectivity Zeph Grunschlag.
1 Section 8.4 Connectivity. 2 Paths In an undirected graph, a path of length n from u to v, where n is a positive integer, is a sequence of edges e 1,
Selected Topics in Data Networking Graph Representation.
Graphs.
KNURE, Software department, Ph , N.V. Bilous Faculty of computer sciences Software department, KNURE Discrete.
Discrete Mathematics Lecture 9 Alexander Bukharovich New York University.
Chapter 15 Graph Theory © 2008 Pearson Addison-Wesley.
Lecture 3.1: Mathematical Induction CS 250, Discrete Structures, Fall 2014 Nitesh Saxena Adopted from previous lectures by Cinda Heeren, Zeph Grunschlag.
Graph Theoretic Concepts. What is a graph? A set of vertices (or nodes) linked by edges Mathematically, we often write G = (V,E)  V: set of vertices,
Lecture 5.2: Special Graphs and Matrix Representation CS 250, Discrete Structures, Fall 2013 Nitesh Saxena Adopted from previous lectures by Zeph Grunschlag.
© by Kenneth H. Rosen, Discrete Mathematics & its Applications, Sixth Edition, Mc Graw-Hill, 2007 Chapter 9 (Part 2): Graphs  Graph Terminology (9.2)
Week 11 - Wednesday.  What did we talk about last time?  Graphs  Euler paths and tours.
Copyright © Zeph Grunschlag, More on Graphs.
1 CS104 : Discrete Structures Chapter V Graph Theory.
Based on slides by Y. Peng University of Maryland
Lecture 3.4: Recursive Algorithms CS 250, Discrete Structures, Fall 2011 Nitesh Saxena *Adopted from previous lectures by Zeph Grunschlag.
Module #19: Graph Theory: part II Rosen 5 th ed., chs. 8-9.
GRAPHS THEROY. 2 –Graphs Graph basics and definitions Vertices/nodes, edges, adjacency, incidence Degree, in-degree, out-degree Subgraphs, unions, isomorphism.
Week 11 - Monday.  What did we talk about last time?  Binomial theorem and Pascal's triangle  Conditional probability  Bayes’ theorem.
Graphs What are Graphs? General meaning in everyday math: A plot or chart of numerical data using a coordinate system. Technical meaning in discrete.
Lecture 4.4: Equivalence Classes and Partially Ordered Sets CS 250, Discrete Structures, Fall 2011 Nitesh Saxena *Adopted from previous lectures by Cinda.
Lecture 4.3: Closures and Equivalence Relations CS 250, Discrete Structures, Fall 2013 Nitesh Saxena Adopted from previous lectures by Cinda Heeren.
September1999 CMSC 203 / 0201 Fall 2002 Week #13 – 18/20/22 November 2002 Prof. Marie desJardins.
Lecture 10: Graph-Path-Circuit
Introduction to Graphs. This Lecture In this part we will study some basic graph theory. Graph is a useful concept to model many problems in computer.
CSCI 115 Chapter 8 Topics in Graph Theory. CSCI 115 §8.1 Graphs.
Lecture 5.4: Paths and Connectivity CS 250, Discrete Structures, Fall 2011 Nitesh Saxena *Adopted from previous lectures by Zeph Grunschlag.
 Quotient graph  Definition 13: Suppose G(V,E) is a graph and R is a equivalence relation on the set V. We construct the quotient graph G R in the follow.
Basic properties Continuation
Graphs Basic properties.
Lecture 5.1: Graphs Basics
Introduction to Graph Theory
Chapter 11 - Graph CSNB 143 Discrete Mathematical Structures.
Chapter 9: Graphs.
CS 261 – Nov. 17 Graph properties – Bipartiteness – Isomorphic to another graph – Pseudograph, multigraph, subgraph Path Cycle – Hamiltonian – Euler.
9/29/2011Lecture Strong Induction1 Lecture 3.2: Strong Induction CS 250, Discrete Structures, Fall 2011 Nitesh Saxena *Adopted from previous lectures.
Graphs Rosen, Chapter 8. NOT ONE OF THESE! One of these!
1 Lecture 5 (part 2) Graphs II (a) Circuits; (b) Representation Reading: Epp Chp 11.2, 11.3
رياضيات متقطعة لعلوم الحاسب MATH 226. Chapter 10.
Lecture 5.4: Paths and Connectivity
Applied Discrete Mathematics Week 14: Trees
Graphs: Definitions and Basic Properties
Lecture 5.2: Special Graphs and Matrix Representation
Copyright © Zeph Grunschlag,
CS 250, Discrete Structures, Fall 2015
Graphs Rosen, Chapter 8.
Graphs.
Based on slides by Y. Peng University of Maryland
CS100: Discrete structures
Graphs Discrete Structure CS203.
Lecture 5.3: Graph Isomorphism and Paths
Paths and Connectivity
Paths and Connectivity
Applied Discrete Mathematics Week 13: Graphs
Based on slides by Y. Peng University of Maryland
Presentation transcript:

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