139
Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting 1.4 Directed Graphs

Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Embed Size (px)

Citation preview

Page 1: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept1

Chapter 1 Fundamental Concept

1.1 What Is a Graph?

1.2 Paths, Cycles, and Trails

1.3 Vertex Degree and Counting

1.4 Directed Graphs

Page 2: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept2

The KÖnigsberg Bridge Problem Königsber is a city on the Pregel river in Prussia

The city occupied two islands plus areas on both

banks

Problem:

Whether they could leave home, cross every bridge exactly once, and return home.

X

Y

Z

W

Page 3: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept3

A Model

A vertex : a region

An edge : a path(bridge) between two regions

e1e2

e3

e4

e6

e5

e7

Z

Y

X

W

X

Y

Z

W

Page 4: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept4

General Model

A vertex : an object

An edge : a relation between two objects

common

member

Committee 1 Committee 2

Page 5: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept5

What Is a Graph?

A graph G is a triple consisting of:

– A vertex set V(G )

– An edge set E(G )

– A relation between an edge and a pair of vertices

e1e2

e3

e4

e6

e5

e7

Z

Y

X

W

Page 6: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept6

Loop, Multiple edges

Loop : An edge whose endpoints are equal

Multiple edges : Edges have the same pair

of endpoints

loop

Multiple edges

Page 7: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept7

Simple Graph

Simple graph : A graph has no loops or

multiple edges

loopMultiple edges

It is not simple. It is a simple graph.

Page 8: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept8

Adjacent, neighbors

Two vertices are adjacent and are

neighbors if they are the endpoints of

an edge

Example:

– A and B are adjacent

– A and D are not adjacentA B

C D

Page 9: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept9

Finite Graph, Null Graph

Finite graph : an graph whose vertex set

and edge set are finite

Null graph : the graph whose vertex set

and edges are empty

Page 10: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept10

Complement

Complement of G: The complement G’

of a simple graph G :

– A simple graph

– V(G’) = V(G)

– E(G’) = { uv | uv E(G) }

G

u

v

wx

y

G’

u

v

wx

y

Page 11: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept11

Clique and Independent set

A Clique in a graph: a set of pairwise adjacent vertices (a complete subgraph)

An independent set in a graph: a set of pairwise nonadjacent vertices

Example:– {x, y, u} is a clique in G– {u, w} is an independent set G

u

v

wx

y

Page 12: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept12

Bipartite Graphs A graph G is bipartite if V(G) is the union

of two disjoint independent sets called partite sets of G

Also: The vertices can be partitioned into two sets such that each set is independent

Matching Problem

Job Assignment Problem

Workers

Jobs

Boys

Girls

Page 13: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept13

Chromatic Number

The chromatic number of a graph G,

written x(G), is the minimum number of

colors needed to label the vertices so that

adjacent vertices receive different colors

Red

Green

Blue

Blue

x(G) = 3

Page 14: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept14

Maps and coloring

A map is a partition of the plane into

connected regions

Can we color the regions of every map

using at most four colors so that

neighboring regions have different colors?

Map Coloring graph coloring

– A region A vertex

– Adjacency An edge

Page 15: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept15

Scheduling and graph Coloring 1

Two committees can not hold meetings

at the same time if two committees have

common member

common

member

Committee 1 Committee 2

Page 16: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept16

Scheduling and graph Coloring 1

Model:

– One committee being represented by a vertex

– An edge between two vertices if two corresponding committees have common member

– Two adjacent vertices can not receive the same color

common

member

Committee 1 Committee 2

Page 17: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept17

Scheduling and graph Coloring 2

Scheduling problem is equivalent to

graph coloring problem

Common

MemberCommittee 1

Committee 2

Committee 3

Common Member

Different Color

No Common Member

Same Color OK

Same time slot OK

Page 18: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept18

Path and Cycle

Path : a sequence of distinct vertices such that two consecutive vertices are adjacent– Example: (a, d, c, b, e) is a path– (a, b, e, d, c, b, e, d) is not a path; it is a walk

Cycle : a closed Path– Example: (a, d, c, b, e, a) is a cycle

a b

c

de

Page 19: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept19

Subgraphs

A subgraph of a graph G is a graph H

such that:

– V(H) V(G) and E(H) E(G) and

– The assignment of endpoints to edges in H is the same as in G.

Page 20: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept20

Subgraphs

Example: H1, H2, and H3 are subgraphs of

G

c

d

a b

de

a b

c

deH1

G

H3H2

a b

c

de

Page 21: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept21

Connected and Disconnected

Connected : There exists at least one

path between two vertices

Disconnected : Otherwise

Example:

– H1 and H2 are connected

– H3 is disconnected

c

d

a b

de

a b

c

deH1

H3H2

Page 22: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept22

Adjacency, Incidence, and Degree

Assume ei is an edge whose endpoints are

(vj,vk)

The vertices vj and vk are said to be adjacent

The edge ei is said to be incident upon vj

Degree of a vertex vk is the number of

edges incident upon vk . It is denoted as d(vk)

eivj vk

Page 23: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept23

Adjacency matrix

Let G = (V, E), |V| = n and |E|=m

The adjacency matrix of G written A(G),

is the n-by-n matrix in which entry ai,j is

the number of edges in G with endpoints

{vi, vj}.

a

b

c

de

w

x

y z

w x y z 0 1 1 0 1 0 2 0 1 2 0 1 0 0 1 0

wxyz

Page 24: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept24

Incidence Matrix

Let G = (V, E), |V| = n and |E|=m

The incidence matrix M(G) is the n-by-m

matrix in which entry mi,j is 1 if vi is an

endpoint of ei and otherwise is 0.

a

b

c

d

e

w

x

yz

a b c d e 1 1 0 0 0 1 0 1 1 0 0 1 1 1 1 0 0 0 0 1

