139
FUNDAMENTAL CONCEPTS Graph Theory Fundamental Concept 1 Graph Theory

FUNDAMENTAL CONCEPTS Graph Theory Fundamental Concept 1 Graph Theory

Embed Size (px)

Citation preview

FUNDAMENTAL CONCEPTS

Graph TheoryFundamental Concept

1

Graph Theory

1 WHAT IS A GRAPH?

2 PATHS, CYCLES, AND TRAILS

3 VERTEX DEGREE AND COUNTING

4 DIRECTED GRAPHS

Fundamental Concept

2

Agenda

The KÖnigsberg Bridge Problem

Graph TheoryFundamental Concept

3

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

A Model

Graph TheoryFundamental Concept

4

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

General Model

Graph TheoryFundamental Concept

5

A vertex : an object

An edge : a relation between two objects

common

member

Committee 1 Committee 2

What Is a Graph?

Graph TheoryFundamental Concept

6

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

Loop, Multiple edges

Graph TheoryFundamental Concept

7

Loop : An edge whose endpoints are equal

Multiple edges : Edges have the same pair of endpoints

loop

Multiple edges

Graph TheoryFundamental Concept

8

Simple Graph

Simple graph : A graph has no loops or

multiple edges

loopMultiple edges

It is not simple. It is a simple graph.

Adjacent, neighbors

Graph TheoryFundamental Concept

9

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 adjacent

A B

C D

Finite Graph, Null Graph

Graph TheoryFundamental Concept

10

Finite graph : an graph whose vertex set and edge set are finite

Null graph : the graph whose vertex set and edges are empty

Complement

Graph TheoryFundamental Concept

11

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

Clique and Independent set

Graph TheoryFundamental Concept

12

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

Gu

v

wx

y

Bipartite Graphs

Graph TheoryFundamental Concept

13

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 ProblemJob Assignment Problem

Workers

Jobs

Boys

Girls

Chromatic Number

Graph TheoryFundamental Concept

14

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

Maps and coloring

Graph TheoryFundamental Concept

15

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

Scheduling and graph Coloring 1

Graph TheoryFundamental Concept

16

Two committees can not hold meetings at the same time if two committees have common member

common

member

Committee 1 Committee 2

Scheduling and graph Coloring 1

Graph TheoryFundamental Concept

17

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

Scheduling and graph Coloring 2

Graph TheoryFundamental Concept

18

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

Path and Cycle

Graph TheoryFundamental Concept

19

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

Subgraphs

Graph TheoryFundamental Concept

20

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.

Subgraphs

Graph TheoryFundamental Concept

21

Example: H1, H2, and H3 are subgraphs of G

c

d

a b

de

a b

c

deH1

G

H3H2

a b

c

de

Connected and Disconnected

Graph TheoryFundamental Concept

22

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

Adjacency, Incidence, and Degree

Graph TheoryFundamental Concept

23

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

Adjacency matrix

Graph TheoryFundamental Concept

24

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

Incidence Matrix

Graph TheoryFundamental Concept

25

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

Isomorphism

Graph TheoryFundamental Concept

26

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

Complete Graph

Graph TheoryFundamental Concept

27

Complete Graph : a simple graph whose vertices are pairwise adjacent

Complete Bipartite Graph or Biclique

Graph TheoryFundamental Concept

28

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

Petersen Graph 1.1.36

Graph TheoryFundamental Concept

29

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

Petersen Graph

Graph TheoryFundamental Concept

30

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

Petersen Graph

Graph TheoryFundamental Concept

31

Three drawings

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

Graph TheoryFundamental Concept

32

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

Girth

Graph TheoryFundamental Concept

33

Girth : the length of its shortest cycle. If no cycles, girth is infinite

Girth and Petersen graph

Graph TheoryFundamental Concept

34

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.

Walks, Trails

Graph TheoryFundamental Concept

35

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.

Paths

Graph TheoryFundamental Concept

36

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.

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

Graph TheoryFundamental Concept

37

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

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

Graph TheoryFundamental Concept

38

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

Components

Graph TheoryFundamental Concept

39

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

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

Graph TheoryFundamental Concept

40

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

Graph TheoryFundamental Concept

41

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

Cut-edge, Cut-vertex

