Title: Graphs
 1Chapter 9
  2Chapter 9. Graphs
- Old subject with many modern applications 
- Introduced by L. Euler, who used it to solve the 
 famous Konisberg bridge problem.
- Example applications 
- determine if a circuit can be implemented on a 
 planer circuit board (planer graph)
- distinguish b/t two chemical compounds with the 
 same molecular formula but with different
 structures.
- determine if two computers are connected in a 
 network.
- schedule (with task precedence information given, 
 find an execution plan.)
- ..
3table of contents
- Introduction 
- Graph terminology 
- Representing graph and graph isomorphism 
- Connectivity 
- Euler and Hamilton paths 
- Shortest path problems 
- Planer graphs 
- Graph coloring
49.1 Introduction
- Graph discrete structure consisting of vertices 
 and edges that connect these vertices.
- Types of graphs 
- simple graph G(V,E) where E is a set of 
 unordered pairs of distinct elements of V.
- multi-graph allow multiple edges b/t two 
 distinct vertices.
- pseudograph allow self-loop and multiple edges 
- digraph (directed graph) edges are ordered pairs 
 of vertices.
- Directed multigraph allow multiple edges b/t any 
 two (possibly identical) vertices.
- Hybrid Graph allow both directed and undirected 
 edges.
- Weighted (or labeled) graph Each edge is 
 associated with a weight (or a label).
5Formal definitions
- Def 2 (multigraph) G(V,E,f) where 
-  f E-gt u,v  u,v ?V and u ? v with f(e) 
 containing the two vertices the edge e is
 connected to.
- If f(e1)  f(e2) gt e1 and e2 are parallel or 
 multiple edges.
- Def 3 A pseudo graph G  (V,E,f) where 
- f E -gt u,v  u,v ? V. 
- Note if f(e)  u gt e is a self-loop on u. 
- Note If there is no worry of confusion, we 
 usually use u,v to identify the edge e with
 f(e)  u,v.
- Def 4 a digraph G(V,E) where E is a subset of 
 V2.
- Def 5 A directed multigraph G(V,E,f) where f 
 E -gt V2.
-  If f(e1)  f(e2) gt e1 and e2 are parallel 
 or multiple edges.
-  note f(e1)  (u,v) /\ f(e2)  (v,u) /\ u ¹ v 
 gt e1 and e2 are not parallel edges.
6Labeled (or weighted) grapgh
-  A labeled graph G  (V,E,f, L, l) where 
- (V,E,f) is a graph of any kind (without 
 labeling),
- L is the set of labels, and 
- l E-gtL is the labeling function. if f(e)  w, we 
 say e is an w-labeled edge or simply an w-edge.
- Hyper graph edges can connect more than 2 
 vertices
- e.g hyper k-graph G(V,E,f) where fE-gt Vk. 
- Summary 
-  type directed edge? 
 multiedge? loop?
-  simple no no no 
-  multigraph no yes no 
-  pseudo no yes yes 
-  digraph yes no yes 
-  directed- yes yes yes 
-  -multigraph
7Graph models
- Ex1 Niche overlap graphs in ecology 
-  G(V,E) is a simple graph where 
- V is the set of species. 
- u,v ? E iff u and v compete for food. 
- Ex2V Persons 
-  (u,v) ? E iff u can influence v. 
 gtInfluence graph (digraph)
-  (u,v) ? E iff u, v know each othergt 
 Acquaintance graph
-  
 (undirected graph)
- Ex3 Round-Robin Tournaments 
-  One where each team plays each other team 
 exactly once.