wxyz

Page 25: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept25

Isomorphism

An isomorphism from a simple graph G

to a simple graph H is a bijection

f:V(G)V(H) such that uv E(G) if and only if

f(u)f(v) E(H)

– We say “G is isomorphic to H”, written G H

HG

w

x z

y c d

ba

f1: w x y z c b d a

f2: w x y z a d b c

Page 26: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept26

Complete Graph

Complete Graph : a simple graph whose

vertices are pairwise adjacent

Complete Graph

Page 27: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept27

Complete Bipartite Graph or Biclique

Complete bipartite graph (biclique) is a

simple bipartite graph such that two

vertices are adjacent if and only if they are

in different partite sets.

Complete Bipartite Graph

Page 28: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept28

Petersen Graph 1.1.36

The petersen graph is the simple graph

whose vertices are the 2-element subsets

of a 5-element set and whose edges are

pairs of disjoint 2-element subsets

Page 29: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept29

Petersen Graph 1.1.37

Assume: the set of 5-element be (1, 2, 3, 4, 5)

– Then, 2-element subsets:

(1,2) (1,3) (1,4) (1,5) (2,3) (2,4) (2,5) (3,4) (3,5) (4,5)

Disjoint, so connected

45: (4, 5)12

34

1523

45

35

13

14

24

25

Page 30: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept30

Petersen Graph 1.1.36

Three drawings

Page 31: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept31

Theorem: If two vertices are non-adjacent in the Petersen Graph, then they have exactly one common neighbor. 1.1.38 Proof:

x, zx, y

No connection,Joint, One common element.

u, v Since 5 elements totally,5-3 elements left.Hence, exactly one of this kind.

3 elements in these vertices totally

Page 32: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept32

Girth 1.1.39, 1.1.40

Girth : the length of its shortest cycle.

– If no cycles, girth is infinite

Page 33: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept33

Girth and Petersen graph 1.1.39, 1.1.40

Theorem: The Petersen Graph has girth 5.

Proof:

– Simple no loop no 1-cycle (cycle of length 1)

– Simple no multiple no 2-cycle

– 5 elements no three pair-disjoint 2-sets no 3-cycle

– By previous theorem, two nonadjacent vertices has exactly one common neighbor no 4-cycle

– 12-34-51-23-45-12 is a 5-cycle.

Page 34: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept34

Walks, Trails1.2.2

A walk : a list of vertices and edges v0,

e1, v1, …., ek, vk such that, for 1 i k, the

edge ei has endpoints vi-1 and vi .

A trail : a walk with no repeated edge.

Page 35: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept35

Paths 1.2.2

A u,v-walk or u,v-trail has first vertex u and

last vertex v; these are its endpoints.

A u,v-path: a u,v-trail with no repeated

vertex.

The length of a walk, trail, path, or cycle is

its number of edges.

A walk or trail is closed if its endpoints are

the same.

Page 36: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept36

Lemma: Every u,v-walk contains a u,v-path 1.2.5

Proof: Use induction on the length of a u, v-walk W. Basis step: l = 0.

– Having no edge, W consists of a single vertex (u=v).

– This vertex is a u,v-path of length 0.

to be continued

Page 37: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept37

Lemma: Every u,v-walk contains a u,v-path 1.2.5

Proof: Continue Induction step : l 1.

– Suppose that the claim holds for walks of length less than l.

– If W has no repeated vertex, then its vertices and edges form a u,v-path.

Page 38: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept38

Lemma: Every u,v-walk contains a u,v-path 1.2.5

Proof: Continue Induction step : l 1. Continue

– If W has a repeated vertex w, then deleting the edges and vertices between appearances of w (leaving one copy of w) yields a shorter u,v-walk W’ contained in W.

– By the induction hypothesis, W ’ contains a u,v-path P,and this path P is contained in W.

u vW

P

Delete

Page 39: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept39

Components 1.2.8

The components of a graph G are its

maximal connected subgraphs

A component (or graph) is trivial if it has

no edges; otherwise it is nontrivial

An isolated vertex is a vertex of degree 0

r

q

s u v w

t p x

y z

Page 40: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept40

Proof:

– An n-vertex graph with no edges has n components

– Each edge added reduces this by at most 1

– If k edges are added, then the number of components is at least n - k

Theorem: Every graph with n vertices and k edges has at least n-k components 1.2.11

Page 41: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept41

Theorem: Every graph with n vertices and k edges has at least n-k components 1.2.11

Examples:

n =2, k =1, 1 component

n =3, k =2, 1 component

n =6, k =3, 3 components

n =6, k =3, 4 components

Page 42: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept42

Cut-edge, Cut-vertex 1.2.12

A cut-edge or cut-vertex of a graph

is an edge or vertex whose deletion

increases the number of components

Not a Cut-vertexCut-edge

Cut-edge

Cut-vertex

Page 43: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept43

Cut-edge, Cut-vertex 1.2.12

G-e or G-M : The subgraph obtained by

deleting an edge e or set of edges M

G-v or G-S : The subgraph obtained by

deleting a vertex v or set of vertices S

e

G-eG

Page 44: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept44

Induced subgraph 1.2.12

An induced subgraph : – A subgraph obtained by deleting a set

of vertices– We write G[T] for G-T’, where T’ =V(G)-T – G[T] is the subgraph of G induced by T

Example:– Assume T:{A, B, C, D}

BA

C DE

BA

C D

G[T] G

Page 45: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept45

Induced subgraph 1.2.12

More Examples:

– G2 is the subgraph of G1 induced by

(A, B, C, D)

– G3 is the subgraph of G1 induced by (B, C)

– G4 is not the subgraph induced by (A, B, C, D)

BA

C DE

BA

C D

B

C

BA

C D