Graph TheoryFundamental Concept

42

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

Cut-edge, Cut-vertex

Graph TheoryFundamental Concept

43

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

Induced subgraph

Graph TheoryFundamental Concept

44

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

Induced subgraph

Graph TheoryFundamental Concept

45

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

Induced subgraph

Graph TheoryFundamental Concept

46

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

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

Graph TheoryFundamental Concept

47

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.

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

Graph TheoryFundamental Concept

48

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.

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

Graph TheoryFundamental Concept

49

An Example:

ux ye

P

C

v

Lemma: Every closed odd walk contains an odd cycle

Graph TheoryFundamental Concept

50

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.

Lemma: Every closed odd walk contains an odd cycle

Graph TheoryFundamental Concept

51

Proof: 2/3Suppose 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

Lemma: Every closed odd walk contains an odd cycle

Graph TheoryFundamental Concept

52

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

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

Graph TheoryFundamental Concept

53

Examples:

BA

D C

A

C

B

D

A

C

B

D

F

E

A

C

B

D

E F

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

Graph TheoryFundamental Concept

54

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

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

Graph TheoryFundamental Concept

55

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.

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

Graph TheoryFundamental Concept

56

Proof: (sufficiency3/3) By Lemma 1.2.15, such a walk must contain an odd

cycle, which contradicts our hypothesisHence 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

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

Graph TheoryFundamental Concept

57

Proof: (necessity)Let G be a bipartite graph. Every walk alternates between the two

sets of a bipartitionSo every return to the original partite set

happens after an even number of stepsHence G has no odd cycle

Eulerian Circuits

Graph TheoryFundamental Concept

58

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.

Even Graph, Even Vertex

Graph TheoryFundamental Concept

59

An even graph is a graph with vertex degrees all even.

A vertex is odd [even] when its degree is odd [even].

Maximal Path

Graph TheoryFundamental Concept

60

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.

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

Graph TheoryFundamental Concept

61

Proof: Let P be a maximal path in G, and let u be an

endpoint of PSince P cannot be extended, every neighbor of u must

already be a vertex of PSince u has degree at least 2, it has a neighbor v in V

(P ) via an edge not in PThe edge uv completes a cycle with the portion of P

from v to u

uP

Impossible

v

Pu

Must

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

Graph TheoryFundamental Concept

62

Proof: (Necessity) Suppose that G has an Eulerian circuit CEach passage of C through a vertex uses two

incident edgesAnd the first edge is paired with the last at the

first vertexHence every vertex has even degree

InOut

Start (The 1st)

End (The last)

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

Graph TheoryFundamental Concept

63

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

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

Graph TheoryFundamental Concept

64

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

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

Graph TheoryFundamental Concept

65

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.

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

Graph TheoryFundamental Concept

66

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.

Proposition: Every even graph decomposes into cycles

Graph TheoryFundamental Concept

67

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

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.

Graph TheoryFundamental Concept

68

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.

Graph TheoryFundamental Concept

69

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

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.

Degree

Graph TheoryFundamental Concept

70

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

Regular

Graph TheoryFundamental Concept

71

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

Order and size

Graph TheoryFundamental Concept

72

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

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

Graph TheoryFundamental Concept

73

Proof: Summing the degrees counts each edge

twice, Because each edge has two ends and contributes

to the degree at each endpoint.

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

Graph TheoryFundamental Concept

74

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

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

Graph TheoryFundamental Concept

75

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

A technique for counting a set 1/3 1.3.10

Graph TheoryFundamental Concept

76

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

Graph TheoryFundamental Concept

77

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

A technique for counting a set 3/3 3.10

Graph TheoryFundamental Concept

78

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.

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

Graph TheoryFundamental Concept

79

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.

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

Graph TheoryFundamental Concept

80

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 )

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

Graph TheoryFundamental Concept

81

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

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

Graph TheoryFundamental Concept

82

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.

Graph TheoryFundamental Concept

83

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

Example1 1.3.20

Graph TheoryFundamental Concept

84

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

Example2 1.3.20

Graph TheoryFundamental Concept

85

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 .

Example(Cont.) 1.3.20

Graph TheoryFundamental Concept

86

a

b

c

de

f

g

h switching a would pick up two edges but lose three