-  V the set for all teams 
-  (u,v) in E iff team u beats team v. 
-  Ex 4-team Round-Robin tournament
8Graph model (cont'd)
- Ex 4 (precedence graph and concurrent 
 processing)
-  eg 1. x  y 1 
-  2. z  f(x) 
- gt (1) must be executed before (2) no matter 
 which processors execute (1) or (2), since (2)
 must use the execution result of (1).
-  The executed-before relation in a program can be 
 represented by a digraph G(V,E) where
- V the set of statements in the program 
- (u,v) ? E means u must be executed before v. 
- note if (u,v) and (v,w) ? E, gt (u,w) ? E . 
-  Hence E is transitive.
9Precedence graph of a program
- Ex 4 
-  s1 a  0 
-  s2 b  1 
-  s3 a  a1 
-  s4 d ba 
-  s5 e  d1 
-  s6 e  cd 
- gt What is the precedence graph of this program? 
-  
s1
s2
s3
s4
s6
s5 
 10Precedence graph of a program
- Ex 4 
-  s1 a  0 
-  s2 b  1 
-  s3 a  a1 
-  s4 d ba 
-  s5 e  d1 
-  s6 e  cd 
- gtProblems 
-  1. Minimum time needed to complete the program 
 using multiple processors? (Depth)
-  gt length of longest paths 1 
-  2. Minimum  of processors needed to complete 
 the program in minimum time ? (Width)
-  gt p1 s1,s3,s4,s6, p2s2,-,-,s5 
-  
s1
s2
s3
s4
s6
s5 
 119.2 Graph terminology
- Def 1 G  (V,E)  undirected graph 
-  if u --e-- v gt 
- u and v are adjacent (or neighbors) 
- Edge e is incident with u ( v). 
- e connects u and v. 
- u and v are end points of e. 
- Def 2 G(V,E) undirected graph v ? V gt 
- degree of v deg(v)  edges incident with it  
 e  v is an end point of e and e is an edge.
- If deg(v)  0 gt v is isolated. 
- If deg(v)  1 gt v is pendant (or hang). 
- Ex In Fig 1, E has degree 3, D is pendant and G 
 is isolated.
12Handshaking theorem
- Theorem 1 G  (V,E)  a undirected graph 
-  gt S v ? V deg(v)  2 E. // ???  ??? 
- pf Simple induction on the number of edges E. 
-  (Intuition vertex deg  socket, edge end  
 plug )
- Ex G(V,E) with V10  each vertex with degree 
 6.
-  gt E  ? 
- Corollary The sum of the degrees of the vertices 
 of an undirected graph is even.
- Theorem 2 The number of vertices in a graph with 
 odd degree is even.
- pf 
-  Sv in V deg(v)  Sv in V /\ deg(v) is odd deg(v) 
 Sv in V /\ deg(v) is even deg(v)
- gt Sv in V /\ deg(v) is odd deg(v) is even gt 
 v in V  deg(v) is odd is even. QED
13Terminology for digraphs
- Def 3 G(V,E) a digraph 
- if u --e--gt v then 
- u is adjacent to v 
- v is adjacent from u 
- u is the initial (or starting) vertex of e 
- v is the end (or terminal) vertex of e 
- e is an edge from u to v. 
- Def. 4 in-degree out-degree 
- In-deg(v)  edge coming into v   e ? E  v is 
 the terminal vertex of e .
- out-deg(v)  edge going out from v   e ? E  
 v is the starting vertex of e .
- Theorem 3 Sv in V in-deg(v)  Sv in V 
 out-deg(v)  E.
14underlying undirected graph
- G  (V,E,f)  a directed graph 
- gt Its underlying undirected graph is a pseudo 
 graph G'(V,E,f') where f'E -gt u,v  u,v ?
 V s.t.
-  f'(e)  a,b iff f(e)  (a,b). 
- Note 
-  1. Both G and G' has the same number of edges ( 
 E ).
-  2. If both (u,v) and (v,u) are edges in G gt 
 (u,v) and (v,u) are two distinct edges in G'.
- Ex G(1,2,3, (1,2),(1,2),(1,3),(2,3),(3,2)) 
-  gt G'  ?
15Special simple graphs
- Ex 4 complete graphs Kn  (V,E) where 
-  V n and E  x,y  x and y are distinct 
 vertices of V.
- Ex K1,..., K5  ? 
- Ex 5 Cycles Cn (n gt2)  (V, E) where V  
 1,2,..., n and
-  E  i, i1  i  1,..., n-1 U n, 1. 
- Ex C3,C4,C5,C6  ? 
- Ex 6 wheels (n gt 2) Wn  (V,E) where V  
 0,1,...,n and
-  E  0, i   i  1,...,n U i,i1  i  
 1,...,n-1 U n,1.
-  W3,W4,W5  ? 
- Ex7 n-cubes Qn  (V,E) where V  0,1n is the 
 set of all bit strings of length n and E x,y
 x and y differ at exactly one position. Ex
 11011 and 11111 is connected.
- Ex Q1, Q2, Q3, Q4  ?
16Bipartite Graphs
- Def 5 G  (V,E) is bipartite iff there is a 
 binary partition V1,V2 of V s.t. for all e ? E,
 one end point of E is in V1 and the other end
 point is in V2.