G1 G2G3 G4

Page 46: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept46

Induced subgraph 1.2.12

A set S of vertices is an independent set if and

only if the subgraph induced by it has no edges.

– G3 is an example.

BA

C DE

B

C

G1G3

Page 47: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept47

Theorem: An edge e is a cut-edge if and only if e belongs to no cycles. 1.2.14

Proof :1/2

Let e= (x, y) be an edge in a graph G and H

be the component containing e.

– Since deletion of e effects no other component, it suffices to prove that H-e is connected if and only if e belongs to a cycle.

First suppose that H-e is connected.

– This implies that H-e contains an x, y-path,

– This path completes a cycle with e.

Page 48: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept48

Theorem: An edge e is a cut-edge if and only if e belongs to no cycles. 1.2.14

Proof :2/2

Now suppose that e lies in a cycle C. – Choose u, vV(H)

•Since H is connected, H has a u, v-path P

– If P does not contain e• Then P exists in H-e

– Otherwise (P contains e)•Suppose by symmetry that x is between u

and y on P•Since H-e contains a u, x-path along P,

the transitivity of the connection relation implies that H-e has a u, v-path

– We did this for all u, v V(H), so H-e is connected.

Page 49: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept49

Theorem: An edge e is a cut-edge if and only if e belongs to no cycles. 1.2.14

An Example:

ux ye

P

C

v

Page 50: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept50

Lemma: Every closed odd walk contains an odd cycle

Proof:1/3

Use induction on the length l of a closed odd

walk W.

l=1. A closed walk of length 1 traverses a

cycle of length 1.

We need to prove the claim holds if it holds

for closed odd walks shorter than W.

Page 51: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept51

Lemma: Every closed odd walk contains an odd cycle

Proof: 2/3

Suppose that the claim holds for closed odd walks shorter than W.

If W has no repeated vertex (other than first = last), then W itself forms a cycle of odd length.

Otherwise, (W has repeated vertex )

– Need to prove: If repeated, W includes a shorter closed odd walk. By induction, the theorem hold

Page 52: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept52

Lemma: Every closed odd walk contains an odd cycle

Proof: 3/3

– If W has a repeated vertex v, then we view W as starting at v and break W into two v,v-walks• Since W has odd length, one of these is odd and

the other is even. (see the next page)• The odd one is shorter than W, by induction

hypothesis, it contains an odd cycle, and this cycle appears in order in W

Even

vOdd

Odd = Odd + Even

Page 53: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept53

Theorem: A graph is bipartite if and only if it has no odd cycle. 1.2.18

Examples:

BA

D C

A

C

B

D

A

C

B

D

F

E

A

C

B

D

E F

Page 54: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept54

Theorem: A graph is bipartite if it has no odd cycle. 1.2.18

Proof: (sufficiency1/3)

Let G be a graph with no odd cycle.

We prove that G is bipartite by constructing a

bipartition of each nontrivial component H.

For each v V (H ), let f (v ) be the minimum

length of a u, v -path. Since H is connected, f (v )

is defined for each v V (H ) .

u

v

'v( ')f v

( )f v

Page 55: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept55

Theorem: A graph is bipartite if it has no odd cycle. 1.2.18

Proof: (sufficiency2/3)

Let X={v V (H ): f (v ) is even} and Y={v V(H ): f

(v ) is odd}

An edge v, v’ within X (or Y ) would create a closed

odd walk using a shortest u, v-path, the edge v, v’

within X (or Y ) and the reverse of a shortest u, v’-

path.

u

v

'v

A closed odd walk using 1) a shortest u, v-path, 2) the edge v, v’ within X (or Y) , and 3) the reverse of a shortest u, v’-

path.

Page 56: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept56

Theorem: A graph is bipartite if it has no odd cycle. 1.2.18

Proof: (sufficiency3/3)

By Lemma 1.2.15, such a walk must contain an

odd cycle, which contradicts our hypothesis

Hence X and Y are independent sets. Also XY =

V(H), so H is an X, Y-bipartite graph

u

v

'v

Even (or Odd)

Even (or Odd)

Odd Cycle

Because: even (or odd) + even (or odd) = even even + 1 = odd

Since no odd cycles, vv’ doesn’t exist.

We have: X and Y are independent sets

Page 57: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept57

Theorem: A graph is bipartite only if it has no odd cycle. 1.2.18

Proof: (necessity)

Let G be a bipartite graph.

Every walk alternates between the two sets of a bipartition

So every return to the original partite set happens after an even number of steps

Hence G has no odd cycle

Page 58: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept58

Eulerian Circuits 1.2.24

A graph is Eulerian if it has a closed trail

containing all edges.

We call a closed trail a circuit when we do

not specify the first vertex but keep the list

in cyclic order.

An Eulerian circuit or Eulerian trail in a

graph is a circuit or trail containing all the

edges.

Page 59: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept59

Even Graph, Even Vertex1.2.24

An even graph is a graph with vertex

degrees all even.

A vertex is odd [even] when its degree

is odd [even].

Page 60: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept60

Maximal Path1.2.24

A maximal path in a graph G is a path P

in G that is not contained in a longer path.

– When a graph is finite, no path can extend forever , so maximal (non-extendible) paths exist.

Page 61: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept61

Lemma: If every vertex of graph G has degree at least 2, then G contains a cycle. 1.2.25

Proof:

Let P be a maximal path in G, and let u be an endpoint of P

Since P cannot be extended, every neighbor of u must

already be a vertex of P

Since u has degree at least 2, it has a neighbor v in V (P )

via an edge not in P

The edge uv completes a cycle with the portion of P from v

to u

uP

Impossible

v

Pu

Must

Page 62: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept62

Theorem: A graph G is Eulerian if and only if it has at most one nontrivial component and its vertices all have even degree. 1.2.26

