Graph Theory Simple Graph G=(V;E fverticesg E fedgesgaf1p/Teaching/GT/CH1.pdf · Simple Graph...

26
Graph Theory Simple Graph G =(V,E ). V ={vertices}, E ={edges}. a b c d e f g h k V={a,b,c,d,e,f,g,h,k} E={(a,b),(a,g),( a,h),(a,k),(b,c),(b,k),...,(h,k)} |E|=16. 1

Transcript of Graph Theory Simple Graph G=(V;E fverticesg E fedgesgaf1p/Teaching/GT/CH1.pdf · Simple Graph...

Page 1: Graph Theory Simple Graph G=(V;E fverticesg E fedgesgaf1p/Teaching/GT/CH1.pdf · Simple Graph G=(V;E). ... h k V={a,b,c,d,e,f,g,h,k} E={(a,b),(a,g),(

Graph Theory

Simple Graph G = (V,E).V ={vertices}, E={edges}.

a b

c

d

ef

g

h

k

V={a,b,c,d,e,f,g,h,k}

E={(a,b),(a,g),( a,h),(a,k),(b,c),(b,k),...,(h,k)} |E|=16.

1

Page 2: Graph Theory Simple Graph G=(V;E fverticesg E fedgesgaf1p/Teaching/GT/CH1.pdf · Simple Graph G=(V;E). ... h k V={a,b,c,d,e,f,g,h,k} E={(a,b),(a,g),(

Graph or Multi-Graph

We allow loops and multiple edges.G = (V,E.ψ)

a

bc

de

PSfrag replacements e1 e2

e3e4

e5

e6

e7 e8

V = {a, b, c, d, e}, E = {e1, e2, . . . , e8}.

t 1 2 3 4 5 6 7 8ψ(t) ab ae be bb bc cd de de

2

Page 3: Graph Theory Simple Graph G=(V;E fverticesg E fedgesgaf1p/Teaching/GT/CH1.pdf · Simple Graph G=(V;E). ... h k V={a,b,c,d,e,f,g,h,k} E={(a,b),(a,g),(

Eulerian Graphs

Can you draw the diagram below without taking yourpen off the paper or going over the same line twice?

3

Page 4: Graph Theory Simple Graph G=(V;E fverticesg E fedgesgaf1p/Teaching/GT/CH1.pdf · Simple Graph G=(V;E). ... h k V={a,b,c,d,e,f,g,h,k} E={(a,b),(a,g),(

Bipartite Graphs

G is bipartite if V = X∪Y whereX and Y are disjointand every edge is of the form (x, y) where x ∈ X andy ∈ Y .

In the diagram below, A,B,C,D are women and a,b,c,dare men. T here is an edge joining x and y iff x and ylike each other. The red edges form a “perfect match-ing” enabling everybody to be paired with someonethey like. Not all graphs will have perfect matching!

A

B

C

D

a

b

c

d

4

Page 5: Graph Theory Simple Graph G=(V;E fverticesg E fedgesgaf1p/Teaching/GT/CH1.pdf · Simple Graph G=(V;E). ... h k V={a,b,c,d,e,f,g,h,k} E={(a,b),(a,g),(

Vertex Colouring

R

B

R

B

R

B

G

Colours {R,B,G}

Let C = {colours}. A vertex colouring of G is a mapf : V → C. We say that v ∈ V gets coloured withf(v).

The colouring is proper iff (a, b) ∈ E ⇒ f(a) 6= f(b).

The Chromatic Number χ(G) is the minimum numberof colours in a proper colouring.

Application: V ={exams}. (a, b) is an edge iff there issome student who needs to take both exams. χ(G) isthe minimum number of periods required in order thatno student is scheduled to take two exams at once.

5

Page 6: Graph Theory Simple Graph G=(V;E fverticesg E fedgesgaf1p/Teaching/GT/CH1.pdf · Simple Graph G=(V;E). ... h k V={a,b,c,d,e,f,g,h,k} E={(a,b),(a,g),(

Subgraphs

G′ = (V ′, E′) is a subgraph of G = (V,E) if V ′ ⊆ Vand E′ ⊆ E.G′ is a spanning subgraph if V ′ = V .

a

b

c

d e

f

g

h

a

b

c

d b

a

c

d e

f

g

h

NOT SPANNING SPANNING

6

Page 7: Graph Theory Simple Graph G=(V;E fverticesg E fedgesgaf1p/Teaching/GT/CH1.pdf · Simple Graph G=(V;E). ... h k V={a,b,c,d,e,f,g,h,k} E={(a,b),(a,g),(

If V ′ ⊆ V then

G[V ′] = (V ′, {(u, v) ∈ E : u, v ∈ V ′})

is the subgraph of G induced by V ′.

a

b

c

d e G[{a,b,c,d,e}]

7

Page 8: Graph Theory Simple Graph G=(V;E fverticesg E fedgesgaf1p/Teaching/GT/CH1.pdf · Simple Graph G=(V;E). ... h k V={a,b,c,d,e,f,g,h,k} E={(a,b),(a,g),(

Similarly, if E1 ⊆ E then G[E1] = (V1, E1) where

V1 = {v ∈ V1 : ∃e ∈ E1 such that v ∈ e}

is also induced (by E1).

= {(a,b), (a,d)}

b

a

d G[ ]PSfrag replacements

E1

E1

8

Page 9: Graph Theory Simple Graph G=(V;E fverticesg E fedgesgaf1p/Teaching/GT/CH1.pdf · Simple Graph G=(V;E). ... h k V={a,b,c,d,e,f,g,h,k} E={(a,b),(a,g),(

Isomorphism for Simple Graphs

G1 = (V1, E1) and G2 = (V2, E2) are isomorphic ifthere exists a bijection f : V1 → V2 such that

(v, w) ∈ E1 ↔ (f(v), f(w)) ∈ E2.

a

b

c

d

A

B

C

D

f(a)=A etc.

Isomorphism for Graphs

G1 = (V1, E1, ψ1) and G2 = (V2, E2, ψ2) are iso-morphic if there exist bijections f : V1 → V2 andg : E1 → E2 such that

ψ1(e) = ab↔ ψ2(g(e)) = f(a)f(b).

9

Page 10: Graph Theory Simple Graph G=(V;E fverticesg E fedgesgaf1p/Teaching/GT/CH1.pdf · Simple Graph G=(V;E). ... h k V={a,b,c,d,e,f,g,h,k} E={(a,b),(a,g),(

Complete Graphs

Kn = ([n], {(i, j) : 1 ≤ i < j ≤ n})

is the complete graph on n vertices.

Km,n = ([m] ∪ [n], {(i, j) : i ∈ [m], j ∈ [n]})

is the complete bipartite graph on m+ n vertices.(The notation is a little imprecise but hopefully clear.)

PSfrag replacementsK2,3

K5

10

Page 11: Graph Theory Simple Graph G=(V;E fverticesg E fedgesgaf1p/Teaching/GT/CH1.pdf · Simple Graph G=(V;E). ... h k V={a,b,c,d,e,f,g,h,k} E={(a,b),(a,g),(

Vertex Degrees

dG(v) = degree of vertex v in G

= number of edges incident with v

δ(G) = minvdG(v)

∆(G) = maxv

dG(v)

a

bc

d

ef

g

G

PSfrag replacementsdG(a) = 2, dG(g) = 4 etc.

δ(G) = 2,∆(G) = 4

If V = {1,2, . . . , n} then d = d1, d2, . . . , dn wheredj = dG(j) is called the degree sequence of G.

11

Page 12: Graph Theory Simple Graph G=(V;E fverticesg E fedgesgaf1p/Teaching/GT/CH1.pdf · Simple Graph G=(V;E). ... h k V={a,b,c,d,e,f,g,h,k} E={(a,b),(a,g),(

Matrices and Graphs

Incidence matrix M : V × E matrix.

M(v, e) =

{

1 v ∈ e0 v /∈ e

e1 e2 e3 e4 e5 e6 e7 e8a 1 1 1b 1 1 1c 1 1 1d 1 1 1e 1 1 1 1

a

b c

d

e

PSfrag replacements

e1

e2

e3

e4

e5 e6

e7e8

12

Page 13: Graph Theory Simple Graph G=(V;E fverticesg E fedgesgaf1p/Teaching/GT/CH1.pdf · Simple Graph G=(V;E). ... h k V={a,b,c,d,e,f,g,h,k} E={(a,b),(a,g),(

Adjacency matrix A: V × V matrix.

A(v, w) = number of v, w edges.

a b c d ea 1 1 1b 1 1 1c 1 1 1d 1 1 1e 1 1 1 1

a

b c

d

e

PSfrag replacements

e1

e2

e3

e4

e5 e6

e7e8

13

Page 14: Graph Theory Simple Graph G=(V;E fverticesg E fedgesgaf1p/Teaching/GT/CH1.pdf · Simple Graph G=(V;E). ... h k V={a,b,c,d,e,f,g,h,k} E={(a,b),(a,g),(

Theorem 1∑

v∈V

dG(v) = 2|E|

Proof Consider the incidence matrix M . Row v

has dG(v) 1’s. So

# 1’s in matrix M is∑

v∈V

dG(v).

Column e has two 1’s. So

# 1’s in matrix M is 2|E|.

2

14

Page 15: Graph Theory Simple Graph G=(V;E fverticesg E fedgesgaf1p/Teaching/GT/CH1.pdf · Simple Graph G=(V;E). ... h k V={a,b,c,d,e,f,g,h,k} E={(a,b),(a,g),(

Corollary 1 In any graph, the number of vertices ofodd degree, is even.

Proof Let ODD = {odd degree vertices} andEV EN = V \ODD.

v∈ODD

d(v) = 2|E| −∑

v∈EV EN

d(v)

is even.

So |ODD| is even. 2

15

Page 16: Graph Theory Simple Graph G=(V;E fverticesg E fedgesgaf1p/Teaching/GT/CH1.pdf · Simple Graph G=(V;E). ... h k V={a,b,c,d,e,f,g,h,k} E={(a,b),(a,g),(

Paths and Walks

W = (v1, v2, . . . , vk) is a walk in G if (vi, vi+1) ∈ E

for 1 ≤ i < k.

A path is a walk in which the vertices are distinct.

W1 is a path, but W2,W3 are not.

a

b

c

d

e

fg

2 =a,b,a,c,e=g,f,c,e,f

= a,b,c,e,dPSfrag replacements

W1

W2

W3

16

Page 17: Graph Theory Simple Graph G=(V;E fverticesg E fedgesgaf1p/Teaching/GT/CH1.pdf · Simple Graph G=(V;E). ... h k V={a,b,c,d,e,f,g,h,k} E={(a,b),(a,g),(

A walk is closed if v1 = vk. A cycle is a closed walkin which the vertices are distinct except for v1, vk.

b, c, e, d, b is a cycle.

b, c, a, b, d, e, c, b is not a cycle.

a

b

c

d

e

fg

17

Page 18: Graph Theory Simple Graph G=(V;E fverticesg E fedgesgaf1p/Teaching/GT/CH1.pdf · Simple Graph G=(V;E). ... h k V={a,b,c,d,e,f,g,h,k} E={(a,b),(a,g),(

Connected components

We define a relation ∼ on V .a ∼ b iff there is a walk from a to b.

a

b

c

d e

fg

a ∼ b but a 6∼ d.

Claim: ∼ is an equivalence relation.

Reflexivity v ∼ v as v is a (trivial) walk from v to v.

Symmetry u ∼ v implies v ∼ u.(u = u1, u2 . . . , uk = v) is a walk from u to vimplies (uk, uk−1, . . . , u1) is a walk from v to u.

18

Page 19: Graph Theory Simple Graph G=(V;E fverticesg E fedgesgaf1p/Teaching/GT/CH1.pdf · Simple Graph G=(V;E). ... h k V={a,b,c,d,e,f,g,h,k} E={(a,b),(a,g),(

Transitivity u ∼ v and v ∼ w implies u ∼ w.W1 = (u = u1, u2 . . . , uk = v) is a walk from u

to v and W2 = (v1 = v, v2, v3, . . . , v` = w) is awalk from v to w imples that(W1,W2) = (u1, u2 . . . , uk, v2, v3, . . . , v`) is awalk from u to w.

The equivalence classes of ∼ are called connectedcomponents.

In general V = C1∪V2∪ · · ·∪Cr where C1, C2, . . . ,

Cr are the connected comonents.

We let ω(G)(= r) be the number of components ofG.

G is connected iff ω(G) = 1 i.e. there is a walk be-tween every pair of vertices.

Thus C1, C2, . . . , Cr induce connected subgraphsG[C1], . . . , G[Cr] of G

19

Page 20: Graph Theory Simple Graph G=(V;E fverticesg E fedgesgaf1p/Teaching/GT/CH1.pdf · Simple Graph G=(V;E). ... h k V={a,b,c,d,e,f,g,h,k} E={(a,b),(a,g),(

Paths and walks

For a walk W we let `(W ) = no. of edges in W .

PSfrag replacements

`(W ) = 6

Lemma 1 Suppose W is a walk from vertex a to ver-tex b and that W minimises ` over all walks from a tob. Then W is a path.

Proof Suppose W = (a = a0, a1, . . . , ak = b)

and ai = aj where 0 ≤ i < j ≤ k. Then W ′ =

(a0, a1, . . . , ai, aj+1, . . . , ak) is also a walk from a tob and `(W ′) = `(W )− (j − i) < `(W ) – contradic-tion. 2

Corollary 2 If a ∼ b then there is a path from a to b.

So G is connected ↔ ∀a, b ∈ V there is a path froma to b.

20

Page 21: Graph Theory Simple Graph G=(V;E fverticesg E fedgesgaf1p/Teaching/GT/CH1.pdf · Simple Graph G=(V;E). ... h k V={a,b,c,d,e,f,g,h,k} E={(a,b),(a,g),(

Walks and powers of matrices

Theorem 2 Ak(v, w) = number of walks of length kfrom v to w with k edges.

Proof By induction on k. Trivially true for k = 1.Assume true for some k ≥ 1.

Let Nt(v, w) be the number of walks from v to w witht edges.Let Nt(v, w;u) be the number of walks from v to wwith t edges whose penultimate vertex is u.

w

u

v

21

Page 22: Graph Theory Simple Graph G=(V;E fverticesg E fedgesgaf1p/Teaching/GT/CH1.pdf · Simple Graph G=(V;E). ... h k V={a,b,c,d,e,f,g,h,k} E={(a,b),(a,g),(

Nk+1(v, w) =∑

u∈V

Nk+1(v, w;u)

=∑

u∈V

Nk(v, u)A(u,w)

=∑

u∈V

Ak(v, u)A(u,w) induction

= Ak+1(v, w).

22

Page 23: Graph Theory Simple Graph G=(V;E fverticesg E fedgesgaf1p/Teaching/GT/CH1.pdf · Simple Graph G=(V;E). ... h k V={a,b,c,d,e,f,g,h,k} E={(a,b),(a,g),(

Breadth First Search – BFS

Fix v ∈ V . For w ∈ V let

d(v, w) = minimum number of edges in a path from v to w.

For t = 0,1,2, . . . , let

At = {w ∈ V : d(v, w) = t}.

vPSfrag replacements

A1

A1A2

A2

A2 A3

A3

A3

A4

A4

A4

A0 = {v} and v ∼ w↔ d(v, w) <∞.

23

Page 24: Graph Theory Simple Graph G=(V;E fverticesg E fedgesgaf1p/Teaching/GT/CH1.pdf · Simple Graph G=(V;E). ... h k V={a,b,c,d,e,f,g,h,k} E={(a,b),(a,g),(

In BFS we construct A0, A1, A2, . . . , by

At+1 = {w /∈ A0 ∪A1 ∪ · · · ∪At : ∃ an edge

(u,w) such that u ∈ At}.

Note : no edges (a, b) between Ak and A`for `− k ≥ 2, else w ∈ Ak+1 6= A`.

(1)

In this way we can find all vertices in the same com-ponent C as v.

By repeating for v′ /∈ C we find another componentetc.

24

Page 25: Graph Theory Simple Graph G=(V;E fverticesg E fedgesgaf1p/Teaching/GT/CH1.pdf · Simple Graph G=(V;E). ... h k V={a,b,c,d,e,f,g,h,k} E={(a,b),(a,g),(

Characterisation of bipartite graphs

Theorem 3 G is bipartite ↔ G has no cycles of oddlength.

Proof →: G = (X ∪ Y,E).

X

Y X

Y

XY

Typical Cycle

Suppose C = (u1, u2, . . . , uk, u1) is a cycle. Sup-pose u1 ∈ X. Then u2 ∈ Y, u3 ∈ X, . . . , uk ∈ Yimplies k is even.

← Assume G is connected, else apply following argu-ment to each component.Choose v ∈ V and constructA0, A1, A2, . . . , by BFS.

X = A0∪A2∪A4∪· · · and Y = A1∪A3∪A5∪· · ·

25

Page 26: Graph Theory Simple Graph G=(V;E fverticesg E fedgesgaf1p/Teaching/GT/CH1.pdf · Simple Graph G=(V;E). ... h k V={a,b,c,d,e,f,g,h,k} E={(a,b),(a,g),(

We need only show that X and Y contain no edgesand then all edges must join X and Y . Suppose Xcontains edge (a, b) where a ∈ Ak and b ∈ A`.

(i) If k 6= ` then |k − `| ≥ 2 which contradicts (1)(ii) k = `:

a

bj

PSfrag replacements

vvj

There exist paths (v = v0, v1, v2, . . . , vk = a) and(v = w0, w1, w2, . . . , wk = b).

Let j = max{t : vt = wt}.

(vj, vj+1, . . . , vk, wk, wk−1, . . . , wj)

is an odd cycle – length 2(k− j)+1 – contradiction.2

26