Title: Fundamental Concept
1Chapter 1
2The 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
- The citizens wondered whether they could leave
home, cross every bridge exactly once, and return
home.
3A Model
- A vertex a region
- An edge a path(bridge) between two regions
4What 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
X
e1
e6
e2
W
Y
e5
e4
e3
e7
Z
5Loop, Multiple edges, and Simple Graph
- Loop An edge whose endpoints are equal
- Multiple edges Edges have the same pair of
endpoints - Simple graph A graph has no loops or multiple
edges
Multiple edges
loop
It is a simple graph.
It is not Simple.
6Adjacent, 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 adjacent.
B
A
C
D
7Finite 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.
8Complement
- Complement of G The complement Gof a simple
graph G is the simple graph with vertex set V(G)
defined by uv ? E(G) if and only if uv ?E(G)
G
9Clique 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.
10 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
Boys
Girls
Jobs
11Chromatic 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
Green
Blue
Blue
Red
12Maps 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
13Scheduling and graph Coloring 1
- Two committees can not held meetings at the same
time if two committees have common member. - 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
14Scheduling and graph Coloring 2
- Scheduling problem is equivalent to graph
coloring problem.
Committee 2
common member
Common Member Different Color
Committee 1
Committee 3
No Common Member Same Color OK Same time slot OK
15Path 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
b
a
c
d
e
16Subgraphs
- 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. - Example H1, H2, and H3 are subgraphs of G
b
a
G
c
d
e
H3
H1
H2
e
17Connected and Disconnected
- Connected There exists at least one path between
two vertices. - Disconnected Otherwise
- Example
- H1 and H2 are connected.
- H3 is disconnected.
H3
H1
H2
e
18Adjacency, 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)
19Adjacency matrix
- Let G (V, E), V n and Em
- 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 endpointsvi,vj.
20Incidence Matrix
- Let G (V, E), V n and Em
- 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 1 1 0 0 0 1
0 1 1 0 0 1 1 1 1 0 0
0 0 1
wxyz
21Isomorphism
- An isomorphism from a simple graph G to a simple
graph H is a bijection fV(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
f1 w x y z c b d a
y
c
w
d
H
G
z
a
f2 w x y z a d b c
x
b
22Complete Graph, Complete Bipartite Graph or
Biclique
- Complete Graph a simple graph whose vertices are
pairwise adjacent. - 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
Complete Graph
23Petersen 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
24Petersen 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)
45 (4, 5)
Disjoint, so connected
25Petersen Graph 1.1.36
26Theorem If two vertices are non-adjacent in the
Petersen Graph, then they have exactly one common
neighbor. 1.1.38
No connection, Joint, One common element.
3 elements in these vertices totally
x, z
x, y
Since 5 elements totally, 5-3 elements
left. Hence, exactly one of this kind.
27Girth and Petersen graph 1.1.39, 1.1.40
- Girth the length of its shortest cycle.
- If no cycles, girth is infinite
- 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.
28Walks, 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.
29Paths 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.
30Lemma Every u,v-walk contains a u,v-path 1.2.5
- Proof
- Use induction on the length l of a u, v-walk W.
- Basis step l 0.
- Having no edge, W consists of a single vertex
(uv). - This vertex is a u,v-path of length 0.
- Induction step l ? 1. (see the figure in the
next page) - 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. - 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.
31Lemma Every u,v-walk contains a u,v-path 1.2.5
32Components 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.
33Theorem Every graph with n vertices and k edges
has at least n-k components 1.2.11
n6, k3, 4 components
n6, k3, 3 components
n2, k1, 1 component
n3, k2, 1 component
34Cut-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. - 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.
35Induced subgraph 1.2.12
- An induced subgraph A subgraph obtained by
deleting a set of vertices. We write GT for G-
T, where T V(G)-T this is the subgraph of G
induced by T. - G2 is the subgraph of G1 induced by (A, B, C, D)
- G4 is not the subgraph induced by (A, B, C, D)
G3
G4
G1
G2
36Induced 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.
G3
G1
37Theorem An edge e is a cut-edge if and only if e
belongs to no cycles. 1.2.14
- Proof
- Let e (x, y) be an edge in a graph G, and let 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, and this path
completes a cycle with e. - Now suppose that e lies in a cycle C. Choose u,
v?V(H). Since H is connected, H has a u, v-path
P. - If P does not contain e, then P exists in H-e.
- If 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.
38Theorem An edge e is a cut-edge if and only if e
belongs to no cycles. 1.2.14
39Lemma Every closed odd walk contains an odd cycle
- Proof
- Use induction on the length l of a closed odd
walk W. - l1. A closed walk of length 1 traverses a cycle
of length 1. - 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.
- (If repeated, W includes a shorter closed odd
walk. By induction, the theorem hold) - 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. The odd one is
shorter than W, by induction hypothesis, it
contains an odd cycle, and this cycle appears in
order in W.
40Lemma Every closed odd walk contains an odd
cycle 1.2.15
Odd Odd Even
Even
v
Odd
41Theorem A graph is bipartite if and only if it
has no odd cycle. 1.2.18
A
B
A
B
F
C
D
E
D
C
A
B
A
B
C
D
C
D
E
F
42Theorem A graph is bipartite if it has no odd
cycle. 1.2.18
- Proof (sufficiency)
- 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) .
43Theorem A graph is bipartite if it has no odd
cycle. 1.2.18
- Proof (sufficiency) continue
- Let Xv ? V(H) f(v) is even and Yv ? 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. 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 X?Y V(H), so H is an
X, Y-bipartite graph.
Because even (or odd) even (or odd) even
even 1 odd Since no odd cycles, vv
doesnt exist. We have X and Y are independent
sets
Even (or Odd)
Odd Cycle
Even (or Odd)
44Theorem 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. -
45Eulerian 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.
46Even Graph, Even Vertex, and Maximal Path1.2.24
- An even graph is a graph with vertex degrees all
even. - A vertex is odd even when its degree is odd
even. -
- 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.
47Lemma 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.
P
v
u
u
P
Impossible
48Theorem 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. 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.
49Theorem 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)
- Assuming that the condition holds, we obtain an
Eulerian circuit using induction on the number of
edges, m. - Basis step m0. A closed trail consisting of one
vertex suffices. - Induction step mgt0. 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).
50Theorem 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
- Since C has 0 or 2 edges at each vertex, each
component of G is also an even graph. - Since each component also is connected and has
fewer than m edges, we can apply the induction
hypothesis to conclude that each component of G
has an Eulerian circuit. - 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.
51Proposition Every even graph decomposes into
cycles1.2.27
- Proof
- In the proof of Theorem 1.2.26, we noted that
every even nontrivial graph has a cycle, and that
the deletion of a cycle leaves an even graph. - Thus this proposition follows by induction on the
number of edges.
52Proposition 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 k?2,
then G also contains a cycle of length at least
k1. 1.2.28
- Proof
- 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. - To be continued
53Proposition 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 k?2,
then G also contains a cycle of length at least
k1. 1.2.28
- Proof continue
- 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.
d(u) ? k
v
u
at least k1 vertices Length ? k
54Degree, regular 1.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). - 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.
55Order 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 n?N, the notation n indicates the set
1,, n.
56Proposition (Degree-Sum Formula) If G is a
graph, then ?v?V(G)d(v) 2e(G) 1.3.3
- Proof Summing the degrees counts each edge
twice, since each edge has two ends and
contributes to the degree at each endpoint.
57Theorem If kgt0, 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)kX. - Counting them by their endpoints in Y yields
e(G)kY. - Thus kXkY, which yields XY when kgt0.
d (x) k
x
58A technique for counting a set 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
59A technique for counting a set (cont) 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.
60A technique for counting a set (cont) 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.
61Proposition 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.
62Theorem If G is simple n-vertex graph with
?(G)?(n-1)/2, then G is connected. 1.3.15
- Proof 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. 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
63Theorem Every loopless graph G has a bipartite
subgraph with at least e(G)/2 edges. 1.3.19
- Proof
- We start with any partition of 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. - Moving v to the other class gains more edges of G
than it loses.
64Theorem(Cont.) 3.19
- We move one vertex in this way as long as the
current bipartite subgraph captures less than
half of the edges at some vertex. - Each such switch increases the size of the
subgraph, so the process must terminate. When it
terminates, we have dH(v) ? dG(v)/2 for every
v?V(G) . - Summing this and applying the degree-sum formula
yields e(H) ? e(G)/2.
65Example 1.3.20
- Local maximum. 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. The graph below is 5-regular with 8
vertices and hence has 20 edges. The bipartition
Xa,b,c,d and Ye,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 . - Nevertheless, the bipartition Xa,b,g,h and
Yc,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.
66Example(Cont.) 1.3.20
67Theorem The maximum number of edges in an
n-vertex triangle free simple graph is ? n2/4 ?
1.3.23
- Proof
- Let G be an n-vertex triangle-free simple graph.
- Let x be a vertex of maximum degree, with kd(x).
- Since G has no triangles, there are no edges
among neighbors of x. - Hence summing the degrees of x and its
nonneighbors counts at least one endpoint of
every edge ?v?N(x)d(v) ? e(G). - We sum over n-k vertices, each having degree at
most k, so e(G) ? (n-k)k
68Theorem(Cont) 1.3.23
At least n-k vertices
Doesnt exist
No edges exist
- ?v?N(x) d(v) counts at least one endpoint of
every edge
At most k vertices
69Theorem(cont) 1.3.23
- 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. - 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
2kgtn1 and negative for 2kltn1. - Thus e(Kn-k, k) is maximized when k is ?n/2 ? or
?n/2? . - The product is then for even n and (n2-1)/4 for
odd n. Thus e(G) ? ?n2/4? . - To prove that the bound is best possible, we
exhibit a triangle-free graph with ?n2/4? edges
K ?n/2?,?n/2 ?.
70Degree 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 .
71Proposition 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. -
72Proposition 1.3.28 conti
- Proof 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 nonnegativesatisfy this for each i by
placing di /2 loops at vi.
73Graphic 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.
74Recursive condition 1.3.30
- The lists (2, 2, 1, 1) and (1, 0, 1) are graphic.
The graphic K2K1 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.
75Recursive 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. - 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
work.
76Recursive condition 1.3.30
- 33333221 3222221 221111
11100 - 2223221 111221
10111
77Theorem. For ngt1, 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
d10. 1.3.31
- Proof For n1, the statement is trivial. For
ngt1, we first prove that the condition is
sufficient. Give d with d1?..?dn and a simple
graph G with degree sequence d, 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, but d2-1,..,d?1-1 need
not be the ? largest numbers in d.
78Theorem 1.3.31 continue
- To prove necessity, we begin with a simple graph
G realizing d and produce a simple graph G
realizing d. Let w be a vertex of degree ? in G.
Let S be a set of ? vertices in G having the
desired degrees d2,..,d?1. - If N(w)S, then we delete w to obtain G.
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.
79Theorem 1.3.31 continue
- To find the modification when N(w)?S , we choose
x?S and z?S so that w?z and wlt?gtx. - We want to add wx and delete wz, but we must
preserve vertex degrees. Since d(x)gtd(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 .
802-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.
81Theorem If G and H are two simple graphs with
vertex set V, then dG(v)dH(v) for every v?V 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 v?V , we obtain an
appropriate sequence of 2-switches by induction
on the number of vertices, n. - If nlt3, then for each d1,..,dn there is at most
one simple graph with d(vi)di. Hence we can use
n3 as the basis step.
82Theorem. 1.3.33 (Continue)
- Consider n?4 , and let w be a vertex of maximum
degree,?. Let Sv1,..,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 GG-w and HH-w with dG(v)dH(v) for
every vertex v.
83Theorem. 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.
84Directed Graph and Its edges 1.4.2
- A directed graph or digraph G is a triple
consisting of 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, and the
second is the head together, they are the
endpoints. - We say that an edge is an edge from its tail to
its head. The terms head and tail come from
the arrows used to draw digraphs.
85Directed 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. - 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.
86Loop 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. - 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 u?v for there is an
edge from u to v.
Predecessor
Successor
Multiple edges
Loop
87Path 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.
88Underlying 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. - Most ideals and methods of graph theorem arise in
the study of ordinary graphs. Digraphs can be a
useful additional tool, especially in
applications, as we have tried to suggest. - 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.
The underlying Graph
A digraph
89Adjacency 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,j1 if vi is the tail of ej
and mi,j -1 if vi is the head of ej.
90Example 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.
91Connected 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.
92Weakly 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. - The strong components of a digraph are its
maximal strong subgraphs.
93Eulerian 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.
94Lemma. 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 let 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.
95Theorem 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
96De 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? - For n4, (0000111101100101) works.
- We can use such an arrangement to keep track of
the position of a rotating drum. - Our 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.
97De 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.
- Below we show D4. We next prove that Dn is
Eulerian and show how an Eulerian circuit yields
the desired circular arrangement.
98De Bruijn cycles 1.4.25
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.
a
b
99Theorem. 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.
100Theorem. The digraph Dn is Eulerian 1.4.26
- Proof
- 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. - 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.
101Theorem. 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
- 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. - The successive earlier labels (looking backward)
must have been an-2,..,a1 in order. - Since we delete the front and shift the reset to
obtain the reset of the name at the head
102Theorem. 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 Continue
- 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. - Since the 2n-1 vertex labels are distinct, and
the two edges leaving each vertex have distinct
labels, and we traverse each edge from each
vertex exactly once along C, we have shown that
the 2n strings of length n in the circular
arrangement given by the edge labels along C are
distinct.