Proof: (Necessity)

Suppose that G has an Eulerian circuit C

Each passage of C through a vertex uses two incident edges

And the first edge is paired with the last at the first vertex

Hence every vertex has even degree

InOut

Start (The 1st)

End (The last)

Page 63: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept63

Theorem: A graph G is Eulerian if and only if it has at most one nontrivial component and its vertices all have even degree. 1.2.26

Proof: (Necessity)

Also, two edges can be in the same trail only when they lie in the same component, so there is at most one nontrivial component.

Component 1 Component 2

If more than one components, can’t walk across the graph

Page 64: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept64

Theorem: A graph G is Eulerian if and only if it has at most one nontrivial component and its vertices all have even degree 1.2.26

Proof: (Sufficiency 1/3)

Assuming that the condition holds, we

obtain an Eulerian circuit using induction

on the number of edges, m

Basis step: m= 0. A closed trail consisting

of one vertex suffices

Page 65: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept65

Theorem: A graph G is Eulerian if and only if it has at most one nontrivial component and its vertices all have even degree. 1.2.26

Proof: (Sufficiency 2/3)

Induction step: m>0.

– When even degrees, each vertex in the nontrivial component of G has degree at least 2.

– By Lemma 1.2.25, the nontrivial component has a cycle C.

– Let G’ be the graph obtained from G by deleting E(C).

– Since C has 0 or 2 edges at each vertex, each component of G’ is also an even graph.

– Since each component is also connected and has fewer than m edges, we can apply the induction hypothesis to conclude that each component of G’ has an Eulerian circuit. →

Page 66: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept66

Theorem: A graph G is Eulerian if and only if it has at most one nontrivial component and its vertices all have even degree. 1.2.26

Proof: (Sufficiency 3/3)

Induction step: m>0. (continued)

– To combine these into an Eulerian circuit of G, we traverse C, but when a component of G’ is entered for the first time we detour along an Eulerian circuit of that component.

– This circuit ends at the vertex where we began the detour. When we complete the traversal of C, we have completed an Eulerian circuit of G.

Page 67: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept67

Proposition: Every even graph decomposes into cycles1.2.27

Proof:

In the proof of Theorem 1.2.26

– It is noted that every even nontrivial graph has a cycle

– The deletion of a cycle leaves an even graph

Thus this proposition follows by

induction on the number of edges

Page 68: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept68

Proposition: If G is a simple graph in which every vertex has degree at least k, then G contains a path of length at least k. If k2, then G also contains a cycle of length at least k+1. 1.2.28

Proof: (1/2)

Let u be an endpoint of a maximal path P in

G.

Since P does not extend, every neighbor of u

is in V(P).

Since u has at least k neighbors and G is

simple, P therefore has at least k vertices

other than u and has length at least k.

Page 69: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept69

Proposition: If G is a simple graph in which every vertex has degree at least k, then G contains a path of length at least k. If k2, then G also contains a cycle of length at least k+1. 1.2.28

Proof: (2/2)

If k 2, then the edge from u to its

farthest neighbor v along P completes a

sufficiently long cycle with the portion of

P from v to u.

uv

d(u) k

At least k+1 verticesLength k

Page 70: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept70

Degree1.3.1

The degree of vertex v in a graph G, written

or d (v ), is the number of edges

incident to v, except that each loop at v

counts twice

The maximal degree is (G )

The minimum degree is (G )

A

C

B

D

F

E

d(B) = 3, d(C) = 2

Δ(G) = 3, δ(G) = 2

G

Page 71: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept71

Regular 1.3.1

G is regular if (G ) = (G )

G is k-regular if the common degree is k.

The neighborhood of v, written Ng (v ) or N (v )

is the set of vertices adjacent to v.

3-regular

Page 72: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept72

Order and size 1.3.2

The order of a graph G, written n (G ),

is the number of vertices in G.

An n-vertex graph is a graph of order

n.

The size of a graph G, written e (G ), is

the number of edges in G.

For nN, the notation [n ] indicates the

set {1,…, n }.

Page 73: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept73

Proposition: (Degree-Sum Formula) If G is a graph, then vV(G)d(v) = 2e(G) 1.3.3

Proof:

Summing the degrees counts each edge

twice,

– Because each edge has two ends and contributes to the degree at each endpoint.

Page 74: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept74

Theorem: If k>0, then a k-regular bipartite graph has the same number of vertices in each partite set. 1.3.9

Proof:

Let G be an X,Y - bigraph.

Counting the edges according to their

endpoints in X yields e (G ) = k |X |.

d (x) = kx

Page 75: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept75

Theorem: If k>0, then a k-regular bipartite graph has the same number of vertices in each partite set. 1.3.9

Proof:

Counting them by their endpoints in Y

yields e (G )=k |Y |

Thus k |X | = k |Y |, which yields |X |=|Y |

when k > 0

d (x) = kx

d (y) = ky

Page 76: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept76

A technique for counting a set 1/3 1.3.10

Example: The Petersen graph has ten 6-cycles – Let G be the Petersen graph.

– Being 3-regular, G has ten copies of K1,3 (claw) . We establish a one-to-one correspondence between the 6-cycles and the claws.

– Since G has girth 5, every 6-cycle F is an induced subgraph.

•see below– Each vertex of F has one neighbor outside F.

• d(v)= 3, v V(G)If Existing, Girth =3.

But Girth=5 so no such an edge

Page 77: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept77

A technique for counting a set 2/3 1.3.10

– Since nonadjacent vertices have exactly one common neighbor (Proposition 1.1.38), opposite vertices on F have a common neighbor outside F.

– Since G is 3-regular, the resulting three vertices outside F are distinct.

– Thus deleting V(F) leaves a subgraph with three vertices of degree 1 and one vertex of degree 3; it is a claw.

