Graph Theory (Neal Bushaw) Noted by Shule Yu Fall 2015 2015.08.25 http://516.NealBushaw.com • Graph. – Vertex Set V (G). Needs to be non-empty. – Edge Set E(G). E ⊆ V (G) (2) – Simple Graphes. No loops (v i ,v i ). – Multigraph. Can have multiple edges between two vertices, sometimes allow loops. – Weighted graphs, directed graphs, etc. • Def. The order of a graph G is the number of vertices, noted as v(G) or |V (G)|. We usually use n as the number of vertices of G. – Note: Maximum number of graphs for a given vertex set V (G) is ∼ O(2 n 2 ), which is really a huge number ! • Def. The size of a graph G is the number of edges in the graph, noted as e(G) or |E(G)|. – Maxinum of e(G) is n(n - 1) 2 ∼ O(n 2 ). • Def. Empty graph with n vertices, E n with e(E n ) = 0. • Def. Complete graph with n vertices, K n with e(K n )= n(n - 1) 2 . • Def. The complement graph ¯ G: V ( ¯ G)= V (G); E( ¯ G)= E(K n )\E(G). – ¯ E n = K n • Def. Two graph is isomorphism if there exists a bijection between them. ψ : G ⇔ H. • Def. Path of length l, noted as P l : – V (P l )= {x 0 ,x 1 ,x 2 , ..., x l }. – E(P l )= {x 0 x 1 ,x 1 x 2 ,x 2 x 3 , ..., x l-1 x l }. Note that: – P visits every vertices just once, no cycles.
27
Embed
Graph Theory (Neal Bushaw) - gcc.asu.edugcc.asu.edu/shule/materials/GraphTheory.pdf · Homework Problem. How to nd all such graph: in its degree sequence, there’s a unique pair
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Graph Theory (Neal Bushaw)
Noted by Shule Yu
Fall 2015
2015.08.25
http://516.NealBushaw.com
• Graph.
– Vertex Set V (G). Needs to be non-empty.
– Edge Set E(G). E ⊆ V (G)(2)
– Simple Graphes. No loops (vi, vi).
– Multigraph. Can have multiple edges between two vertices, sometimes allow loops.
– Weighted graphs, directed graphs, etc.
• Def. The order of a graph G is the number of vertices, noted as v(G) or |V (G)|. We usually use n as
the number of vertices of G.
– Note: Maximum number of graphs for a given vertex set V (G) is ∼ O(2n2
), which is really a huge
number !
• Def. The size of a graph G is the number of edges in the graph, noted as e(G) or |E(G)|.
– Maxinum of e(G) isn(n− 1)
2∼ O(n2).
• Def. Empty graph with n vertices, En with e(En) = 0.
• Def. Complete graph with n vertices, Kn with e(Kn) =n(n− 1)
2.
• Def. The complement graph G: V (G) = V (G); E(G) = E(Kn)\E(G).
– En = Kn
• Def. Two graph is isomorphism if there exists a bijection between them. ψ : G⇔ H.
• Def. Path of length l, noted as Pl:
– V (Pl) = {x0, x1, x2, ..., xl}.
– E(Pl) = {x0x1, x1x2, x2x3, ..., xl−1xl}.
Note that:
– P visits every vertices just once, no cycles.
– Internal vertices of this path:{x1, x2, ..., xl−1}.
– Internal edges of this path:{x1x2, x2x3, ..., xl−2xl−1}.
• Def. Cycle of length l, noted as Cl:
– V (Cl) = {x1, x2, ..., xl}.
– E(Cl) = {x1x2, x2x3, ..., xl−1xl, xlx1}.
Note: For path and cycles, length is measured by the edge number.
• Def. For two vertex sets S, T ⊆ V (G), an S−T edge set, denoted as E(S, T ), is a subset of E(G) with
each elements joining one vertex in S and one vertex in T . Its size is denoted as e(S, T ).
• Def. A graph is called bi-partited, if there exist vertex sets U,W ⊆ V (G) such that:
– U ∩W = ∅.
– V (G) = U ∪W
– E(G) = E(U,W ).
Note: bi-partited graphs are small in number:
limn→∞
|{Gbi|V (G) = n}||{G|V (G) = n}|
= 0 (1)
• Theorem. G is bi-partied if and only if it doesn’t contain odd cycles.
– Sufficiency. Let G has no odd cycles. Pick a vertex v ∈ V (G), let A be the vertex set whose
elements has their shortest paths to v are odd in length. Let B be the vertex set whose elements
has their shortest paths to v are even in length. If ∃v1, v2 ∈ A are adjacent, then there exists an
odd closed walk (v, ..., v1, v2, ..., v) and therefore there exists an odd cycle. So no vertices in A is
adjacent to each other and the same situation in B. A,B becomes a way to bi-partite G.
– Necessity. Let G is bi-partited into A,B. Suppose we have an odd cycle (v1, v2, ..., v2k+1, v1). Let
v1 ∈ A, then v2 ∈ B, v3 ∈ A, ..., v2k ∈ B, v2k+1 ∈ A. Therefore there’s an edge (v2k+1, v1) ∈ E(A)
which contradicts to the bi-partition.
• Def. The degree of a vertex v ∈ V (G) is the number of incident edges to v. Noted as d(v).
d(v) =∑
e∈E(G)
1v∈e (2)
2015.08.27
Subgraph.
• Def. If G can be bi-partited into A,B with
– |V (A)| = m.
– |V (B)| = n.
– For ∀v1 ∈ A,∀v2 ∈ B, ∃e = (v1, v2).
Then G is a complete bi-partited graph, noted as Kmn.
– Naturally, Kmn ' Knm.
• Some Notations.
– Let Gn be a graph of order n.
– Let G(n,m) be a graph of order n and size m.
• Removing vertices. Let vertex set U ⊆ V (G). Note the remaining graph G′ = G− U :
– V (G′) = V (G)\U .
– E(G′) = {e ∈ E(G)|v 6∈ e, ∀v ∈ U}.
• Removing edges. Let edge set F ⊆ E(G). Note the remaining graph G′ = G− F :
– V (G′) = V (G).
– E(G′) = E(G)\F .
• Def. Let F,G be two graphs. F is a subgraph of G, noted as F ⊆ G, if and only if:
– V (F ) ⊆ V (G).
– E(F ) ⊆ E(G).
• Def. Let vertex set U ∈ V (G). G[U ] is a induced subgraph of G by vertex subset U :
– V (G[U ]) = U .
– E(G[U ]) = {e ∈ E(G)|V (e) ⊆ U}
Note: For ∀F ⊆ G, F ⊆ G[V (F )]. In other words, induced subgraph is edge-maximized subgraph for
a given vertex set.
• Def. The neighbourhood of vertex set S ⊆ V (G) is the set of vertices adjacent to some vertices in S,
Noted as NG(S). For open neighbourhood, NG(S) ∩ S = ∅. For closed neighbourhoold, S ⊆ NG(S).
We are discussing open neighbourhood.
– For ∀v ∈ V (G), d(v) = |NG(v)|.
• Lemma. The hand shake lemma.
∑v∈V (G)
d(v) = 2e(G) (3)
– Proof 1. Count the number of (vertex,edge) pairs. Loop through vertices for the first time, and
loop through edges for the second time.
– Proof 2.
∑v∈V (G)
d(v) =∑
v∈V (G)
∑u∈V (G)
1(u,v)∈E(G)
=∑
v∈V (G)
∑e∈E(G)
1v∈V (e)
=∑
e∈E(G)
∑v∈V (G)
1v∈V (e)
=∑
e∈E(G)
2
= 2e(G)
(4)
• Cor. The sum of all degrees is even.
• Prop. Every graph has two vertices of the same degree.
– Proof. For given G with v(G) = n, all possible degree is (0, 1, 2, 3, ..., n− 1). If every vertices gets
different degree, then 0 and n−1 must be in the degree sequence, which contradicts to each other.
• Def. A graph is connected if every pair of vertices x, y are joint by some path(s).
• Def. A connected component of a graph is a connection-maximized induced subgraph.
• Lemma. G(n,m) has at least n−m components.
– Proof by induction on the size of G. Base case. En has n components. For G(n, j), by adding the
j + 1 edge, number of components minus at most 1.
2015.09.01
Walk.
• Def. The maximum degree of G is noted as ∆(G).
• Def. The minimum degree of G is noted as δ(G).
• Two inequalities. Because
∑d(v) =2e(G)
nδ(G) ≤2e(G) ≤ n∆(G)
(5)
– δ(G) ≤⌊
2e(G)
n
⌋– ∆(G) ≥
⌈2e(G)
n
⌉• Def. A vertex set U ⊆ V (G) is independent if it induce an empty graph.
– namely. for ∀u1, u2 ∈ U ,(u1, u2) is not and edge in G.
– e.g. Vertex sets A,B of bi-partited G are both independent sets.
• Def. A set of paths is vertex independent or vertex internal disjoint when the only vertices
which belongs to more than one paths are within their endpoint set.
• Def. A walk is a sequence of vertices / edges.
– Walks allow repeating vertices and edges.
– Walks includes cycles and paths.
• Theorem If there is a walk from u to v, then there is a path joining u and v.
• Prop. Every graph G with δ(G) ≥ 2 contains one path of length at least δ and one cycle of length at
least δ + 1.
– Proof. Take a longest path P in the graph, name its starting vertex v0. Since P is the longest
path, all neighbours of v0 should be visited by P , otherwise we can extend P by including that
neighbour and choosing that neighbour as the starting vertex. Since v0 has at least δ neighbours,
the length of P must be greater or equal to δ.
– The edge connecting v0 and farthest neighbour on P create the cycle of length at least δ + 1.
• Cor. Let G be a graph with minimum degree of 2, then it contains non-trivial cycle.
2015.09.03
Tree.
• Homework Problem. How to find all such graph: in its degree sequence, there’s a unique pair of same
degree.
– First notice that if G with V (G) = n is such graph, then G is also such graph.
– Then we claim if G with V (G) = n, n ≥ 3 is a connected graph with such property, then
Kn+1 − E(G) is a graph with n+ 1 vertices which has such property.
– Is that all such graphs?
• Theorem If G is disconnected graph, then G is connected.
– Proof. Let G be disconnected. For ∀x, y from the same component of G, let vertex u from another
component. Then {x, u, y} is a path in G; For ∀x, y from different component of G, (x, y) is an
edge in G. Therefore G is connected.
• Def. A tree is a connected acycle graph.
• Def. A leaf is a vertex of degree 1 in a tree.
• Def. A leaf which is not in a tree is a pendant.
• Lemma Every tree of order at least 2 has at least 2 leaves.
– Take the longest path. Then at the ends you can find these two leaves.
• Theorem The following are equal. (TFAE)
– (i). T is a tree.
– (ii). T is a minimal connected graph.
– (iii). T is a maximal acycle graph.
• Def. An edge of a connected graph is a cut edge if when you delete it, the graph becomes disconnected.
• Lemma No edge of a cycle is a cut edge.
• Cor. Every edge in a tree is a cut edge.
• Proof of the TFAE.
– (i) → (ii). Let (u, v) be a redundent edge of tree G to be a mininal connected graph. Then by
removing (u, v), G is still connected, therefore there exists a u − v path in G − (u, v). And by
adding (u, v) back, we create a cycle in G. Therefore no such (u, v) exists in a tree.
– (ii) → (i). Let’s suppose G is a minimum connected graph but not a tree. Then there exists a
cycle. Since no edge of a cycle is a cut edge, we can remove one edge from the cycle while keep
the graph connected. Then it means G is not minimum connected. Therefore no such cycle and
G is a tree.
– (i) → (iii). Let’s suppose tree G is not a maximum acycle graph, we can add at least one edge(s)
while keeping it acycle. Since the result is still a tree, it’s a minimum connected graph. Then by
removing the added edge(s) will result in a disconnected graph G. Therefore no such edge(s) can
be added.
– (iii) → (i). Let’s suppose G is maximum acycle graph but not a tree. Then G is disconnected. By
add an edge to connect two components of G we at the same time create a cycle containing the
edge just added. Then removing it will left these two components connected, which contradicts to
where we started.
• Theorem TFAE II.
– (i). G is a tree.
– (ii). G has n− 1 edges, with either acycle or connected.
– (iii). For every pair of vertices x and y there exists a unique x− y path.
• Proof of TFAE II.
– (i) → (ii). Induction basic case: V (G) = 1. Induction on number of vertices of the graph: Let’s
suppose for any tree G, if V (G′) = n−1, then e(G′) = n−2. Let’s consider tree G with V (G) = n.
Since it’s a tree, it has at least two leaves u, v. Let G′ = G− v, then G′ is still a connected acycle
graph. So G′ is a tree with n− 1 vertex. So G′ has n− 2 edges. Therefore G has n− 1 edges.
– other relations are quite easy to prove.
• Cor. Adding an edge to a tree yields exactly one cycle.
2015.09.08
Tree.
• Def. A spanning tree of G (T ⊆ G) is a tree that use all the vertices in V (G).
– Q1: How many spanning tree (don’t consider isomorphism) exists for n vertices?
– A1: Find a way to naming each of them and the number of names is the number of spanning trees.
– Q2: How many spanning tree (consider isomorphism as the same tree) exists for n vertices?
– A2: open question. No body knows the answer.
• Cor. Every connected graph on n vertices has at least n−1 edges and have a spanning tree as subgraph.
• Cayley’s formula. There are nn−2 spanning trees for a n-vertex graph G. (No isomorphism.)
• Prufer code. The algorithm of naming a spanning tree.
– (i). Number all vertices in G in order.
– (ii). For the current spanning tree, find the leaf with the smallest number, let it be v.
– (iii). Remove v from T , write down the number of its neighbour.
– (iv). Repeat (ii) and (iii) until what remains is an edge.
– e.g.
– Claim that every Prufer code can be reconstructed to a spanning tree.
∗ Proof. If we can find a way to reconstruct the n − 1 edges, we can reconstruct the spanning
tree. Algorithm of re-construct:
· (a). Let V = {1, 2, 3, ..., n}, Prufer code P = {p1, p2, ..., pn−2}
· (b). Find the smallest label in V but not in P as k, let (k, p1) be an edge.
· (c). Remove k from V , remove p1 from P .
· (d). Repeat (b) and (c) until there’s not element left in P . Now there’s 2 element left in
V . Let them be an edge.
– Conclusion. For n-vertex spanning tree, there are nn−2 Prufer code. Therefore the number of
spanning tree is nn−2.
2015.09.10
Conncetivity. Mader’s Theorem.
• Def. A vertex cut of a connected graph G is a vertex set X ⊆ V (G) such that G[V (G) − X] is
disconnected.
– Note: the interesting topic will be the minimum size of a vertex cut for G.
• Def. A graph is called k-connected if |V (G)| > k and for ∀X ⊆ V (G) with |X| < k, X can’t be a
vertex cut.
• Def. The connnectivity of G, noted as κ(G), is the largest k such that G is k-connected. In other
words, the miminum size of any vertex cut of G.
– Facts.
∗ κ(G) ≤ δ(G).
∗ If a graph is k-conncected, then it’s also (k − l)-connected, k ≥ l > 0.
∗ 0-connected: every graph.
∗ 1-connected: a connected graph.
∗ 2-connected: a connected graph with no cut vertex.
∗ κ(Kn) = n− 1
• Theorem, Mader 72’ Every graph which has an averaged degree at least 4k contains a k-connected
subgraph.
– ∀G(n,m) with d(G) ≥ 4k satisfy:
∗ n ≥ 2k − 1.
∗ e(G) = m ≥ (2k − 3)(n− k + 1) + 1.
– Proof.
∗ Since n− 1 ≥ ∆(G) ≥ d(G) ≥ 4k, n ≥ 4k + 1 ≥ 2k − 1.
∗ We have:
∑d(vi) = 2e(G)
nd(G) = 2m
m =n
2d(G) ≥ 2nk.
(6)
Therefore
(2k − 3)(n− k + 1) + 1 = 2nk − (3n+ 2k2 − 5k)− 2
≥ 2nk − (3(4k + 1) + 2k2 − 5k)− 2
= 2nk − 2− (2k2 + 7k + 3)
≤ 2nk ≤ m
(7)
– G(n,m) contains a k-connected (k ≥ 2) subgraph if
∗ n ≥ 2k − 1.
∗ e(G) = m ≥ (2k − 3)(n− k + 1) + 1.
– Proof.
∗ n = 2k − 1. then by the second requirements
e(G) =m ≥ (2k − 3)(n− k + 1) + 1
=(n− 2)1
2(n+ 1) + 1
=1
2n(n− 1)
(8)
In this case, G is a complete graph with connectivity n−1 = 2k−2 ≥ k. Choose the subgraph
to be G.
∗ n ≥ 2k. Applying induction on n. Let’s suppose ∀|G′| = n − 1 satisfy the claim. That
is, for every |G′| = n − 1 with n − 1 ≥ 2k − 1, e(G′) ≥ (2k − 3)(n − 1 − k + 1) + 1,
then G′ has a k-connected subgraph. And now for any |G| = n satisfying n ≥ 2k − 1,
e(G) ≥ (2k − 3)(n− k + 1) + 1 we are finding G a k-connected subgraph.
· Case 1. There is some vertex v with d(v) ≤ 2k − 3. Then by removing vertex v, we have
a G′ satisfying:
n− 1 ≥ 2k − 1.(because n ≥ 2k)
e(G′) ≥ e(G)− d(v) = (2k − 3)(n− 1− k + 1) + 1.
(9)
Therefore G′ = G\v has a k-connected subgraph, therefore G also has a k-connected
subgraph.
· Case 2. All vertices have degree ≥ 2k − 2. Assuming G is not k-connected, then we can
find a vertex cut X with v(X) < k such that G−X is a disconnected graph with at least
two components C1, C2. Let G1 = G[V (C1)∪X] and G2 = G[V (C2)∪X]. Then we have:
1. e(G) ≤ e(G1) + e(G2).
2. Assume G1, G2 are both not k-connected (otherwise we find some k-connected subgraph
of G).
3. In graphs G1, G2, some vertices still have degree ≥ 2k − 2. Namely, v(Gi) ≥ 2k − 1.
Using the G′ condition on Gi: since Gi are not k-connected, then
e(Gi) < (2k − 3)(|Gi| − k + 1) + 1 (10)
Therefore
e(G) ≤ e(G1) + e(G2)
< (2k − 3)(|G1| − k + 1) + 1 + (2k − 3)(|G2| − k + 1) + 1
≤ (2k − 3)(n− k + 1) + 1
(11)
contradicting our assumptions. Therefore G is k-connected and we can choose the sub-
graph to be G.
2015.09.15
Block.
• Def. A disconnecting set of edges is a subset F ⊆ E(G) such that G− F is disconnected.
• Def. For ∀S ⊂ V (G), E(S, S) is an edge cut.
• Cor. An edge cut is a disconnecting set. A minimum disconnecting set of G is an edge cut.
• Def. A graph is k-edge connected if every disconnecting set of G has at least k elements. (in another
words, ∀|F | ≤ k − 1, G− F is connected.)
• Def. The edge connectivity κ′(G) is the maximum k such that G is k-edge connected. (in another
words, the minimum size of any disconnecting set of G)
• κ(Kn) = κ′(Kn) = n− 1.
– But κ(G) and κ′(G) are not the same in general. The graph bellow have κ(G) = 2, κ′(G) = 3:
• Theorem κ(G) ≤ κ′(G) ≤ δ(G).
– Their relation to δ(G) is obvious.
– Proof of κ(G) ≤ κ′(G). Let S be the vertex set such that E(S, S) is a minimum edge cut of G.
Therefore |E(S, S)| = κ′(G).
∗ Assume every vertex in S is adjacent to every vertex in S and vice versa, then |E(S, S)| =
|v(S)||v(S)|. Since v(S) + v(S) = n, we have |E(S, S)| = κ′(G) ≥ 1 · (n− 1) = n− 1 ≥ κ(G).
∗ Assume ∃x ∈ S, y ∈ S such that (x, y) 6∈ E(S, T ). Let set up a vertex set T contiaining:
· Every neighbours of x in S.
· Every vertices in S (except x) that has neighbour(s) in S.
· schematic figure:
Then T is a vertex cut of G (by deleting T we guarantee x and y remains and non-adjacent),