CMSC 380. Graph Terminology and Representation

Similar documents
Basic Graph Definitions

Graphs. Introduction To Graphs: Exercises. Definitions:

CS473-Algorithms I. Lecture 13-A. Graphs. Cevdet Aykanat - Bilkent University Computer Engineering Department

Graphs. Pseudograph: multiple edges and loops allowed

Varying Applications (examples)

Introduction III. Graphs. Motivations I. Introduction IV

CHAPTER 2. Graphs. 1. Introduction to Graphs and Graph Isomorphism

CS200: Graphs. Prichard Ch. 14 Rosen Ch. 10. CS200 - Graphs 1

Introduction to Graph Theory

DEFINITION OF GRAPH GRAPH THEORY GRAPHS ACCORDING TO THEIR VERTICES AND EDGES EXAMPLE GRAPHS ACCORDING TO THEIR VERTICES AND EDGES

Elements of Graph Theory

2. CONNECTIVITY Connectivity

11/22/2016. Chapter 9 Graph Algorithms. Introduction. Definitions. Definitions. Definitions. Definitions

Chapter 9 Graph Algorithms

CPCS Discrete Structures 1

1 Digraphs. Definition 1

GRAPHS, GRAPH MODELS, GRAPH TERMINOLOGY, AND SPECIAL TYPES OF GRAPHS

Characterizing Graphs (3) Characterizing Graphs (1) Characterizing Graphs (2) Characterizing Graphs (4)

Section 8.2 Graph Terminology. Undirected Graphs. Definition: Two vertices u, v in V are adjacent or neighbors if there is an edge e between u and v.

Math.3336: Discrete Mathematics. Chapter 10 Graph Theory

Basics of Graph Theory

Math 170- Graph Theory Notes

Chapter 9 Graph Algorithms

Math 776 Graph Theory Lecture Note 1 Basic concepts

Chapter 9 Graph Algorithms

Introduction to Graphs

1. a graph G = (V (G), E(G)) consists of a set V (G) of vertices, and a set E(G) of edges (edges are pairs of elements of V (G))

Number Theory and Graph Theory

CS 311 Discrete Math for Computer Science Dr. William C. Bulko. Graphs

Paths. Path is a sequence of edges that begins at a vertex of a graph and travels from vertex to vertex along edges of the graph.

DS UNIT 4. Matoshri College of Engineering and Research Center Nasik Department of Computer Engineering Discrete Structutre UNIT - IV

Assignment 4 Solutions of graph problems

Graph Theory CS/Math231 Discrete Mathematics Spring2015

Discrete Mathematics (2009 Spring) Graphs (Chapter 9, 5 hours)

Graph Theory S 1 I 2 I 1 S 2 I 1 I 2

(5.2) 151 Math Exercises. Graph Terminology and Special Types of Graphs. Malek Zein AL-Abidin

Math 778S Spectral Graph Theory Handout #2: Basic graph theory

Adjacent: Two distinct vertices u, v are adjacent if there is an edge with ends u, v. In this case we let uv denote such an edge.

Lecture 5: Graphs. Rajat Mittal. IIT Kanpur

BIL694-Lecture 1: Introduction to Graphs

SCHOOL OF ENGINEERING & BUILT ENVIRONMENT. Mathematics. An Introduction to Graph Theory

Algorithms: Graphs. Amotz Bar-Noy. Spring 2012 CUNY. Amotz Bar-Noy (CUNY) Graphs Spring / 95

The clique number of a random graph in (,1 2) Let ( ) # -subgraphs in = 2 =: ( ) We will be interested in s.t. ( )~1. To gain some intuition note ( )

Graphs. The ultimate data structure. graphs 1

The clique number of a random graph in (,1 2) Let ( ) # -subgraphs in = 2 =: ( ) 2 ( ) ( )

Outline. Introduction. Representations of Graphs Graph Traversals. Applications. Definitions and Basic Terminologies

A good picture is worth a thousand words

Graphs and trees come up everywhere. We can view the internet as a graph (in many ways) Web search views web pages as a graph

PACKING DIGRAPHS WITH DIRECTED CLOSED TRAILS

K 4 C 5. Figure 4.5: Some well known family of graphs