Common neighbor of opposite vertices

If the neighbors are not distinct, d(v)>3

Page 78: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept78

A technique for counting a set 3/3 3.10

– It is shown that each claw H in G arises exactly once in this way.

– Let S be the set of vertices with degree 1 in H; S is an independent set.

– The central vertex of H is already a common neighbor, so the six other edges from S reach distinct vertices.

– Thus G-V(H) is 2-regular. Since G has girth 5, G-V(H) must be a 6-cycle. This 6-cycle yields H when its vertices are deleted.

Page 79: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept79

Proposition: The minimum number of edges in a connected graph with n vertices is n-1. 3.13

Proof:

By proposition 1.2.11, every graph with n

vertices and k edges has at least n-k

components.

Hence every n-vertex graph with fewer than n-1

edges has at least two components and is

disconnected.

The contrapositive of this is that every

connected n-vertex graph has at least n-1 edges.

This lower bound is achieved by the path Pn.

Page 80: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept80

Theorem: If G is simple n-vertex graph with (G)(n-1)/2, then G is connected. 1.3.15

Proof: 1/2

Choose u,v V (G ). It suffices to show that u,v have a

common neighbor if they are not adjacent.

Since G is simple, we have

|N(u) | (G ) (n-1)/2,

and similarly for v. – Recall: (G ) is the minimum degree, |N(u)| = d(u) Hence: |N(u) | (G )

Page 81: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept81

Theorem: If G is simple n-vertex graph with (G)(n-1)/2, then G is connected. 1.3.15

Proof: 2/2

When u and v are not connected, we have

|N(u ) N(v )| n - 2

– since u and v are not in the union

Using Remark A.13 of Appendix A, we

thus compute

| ( ) ( )| | ( )| | ( )| | ( ) ( )|1 1 ( 2) 1.

2 2

N u N v N u N v N u N vn n n

Page 82: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept82

Theorem: Every loopless graph G has a bipartite subgraph with at least e(G)/2 edges. 1.3.19

Proof:

Partition V(G) into two sets X, Y.

Using the edges having one endpoint in each set

yields a bipartite subgraph H with bipartition X, Y.

If H contains fewer than half the edges of G incident

to a vertex v, then v has more edges to vertices in its

own class than in the other class, as illustrated

bellow.

Page 83: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept83

Proof: 2/2

Moving v to the other class gains more

edges of G than it loses.

Using Iterative improvement approach

When it terminates, we have dH(v) dG(v)/2

for every vV(G) .

Summing this and applying the degree-

sum formula yields e(H) e(G)/2.

Theorem: Every loopless graph G has a bipartite subgraph with at least e(G)/2 edges. 1.3.19

Page 84: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept84

Example1 1.3.20

The algorithm in Theorem 1.3.19 need not produce a bipartite subgraph with the most edges, merely one with at least half the edges

– Local Maximum

Page 85: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept85

Example2 1.3.20

Consider the graph in the next page. – It is 5-regular with 8 vertices and

hence has 20 edges. – The bipartition X={a,b,c,d} and Y={e,f,g,h}

yields a 3-regular bipartite subgraph with 12 edges.

– The algorithm terminates here: •switching one vertex would pick up

two edges but lose three .

Page 86: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept86

Example(Cont.) 1.3.20

a

b

c

de

f

g

h switching a would pick up two edges but lose three

Page 87: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept87

Example 1.3.20

Nevertheless, the bipartition X={a,b,g,h} and

Y={c,d,e,f} yields a 4-regular bipartite

subgraph with 16 edges.

An algorithm seeking the maximal by local

changes may get stuck in a local maximum.

a

b

c

de

f

g

h a

b

c

de

f

g

hLocal Maximum

Global Maximum

Page 88: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept88

Theorem: The maximum number of edges in an n-vertex triangle free simple graph is n2/4 1.3.23

Proof : 1/6

– Let G be an n-vertex triangle-free simple graph.

– Let x be a vertex of maximum degree and d(x)=k.

– Since G has no triangles, there are no edges among neighbors of x.

No edges between neighbors of x

Page 89: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept89

Theorem: The maximum number of edges in an n-vertex triangle free simple graph is n2/4 1.3.23

Proof : 2/6

– Hence summing the degrees of x and its nonneighbors counts at least one endpoint of every edge: vN(x)d(v) e(G).

– We sum over n-k vertices, each having degree at most k, so e(G) (n-k)k

