+ All Categories
Home > Documents > Discrete Mathematics Transparency No. 7-1 Chapter 7 Graphs.

Discrete Mathematics Transparency No. 7-1 Chapter 7 Graphs.

Date post: 19-Dec-2015
Category:
View: 238 times
Download: 2 times
Share this document with a friend
60
Discrete Mathematics Transparency No. 7-1 Chapter 7 Graphs
Transcript

Discrete Mathematics

Transparency No. 7-1

Chapter 7

Graphs

Discrete MathematicsChap 7 Graphs

Transparency No.7-2

Chapter 7. Graphs

Old subject with many modern applicationsIntroduced by L. Euler, who used it to solve the fam

ous 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.)

..

Discrete MathematicsChap 7 Graphs

Transparency No.7-3

table of contents

IntroductionGraph terminologyRepresenting graph and graph isomorphismConnectivityEuler and Hamilton pathsShortest path problemsPlaner graphsGraph coloring

Discrete MathematicsChap 7 Graphs

Transparency No.7-4

7.1 Introduction

Graph: discrete structure consisting of vertices and edges that connects 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 vertic

es. Directed multigraph: allow multiple edges b/t any two (pos

sibly identical) vertices. Weighted (or labeled) graph: Each edge is associated with

a weight (or a label).

Discrete MathematicsChap 7 Graphs

Transparency No.7-5

Formal definitions

Def 2: (multigraph) G=(V,E,f) where f: E-> {{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) ==> e1 and e2 are parallel or multiple edges.

Def 3: A pseudo graph G = (V,E,f) where f: E -> {{u,v} | u,v V}. Note: if f(e) = {u} ==> 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 -> V2. If f(e1) = f(e2) ==> e1 and e2 are parallel or multiple edges. note: f(e1) = (u,v) /\ f(e2) = (v,u) /\ u v => e1 and e2 are not para

llel edges.

Discrete MathematicsChap 7 Graphs

Transparency No.7-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->L is the labeling function. if f(e) = w, we say e is an w-l

abeled 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 f:E-> 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

Discrete MathematicsChap 7 Graphs

Transparency No.7-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.

Ex2: Influence graph: (digraph)

V: Persons

(u,v) E iff u can influence v.

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.

eg: Fig 7.1.8(p435): 6-team Round-Robin tournament

Discrete MathematicsChap 7 Graphs

Transparency No.7-8

Graph model (cont'd)

Ex 4: (precedence graph and concurrent processing) eg: 1. x := y +1; 2. z := f(x)=> (1) must be executed before (2) no matter which pro

cessors execute (1) or (2), since (2) must use the execution res

ult of (1). The executed-before relation in a program can be repre

sented 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, ==> (u,w) E . Hence E is transitive.

Discrete MathematicsChap 7 Graphs

Transparency No.7-9

Precedence graph of a program

Ex 4:

s1: a := 0;

s2: b := 1;

s3: a := a+1;

s4: d:= b+a;

s5: e := d+1;

s6: e := c+d

==> What is the precedence graph of this program?

s1

s3

s5

s2

s4

s6

Discrete MathematicsChap 7 Graphs

Transparency No.7-10

7.2 Graph terminology

Def 1: G = (V,E) : undirected graph if u --e-- v ==>

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 ==> [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 ==> v is isolated. If deg(v) = 1 ==> v is pendant (or hang).

Ex1: Fig 1 (p438):

Discrete MathematicsChap 7 Graphs

Transparency No.7-11

Handshaking theoremTheorem 1: G = (V,E) : a undirected graph

==> v V deg(v) = 2 |E|.

pf: Simple induction on the number of edges |E|.

Ex: G=(V,E) with |V|=10 & each vertex with degree 6.

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

v in V deg(v) = v in V /\ deg(v) is odd deg(v) +v in V /\ deg(v) is even deg(v)

==> v in V /\ deg(v) is odd deg(v) is even ==> |{v in V | deg(v) is odd}| is even. QED

Discrete MathematicsChap 7 Graphs

Transparency No.7-12

Terminology for digraphs

Def 3: G=(V,E): a digraph

if u --e--> 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 termin

al vertex of e}| . out-deg(v) = #edge going out from v = |{ e E | v is the sta

rting vertex of e}| .

Theorem 3: v in V in-deg(v) = v in V out-deg(v) = |E|.

Discrete MathematicsChap 7 Graphs

Transparency No.7-13

underlying undirected graph

G = (V,E,f) : a directed graph==> Its underlying undirected graph is a pseudo graph

G'=(V,E,f') where f':E -> {{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 ==> (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)}) ==> G' = ?