CS 220: Discrete Structures and their Applications. graphs zybooks chapter 10

v V Question: How many edges are there in a graph with 10 vertices each of degree 6?

Algorithms. Graphs. Algorithms

CS 441 Discrete Mathematics for CS Lecture 26. Graphs. CS 441 Discrete mathematics for CS. Final exam

WUCT121. Discrete Mathematics. Graphs

Module 11. Directed Graphs. Contents

Graph Theory. ICT Theory Excerpt from various sources by Robert Pergl

Ordinary Differential Equation (ODE)

Graph Algorithms Using Depth First Search

Discrete mathematics II. - Graphs

0.0.1 Network Analysis

An Introduction to Graph Theory

5 Graphs

Fundamental Properties of Graphs

Problem Set 2 Solutions

Foundations of Discrete Mathematics

MATH 363 Final Wednesday, April 28. Final exam. You may use lemmas and theorems that were proven in class and on assignments unless stated otherwise.

Graph and Digraph Glossary

Discrete Mathematics

Lecture 19 Thursday, March 29. Examples of isomorphic, and non-isomorphic graphs will be given in class.

Definition For vertices u, v V (G), the distance from u to v, denoted d(u, v), in G is the length of a shortest u, v-path. 1

Definition 1.1. A matching M in a graph G is called maximal if there is no matching M in G so that M M.

MC 302 GRAPH THEORY 10/1/13 Solutions to HW #2 50 points + 6 XC points

Discrete Mathematics for CS Spring 2008 David Wagner Note 13. An Introduction to Graphs

Computer Science 280 Fall 2002 Homework 10 Solutions

Definition: A graph G = (V, E) is called a tree if G is connected and acyclic. The following theorem captures many important facts about trees.

Chapter 1 Graphs. Section 1.1 Fundamental Concepts and Notation

Chapter 11: Graphs and Trees. March 23, 2008

Lecture 22 Tuesday, April 10

Discrete Mathematics and Probability Theory Fall 2009 Satish Rao,David Tse Note 8

Graph theory - solutions to problem set 1

Chapter 9. Graph Theory

Chapter 2 Graphs. 2.1 Definition of Graphs

Discrete Mathematics and Probability Theory Fall 2013 Vazirani Note 7

Math 443/543 Graph Theory Notes

CHAPTER 10 GRAPHS AND TREES. Alessandro Artale UniBZ - artale/z

Math 443/543 Graph Theory Notes

Lecture 5: Graphs & their Representation

What you should know before you do Graph Theory Honours

IS 709/809: Computational Methods in IS Research. Graph Algorithms: Introduction

Today. Types of graphs. Complete Graphs. Trees. Hypercubes.

MTL 776: Graph Algorithms. B S Panda MZ 194

Graph Theory Mini-course

Lecture 3: Recap. Administrivia. Graph theory: Historical Motivation. COMP9020 Lecture 4 Session 2, 2017 Graphs and Trees

The Geodesic Integral on Medial Graphs

Paths, Circuits, and Connected Graphs

A graph is finite if its vertex set and edge set are finite. We call a graph with just one vertex trivial and all other graphs nontrivial.

Section 10.1: Graphs and Graph Models. Introduction to Graphs Definition of a Graph Types of Graphs Examples of Graphs

Definition of Graphs and Trees. Representation of Trees.

MAT 7003 : Mathematical Foundations. (for Software Engineering) J Paul Gibson, A207.

Transcription:

CMSC 380 Graph Terminology and Representation

GRAPH BASICS 2

Basic Graph Definitions n A graph G = (V,E) consists of a finite set of vertices, V, and a finite set of edges, E. n Each edge is a pair (v,w) where v, w V. q V and E are sets, so each vertex v V is unique, and each edge e E is unique. q Edges are sometimes called arcs or lines. q Vertices are sometimes called nodes or points. 3

Graph Applications n Graphs can be used to model a wide range of applications including n Intersections and streets within a city n Roads/trains/airline routes connecting cities/ countries n Computer networks n Electronic circuits 4