Page 90: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept90

)(xN

x x

)(xN

Doesn’t exist

• vN(x) d(v) counts at least one endpoint of every edge

At most k vertices

At least n-k vertices

No edges exist

Theorem: The maximum number of edges in an n-vertex triangle free simple graph is n2/4 1.3.23

Proof: 3/6

Page 91: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept91

Proof: 4/6

– Since (n-k)k counts the edges in Kn-k, k, we have now proved that e(G) is bounded by the size of some biclique with n vertices.

• i.e. e(G) (n-k)k = |the edges in Kn-k, k |

Theorem: The maximum number of edges in an n-vertex triangle free simple graph is n2/4 1.3.23

n-k k

Page 92: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept92

Proof: 5/6

– Moving a vertex of Kn-k,k from the set of size k to the set of size n-k gains k-1 edges and loses n-k edges.

– The net gain is 2k-1-n, which is positive for 2k>n+1 and negative for 2k<n+1.

– Thus e(Kn-k, k) is maximized when k is n/2

or n/2 .

Theorem: The maximum number of edges in an n-vertex triangle free simple graph is n2/4 1.3.23

n-k k

Page 93: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept93

Proof: 6/6

– The product is then n2/4 for even n and (n2-1)/4 for odd n. Thus e(G) n2/4 .

– The bound is best possible. •It is seen that a triangle-free graph with

n2/4 edges is: Kn/2,n/2 .

Theorem: The maximum number of edges in an n-vertex triangle free simple graph is n2/4 1.3.23

Page 94: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept94

Degree sequence 1.3.27

The Degree Sequence of a graph is the list of

vertex degrees, usually written in non-

increasing order, as d1 …. d n .

Example:

z

y

x

w

vDegree sequence:

d(w), d(x), d(y), d(z), d(v)

Page 95: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept95

Proposition: The nonnegative integers d1 ,…, dn are the vertex degrees of some graph if and only if di is even. 1.3.28

Proof: ½ Necessity

When some graph G has these numbers as its vertex degrees, the degree-sum formula implies that di = 2e (G), which is even.

Page 96: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept96

Proof: 2/2 Sufficiency

Suppose that di is even.

We construct a graph with vertex set v1,…,vn and d(vi) =

di for all i.

Since di is even, the number of odd values is even.

First form an arbitrary pairing of the vertices in {vi : di is

odd}.

For each resulting pair, form an edge having these two vertices as its endpoints

The remaining degree needed at each vertex is even and nonnegative; satisfy this for each i by placing [di

/2] loops at vi

Proposition: The nonnegative integers d1 ,…, dn are the vertex degrees of some graph if and only if di is even. 1.3.28

Page 97: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept97

Graphic Sequence 1.3.29

A graphic sequence is a list of

nonnegative numbers that is the

degree sequence of some simple

graph.

A simple graph “realizes” d.

– means: A simple graph with degree sequence d.

Page 98: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept98

Recursive condition 1.3.30

The lists (2, 2, 1, 1) and (1, 0, 1) are graphic. The

graphic K2+K1 realizes 1, 0, 1.

Adding a new vertex adjacent to vertices of

degrees 1 and 0 yields a graph with degree

sequence 2, 2, 1, 1, as shown below.

Conversely, if a graph realizing 2, 2, 1, 1 has a

vertex w with neighbors of degrees 2 and 1, then

deleting w yields a graph with degrees 1, 0, 1.

w

K2K1

1

10

1 1

22

Page 99: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept99

Recursive condition 1.3.30

Similarly, to test 33333221, we seek a

realization with a vertex w of degree 3

having three neighbors of degree 3.

3 3 3 3 3 2 2 1

2 2 2 3 2 2 1

Delete this Vertex

A newdegree sequence

Page 100: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept100

Recursive condition 1.3.30

This exists if and only if 2223221 is graphic. (See next page)

– We reorder this and test 3222221.

– We continue deleting and reordering until we can tell whether the remaining list is realizable.

– If it is, then we insert vertices with the desired neighbors to walk back to a realization of the original list.

– The realization is not unique.

The next theorem implies that this recursive test

works.

Page 101: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept101

Recursive condition 1.3.30

33333221 3222221 221111 11100

2223221 111221 10111

wv

u u

v

u

Page 102: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept102

Theorem. For n>1, an integer list d of size n is graphic if and only if d’ is graphic, where d’ is obtained from d by deleting its largest element and subtracting 1 from its next largest elements. The only 1-element graphic sequence is d1=0. 1.3.31

Proof: 1/6

For n =1, the statement is trivial. For n >1, we first prove that the condition is sufficient.

– Give d with d1…..dn and a simple graph G’ with degree sequence d’

For Example: We have: 1) d = 33333221

2) G’ with d’ = 2223221

We show: d is graphic

G’

Page 103: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept103

Theorem. For n>1, an integer list d of size n is graphic if and only if d’ is graphic, where d’ is obtained from d by deleting its largest element and subtracting 1 from its next largest elements. The only 1-element graphic sequence is d1=0. 1.3.31

Proof: 2/6

– We add a new vertex adjacent to vertices in G’ with degrees d2-1,…..,d+1-1.

– These di are the largest elements of d after (one copy of) itself,

– Note : d2-1,…..,d+1-1 need not be the largest numbers in d’ (see example in previous page)

G’

New added vertex

d : d1,d2,… dn

d’ : d2-1,…..,d+1-1,… dn

May not be the largest numbers

Page 104: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept104

Theorem 1.3.31 continue

To prove necessity, 3/6– Given a simple graph G realizing d , we

produce a simple graph G’ realizing d’

– Let w be a vertex of degree in G, and let S be a set of vertices in G having the “desired degrees” d2,…..,d+1

d : d1, d2, …d, d+1,… dn

S: verticesd1=

w

Page 105: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept105

Theorem 1.3.31

Proof: continue 4/6

– If N(w)=S, then we delete w to obtain G’.

d : d1, d2, …d, d+1,… dn

Vertices, N(w)=Si.e. They are connected to w

d1=

w

Delete w than we haved’ : d2-1,…..,d+1-1,… dn

Page 106: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept106

Theorem 1.3.31

Proof: continue 5/6

– Otherwise,• Some vertex of S is missing from N(w). • In this case, we modify G to increase |N(w)S|

without changing any vertex degree. • Since |N(w)S| can increase at most times,

repeating this converts G into another graph G* that realizes d and has S as the neighborhood of w.

• From G* we then delete w to obtain the desired graph G’ realizing d’.

d : d1, d2, …d, d+1,… dn

Vertices, N(w)Si.e. Some vertices are not connected to w.- We make them become connected to w

without changing their degree.

d1=

w

Page 107: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept

Theorem 1.3.31

Proof: continue 6/6

• To find the modification when N(w)S , we choose xS and zS so that w z are connected and w x are not.

• We want to add wx and delete wz, but we must preserve vertex degrees. Since d(x)>d(z) and already w is a neighbor of z but not x, there must be a vertex y adjacent to x but not to z. Now we delete {wz,xy} and add {wx,yz} to increase |N(w)S| .

wz

xy

This y must exist.

wz

xy

It becomes connected w

Page 108: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept108