Discrete MathematicsChap 7 Graphs

Transparency No.7-14

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 >2) = (V, E) where V = {1,2,..., n} and

E = {{i, i+1} | i = 1,..., n-1} U {{n, 1}}.

Ex: C3,C4,C5,C6 = ?

Ex 6: wheels: (n > 2) Wn = (V,E) where V = {0,1,...,n} and

E = {{0, i } | i = 1,...,n} U {{i,i+1} | i = 1,...,n-1} U {{n,1}}.

W3,W4,W5 = ?

Ex7: n-cubes Qn = (V,E) where V = {0,1}n 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 = ?

Discrete MathematicsChap 7 Graphs

Transparency No.7-15

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: (G and H in p442)

Ex11: Km,n (complete bipartite graph)

Km,n = ({u1,...,um} U {v1,...,vn}, E} , where

E = {{ui, vj} | i=1..m v = 1..n}

eg: K2,3, K3,3 = ?

problem: Km,n has ? edges

Discrete MathematicsChap 7 Graphs

Transparency No.7-16

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 2(sqrt(n)-1)2 2(sqrt(n) -1)

m-cube(n=2m) n(m-1)=n lg n m = lg n

Discrete MathematicsChap 7 Graphs

Transparency No.7-17

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. ==> G1UG2 =def (V1 U V2, E1U E2)

Note: Not only V1 and V2, but also E1 and E2 may overlap.

Ex:G1 = ({a,b,c,d,e}, {ab,bc,ce,be,ad,de})

G2 = ({a,b,c,d,f}, {ab,bc,bd,bf}}

==> G1 U G2 = ?

Def 7' : Disjoint union of graphs:

Disjoin union of G1 and G2 = ?

Discrete MathematicsChap 7 Graphs

Transparency No.7-18

7.3 Graph representation and Graph isomorphism

Graph representation : [suitable only for finite graphs] adjacent list (for graphs w/o multiple edges) :O(|E|+|V|) adjacent matrices: O(|V|2) incident matrices (or list) : O(|V|x|E|).

adjacent list: for each vertex v, a[v] is the list of all adjacent vertices of v.

adjacent matrix: M[u,v]=1 iff {u,v} (or (u,v) if directed) is an edge.

incident matrix: I[u,e] = 1 iff u in f(e), or (for directed graph)

i[u,e]= 1 (or -1) iff u is the starting (or ending) vertex of e.

Ex: (p451 fig2)

Discrete MathematicsChap 7 Graphs

Transparency No.7-19

Graph isomorphism

Def . 1: G1=(V1,E1), G2=(V1,E2): two simple or digraphs G1 and G2 are isomorphic iff a bijection h:V1->V2 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 ==> |V1|=|V2| & |E1|=|E2|.

and G1 and G2 has the same degree type.

Def: For each G=(V,E), type(G) is the multiset {deg(v) | v V}.

Discrete MathematicsChap 7 Graphs

Transparency No.7-20

7.4 Connectivity

Def 1: G = (V,E,f): an undirected [multi-]graph A path of length n > 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

u=x0----x1-----x2----x3----x4----x5---- ….----xn-1----Xn=v

If G is a simple graph ==> can be identified by the sequence of vertices: x0=u, x1,..., xn-1, xn = v.

is a circuit (or cycle) iff x0 = xn.

is simple if all edges in the path are distinct (i.e., for all 0≤ i<j≤ n, ei ej ).

Discrete MathematicsChap 7 Graphs

Transparency No.7-21