Basic Graph Definitions (2) n A directed graph is a graph in which the edges are ordered pairs. That is, (u,v) (v,u), u, v V. Directed graphs are sometimes called digraphs. n An undirected graph is a graph in which the edges are unordered pairs. That is, (u,v) = (v,u). n A sparse graph is one with few edges. That is E = O( V ) n A dense graph is one with many edges. That is E = O( V 2 ) 5

Undirected Graph 1 2 5 n All edges are two-way. Edges are unordered pairs. n V = { 1, 2,3, 4, 5} 3 4 n E = { (1,2), (2, 3), (3, 4), (2, 4), (4, 5), (5, 1) } 6

Directed Graph 1 2 5 3 4 n All edges are one-way as indicated by the arrows. Edges are ordered pairs. n V = { 1, 2, 3, 4, 5} n E = { (1, 2), (2, 4), (3, 2), (4, 3), (4, 5), (5, 4), (5, 1) } 7

Number of Edges in a Graph Q: For a set V with n elements, how many possible edges there? 8

Number of Edges in a Graph Q: For a set V with n elements, how many possible edges there? A: For undirected graphs, the number of pairs in V: = C (n,2) = n (n -1) / 2 For directed graphs, the number of orderedpairs in V: = n 2 - n = n (n -1) 9

Number of Possible Graphs Q: How many possible simple undirected graphs are there for the same set of vertices V? 10

Number of Possible Graphs Q: How many possible simple undirected graphs are there for the same set of vertices V? A: The number of subsets in the set of possible edges. There are n (n -1) / 2 possible edges, therefore the number of graphs on V is 2n(n -1)/2 11

A Single Graph with Multiple Components 1 6 2 5 7 8 3 4 9 12

Multigraphs e 1 1 2 e 3 e 2 e4 e 5 e 6 3 4 Edge-labels distinguish between edges sharing same endpoints. Labeling can be thought of as function: e 1 à {1,2}, e 2 à {1,2}, e 3 à {1,3}, e 4 à {2,3}, e 5 à {2,3}, e 6 à {1,2} 13

Basic Graph Definitions (3) n Vertex w is adjacent to vertex v if and only if (v, w) E. n For undirected graphs, with edge (v, w), and hence also (w, v), w is adjacent to v and v is adjacent to w. n An edge may also have: q weight or cost -- an associated value q label -- a unique name n We can define edge properties via a function f : E à Y, where Y is the set of values for that property 14

Degree The degree of a vertex counts the number of edges that seem to be sticking out if you looked under a magnifying glass: e 1 1 2 e 3 e 2 e 4 e 5 3 e 6 magnify Thus deg(2) = 7 even though the vertex is only incident with 5 edges. Q: How to define this formally? 15

Degree A: Add 1 for every regular edge incident with the vertex and 2 for every loop. Thus deg(2) = 1 + 1 + 1 + 2 + 2 = 7 e 1 1 2 e 3 e 2 e 4 e 5 3 e 6 magnify Degree is sometimes called valence. 16

Degree for Directed Graphs n n n For directed graphs vertex w is adjacent to vertex v if and only if (v, w) E. Indegree deg - (w) is the number of edges (v,w). OutDegree deg + (w) is the number of edges(w,v). 1 1 2 5 2 5 3 4 3 4 17

Handshaking Theorem e 1 1 2 e 6 e 3 e 2 e 4 e 5 3 4 e 7 There are two ways to count the number of edges in the above graph: 1. Just count the set of edges: 7 2. Count seeming edges vertex by vertex and divide by 2 because double-counted edges: ( deg(1)+deg(2)+deg(3)+deg(4) )/2 = (3+7+2+2)/2 = 14/2 = 7 18

Handshaking Theorem THM: In an undirected graph E = 1 2 In a directed graph e E deg(e) E = deg + (e) = deg (e) e E e E Q: In a party of 5 people can each person be friends with exactly three others? 19

Handshaking Theorem A: Imagine a simple graph with 5 people as vertices and edges being undirected edges between friends (simple graph assuming friendship is symmetric and irreflexive). Number of friends each person has is the degree of the person. Handshaking would imply that E = (sum of degrees)/2 or 2 E = (sum of degrees) = (5 3) = 15. Impossible as 15 is not even. In general: 20