2-switch 1.3.32

A 2-switch is the replacement of a pair of edges xy and zw in a simple graph by the edges yz and wx, given that yz and wx did not appear in the graph originally.

wx

y z y z

wx

Page 109: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept109

Theorem: If G and H are two simple graphs with vertex set V, then dG(v)=dH(v) for every vV if and only if there is a sequence of 2-switches that transforms G into H. 1.3.33

Proof: Every 2-switch preserves vertex degrees, so

the condition is sufficient. Conversely, when dG(v)=dH(v) for all vV , we

obtain an appropriate sequence of 2-switches by induction on the number of vertices, n.

If n<3, then for each d1,…..,dn there is at most one simple graph with d(vi)=di.

Hence we can use n=3 as the basis step.

Page 110: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept110

Theorem. 1.3.33 (Continue)

Consider n4 , and let w be a vertex of maximum

degree,

Let S={v1,…..,v} be a fixed set of vertices with the

highest degrees other than w

As in the proof of Theorem 1.3.31, some

sequence of 2-switches transforms G to a graph

G* such that NG*(w)=S, and some such sequence

transforms H to a graph H* such that NH*(w)=S

Since NG*(w)=NH*(w), deleting w leaves simple

graphs G’=G*-w and H’=H*-w with dG’(v)=dH’(v) for

every vertex v

Page 111: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept111

Theorem. 1.3.33 Continue

By the induction hypothesis, some sequence of

2-switches transforms G’ to H’. Since these do

not involve w, and w has the same neighbors in

G* and H*, applying this sequence transforms

G* to H*.

Hence we can transform G to H by

transforming G to G*, then G* to H*, then (in

reverse order) the transformation of H to H*.

Page 112: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept112

Directed Graph and Its edges 1.4.2

A directed graph or digraph G is a triple:

– A vertex set V(G),

– An edge set E(G), and

– A function assigning each edge an ordered pair of vertices. • The first vertex of the ordered pair is the tail

of the edge• The second is the head• Together, they are the endpoints.

An edge is said to be from its tail to its head.

– The terms “head” and “tail” come from the arrows used to draw digraphs.

Page 113: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept113

Directed Graph and its edges 1.4.2

As with graphs, we

– assign each vertex a point in the plane and

– each edge a curve joining its endpoints.

When drawing a digraph, we give the curve a

direction from the tail to the head.

Page 114: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept114

Directed Graph and its edges 1.4.2

When a digraph models a relation, each ordered

pair is the (head, tail) pair for at most one edge.

– In this setting as with simple graphs, we ignore the technicality of a function assigning endpoints to edges and simply treat an edge as an ordered pair of vertices.

Page 115: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept115

Loop and multiple edges in directed graph 1.4.3

In a graph, a loop is an edge whose endpoints

are equal.

Multiple edges are edges having the same

ordered pair of endpoints.

A digraph is simple if each ordered pair is the

head and tail of the most one edge; one loop

may be present at each vertex.

Loop Multiple edges

Page 116: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept116

Loop and multiple edges in directed graph 1.4.3

In the simple digraph, we write uv for an edge

with tail u and head v.

– If there is an edge form u to v, then v is a successor of u, and u is a predecessor of v.

– We write uv for “there is an edge from u to v”.

Predecessor

Successor

Page 117: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept117

Path and Cycle in Digraph 1.4.6

A digraph is a path if it is a simple digraph

whose vertices can be linearly ordered so

that there is an edge with tail u and head v if

and only if v immediately follows u in the

vertex ordering.

A cycle is defined similarly using an ordering

of the vertices on the cycle.

Page 118: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept118

Underlying graph 1.4.9

The underlying graph of a digraph D:

– the graph G obtained by treating the edges of D as unordered pairs;

– the vertex set and edges set remain the same, and the endpoints of an edge are the same in G as in D,

– but in G they become an unordered pair.

The underlying GraphA digraph

Page 119: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept119

Underlying graph 1.4.9

Most ideals and methods of graph theorem arise in

the study of ordinary graphs.

Digraphs can be a useful additional tool, especially

in applications

When comparing a digraph with a graph, we

usually use G for the graph and D for the digraph.

When discussing a single digraph, we often use G.

Page 120: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept120

Adjacency Matrix and Incidence Matrix of a Digraph 1.4.10

In the adjacency matrix A(G) of a

digraph G, the entry in position i, j is the

number of edges from vi to vj.

In the incidence matrix M(G) of a

loopless digraph G, we set mi,j=+1 if vi is

the tail of ej and mi,j= -1 if vi is the head of

ej.

Page 121: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept121

Example of adjacency matrix 1.4.11

The underlying graph of the digraph below is the graph of Example 1.1.19; note the similarities and differences in their matrices.

0000

1010

0101

0100

10000

11110

01101

00011

w x y zw

xy

z

w

xy

z