Example 1.3.20

Graph TheoryFundamental Concept

87

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

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

Graph TheoryFundamental Concept

88

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

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

Graph TheoryFundamental Concept

89

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

Graph TheoryFundamental Concept

90

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

Graph TheoryFundamental Concept

91

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

Graph TheoryFundamental Concept

92

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

Graph TheoryFundamental Concept

93

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

Degree sequence 1.3.27

Graph TheoryFundamental Concept

94

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)

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

Graph TheoryFundamental Concept

95

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.

Graph TheoryFundamental Concept

96

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

Graphic Sequence 1.3.29

Graph TheoryFundamental Concept

97

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.

Recursive condition 1.3.30

Graph TheoryFundamental Concept

98

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

Recursive condition 1.3.30

Graph TheoryFundamental Concept

99

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

Recursive condition 1.3.30

Graph TheoryFundamental Concept

100

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.

Recursive condition 1.3.30

Graph TheoryFundamental Concept

101

33333221 3222221 221111 11100

2223221 111221 10111

wv

u u

v

u

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

Graph TheoryFundamental Concept

102

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’

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

Graph TheoryFundamental Concept

103

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

Theorem 1.3.31 continue

Graph TheoryFundamental Concept

104

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

Theorem 1.3.31

Graph TheoryFundamental Concept

105

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

Theorem 1.3.31

Graph TheoryFundamental Concept

106

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

Theorem 1.3.31

Graph TheoryFundamental Concept

107

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

2-switch 1.3.32

Graph TheoryFundamental Concept

108

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

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

Graph TheoryFundamental Concept

109

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.

Theorem. 1.3.33 (Continue)

Graph TheoryFundamental Concept

110

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

Theorem. 1.3.33 Continue

Graph TheoryFundamental Concept

111

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

Directed Graph and Its edges 1.4.2

Graph TheoryFundamental Concept

112

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.

Directed Graph and its edges 1.4.2

Graph TheoryFundamental Concept

113

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.

Directed Graph and its edges 1.4.2

Graph TheoryFundamental Concept

114

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.

Loop and multiple edges in directed graph 1.4.3

Graph TheoryFundamental Concept

115

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

Loop and multiple edges in directed graph 1.4.3

Graph TheoryFundamental Concept

116

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

Path and Cycle in Digraph 1.4.6

Graph TheoryFundamental Concept

117

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.

Underlying graph 1.4.9

Graph TheoryFundamental Concept

118

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

Underlying graph 1.4.9

Graph TheoryFundamental Concept

119

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.

Adjacency Matrix and Incidence Matrix

of a Digraph 1.4.10

Graph TheoryFundamental Concept

120

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.

Example of adjacency matrix 1.4.11

Graph TheoryFundamental Concept

121

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

Connected Digraph 1.4.12

Graph TheoryFundamental Concept

122

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.

Weakly and strongly connected digraphs 1.4.12

Graph TheoryFundamental Concept

123

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.

Eulerian Digraph 1.4.22

Graph TheoryFundamental Concept

124

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.

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

Graph TheoryFundamental Concept

125

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.

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

Graph TheoryFundamental Concept

126

De Bruijn cycles 1.4.25

Graph TheoryFundamental Concept

127

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

De Bruijn cycles 1.4.25

Graph TheoryFundamental Concept

128

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.

De Bruijn cycles 1.4.25

Graph TheoryFundamental Concept

129

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.

De Bruijn cycles 1.4.25

Graph TheoryFundamental Concept

130

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

De Bruijn cycles 1.4.25

Graph TheoryFundamental Concept

131

We next prove that Dn is Eulerian and

show how an Eulerian circuit yields the

desired circular arrangement.

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

Graph TheoryFundamental Concept

132

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.

Theorem. The digraph Dn is Eulerian 1.4.26

Graph TheoryFundamental Concept

133

Proof: 1/2Every 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

Theorem. The digraph Dn is Eulerian 1.4.26

Graph TheoryFundamental Concept

134

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

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

Graph TheoryFundamental Concept

135

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

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

Graph TheoryFundamental Concept

136

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

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

Graph TheoryFundamental Concept

137

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

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

Graph TheoryFundamental Concept

138

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

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

Graph TheoryFundamental Concept

139

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.