Handshaking Theorem Lemma: The number of vertices of odd degree must be even in an undirected graph. Proof (by contradiction): Assume that this is false. Then, we d have deg(e) =2 E = e E The second term must be odd (since the sum of an odd number of odds is odd), and so we have 2E = even number + odd number. This is impossible. e E s.t. even(deg(e)) + e E s.t. odd(deg(e)) deg(e) deg(e) 21

GRAPH PATTERNS 22

Graph Patterns: Complete Graphs - K n A simple graph is complete if every pair of distinct vertices share an edge. The notation K n denotes the complete graph on n vertices. K 1 K 2 K 3 K 4 K 5 23

Graph Patterns: Cycles - C n The cycle graph C n is a circular graph with V = {0,1,2,,n-1} where vertex i is connected to i +1 mod n and to i -1 mod n. They look like polygons: C 1 C 2 C 3 C 4 C 5 24

Graph Patterns: Wheels - W n The wheel graph W n is just a cycle graph with an extra vertex in the middle: W 1 W 2 W 3 W 4 W 5 Usually consider wheels with 3 or more spokes only. 25

Graph Patterns: Cubes - Q n The n-cube Q n is defined recursively. Q 0 is just a vertex. Q n+1 is gotten by taking 2 copies of Q n and joining each vertex v of Q n with its copy v : Q 0 Q 1 Q 2 Q 3 Q 4 (hypercube) 26

Bipartite Graphs A simple graph is bipartite if V can be partitioned into V = V 1 V 2 so that any two adjacent vertices are in different parts of the partition. Another way of expressing the same idea is bichromatic : vertices can be colored using two colors so that no two vertices of the same color are adjacent. 27

Bipartite Graphs EG: C 4 is a bichromatic: And so is bipartite, if we redraw it: 28

Bipartite Graphs EG: C 4 is a bichromatic: And so is bipartite, if we redraw it: 29

Bipartite Graphs EG: C 4 is a bichromatic: And so is bipartite, if we redraw it: 30

Bipartite Graphs EG: C 4 is a bichromatic: And so is bipartite, if we redraw it: 31

Bipartite Graphs EG: C 4 is a bichromatic: And so is bipartite, if we redraw it: 32

Bipartite Graphs EG: C 4 is a bichromatic: And so is bipartite, if we redraw it: 33

Bipartite Graphs EG: C 4 is a bichromatic: And so is bipartite, if we redraw it: 34

Bipartite Graphs EG: C 4 is a bichromatic: And so is bipartite, if we redraw it: 35

Bipartite Graphs EG: C 4 is a bichromatic: And so is bipartite, if we redraw it: 36

Bipartite Graphs EG: C 4 is a bichromatic: And so is bipartite, if we redraw it: 37

Bipartite Graphs EG: C 4 is a bichromatic: And so is bipartite, if we redraw it: 38

Bipartite Graphs EG: C 4 is a bichromatic: And so is bipartite, if we redraw it: 39

Bipartite Graphs Q: For which n is C n bipartite? 40

Bipartite Graphs Q: For which n is C n bipartite? A: C n is bipartite when n is even. For even n color all odd numbers red and all even numbers green so that vertices are only adjacent to opposite color. If n is odd, C n is not bipartite. If it were, color 0 red. So 1 must be green, and 2 must be red. This way, all even numbers must be red, including vertex n-1. But n-1 connects to 0 à ß. 41

Graph Patterns Complete Bipartite - K m,n When all possible edges exist in a simple bipartite graph with m red vertices and n green vertices, the graph is called complete bipartite and the notation K m,n is used. For example, K 2,3 K 4,5 42

PATHS AND COMPONENTS 43

Paths in Graphs n n n n n n A path in a graph is a sequence of vertices w 1, w 2, w 3,, w n such that (w i, w i+1 ) E for 1 i < n. The length of a path in a graph is the number of edges on the path. The length of the path from a vertex to itself is 0. A simple path is a path such that all vertices are distinct, except that the first and last may be the same. A cycle in a graph is a path w 1, w 2, w 3,, w n, w V such that: q q q there are at least two vertices on the path w 1 = w n (the path starts and ends on the same vertex) if any part of the path contains the subpath w i, w j, w i, then each of the edges in the subpath is distinct (i. e., no backtracking along the same edge) A simple cycle is one in which the path is simple. A directed graph with no cycles is called a directed acyclic graph, often abbreviated as DAG 44