Connectivity (cont'd)

Def. 2: G = (V,E,f): a directed multigraph A path of length n > 0 from u to v is a sequenc

e 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 ==> can be identified by the sequence of vertices: x0=u, x1,..., xn-1, xn = v.

is a circuit (or cycle) iff x0 = xn.

is simple if all edges in the path are distinct (i.e., for all 0<i<j<n+1, ei ej ).

Def 3: A undirected graph is connected if there is a path between every pair of distinct vertices.

Discrete MathematicsChap 7 Graphs

Transparency No.7-22

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 = e1,e2,...,en be any path of least length from u to v.

Then must be a simple path. If it were not, then there would be

0 i <j n s.t. ei = ej.

==> the path = e1,..,ei-1,ej,..,en is another path from u to v with length < ||, a contradiction!. QED

..... ....... ......u x1 x2 xi-1 xi xj-1

xj xj+1 v

e1 e2 ei ejej+1

join xi-1 and xj if x i-1 = xj

join xi and xj if xi = xj

Discrete MathematicsChap 7 Graphs

Transparency No.7-23

..... ......u x1 x2 xi-1

xi

xj-1

xj

xj+1

v

e1 e2ei

ej

ej+1

..... ......u x1 x2 xi-1

xi

xj

xj-1

xj+1

v

e1 e2ei

ej

ej+1

Note: Theorem 1 does not hold for circuit (cycle)

Discrete MathematicsChap 7 Graphs

Transparency No.7-24

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 th

ere is a simple circuit in G.Pf:Let

1: x0 --(e1)-- x1 --(e2)-- x2 --(e3)--…--(et)--xt--(et+1)--xt+1--…---xn=v,and

2: x0 --(e1)-- x1 --(e2)-- x2 --(e3)--…--(et)--xt--(e’t+1)--yt+1--…---ym=v, be two distinct simple paths fro u to v in G, and

et+1, e’t+1 the first edge they disagree.

Case1: xt = v => xt--(et+1)--xt+1--…---xn=v is a simple circuit.

Case2: xt ≠ v => let J be the least number in {t+1,…,m} such that yJ = xs where s is any vertex occurring in path 1

(I.e., yJ=xs {x∈ 0,…,xn}).

Note since ym = xn, J must exist.

Discrete MathematicsChap 7 Graphs

Transparency No.7-25

A theorem about simple circuits

Now it is easy to see that:

1. if s ≤ t then { xs --(es+1)-- xs+1--…--(et)—xt } U

{ xt--(e’t+1)--yt+1--…--(e’J-1)-yJ } is a simple circuit.

Note: All e’ ∉ { xs --(es+1)-- xs+1--…--(et)—xt }, o/w 2 is not a simple path.

2. If s > t then {xt--(et+1)--xt+1--…-(es-1)--xs} U

{ xt--(e’t+1)--yt+1--…--(e’J-1)-yJ } ---(*) is a simple circuit.

Note: {xt,xt+1,…,xs} ⋂ {xt,yt+1,…,yJ } ={xt, yJ=xs}

if there are ea = e’b ==> f(ea) = {xt, xt+1=xs} = {xt,yt+1=yJ}

==> {ea, e’b} is a simple circuit.

o/w, by def, (*) is a simple circuit.

Discrete MathematicsChap 7 Graphs

Transparency No.7-26

Xt et+1

e’t+1

es

e’J

xs

yJ

xs

yJe’J

yJ-1

u

v

Discrete MathematicsChap 7 Graphs

Transparency No.7-27

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:

Discrete MathematicsChap 7 Graphs

Transparency No.7-28

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

==> v V∈ 1V2 ==> G3 = (V1 ⋃ V2,E1UE2) is a 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.

Discrete MathematicsChap 7 Graphs

Transparency No.7-29

Connected components (cont'd)

Pf: Let i = 0 and Gi = G'. If Gi is maximal then we are done.

o/w, there is connected Gi+1 contains Gi.

If Gi+1 is maximal, then we are done; o/t let i = i+1 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. Ui=1,k Gi G since every Gi G.

2. G Ui=1,kGi since every edge and every vertex must belong to some connected component.

Discrete MathematicsChap 7 Graphs

Transparency No.7-30

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: G∈ u = Gv iff Vu=Vv /\ Eu=Ev and

2. for all e E: if f(e) = {u,v} ==> G∈ u=Gv 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.

Discrete MathematicsChap 7 Graphs

Transparency No.7-31

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]~, E|[u]) where