- Ex8 Is C6 bipartite ? (yes! why?) 
- Ex9 Is K3 bipartite ? (no! why ?) 
- Ex10 Which of Fig G and H is bipartite ? 
- Ex11 Km,n (complete bipartite graph) 
-  Km,n  (u1,...,um U v1,...,vn, E , where 
-  E  ui, vj  i1..m v  1..n 
- eg K2,3, K3,3  ? 
- problem Km,n has ? edges
17Ex 13 interconnection network for processors
- Types of connections 
- Linear array 
- mesh 
- Hyper cube (m-cube) 
- Main measures 1. links 2. longest 
 distance
- linear array n-1 n-1 
- mesh 2sqrt(n)(sqrt(n)-1) 2(sqrt(n) -1) 
- m-cube(n2m) nm/2  O(n lg n) m  lg n 
18New graphs from old
- Def 6 subgraph G(V,E) a graph 
-  H (V',E') is a subgraph of G iff 
- V'Í V and E' Í E and 
- H is a graph (i.e., if e Î E' is an edge 
 connecting u and v in V, then u, v must belong to
 V'.)
- Ex G K5 find a subgraph H of K5. 
- Def 7 union of simple graphs G1(V1,E1) 
 G2(V2,E2) two graphs. gt G1UG2 def (V1 U
 V2, E1U E2)
-  Note Not only V1 and V2, but also E1 and E2 may 
 overlap.
- ExG1  (a,b,c,d,e, ab,bc,ce,be,ad,de) 
-  G2  (a,b,c,d,f, ab,bc,bd,bf 
-  gt G1 U G2  ? 
- Def 7'  Disjoint union of graphs 
-  Disjoin union of G1 and G2  ?
199.3 Graph representation and Graph isomorphism
- Graph representation  suitable only for finite 
 graphs
- adjacent list (for graphs w/o multiple edges) 
 O(EV)
- adjacent matrices O(V2) 
- incident matrices (or list)  O(VxE). 
- adjacent list for each vertex v, av is the 
 list of all vertices adjacent with/from v.
- adjacent matrix Mu,v1 iff u,v (or (u,v) if 
 directed) is an edge.
- incident matrix Iu,e  1 iff u ? f(e), or (for 
 directed graph)
-  iu,e 1 (or -1) iff u is the 
 starting (or ending) vertex of e.
- Ex (P612 Fig1Fig2) 
-  
20Graph isomorphism
- Def . 1 G1(V1,E1), G2(V1,E2) two simple or 
 digraphs
-  G1 and G2 are isomorphic iff  a bijection 
 hV1-gtV2 s.t.
-  for all u,v in V1, 
-  u,v (or (u,v)) Î E1 iff 
 h(u),h(v) (or (h(u),h(v))) Î E2.
- Such h is called an isomorphism (b/t G1 and G2). 
- Ex 8 Are G  (1234, 12,23,34,41) and 
 H(abcd,ad,ac,bc,bd) isomorphic ?
- Fact If G1 and G2 are isomorphic gt V1V2 
 E1E2.
-  and G1 and G2 has the same degree 
 type.
- Def For each G(V,E), type(G) is the multiset 
 deg(v)  v ? V.
219.4 Connectivity
- Def 1 G  (V,E,f) an undirected multi-graph 
- A path a of length n gt 0 from u to v is a 
 sequence of edges e1, e2, ...,en s.t. f(e1)
 u,x1, f(e2)  x1,x2,,f(en)  xn-1,v.
-  e1 e2 e3 e4 e5 
 e6 en-1 en
- ux0----x1-----x2----x3----x4----x5---- 
 .----xn-1----xnv
- If G is a simple graph gt a can be identified by 
 the sequence of vertices x0u, x1,..., xn-1, xn
 v.
- a is a circuit (or cycle) iff x0  xn. 
- a is simple if all edges in the path are distinct 
 (i.e., for all 0 iltj n, ei ¹ ej ).
22Connectivity (cont'd)
- Def. 2 G  (V,E,f) a directed multigraph 
- A path a of length n gt 0 from u to v is a 
 sequence of edges e1, e2, ...,en s.t. f(e1)
 (u,x1), f(e2)  (x1,x2),...f(en)  (xn-1,v).
- If G is a digraph gt a can be identified by the 
 sequence of vertices x0u, x1,..., xn-1, xn  v.
- a is a circuit (or cycle) iff x0  xn. 
- a is simple if all edges in the path are distinct 
 (i.e., for all 0ltiltjltn1, ei ¹ ej ).
- Def 3 A undirected graph is connected if there 
 is a path between every pair of distinct vertices.
23Theorem about simple paths
- Theorem 1 There is a simple path between every 
 pair of distinct vertices of a connected
 undirected multi-graph.
- Pf (u,v) any two distinct vertices of G. 
-  Since G is connected, there exist paths from u 
 to v.
-  Let a  e1,e2,...,en be any path of least length 
 from u to v.
-  Then a must be a simple path. If it were not, 
 then there would be
-  0 i ltj n s.t. ei  ej. 
-  gt the path b  e1,..,ei-1,ej1,..,en or 
 e1,..,ei,ej1,..,en is another path from u to v
 with length lt a, a contradiction!. QED
-  
-  
reaching xi means reaching xj if xi  xj 
 24(No Transcript) 
 25A theorem about simple circuits
- G(V,E)  a undirected multi-graph, u,v two 
 vertices in G.
- Theorem if there are two distinct simple paths 
 from u to v, then there is a simple circuit in G.
- PfLet 
- a1 x0 --(e1)-- x1 --(e2)-- x2 --(e3)----(et)--xt
 --(et1)--xt1-----xnv,
- and 
- a2 x0 --(e1)-- x1 --(e2)-- x2 --(e3)----(et)--xt
 --(et1)--yt1-----ymv,
- be two distinct simple paths fro u to v in G, 
- if either a1 or a2 contains a (simple) circuit, 
 then we are done.
- Otherwise let et1, et1 the first edges with 
 et1 ?et1 .
- let J be the least number in t1,,m such that 
 yJ  xs where s is any vertex occurring in path
 a1 (I.e., yJxs ? x0,,xn).
- Note since ym  xn v, such J must exist. 
26A theorem about simple circuits
- Now it is easy to see that 
-  1. if s  t then  xs --(es1)-- 
 xs1----(et)xt  U
-   xt--(et1)--yt1----(eJ-1)-yJ  is a 
 circuit. This is not possible since all edges of
 the circuit are part of a2, but a2 is assumed to
 have no simple cycle.
- 2. If s gt t then xt--(et1)--xt1---(es-1)--xs
 U
-   xt--(et1)--yt1----(eJ-1)-yJ  ---() is 
 a simple circuit.
-  Note xt,xt1,,xs ? xt,yt1,,yJ  xt, 
 yJxs
-  if there were ea  eb gt f(ea)  xt, xt1xs 
 xt,yt1yJ
-  gt abt1 gt e t1  et1 a 
 contradiction!
-  o/w, by def, () is a simple circuit.
27Xt
et1
xs
u
yJ
et1
v
es
xs
eJ
yJ
eJ
yJ-1 
 28Connected Components
- G(V,E) a undirected graph 
-  1. Any maximal connected subgraph of G is called 
 a connected component of G.
-  (i.e., G'(V',E') is a connected component of 
 G iff
-  1. G' is a connected subgraph of G and 
-  2. There is no connected subgraph of G 
 properly covers G'.)
-  Ex 
29Connected components (cont'd)
- Note 1. Every two distinct connected components 
 are disjoint.
- Pf G1(V1,E1), G2(V2,E2) two distinct 
 connected components.
-  If G1 and G2 overlap (i.e., V1Ç V2 ¹ Æ ). 
-  gt v ? V1ÇV2 gt G3  (V1 ? V2,E1UE2) is a 
 connected subgraph larger than G1 and G2, a
 contradiction! QED
- Note 2. Every connected subgraph G' of G must be 
 contained in some connected component of G.
30Connected components (cont'd)
- Pf Let i  0 and Gi  G'. If Gi is maximal 
 then we are done.
-  o/w, there is connected Gi1 properly contains 
 Gi.
-  If Gi1 is maximal, then we are done o/t let 
 i  i1 and repeat the same process, we will
 eventually (if G is finite) get a maximal graph
 containing G'.
- Note 3. Let G1,G2,...,Gk be the set of all 
 connected components of G. Then G  Ui  1..k Gi
- pf 1. Ui1,k Gi Í G since every Gi Í G. 
-  2. G Í Ui1,kGi since every edge and every 
 vertex must belong to some connected component.
31connected components (cont'd)
- Note 4 Every undirected graph G has a unique set 
 of connected components.
- Pf Let G  (V,E). 
-  For each vertex u in V, let Gu  (Vu,Eu) where 
-  Vu  v  there is a path from u to v Í V, and 
-  Eu  e  f(e) Í Vu Í E. 
-  It is easy to show that Gu is a connected 
 component of G.
- Moreover, we have 
-  1. for all u, v ? V Gu  Gv iff VuVv /\ EuEv 
 and
-  2. for all e ? E if f(e)  u,v gt GuGv and 
 e Î Eu.
- Hence the set of connected components of G  Gu 
 u Î V.
- Note Connected components in graphs play a role 
 like equivalence classes in equivalence relations.
32The connectivity relation in a graph
- G(V,E)  an undirected graph 
-  Let  be the connectivity relation induced by 
 G, i.e., for all u,v in V, u  v iff either u  v
 or u and v are connected in G.
- Theorem 
-  1.  is an equivalence relation on V. (Hence V/ 
 is a partition of V)
-  2. For all u,v in V, u and v are connected iff 
 u and v are in the same block of the partition.
-  3. For each u Î V, Gu  (Vu,Eu)  (u, Eu) 
 where
-  ES is the set of edges restricted to the 
 vertex set S, i.e.,
-  e Î E  f(e) Í S. 
- 4. The set of all connected components of G  
-   (S, ES)  S Î V/. 
-  
33cut vertices and cut edges
- A vertex in a graph is called a cut vertex (or 
 articulation point) if the removal of this vertex
 and all edges incident with it will result in
 more connected components than in the original
 graph.
- Corollary The removal of a cut vertex (and all 
 edges incident with it) produces a graph that is
 not connected.
- Cut edges (bridges) 
-  The removal of it will result in graph with more 
 connected components.
- Ex 4 Determine all cut vertices 
-  and all bridges in the right graph. 
- cut vertices  ? 
- bridges  ?
34Strongly connected digraphs
- Def 4 G(V,E) a directed graph 
-  G is strongly connected iff there are paths from 
 u to v and from v to u for every pair of distinct
 vertices u and v in G.
- Def 5 G is weakly connected iff there is a path 
 between every pair of distinct vertices in G.
- Ex 5 
G
H
G is strongly connected. H is weakly connected. 
 35Path and isomorphism
- P(-)  a property on graphs 
-  Ex P(G)  "G has a simple cycle of length gt 2" 
-  P(G)  " G has an even number of vertices 
 and edges".
-  P(G)  ... 
- P is said to be an isomorphic invariant if P is 
 invariant under all isomorphic graphs, i.e., for
 all graph G1 and G2,
-  if G1 and G2 are isomorphic then P(G1) ? 
 P(G2).
- Ex1 Pm,n(G)  " G has m vertices and n edges ", 
 where m and n are some constant numbers, is an
 isomorphic invariant.
- Corollary G1,G2 two graphs P an isomorphic 
 invariant
-  If P(G1) and P(G2) have distinct truth value, 
 then G1 and G2 are not isomorphic.
36More on graph isomorphism
- Ex2 P2(G)  "G has a simple circuit of length 
 k", where k is a number gt 2, is an isomorphic
 invariant.
- pf G1  (V1,E1), G2  (V2,E2) two simple 
 graphs.
-  Let hV1-gtV2 be any isomorphism from G1 to G2. 
-  Then if x0 --(e1)--gt x2--(e2)--gt x3--.... 
 --gt(en)--gtxn is a simple path on G1, then the
 sequence
- h(x0) --gt(h(e1))--gth(x2)--(h(e2))--gth(x3)--...--gt(
 (h(en))--gth(xn)
-  is also a simple path on G2. 
- Ex 6 G and H are not isomorphic since H has s 
 simple cycle of length 3 (1261), whereas G has no
 simple cycle of length 3.
G
H 
 37Counting paths b/t vertices
- G(V,E) with VV1,...,Vn  a simple graph with 
 adjacent matrix M.
-  gt  different paths of length k from vi to vj 
 (Mk)ij, where scalar multiplication are integer
 product (instead of boolean AND).
- Pf by math ind on k. 
-  1. basis step k  1 gt By def. Mij is the 
 number of edges ( path of length 1) from vi to
 vj.
-  2. Ind. step assume (Mm)ij  paths of length m 
 from vi to vj for all m lt k and for all ui, uj ?
 V.
-  But paths of length k from vi to vj  
-  paths of length k-1 from ui to v1 x paths of 
 length 1 from v1 to vj
-  paths of length k-1 from ui to v2 x paths of 
 length 1 from v2 to vj
-  ...  
-  paths of length k-1 from ui to vn x paths of 
 length 1 from vn to vj
-  St1..n (Mk-1)it x Mtj  (MK)ij.
38Example
- Ex 8 G(1,2,3,4, 12,13,24,34) 
-  gt M  0110100110010110 
-  gt M4  8008088008808008 
-  gt there are 8 different paths of length 4 from 
 a to d.
- Notes 
- 1. The length of the shortest path from vi to vj 
 is the least k s.t. (MK)ij ! 0.
- 2. G is connected if (Sk1..n-1 Mk )ij ! 0 for 
 all 1 iltj  n.
- pf G is connected gt 
-  for any i ? j, there is a simple path (of length 
 t lt n) from vi to vj
- gt (Mt)ij gt 0 gt (Sk1..n-1 Mk )ij ! 0. QED
399.5 Euler and Hamilton paths
C
- The seven bridges problem 
- Problem Is there a path 
-  passing through all bridges 
- w/o crossing any bridge twice? 
- Multigraph model 
- problem Is there a simple 
-  path of length 7 ?
A
D
B
The town of Konigsburg
B 
 40Eular paths and Eular cycles
- Def. 1 An Eular path in a multigraph G is a 
 simple path containing all edges.
- Def. 2 An Eular circuit in a multigraph G is a 
 simple circuit containing all edges.
- Ex1 In G1,G2 and G3 
- G1 has a Eular 
-  circuita,e,c,d,e,b,a. 
- G3 has a Eular path 
- bedbadca. 
- Note If there is a Eular circuit beginning from 
 a vertex v, then
- there is a Eular path or circuit beginning from 
 any other vertex.
-  
41Necessary and sufficient conditions for Eular 
path and Eular circuit
- Theorem 1 A connected multigraph has an Eular 
 circuit iff each of its vertices has even degree.
- Corollary The seven-bridges problem has no Eular 
 circuit.
- pf "gt" G(V,E) any multigraph. 
-  Let a  x0 e1 x1 e2 x2 e2 x3 ... en xnx0 be any 
 Eular circuit.
-  For each vxi in V ? x0, since ei--gtxi --gt ei1 
 we have
-  deg(v)  2 j  xj  v and 0ltjltn and for x0 
 we have
-  deg(x0)  2xj  xj  x0 and 0ltjltn   2. 
-  Hence every vertex has even degree. 
-  (lt) by induction on E. If E0, by 
 definition, it has a Eular ckt.
-  O/W Let a  x0 e1 x1 e2 x2 e3 ... en xnx0 be 
 any simple circuit of length n gt0. (its
 existence will be shown later.)
-  If a is an Eular circuit, then we are done. O/W
42Proof of Eular condition
- Let G'  (V',E') be the resulting graph formed 
 from G by removing all e1,e2,...,en from E.
- Let G1(V1,E1),...,Gk(Vk,Ek) be all connected 
 components of G'.
- Since G is connected, x0,...,xn ÇVi ?  for 
 all 0ltiltk1.
-  (o/w there is no path from x0 to vertices in 
 Vi).
-  For each i let xti be any vertex in x0,...,xn 
 Ç Vi.
-  Since Gi(Vi,Ei) and Ei lt E and every vertex 
 in Vi has even degree, by ind. hyp. there is a
 Eular circuit ai  xti -gt...-gt xti in Gi.
- Now join each ai with a at xti 
- we can form a Eular circuit in G. QED.
43Example
g
 h
- a  a b c d a is a simple circuit in G. 
- removing all edges in a results in 
- three connected components 
-  G1,G2 and G3 intersecting with 
- a at a,d, b and c respectively. 
- By ind. hyp., 
-  Eular ckt a1  (a...a) 
-  (aedfghefa) 
-  a2 (b) and 
-  a3 (c i j c) 
- gt join a and all ai, we obtain 
-  a Eular ckt of G 
- (aedfghefa)b(cijc)da. 
f
e
a
d
G
i
b
j
c
g
 h
f
e
a
d
G1
i
G3
G2
b
j
c 
 44Eular condition for Eular path
- Theorem 2 A connected multigraph has an Eular 
 path which is not an Eular ckt iff it has exactly
 two vertices of odd degree.
- pf (gt) G(V,E) any multigraph. 
- Let a  x0 e1 x1 e2 x2 e2 x3 ... en xn !x0 be 
 any Eular path.
-  For each vxi in V ! x0 or xn, since ei--gtxi 
 --gt ei1 we have
-  deg(v)  2 j  xj  v and 0ltjltn and for v  
 x0 or xn we have
-  deg(v)  2xj  xj  v and 0ltjltn   1. 
-  Hence all vertices but x0 and xn have even 
 degree.
-  (lt) Let G'  (V, EUe) where e is a new edge 
 connecting a and b, which are vextices of G with
 odd degree.
-  gt Every vertex of G has even degree. By 
 theorem 1,
-   a Eular circuit a  a -gt .... -gtb-gt(e)-gta. 
-  gt removing e from a we get a Eular path of G. 
 QED
45Existence of simple circuit 
- Lemma G(V,E) a multigraph s.t. E !  and 
 every vertex has even degree. Then there exist a
 simple ckt in G of length gt0 from any vertex of
 nonzero degree.
- pf Let x0 be any vertex in G with nonzero 
 degree.
-  We construct a sequece of simple paths as which 
 eventually becomes a simple circuit as follows
-  0. Initially a1  x0 --e1-- x1. G1  (V, E 
 \e1).
-  note x1 in G1 has degree gt 0 hence there is 
 an edge leaving x1.
-  1. assume ai  x0...xi has been formed and Gi  
 (V, Ei E\e1,...,ei).
-  If xi  xk for klti then xk-ek- -  xi is a 
 simple ckt and we are done.
-  o/w by ind. hyp. xi has odd degree in Gi, 
 hence we can find an
-  edge e in Gi connecting xi and some other 
 vertex u.
-  now let ai1 ai -- e--u xi1  u  and i  
 i1
-  2. goto 1. 
-  Note the procedure must terminate since every 
 iteration of step 1 will result in one edge
 removed from G, but G has only a finite number of
 edges. So the produre will exit from step 1 with
 a simple ckt returned. QED
46Hamilton paths and circuits
- Def. 2 G(V,E) a multi graph. 
-  A path x0 e1 x1 e2 x2... en xn in G is a 
 Hamilton path if x0,...,xn  V and xi ? xj for
 all i ? j.
-  A ckt x0 e1 x1 e2 x2... en xnx0 (n gt 1) in G is 
 a Hamilton ckt if x1,...,xn  V and xi ? xj
 for all i ? j
- Ex 
- Problem Is there a simple principle, like that 
 of Eular ckt, to determine whether a multigraph
 has a Hamilton ckt ?
- Ans no ! In fact, there is no known polynominal 
 time algorithm
-  which can test if a given input multigraph has a 
 Hamilton ckt !
-  Theorem sufficient condition G a connected 
 simple graph with n ³ 3 vertices. If every
 vertex has degree ³ n/2, then G has Hamilton ckts.
47Grey code
- Ex 8 label regions of a disc 
-  Problem split the disc into 2n arcs of equal 
 length and assign a bit string of length n to
 each arc s.t. adjacent arcs are assigned bit
 strings differing from neighbors by one bit only.
- Problem 
- How to find Gray code 
- of n-bit length? 
- Rule Let Gn  (Vn,En) 
-  Qn be the n cube. 
- A cycle of the disc 
-  (a grey code) corresponds 
-  to an Hamilton ckt in Qn. 
489.6 Shortest path problems
- A weighted graph is a graph G(V,E) together with 
 a weighting function wE-gtR.
- A shortest path from a to b is a path 
-  a e1 x1 e2 x2 ... en b s.t. Si1,n w(ei) is 
 minimized.
- Problem Given a graph and two vertices a, z, 
 find the length of a shortest path from a to z.
- Alg Dijkstra's algorithm 
-  //L(v) the length of a shortest path from a 
 to v//
-  1. L(a)  0 L(v)  w(a,v) for all v ? a  S 
 a
-  2. While( S ?   ) // i.e., S ? V 
-  3. u  any vertex ? S with minimum L(u) 
-  4. S  S U u 
-  5. for( all v ? S) 
-  6. L(v)  min(L(u)  w(u,v), L(v))  
-  7. end / L(z)  length of the shortest path 
 from a to z.
49Example
  50(No Transcript) 
 51(No Transcript) 
 52Correctness (skipped!)
- Let Sk  the value of S after the kth iteration 
 of the for-loop.
- uk  the vertex added to Sk at the kth iteration. 
- Lk(v)  the value of L(v) after kth iteration. 
- Notes 
- Sk  u0a,u1,,uk. 
- Lj(uk)  Lk-1(uk) for all j gtk-1. 
- 1. L(a)  0 L(v)  w(a,v) for all v ? a  S  
 a
-  2. While( S !   ) 
-  3. u  any vertex ? S with minimum L(u) 
-  4. S  S U u 
-  5. for( all v ? S) 
-  6. L(v)  min(L(u)  w(u,v), L(v))  
-  7. end / L(z)  length of the shortest path 
 from a to z.
53Correctness of Dijkstra alg is a direct of the 
following lemma skipped)
- Lemma for all iterations k and all vertices v 
- 1. v ? Sk ? Lk(v) is the length of the 
 shortest of all paths from a to v.
- 2. v ? Sk ? Lk(v) is the length of the 
 shortest of all paths from a to v of which all
 intermediate vertices must come from Sk.
- pf By induction on k. 
- k  0 Then 
-  Sa , Lk (a)  0 is the shortest length from 
 a to a.
-  v ? a gt Lk (v)  w(a,v) is the length of the 
 shortest from a to v without passing through any
 vertex in S.
- k j1 gt 0 
-  By step 3, Lj(uk )  min  Lj(v)  v ? Sj , 
 and by step 4. Lk(uk)  Lj(uk).
-  Now we show that Lj(uk) (and hence Lk(uk) ) is 
 the shortest length of all paths from a to uk.
-  Assume it is not. Then there must exist a 
 shorter path a from a to uk, but such path must
 pass through a vertex not in Sj, since by
 ind.hyp, Lj(uk) is the least length of all paths
 passing only through Sj.
-  Now let a  a --- u ----uk where u is the 
 first vertex of a that are not in S and the
 subpath a --- u contains only vertices from Sj.
-  Then the length a   a---u   u --- uk, 
 but a ---u  Lj(uk) Hence it is impossible
 that a lt Lj(uk). This shows (1) is true.
-  
54(skipped)
- Now consider (2). let v be any vertex ? Sk . 
- The shortest path from a to v with intermediate 
 vertices among Sk either contains uk or not.
- 1. If it does not, then it is also a shortest 
 path from a to v containing vertices form Sj, and
 by ind.hyp, its length is Lj(v).
- 2. If it conatins uk, then uk must be the last 
 vertex before reaching v, since if
-  a---uk,t---v is a shortest path, then the 
 path a---t---v, where a---t is a shortest path
 from a to t, must be not longer than it.
- As a result, it has distance Lj(uk)  w(uk,v), 
 where by ind.hyp., Lj(uk) is the shortest
 distance of all paths from a to uk passing
 through Sj.
-  Finally, Step 6 assigns the minimum of both 
 cases to Lk(v) and hence sastisfies lemma (2).
55Find the distances b/t all pairs of vertices
- Floyd(G(V,E,w)) 
- 1. for i  1 to n 
-  for j  1 to n 
-  d(i,j)  w(i,j) 
- 2. for k  1 to n ---- d(i,j) is the distance 
 of minimum path from i
-  ----- to j with 
 interior points among 1,2,...,k.
-  for i  1 to n 
-  for j  1 to n 
-  d(i,j)  min (d(i,k)  d(k,j), d(i,j)) 
-  end / d(i,j) is the shortest distance b/t i 
 and j /
- running time  O(n3). 
- Note we can also apply Dijkstra's alg to obtain 
 a O(n3) alg for distances of all pairs of
 vertices.
569.7 Planar graphs
- Def 1 A graph is planar iff it can be redrawn in 
 the plane w/o any edges crossing. Such a drawing
 is called a planar representation of the graph.
- Ex1 K4 ok 
- Ex2 Q3 ok 
- Ex3 K3,3 not planar. 
- Eular's formula 
-  A planar representation splits the plane into 
 regions (including an unbounded one. Eular showed
 a relation among regions, E and V).
- Theorem 1 G(V,E) a connected planar graph with 
 e edges and v vertices. Then r (regions)  e - v
 2.
- pf By induction on G (V,E). 
-  Let G0,...., Gn  G be a sequence of subgraphs 
 of G.
57planar graphs (cont'd)
- G0 contains only one vertex. 
- Gi1 is formed from Gi by adding one edge 
 incident with one vertices in Gi (and a vertex if
 needed)
-  Let ri, ei, vi are regions, edges, vertices 
 in Gi respectively.
- Basis e0  0 r0  1 v0 1. Hence r0  e0 - v0 
 2.
- Ind. step assume ri  ei - vi  2. 
-  Let (ai1,bi1) be the edges added to Gi to form 
 Gi1.
-  case 1 ai1,bi1  ? Vi 
-  gt ai1 and bi1 must be on the boundary of a 
 common region. (o/w crossing would occur!)
-  gt add ai1,bi1 partition the region into 2 
 subregion
-  gt ri1  ri  1 ei1  ei 1 vi1  vi. gt 
 ri1  ei1-vi12.
- case 2 a i1 ? Vn but b i1 ? Vi gt add 
 ai1,bi1  does not produce any region. gt ri1
 ri ei1ei1 vi1  vi1
-  gt ri1  ei1 -vi1 2. QED
58more on planar graphs
- Ex4 Planar graph G has 20 vertices, each of 
 degree 3.
-  gt regions  ? r  e - v  2  30 - 20  
 2  12.
- Corollary G a connected planar simple graph 
 with e edges and v vertices ³ 3. gt e  3v - 6.
- pf for each region R 
-  define deg(R)  edges on the boundary of R. 
-  gt 2e  S deg(R) each edge shared by 2 
 regions S deg(v)
-  Since deg(R) ³ 3 (simple graph), 
-  2e  S deg(R) ³ 3 r. gt 2e/3 ³ r  e-v2 gt 
 3v- 6 ³ e. QED
- Ex5 K5 is not planar. 
-  sol K5 has C(5,2)  10 edges and 5 vertices. 
-  gt 3v - 6  15-6  9 lt 10, violating the 
 necessary condition !
- Ex6 K3,3, though satisfying the condition e  
 3v - 6, is not planar.
59more on planar graph
- G a connected planar simple graph of e edges and 
 v gt 2 vertices and no simple ckt of length 3 gt e
 2v - 4.
- pf no ckt of length 3 gt every region has 
 degree ³ 4.
-  gt 2e  S deg(R) ³ 4 r. gt e ³ 2r  2e-2v4 
 gt e  2v - 4.
- Ex 6 K 3,3 is not planar. 
-  K 3,3 has 9 edges and 6 vertices and has no 
 cycle of length 3.
-  gt 2 x 6 - 4  8 lt 9. Hence not planar. 
- General rule about planar graphs 
- Def elementary subdivision 
-  
-  u--------------v gt u------w------v. 
60General rule about planar graphs
- Def G1 and G2 are homeomorphic iff they can be 
 obtained from the same graph by a sequence of
 elementary subdivisions.
- Ex12 
- Fact G in not planar if some of its subgraphs is 
 not planar.
- Theorem 2 Kuratowski theorem 
- A graph is nonplanar iff its contains a subgraph 
 which is homeomorphic to K5 or K3,3.
619.8 Graph coloring
- Problem Given a map, determine at least how many 
 colors are needed to color the map s.t. neighbor
 regions (with a common border) are assigned diff
 colors.
- Ex
62Transform maps into graphs
- Ideas 
- regions ---gt vertices 
- R1 and R2 share a border ---gt R1,R2 is an edges 
- Def M a map 
-  GM  (V,E) where 
- V  the set of all regions 
- E r1,r2  r1 and r2 share a common border 
 line in M
- GM is called the dual graph of the map M. 
- Notes 
-  1. Every dual graph of maps are planar graphs 
-  2. Every planar graph is the dual graph of some 
 map.
63Graph coloring
- Def 1G  (V,E)  a graph. 
-  A coloring of G is the assignment of a color 
 to each vertex s.t. no two adjacent vertices are
 assigned the same color.
- Problem What is the least number of colors 
 necessary to color a graph ?
- Def 2 G(V,E) a graph. 
-  The chromatic number of G is the least number of 
 colors needed for a coloring of the graph G.
- Problem What is the maximum of all chromatic 
 numbers of all planar graphs ?
-  gt1. a problem studied for over 100 years ! 
 18501976,
-  solved by AppelHaken 
-  2. 2000 cases generated and verified by 
 computer programs.
-  3. issue believable ?
64The 4-color theorem
- Theorem 1 The chromatic number of a planar graph 
 is no greater than 4.
- Note 1. Theorem 1 holds for planar graphs only. 
-  2. Non-planar graphs can have any chromatic 
 number gt 4.
- Ex K5 has chromatic number 5. 
-  In fact Kn has chromatic number n for any n. 
- Exs (Km ,n)  2. 
-  (Cn)  2 if n is even and 3 if n is 
 odd.
65Applications (scheduling and assignments)
- Ex 5 problem  how to assign the final exams. 
 s.t. no student has two exams at the same time.
- solu G  (V,E) where 
-  V the set of all courses 
-  c1,c2 in E iff  a student taking courses c1 
 and c2.
-  gt A schedule of the final examinations 
 corresponds to a coloring of the associated graph
 G.
1
I
 Time courses I 
1,6 gt II 2 III 3,5 IV 4,7 
IV
II
2
7
3
III
I
6
IV
4
III
5