Paths in Graphs (2) n How many simple paths from 1 to 4 and what are their lengths? 1 1 2 5 2 5 3 4 3 4 45

Connectedness in Graphs n n n n An undirected graph is connected if there is a path from every vertex to every other vertex. A directed graph is strongly connected if there is a path from every vertex to every other vertex. A directed graph is weakly connected if there would be a path from every vertex to every other vertex, disregarding the direction of the edges. A connected component of a graph is any maximal connected subgraph. Connected components are sometimes simply called components. 46

Disjoint Sets and Graphs n Disjoint sets can be used to determine connected components of an undirected graph. n For each edge, place its two vertices (u and v) in the same set -- i.e. union( u, v ) n When all edges have been examined, the forest of sets will represent the connected components. n Two vertices, x, y, are connected if and only if find( x ) = find( y ) 47

Undirected Graph/Disjoint Set Example 1 6 2 5 7 8 3 4 Sets representing connected components { 1, 2, 3, 4, 5 } { 6 } { 7, 8, 9 } 9 48

DiGraph / Strongly Connected Components a b g d c f h e j i 49

Subgraphs Notice that the 2-cube occurs inside the 3-cube. In other words, Q 2 is a subgraph of Q 3 : DEF: Let G = (V,E ) and H = (W,F ) be graphs. H is said to be a subgraph of G, if W V and F E. Q: How many Q 2 subgraphs does Q 3 have? 50

Subgraphs A: Each face of Q 3 is a Q 2 subgraph so the answer is 6, as this is the number of faces on a 3-cube: 51

Unions In previous example can actually reconstruct the 3-cube from its 6 2-cube faces: 52

Unions If we assign the 2-cube faces (aka Squares) the names S 1, S 2, S 3, S 4, S 5, S 6 then Q 3 is the union of its faces: Q 3 = S 1 S 2 S 3 S 4 S 5 S 6 53

Unions DEF: Let G 1 = (V 1, E 1 ) and G 2 = (V 2, E 2 ) be two simple graphs (and V 1,V 2 may or may not be disjoint). The union of G 1, G 2 is formed by taking the union of the vertices and edges. That is, G 1 G 2 = (V 1 V 2, E 1 E 2 ). A similar definitions can be created for unions of digraphs, multigraphs, pseudographs, etc. 54

GRAPH REPRESENTATION 55

Graph Representation n Data elements: q Vertices and Edges n Operations: q getdegree( u ) -- Returns the degree of vertex u (outdegree of vertex u in directed graph) q getadjacent( u ) -- Returns a list of the vertices adjacent to vertex u (list of vertices that u points to for a directed graph) q isadjacentto( u, v ) -- Returns TRUE if vertex v is adjacent to vertex u, FALSE otherwise. n Has some associated algorithms to be discussed. 56

Adjacency Matrix Implementation n Uses array of size V V where each entry (i,j) is boolean q TRUE if there is an edge from vertex i to vertex j q FALSE otherwise q store weights when edges are weighted n Very simple, but large space requirement = O( V 2 ) n Appropriate if the graph is dense. n Otherwise, most of the entries in the table are FALSE. n For example, if a graph is used to represent a street map like Manhattan in which most streets run E/W or N/ S, each intersection is attached to only 4 streets and E < 4* V. If there are 3000 intersections, the table has 9,000,000 entries of which only 12,000 are TRUE. 57

Undirected Graph / Adjacency Matrix 1 2 5 3 4 1 2 3 4 5 1 0 1 0 0 1 2 1 0 1 1 0 3 0 1 0 1 0 4 0 1 1 0 1 5 1 0 0 1 0 58

Directed Graph / Adjacency Matrix 1 2 5 3 4 1 2 3 4 5 1 0 1 0 0 0 2 0 0 0 1 0 3 0 1 0 0 0 4 0 0 1 0 1 5 1 0 0 1 0 59