E|S 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, E|S) : S V/~}.

Discrete MathematicsChap 7 Graphs

Transparency No.7-32

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 = ?c e

a

b

d f g

h

Discrete MathematicsChap 7 Graphs

Transparency No.7-33

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.

Discrete MathematicsChap 7 Graphs

Transparency No.7-34

Path and isomorphism

P(-) : a property on graphs

Ex: P(G) = "G has a simple cycle of length > 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.

Discrete MathematicsChap 7 Graphs

Transparency No.7-35

More on graph isomorphism

Ex2: P2(G) = "G has a simple circuit of length k", where k is a number > 2, is an isomorphic invariant.

pf: G1 = (V1,E1), G2 = (V2,E2): two simple graphs.

Let h:V1->V2 be any isomorphism from G1 to G2.

Then if x0 --(e1)--> x2--(e2)--> x3--.... -->(en)-->xn is a simple path on G1, then the sequence

h(x0) -->(h(e1))-->h(x2)--(h(e2))-->h(x3)--...-->((h(en))-->h(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.

1

2 3

4

56

1

2 3

4

56G H

Discrete MathematicsChap 7 Graphs

Transparency No.7-36

Counting paths b/t vertices

G=(V,E) with V={V1,...,Vn} : a simple graph with adjacent matrix M.

==> # 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: => 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 < k and for all ui, uj V.∈

But #paths of length k from vi to vj =

#paths of length from ui to v1 x #paths of length 1 from v1 to vj +

#paths of length from ui to v2 x #paths of length 1 from v2 to vj +

... +

#paths of length from ui to vn x #paths of length 1 from vn to vj

= t=1..n (Mk-1)it x Mtj = (MK)ij.

Discrete MathematicsChap 7 Graphs

Transparency No.7-37

Example

Ex 8: G=({1,2,3,4}, {12,13,24,34})

==> M = [0110;1001;1001;0110]

==> M4 = [8008;0880;0880;8008]

==> 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 (k=1..n-1 Mk )ij != 0 for all 0<i<j<n+1.

pf: G is connected =>

for any i ≠ j, there is a simple path (of length t < n) from vi to vj

==> (Mt)ij > 0 ==> (k=1..n-1 Mk )ij != 0. QED

Discrete MathematicsChap 7 Graphs

Transparency No.7-38

7.5 Euler and Hamilton pathsThe seven bridges problem:

Problem: Is there a path

passing through all bridges

w/o crossing any edge twice?

Multigraph model:

problem: Is there a simple

path of length 7 ?

The town of Konigsburg

A

B

C

D

B

C

DA

Discrete MathematicsChap 7 Graphs

Transparency No.7-39

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

circuit:a,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 beginning from any other vertex.

G1 G2 G3

a b

cd

e

a b

cd

e

a b

c d e

Discrete MathematicsChap 7 Graphs

Transparency No.7-40

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: "=>": G=(V,E): any multigraph.

Let = x0 e1 x1 e2 x2 e2 x3 ... en xn=x0 be any Eular circuit.

For each v=xi in V ≠ x0, since ei-->xi --> ei+1 we have

deg(v) = 2 |{j | xj = v and 0<j<n}| and for x0 we have

deg(x0) = 2x|{j | xj = x0 and 0<j<n } + 2.

Hence every vertex has even degree.

(<=): by induction on |E| > 1.

Let = x0 e1 x1 e2 x2 e3 ... en xn=x0 be any simple circuit.

(its existence will be shown later.)

If is an Eular circuit, then we are done. O/W:

Discrete MathematicsChap 7 Graphs

Transparency No.7-41

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 0<i<k+1.

(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| < |E| and every vertex in Vi has even degree, by ind. hyp. there is a Eular circuit i = xti ->...-> xti in Gi.

Now join each i with at xti:

we can form a Eular circuit in G. QED.

..... ....... ......x0 x1 x2 xt1 xi xtk

xj xj+1 xn=x0

e1 e2 ei ej ej+1

1 k

Discrete MathematicsChap 7 Graphs

Transparency No.7-42

Example: = a b c d a is a simple circuit in G. removing all edges in results in

three connected components:

G1,G2 and G3 intersecting with

at {a,d}, {b} and {c} respectively.

By ind. hyp.,

Eular ckt :1 = (a...a)

=(aedfghefa)

2: () and

3: (c i j c)

==> join and all i, we obtain

a Eular ckt of G:

(aedfghefa)b(cijc)da.

a

bc

d

e f

g h

i

j

a

bc

d

e f

g h

i

j

G1

G2G3

G

Discrete MathematicsChap 7 Graphs

Transparency No.7-43

Eular condition for Eular path:

Theorem 2: A connected multigraph has an Eular path but not an Eular ckt iff it has exactly two vertices of odd degree.

pf: (=>): G=(V,E): any multgraph.

Let = x0 e1 x1 e2 x2 e2 x3 ... en xn !=x0 be any Eular path.

For each v=xi in V != x0 or xn, since ei-->xi --> ei+1 we have

deg(v) = 2 |{j | xj = v and 0<j<n}| and for v = x0 or xn we have

deg(v) = 2x|{j | xj = v and 0<j<n } + 1.

Hence all vertices but x0 and xn has even degree.

(<=): Let G' = (V, EU{e}) where e is a new edge connecting a and b, which are vextices of G with odd degree.

==> Every vertex of G has even degree. By theorem 1,

a Eular path = a -> .... ->b->(e)->a.

==> removing e from we get a Eular path of G. QED

Discrete MathematicsChap 7 Graphs

Transparency No.7-44

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 from any vertex of nonzero degree.

pf: Let x0 be any vertex in G with nonzero degree.

We construct simple paths s which eventually become a simple circuit as follows:

0. Initially 1 = x0 --e1-- x1. G1 = (V, E \{e1}). note: x1 in G1 has degree > 0 hence there is an edge leaving x1.

1. assume i = x0...xi has been formed and Gi = (V, Ei= E\{e1,...,ei}).

If xi = xk for k<i 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 a edge e in Gi connecting xi and some other vertex u.

now let i+1= i -- e--u; xi+1 = u ; and i = i+1 2. goto 1. Note: the procedure must terminate since every iteration of step 1 will resul

t in one edge removed from G, but G has only a finite number of edges. So the prod. will exit from step 1 with a simple ckt returned. QED

Discrete MathematicsChap 7 Graphs

Transparency No.7-45

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 xn=x0 (n > 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 multigraph with n 3 vertices. => If every vertex has degree n/2, then G has Hamilton ckts.

Discrete MathematicsChap 7 Graphs

Transparency No.7-46

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

000

001

010011100

101

110

111 000

001

011

010110

111

101

100

000 100

010 110

001

011 111

101

Discrete MathematicsChap 7 Graphs

Transparency No.7-47

7.6 Shortest path problems

A weighted graph is a graph G=(V,E) together with a weighting function w:E->R+.

A shortest path from a to b is a path: a e1 x1 e2 x2 ... en b s.t. i=1,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) = for all v ≠ a ; S := {}; 2. While( z ∉ S){ 3. u = any vertex ∉ S with minimum L(u); 4. S = S U {u}; 5. for( all v ∉ S) 6. if( L(u) +w(u,v) < L(v)) L(v) = L(u) + w(u,v) } 7. end /* L(z) = length of the shortest path from a to z}.

Discrete MathematicsChap 7 Graphs

Transparency No.7-48

Example:

Running Time: O(n2)

a z

b

c

d

e2

4

1 2

5

8

103

6

Discrete MathematicsChap 7 Graphs

Transparency No.7-49

Correctness

The loop invariance of the Dijkstra’s algorithm:

1. v, v S ∀ ∈ L(v) is the length of the shortest path from a to v.

2. v, v ∀ ∉ S L(v) is the length of the shortest path from a to v that contains intermediate vertices only in S.

Discrete MathematicsChap 7 Graphs

Transparency No.7-50

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 if d(i,k)+d(k,j) < d(i,j) d(i,j) = d(i,k) + d(k,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 d

istances of all pairs of vertices.

Discrete MathematicsChap 7 Graphs

Transparency No.7-51

7.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 G1,...., Gn = G be a sequence of subgraphs of G.

Discrete MathematicsChap 7 Graphs

Transparency No.7-52

planar graphs (cont'd)

G1 contains only one edges.

Gi+1 is formed from G 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: e1 = 1; r1 = 1; v1 =2. Hence r1 = e1 - v1 + 2.Ind. step: assume ri = ei - vi = 2.

Let (ai+1,bi+1) be the edges added to Gi to form Gi+1.

case 1: {ai+1,bi+1 } V∈ i:

==> ai+1 and bi+1 must be on the boundary of the a common region. (o/w crossing would occur!)

==> add {ai+1,bi+1} partition the region into 2 subregion

==> ri+1 = ri + 1; ei+1 = ei +1; vi+1 = vi. ==> ri+1 = ei+1-vi+1+2.

case 2: a i+1 V∈ n but b i+1 ∉ Vi => add {ai+1,bi+1 } does not produce any region. => ri+1 = ri; ei+1=ei+1; vi+1 = vi+1

==> ri+1 = ei+1 -vi+1+ 2. QED

Discrete MathematicsChap 7 Graphs

Transparency No.7-53

more on planar graphs

Ex4: G has 20 vertices, each of degree 3.

==> #regions = ? r = e - v + 2 = 30 - 20 + 2 = 12.

Corollary: G: a connected planar simple graph with e edges and v vertices 3. ==> e 3v - 6.

pf: for each region R:

define deg(R) = #edges on the boundary of R.

==> 2e = deg(R) [each edge shared by 2 regions] = deg(v)

Since deg(R) 3 (simple graph),

2e = deg(R) 3 r. ==> 2e/3 r = e-v+2 ==> 3v- 6 e. QED

Ex5: K5 is not planar.

sol: K5 has C(5,2) = 10 edges and 5 vertices.

==> 3v - 6 = 15-6 = 9 < 10, violating the necessary condition !

Ex6: K3,3, though satisfying the condition: e 3v - 6, is not planar.

Discrete MathematicsChap 7 Graphs

Transparency No.7-54

more on planar graph:

G: a connected planar simple graph of e edges and v > 2 vertices and no simple ckt of length 3 => e 2v - 4.

pf: no ckt of length 3 ==> every region has degree 4.

==> 2e = deg(R) r. ==> e r = 2e-2v+4 ==> 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.

==> 2 x 6 - 4 = 8 < 9. Hence not planar.

General rule about planar graphs:

Def: elementary subdivision:

u--------------v ==> u------w------v.

Discrete MathematicsChap 7 Graphs

Transparency No.7-55

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.

Discrete MathematicsChap 7 Graphs

Transparency No.7-56

7.8 Graph coloring

Problem: Given a map, determine at least how many colors are needed to color a map s.t. neighbor regions (with a common border) are assigned diff colors.

Ex:

A

B

C

D

E F

G

H

I

Discrete MathematicsChap 7 Graphs

Transparency No.7-57

MTransform maps into graphs

Ideas: regions ---> vertices R1 and R2 share a border ---> {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.

Discrete MathematicsChap 7 Graphs

Transparency No.7-58

Graph coloring

Def 1:G = (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 need

ed for a coloring of the graph G.

Problem: What is the maximum of all chromatic numbers of all planar graphs ?

==>1. a problem studied for over 100 years ! [1850~1976, by APPEL&Haken] 2. 2000 cases generated and verified by computer programs. 3. issue: believable ?

Discrete MathematicsChap 7 Graphs

Transparency No.7-59

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

Discrete MathematicsChap 7 Graphs

Transparency No.7-60

Applications (scheduling and assignments)

Ex 5: problem : how to assignment the final exams. s.t. no students has two exam 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.

==> A schedule of the final examinations corresponds to a coloring of the associated graph G.

1

2

3

45

6

7

I

II

III

IV

IV

I

III

Time courses I 1,6==> II 2

III 3,5IV 4,7


Recommended