a b c d e

)(GA G )(GM

ab

ec

d

w

xy z

Page 122: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept122

Connected Digraph 1.4.12

To define connected digraphs, two options

come to mind. We could require only that the

underlying graph be connected.

However, this does not capture the most

useful sense of connection for digraphs.

Page 123: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept123

Weakly and strongly connected digraphs 1.4.12

A graph is weakly connected if its

underlying graph is connected.

A digraph is strongly connected or

strong if for each ordered pair u,v of

vertices, there is a path from u to v.

Page 124: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept124

Eulerian Digraph 1.4.22

An Eulerian trail in digraph (or graph)

is a trail containing all edges.

An Eulerian circuit is a closed trail

containing all edges.

A digraph is Eulerian if it has an

Eulerian circuit.

Page 125: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept125

Lemma. If G is a digraph with +(G)1, then G contains a cycle. The same conclusion holds when -(G) 1. 1.4.23

Proof.

Let P be a maximal path in G, and u be the

last vertex of P.

Since P cannot be extended, every successor

of u must already be a vertex of P.

Since +(G)1, u has a successor v on P.

The edge uv completes a cycle with the

portion of P from v to u.

Page 126: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept126

Theorem: A digraph is Eulerian if and only if d+(v)=d-(v) for each vertex v and the underlying graph has at most one nontrivial component. 1.4.24

Page 127: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept127

De Bruijn cycles 1.4.25

Application:

– There are 2n binary strings of length n.

– Is there a cyclic arrangement of 2n binary digits such that the 2n strings of n consecutive digitals are all distinct?

– Example: For n =4, (0000111101100101) works.

0000 0001 0011 0111 1111 1110 1101 1011 …

00

0

0

1

1

11

0

0

11

0

0

1

1

Page 128: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept128

De Bruijn cycles 1.4.25

We can use such an arrangement to keep track

of the position of a rotating drum.

– One drum has 2n rotational positions.

– A band around the circumference is split into 2n portions that can be coded 0 or 1.

– Sensors read n consecutive portions.

– If the coding has the property specified above, then the position of the drum is determined by the string read by the sensors.

Page 129: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept129

De Bruijn cycles 1.4.25

To obtain such a circular arrangement,

– define a digraph Dn whose vertices are

the binary (n-1)-tuples.

– Put an edge from a to b if the last n-2 entries of a agree with the first n-2 entries of b.

– Label the edge with the last entry of b.

Page 130: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept130

De Bruijn cycles 1.4.25

00

0

0

1

1

11

0

0

11

0

0

1

1

0

0 0

0

0

0

0

0

1

1

1

1 1 1

1

1

001

000

100

010 101

011

110

111

a b

Put an edge from a to b if the last n-2 entries of a agree with the first n-2 entries of b. Label the edge with the last entry of b.

Below we show D4..

Page 131: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept131

De Bruijn cycles 1.4.25

We next prove that Dn is Eulerian and

show how an Eulerian circuit yields the

desired circular arrangement.

Page 132: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept132

Theorem. The digraph Dn of Application 1.4.25 is Eulerian, and the edge labels on the edges in any Eulerian circuit of Dn form a cyclic arrangement in which the 2n consecutive segments of length n are distinct. 1.4.26

Proof:

We show

– first that Dn is Eulerian.

– Then the labels on the edges in any Eulerian circuit of Dn form a cyclic arrangement in which the 2n consecutive segments of length n are distinct.

Page 133: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept133

Theorem. The digraph Dn is Eulerian 1.4.26

Proof: 1/2

Every vertex has out-degree 2– because we can append a 0 or a 1 to its name to

obtain the name of a successor vertex.

Similarly, every vertex has in-degree 2, – because the same argument applies when moving

in reverse and putting a 0 or a 1 on the front of the name.

001

101

011

110

111

Page 134: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept134

Theorem. The digraph Dn is Eulerian 1.4.26

Proof: 2/2

Also, Dn is strongly connected,

– because we can reach the vertex b=(b1,…..,bn-

1) from any vertex by successively follows

the edges labeled b1,…..,bn-1.

Thus Dn satisfies the hypotheses of Theorem

1.4.24 and is Eulerian.

0

0 0

0

0

0

0

0

1

1

1 1 1

1

1

001

000

100

010 101

011

110

111

a b1

1

Page 135: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept135

Theorem. The labels on the edges in any Eulerian circuit of Dn form a cyclic arrangement in which the 2n consecutive segments of length n are distinct. 1.4.26

Proof: 1/4

Let C be an Eulerian circuit of Dn. Arrival at vertex

a=(a1,…..,an-1) must be along an edge with label an-1

– because the label on an edge entering a vertex agrees with the last entry of the name of the vertex.

0

0 0

0

0

0

0

0

1

1

1

1 1 1

1

1

001

000

100

010 101

011

110

111

a b

Page 136: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept136

Theorem. The labels on the edges in any Eulerian circuit of Dn form a cyclic arrangement in which the 2n consecutive segments of length n are distinct. 1.4.26

Proof: 2/4

The successive earlier labels (looking backward)

must have been an-2,…..,a1 in order.

– because we delete the front and shift the reset to obtain the reset of the name at the head

0

0 0

0

0

0

0

0

1

1

1

1 1 1

1

1

001

000

100

010 101

0 1 1

110

111

a b

Page 137: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept137

Theorem. The labels on the edges in any Eulerian circuit of Dn form a cyclic arrangement in which the 2n consecutive segments of length n are distinct. 1.4.26

Proof: 2/4

If C next uses an edge with label an, then the

list consisting of the n most recent edge

labels at that time is a1,…..an.

0

0

1

0

0

0

0

0

1

1

1

1 1 1

1

1

001

000

100

010 101

011

110

111

a b

0

1

Page 138: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept138

Theorem. The labels on the edges in any Eulerian circuit of Dn form a cyclic arrangement in which the 2n consecutive

segments of length n are distinct. 1.4.26

Proof: 3/4

Since

– the 2n-1 vertex labels are distinct, and

– the two out-going edges have distinct labels, and

– we traverse each edge exactly once

011 0

011 1

Distinct vertex label

Distinct labels on

out-going edges

Page 139: Graph Theory Ch. 1. Fundamental Concept 1 Chapter 1 Fundamental Concept 1.1 What Is a Graph? 1.2 Paths, Cycles, and Trails 1.3 Vertex Degree and Counting

Graph Theory

Ch. 1. Fundamental Concept139

Theorem. The labels on the edges in any Eulerian circuit of Dn form a cyclic arrangement in which the 2n consecutive

segments of length n are distinct. 1.4.26

Proof: 4/4

We have shown that the 2n strings of

length n in the circular arrangement given

by the edge labels along C are distinct.