Professional Documents
Culture Documents
Graph Polynomials
Graph Polynomials
S-72.2420 / T-79.5203 The deletion–contraction algorithm and graph polynomials 1 S-72.2420 / T-79.5203 The deletion–contraction algorithm and graph polynomials 3
Deleting an edge
5. Deletion–contraction and graph polynomials
For a graph G and e ∈ E, denote by G\e the graph obtained from G
Throughout this lecture we assume that G is an undirected graph, by deleting e.
possibly with loops and parallel edges.
Example.
Many basic invariants associated with G can be expressed using a
recurrence formula involving deletions and contractions of the e
edges of G.
& % & %
23. 04. 08 c Petteri Kaski 2008
23. 04. 08 c Petteri Kaski 2008
' $ ' $
S-72.2420 / T-79.5203 The deletion–contraction algorithm and graph polynomials 2 S-72.2420 / T-79.5203 The deletion–contraction algorithm and graph polynomials 4
Contracting an edge
Sources for this lecture
For a graph G and e ∈ E, denote by G/e the graph obtained from G
The material for this lecture has been prepared with the help of by contracting e; that is, by identifying the ends of e and then
[Big, Chaps. 9–14], [Bol, Chap. X], and [God, Chap. 15]. deleting e.
Deletion–contraction trees
& % & %
recursively add the trees of G\e and G/e as children of G.
' $ ' $
S-72.2420 / T-79.5203 The deletion–contraction algorithm and graph polynomials 6 S-72.2420 / T-79.5203 The deletion–contraction algorithm and graph polynomials 8
Example
& % & %
23. 04. 08 c Petteri Kaski 2008
23. 04. 08 c Petteri Kaski 2008
' $ ' $
S-72.2420 / T-79.5203 The deletion–contraction algorithm and graph polynomials 9 S-72.2420 / T-79.5203 The deletion–contraction algorithm and graph polynomials 11
1 1 1
2 Denote by κ(G) the number of orientations of G that are acyclic;
1 1 1 that is, do not contain a directed cycle.
4
1 1 1 As usual, loops are regarded as cycles.
2 1 1 1 Theorem A.43 For all e ∈ E,
8 1 1
1 if G has no edges;
2
0
if e is a loop;
1 1 κ(G) =
3
2κ(G/e) if e is a cut-edge;
1 1
4 1
κ(G\e) + κ(G/e) otherwise.
& % & %
1 1 1
1
23. 04. 08 c Petteri Kaski 2008
23. 04. 08 c Petteri Kaski 2008
' $ ' $
S-72.2420 / T-79.5203 The deletion–contraction algorithm and graph polynomials 10 S-72.2420 / T-79.5203 The deletion–contraction algorithm and graph polynomials 12
4 2 1
& % & %
8
Proof: The case of no edges and the loop case are immediate.
Example: PG (t) with deletion–contraction
If e is a cut-edge, then any acyclic orientation of G can be formed by
taking an acyclic orientation of G/e and orienting e either way.
0
κ(G/e) such acyclic orientations of G\e, each of which corresponds to t(t − 1)(t − 2)2 0
exactly two acyclic orientations of G: orient e either way. Each of the t(t − 1)
remaining κ(G\e) − κ(G/e) acyclic orientations of G\e corresponds t(t − 1) t
t(t − 1)(t − 2)
to exactly one acylic orientation of G: there is a unique way to orient
e due to the directed path. Thus, t(t − 1) t
t(t − 1)(t2 − 3t + 3) t(t − 1)2
& % & %
t(t − 1) t
t(t − 1)3
23. 04. 08 c Petteri Kaski 2008
23. 04. 08 c Petteri Kaski 2008
' $ ' $
S-72.2420 / T-79.5203 The deletion–contraction algorithm and graph polynomials 14 S-72.2420 / T-79.5203 The deletion–contraction algorithm and graph polynomials 16
& % & %
23. 04. 08 c Petteri Kaski 2008
23. 04. 08 c Petteri Kaski 2008
' $ ' $
S-72.2420 / T-79.5203 The deletion–contraction algorithm and graph polynomials 17 S-72.2420 / T-79.5203 The deletion–contraction algorithm and graph polynomials 19
' $ ' $
S-72.2420 / T-79.5203 The deletion–contraction algorithm and graph polynomials 18 S-72.2420 / T-79.5203 The deletion–contraction algorithm and graph polynomials 20
Examples. For a complete graph Kn , For F ⊆ E = E(G), denote by cF (G) the number of connected
components in the subgraph of G with vertex set V = V (G) and edge
PKn (t) = t(t − 1) · · · (t − n + 1), set F .
and, for any tree T with n vertices, The Tutte polynomial of G is the polynomial
n−1
PT (t) = t(t − 1) .
X
TG (x, y) = (x − 1)cF (G)−c(G) (y − 1)cF (G)+|F |−n(G)
F ⊆E
' $ ' $
S-72.2420 / T-79.5203 The deletion–contraction algorithm and graph polynomials 22 S-72.2420 / T-79.5203 The deletion–contraction algorithm and graph polynomials 24
A recurrence for the Tutte polynomial There are three cases to consider depending on the selected e ∈ E.
& % & %
23. 04. 08 c Petteri Kaski 2008
23. 04. 08 c Petteri Kaski 2008
' $ ' $
S-72.2420 / T-79.5203 The deletion–contraction algorithm and graph polynomials 25 S-72.2420 / T-79.5203 The deletion–contraction algorithm and graph polynomials 27
Thus, Thus,
X X
TG (x, y) = (x − 1)cF (G)−c(G) (y − 1)cF (G)+|F |−n(G) TG (x, y) = (x − 1)cF (G)−c(G) (y − 1)cF (G)+|F |−n(G)
F ⊆E−e F ⊆E−e
X X
cF +e (G)−c(G) cF +e (G)+|F +e|−n(G)
+ (x − 1) (y − 1) + (x − 1)cF +e (G)−c(G) (y − 1)cF +e (G)+|F +e|−n(G)
F ⊆E−e F ⊆E−e
X X
cF (G\e)−c(G\e) cF (G\e)+|F |−n(G\e)
= (x − 1) (y − 1) = (x − 1)cF (G/e)+1−c(G/e) (y − 1)cF (G/e)+1+|F |−n(G/e)−1
F ⊆E−e F ⊆E−e
X X
+ (x − 1)cF (G\e)−c(G\e) (y − 1)cF (G\e)+|F |+1−n(G\e) + (x − 1)cF (G/e)−c(G/e) (y − 1)cF (G/e)+|F |+1−n(G/e)−1
F ⊆E−e F ⊆E−e
X X
= (1 + y − 1) (x − 1)cF (G\e)−c(G\e) (y − 1)cF (G\e)+|F |−n(G\e) = (x − 1 + 1) (x − 1)cF (G/e)−c(G/e) (y − 1)cF (G/e)+|F |−n(G/e)
F ⊆E−e F ⊆E−e
& % & %
23. 04. 08 c Petteri Kaski 2008
23. 04. 08 c Petteri Kaski 2008
' $ ' $
S-72.2420 / T-79.5203 The deletion–contraction algorithm and graph polynomials 26 S-72.2420 / T-79.5203 The deletion–contraction algorithm and graph polynomials 28
Next assume that e is a cut-edge. Then Finally, assume that e is neither a loop nor a cut-edge. Then
& % & %
23. 04. 08 c Petteri Kaski 2008
23. 04. 08 c Petteri Kaski 2008
' $ ' $
S-72.2420 / T-79.5203 The deletion–contraction algorithm and graph polynomials 29 S-72.2420 / T-79.5203 The deletion–contraction algorithm and graph polynomials 31
= TG\e (x, y) + TG/e (x, y). From (4) and (5) it follows that, when expanded, the expression
' $ ' $
S-72.2420 / T-79.5203 The deletion–contraction algorithm and graph polynomials 30 S-72.2420 / T-79.5203 The deletion–contraction algorithm and graph polynomials 32
& % & %
23. 04. 08 c Petteri Kaski 2008
23. 04. 08 c Petteri Kaski 2008
' $ ' $
S-72.2420 / T-79.5203 The deletion–contraction algorithm and graph polynomials 33 S-72.2420 / T-79.5203 The deletion–contraction algorithm and graph polynomials 35
' $ ' $
S-72.2420 / T-79.5203 The deletion–contraction algorithm and graph polynomials 34 S-72.2420 / T-79.5203 The deletion–contraction algorithm and graph polynomials 36
Corollaries
Computing the Tutte polynomial
Corollary A.6 κ(G) = TG (2, 0). • It is a #P-hard problem to evaluate TG (x, y) in almost every
point (x, y) of the Tutte plane. E.g. already deciding whether
Proof: Use the recipe α = 1, β = 0, γ = 2, λ = µ = 1. TG (−2, 0) 6= 0 for a given G is NP-hard.
Corollary A.7 PG (t) = (−1)n(G)−c(G) tc(G) TG (1 − t, 0). • Apparently the fastest known algorithm for computing
TG (x, y) runs in time 2n nO(1) mO(1) .
Proof: Use the recipe α = t, β = 0, γ = t − 1, λ = 1, µ = −1.
& % & %
23. 04. 08 c Petteri Kaski 2008
23. 04. 08 c Petteri Kaski 2008