Date post: | 20-Jan-2016 |
Category: |
Documents |
Upload: | alvin-anderson |
View: | 290 times |
Download: | 2 times |
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
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.