Graphs - PowerPoint PPT Presentation

1 / 65
About This Presentation
Title:

Graphs

Description:

Title: Author: Cheng-Chia Chen Last modified by: Cheng-Chia Chen Created Date: 6/17/1995 11:31:02 PM Document presentation format – PowerPoint PPT presentation

Number of Views:80
Avg rating:3.0/5.0
Slides: 66
Provided by: Cheng45
Category:

less

Transcript and Presenter's Notes

Title: Graphs


1
Chapter 9
  • Graphs

2
Chapter 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.)
  • ..

3
table of contents
  • Introduction
  • Graph terminology
  • Representing graph and graph isomorphism
  • Connectivity
  • Euler and Hamilton paths
  • Shortest path problems
  • Planer graphs
  • Graph coloring

4
9.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).

5
Formal 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.

6
Labeled (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

7
Graph 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

8
Graph 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.

9
Precedence 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
10
Precedence 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
11
9.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.

12
Handshaking 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

13
Terminology 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.

14
underlying 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' ?

15
Special 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 ?

16
Bipartite 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

17
Ex 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

18
New 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 ?

19
9.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)

20
Graph 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.

21
9.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 ).

22
Connectivity (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.

23
Theorem 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)
25
A 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.

26
A 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.

27
Xt
et1
xs
u
yJ
et1
v
es
xs
eJ
yJ
eJ
yJ-1
28
Connected 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

29
Connected 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.

30
Connected 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.

31
connected 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.

32
The 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/.

33
cut 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 ?

34
Strongly 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.
35
Path 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.

36
More 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
37
Counting 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.

38
Example
  • 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

39
9.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
40
Eular 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.

41
Necessary 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

42
Proof 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.

43
Example
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
44
Eular 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

45
Existence 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

46
Hamilton 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.

47
Grey 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.

48
9.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.

49
Example
  • Running Time O(n2)

50
(No Transcript)
51
(No Transcript)
52
Correctness (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.

53
Correctness 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).

55
Find 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.

56
9.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.

57
planar 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

58
more 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.

59
more 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.

60
General 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.

61
9.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

62
Transform 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.

63
Graph 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 ?

64
The 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.

65
Applications (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
Write a Comment
User Comments (0)
About PowerShow.com