# Tutte Polynomial ```Graphs &amp; Algorithms: Advanced Topics
Counting and Polynomials
Johannes Lengler, Uli Wagner
ETH Zürich
Counting Colorings
Definition
N
Let G = (V , E ) be a multigraph on n vertices, x ∈ . Let pG (x)
be the number of proper colorings of G with (at most) x colors.
Example
For the edge-free graph En on n vertices, pEn (x) = x n .
For the complete graph, pKn (x) = x(x − 1)(x − 2) &middot; &middot; &middot; (x − n + 1).
For a tree T on n vertices, pT (x) = x(x − 1)n−1 .
For the Petersen graph P,
pP (x) = x(x − 1)(x − 2)
&middot;(x 7 − 12x 6 + 67x 5 − 230x 4 + 529x 3 − 814x 2 + 775x − 352).
Theorem (Whitney 1932)
For every loop-free multigraph G on n vertices, pG (x) is a
polynomial of degree n, the chromatic polynomial.
The Chromatic Polynomial
Theorem (Whitney 1932)
For every loop-free multigraph G on n vertices, pG (x) is a
polynomial of degree n, the chromatic polynomial.
Proof.
Let πr (G ) be the number of partitions of V (G ) into r non-empty
independent sets. Then
pG (x) =
n
X
πr (G )(x)r ,
r =1
where (x)r = x(x − 1) &middot; &middot; &middot; (x − r + 1) is the falling factorial. Note
that πn (G ) = 1 if and only if G is loop-free.
First Properties of pG
Lemma
Let G be a multigraph. Then x(x − 1) &middot; &middot; &middot; (x − χ(G ) + 1) divides
pG .
Proof.
0, 1, . . . , χ(G ) − 1 are roots of pG .
Lemma
If a multigraph G = (V , E ) has two components A and B with
˙ = V , then pG = pA &middot; pB .
A∪B
Corollary
Let G be a multigraph with k components. Then x k divides pG .
Proof.
Every component contributes a factor x to pG .
Recursion
Proposition
Let G = (V , E ) be a multigraph and let e ∈ E be a simple edge
(no loop, no multiple edge). Then
pG (x) = pG −e (x) − pG /e (x).
Proof.
Let e = {u, v }. We count the number of colorings of G − e. A
coloring c of G − e is proper for G as well if and only if
c(u) 6= c(v ).
On the other hand, the colorings of G − e with c(u) = c(v ) are in
bijection with colorings of G /e. Hence,
pG −e (x) = pG (x) + pG /e (x).
Recursion
Proposition
Let G = (V , E ) be a multigraph and let e ∈ E be a simple edge
(no loop, no multiple edge). Then
pG (x) = pG −e (x) − pG /e (x).
Corollary
For any simple graph G with n vertices, m edges, and k
components,
n−k
X
pG (x) =
(−1)i ai x n−i ,
i=0
where a0 = 1, a1 = m and ai is a positive integer for every
0 ≤ i ≤ n − k.
Proof.
Induction on m.
The Rank-Generating Polynomial
Recall: e ∈ E is a bridge if G −e has (one) more component than G .
Definition
For a multigraph G with n(G ) vertices, m(G ) edges, and k(G )
components, we define its rank ρ(G ) and nullity ν(G ) as
ρ(G ) = n(G ) − k(G ),
ν(G ) = m(G ) − ρ(G ).
The rank-generating polynomial SG (x, y ) is
X
x ρ(E )−ρ(F ) y ν(F ) .
SG (x, y ) =
Lemma
F ⊆E
Let G = (V , E ) be a multigraph and e ∈ E .


(x + 1)SG −e (x, y ),
SG (x, y ) = (y + 1)SG −e (x, y ),


SG −e (x, y ) + SG /e (x, y ),
Then
if e is a bridge,
if e is a loop,
otherwise.
The Rank-Generating Polynomial
Definition
rank: ρ(G ) = n(G ) − k(G ),
nullity: ν(G ) = m(G ) − ρ(G ).
The rank-generating polynomial SG (x, y ) is
X
SG (x, y ) =
x ρ(E )−ρ(F ) y ν(F ) .
F ⊆E
Lemma
Let G be a plane multigraph and G ∗ its dual graph. Then
SG (x, y ) = SG ∗ (y , x).
Remark
In a shifted version, the rank-generating polynomial is also known
as Tutte polynomial TG (x, y ):
TG (x, y ) = SG (x − 1, y − 1)
Chromatic Polynomial
Proposition
For any multigraph G , the chromatic polynomial is given by
pG (x) = (−1)ρ(G ) x k(G ) SG (−x, −1).
Proof.
We use induction on m. For m = 0, we have pG (x) = x n ,
k(G ) = n, ρ(G ) = n − k(G ) = 0, and SG (x, y ) = 1.
For m &gt; 0, use

x−1

if e is a bridge,
 x pG −e (x),
pG (x) = 0,
if e is a loop,


pG −e (x) − pG /e (x), otherwise,
and the recursion formula for SG .
Tutte and Flow Polynomial
Proposition
Let Γ be a finite abelian group, and G a multigraph. Let qG (Γ) be
the number of Γ-NZFs (nowhere zero flows) on G . Then
qG (Γ) = (−1)ν(G ) SG (−1, −|Γ|).
Proof.
We use induction on m. For m = 0, we have qG (x) = 1, ν(G ) = 0
and SG (x, y ) = 1.
For m &gt; 0, use 

if e is a bridge,
0,
qG (Γ) = (|Γ| − 1)qG −e (Γ),
if e is a loop,


−qG −e (Γ) + qG /e (Γ), otherwise,
and the recursion formula for SG .
Corollary
Let G be a plane multigraph and G ∗ its dual. Let Γ be a finite
1
abelian group. Then qG (Γ) = |Γ|
pG ∗ (|Γ|).
Ehrhart-Macdonald Reciprocity
Reciprocity Theorem (Ehrhart, 1961)
Let P be a d-dimensional integral polytope (defined by inequalities
with integer coefficients), and let P ◦ bethe interior of the
polytope. Let ehrP (t) := # ( 1t Z)d ∩ P , and similarly for
ehrP ◦ (t). Then ehrP (t) and ehrP ◦ (t) are polynomials, and
ehrP (−t) = (−1)d ehrP ◦ (t).
Corollary
(−1)n pG (−1) is the number of acyclic orientations of G .
More generally, (−1)n pG (−k) is the number of pairs (O, χ), where
O is an acyclic orientation of G , and χ : E → {1, . . . , k} is a map
such that χ(u) ≥ χ(v ) for every oriented edge (u, v ).
More Special Values
For a connected multigraph G ,
I
SG (0, 0) counts the number of spanning trees.
I
SG (1, 0) counts the number of forests.
I
SG (0, 1) counts the number of connected spanning subgraphs.
I
SG (−1, 1) counts the number of strongly connected
orientations.
I
SG (0, −1) counts the number of acyclic orientations with
unique source v , for a v ∈ V . (In particular, this number is
independent of v .)
I
If G is connected, and every edge fails independently with
probability p , then (1 − p)n−1 p m−n+1 SG (0, 1/p) is the
probability that G stays connected.
Thank you and good luck for the exam!
```