Weighted, Directed Graph / Adjacency Matrix 2 1 8 2 5 6 5 7 2 3 4 3 1 2 3 4 5 1 0 2 0 0 0 2 0 0 0 6 0 3 0 7 0 0 0 4 0 0 3 0 2 5 8 0 0 5 0 60

Adjacency Matrix Performance n Storage requirement: O( V 2 ) n Performance: getdegree ( u ) isadjacentto( u, v ) getadjacent( u ) 61

Adjacency List Implementation n n n If the graph is sparse, then keeping a list of adjacent vertices for each vertex saves space. Adjacency Lists are the commonly used representation. The lists may be stored in a data structure or in the Vertex object itself. q Vector of lists: A vector of lists of vertices. The i- th element of the vector is a list, L i, of the vertices adjacent to v i. If the graph is sparse, then the space requirement is O( E + V ), linear in the size of the graph If the graph is dense, then the space requirement is O( V 2 ) 62

Vector of Lists 1 2 8 2 5 6 5 7 3 4 3 2 1 2 3 4 2 4 2 3 5 5 1 4 63

Adjacency List Performance n Storage requirement: n Performance: getdegree( u ) isadjacentto( u, v ) getadjacent( u ) 64

GRAPH ISOMORPHISM 65

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: 66

Graph Isomorphism DEF: Suppose G 1 = (V 1, E 1 ) and G 2 = (V 2, E 2 ) are undirected or 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 from f (u) to f (v) in G 2. Then f is called an isomorphism and G 1 is said to be isomorphic to G 2. 67

Graph Isomorphism - Example EG: Prove that is isomorphic to. First label the vertices: 1 2 3 1 2 3 5 4 5 4 68

Graph Isomorphism - Example Next, set f (1) = 1 and try to walk around clockwise on the star. 1 2 3 1 2 3 5 4 5 4 69

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. 2 3 1 1 5 4 2 5 4 3 70

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. 2 1 3 1 5 4 2 5 4 3 71

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 2 1 3 1 2 3 5 4 5 4 72

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. 2 1 3 1 2 3 5 4 5 4 73

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. 1 2 3 1 2 3 5 4 5 4 74

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. 1 2 3 1 2 3 5 4 5 4 75

Properties of Isomorphims Isomorphic graphs have the same: n number of vertices and edges n degrees at corresponding vertices n types of possible subgraphs n any other property defined in terms of the basic graph theoretic building blocks! 76

Graph Isomorphism -Negative Examples Once you see that graphs are isomorphic, it is easy to prove it. To prove that two graphs are not isomorphic is usually more difficult. q Need to show that no function can exist that satisfies defining properties of isomorphism. q In practice, you try to find some intrinsic property that differs between the 2 graphs in question. 77

Graph Isomorphism -Negative Examples A: Why are the following non-isomorphic? u 1 u 2 u3 v 1 v 2 v 3 u 5 u 4 v 4 78

Graph Isomorphism -Negative Examples A: 1 st graph has more vertices than 2 nd. Q: Why are the following non-isomorphic? u 1 u 2 u3 v 1 v 2 v 3 u 5 u 4 v 5 v 4 79

Graph Isomorphism -Negative Examples A: 1 st graph has more edges than 2 nd. Q: Why are the following non-isomorphic? u 1 u 2 u3 v 1 v 2 v 3 u 5 u 4 v 5 v 4 80

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? u 1 u 2 u 3 u 4 u 5 u 6 v 1 v 2 v 3 v 4 v 5 v 6 u 7 u 8 u 9 v 7 v 8 v 9 81

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? u 1 u 2 u 3 u 4 u 5 u 6 v 1 v 2 v 3 v 4 v 5 v 6 u 7 u 8 v 7 v 8 82

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. u 1 u 2 u 3 u 4 u 5 u 6 v 1 v 2 v 3 v 4 v 5 v 6 u 7 u 8 v 7 v 8 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. 83

Graph Isomorphism -Negative Examples A: This subgraph is not a subgraph of the left graph. u 1 u 2 u 3 u 4 u 5 u 6 v 1 v 2 v 3 v 4 v 5 v 6 u 7 u 8 v 7 v 8 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 84 vertex has mapped to a deg. 2 vertexà ß