The Pólya enumeration theorem, also known as the Redfield–Pólya theorem and Pólya counting, is a theorem in combinatorics that both follows from and ultimately generalizes Burnside's lemma on the number of orbits of a group action on a set. The theorem was first published by J. Howard Redfield in 1927. In 1937 it was independently rediscovered by George Pólya, who then greatly popularized the result by applying it to many counting problems, in particular to the enumeration of chemical compounds.
The Pólya enumeration theorem has been incorporated into symbolic combinatorics and the theory of combinatorial species.
Let X be a finite set and let G be a group of permutations of X (or a finite symmetry group that acts on X). The set X may represent a finite set of beads, and G may be a chosen group of permutations of the beads. For example, if X is a necklace of n beads in a circle, then rotational symmetry is relevant so G is the cyclic group Cn, while if X is a bracelet of n beads in a circle, rotations and reflections are relevant so G is the dihedral group Dn of order 2n. Suppose further that Y is a finite set of colors — the colors of the beads — so that YX is the set of colored arrangements of beads (more formally: YX is the set of functions
X\toY
\left|YX/G\right|=
1 | |
|G| |
\sumgmc(g)
where
m=|Y|
In the more general and more important version of the theorem, the colors are also weighted in one or more ways, and there could be an infinite number of colors provided that the set of colors has a generating function with finite coefficients. In the univariate case, suppose that
f(t)=f0+f1t+f2t2+ …
is the generating function of the set of colors, so that there are fw colors of weight w for each integer w ≥ 0. In the multivariate case, the weight of each color is a vector of integers and there is a generating function f(t1, t2, ...) that tabulates the number of colors with each given vector of weights.
The enumeration theorem employs another multivariate generating function called the cycle index:
ZG(t1,t2,\ldots,tn)=
1 | |
|G| |
\sumg
c1(g) | |
t | |
1 |
c2(g) | |
t | |
2 |
…
cn(g) | |
t | |
n |
where n is the number of elements of X and ck(g) is the number of k-cycles of the group element g as a permutation of X.
A colored arrangement is an orbit of the action of G on the set YX (where Y is the set of colors and YX denotes the set of all functions φ: X→Y). The weight of such an arrangement is defined as the sum of the weights of φ(x) over all x in X. The theorem states that the generating function F of the number of colored arrangements by weight is given by:
F(t)=
2),f(t | |
Z | |
G(f(t),f(t |
3),\ldots,f(tn))
or in the multivariate case:
F(t1,t2,\ldots)=ZG(f(t1,t2,\ldots),f(t
n,\ldots)). | |
2 |
To reduce to the simplified version given earlier, if there are m colors and all have weight 0, then f(t) = m and
\left|YX/G\right|=F(0)=ZG(m,m,\ldots,m)=
1 | |
|G| |
\sumgmc(g).
In the celebrated application of counting trees (see below) and acyclic molecules, an arrangement of "colored beads" is actually an arrangement of arrangements, such as branches of a rooted tree. Thus the generating function f for the colors is derived from the generating function F for arrangements, and the Pólya enumeration theorem becomes a recursive formula.
See main article: Necklace (combinatorics).
How many ways are there to color the sides of a three-dimensional cube with m colors, up to rotation of the cube? The rotation group C of the cube acts on the six sides of the cube, which are equivalent to beads. Its cycle index is
ZC(t1,t2,t3,t4)=
1 | |
24 |
6 | |
\left(t | |
1 |
+6
2 | |
t | |
1 |
t4+3
2 | |
t | |
1 |
2 | |
t | |
2 |
+8
2 | |
t | |
3 |
+6
3\right) | |
t | |
2 |
which is obtained by analyzing the action of each of the 24 elements of C on the 6 sides of the cube, see here for the details.
We take all colors to have weight 0 and find that there are
F(0)=ZC(m,m,m,m)=
1 | |
24 |
\left(m6+3m4+12m3+8m2\right)
different colorings.
A graph on m vertices can be interpreted as an arrangement of colored beads. The set X of "beads" is the set of
\binom{m}2
f(t)=1+t
G=Sm,
The eight graphs on three vertices (before identifying isomorphic graphs) are shown at the right. There are four isomorphism classes of graphs, also shown at the right.
The cycle index of the group S3 acting on the set of three edges is
ZG(t1,t2,t3)=
1 | |
6 |
3 | |
\left(t | |
1 |
+3t1t2+2t3\right)
(obtained by inspecting the cycle structure of the action of the group elements; see here). Thus, according to the enumeration theorem, the generating function of graphs on 3 vertices up to isomorphism is
F(t)=ZG\left(t+1,t2+1,t3+1\right)=
1 | |
6 |
\left((t+1)3+3(t+1)(t2+1)+2(t3+1)\right),
which simplifies to
F(t)=t3+t2+t+1.
Thus there is one graph each with 0 to 3 edges.
The cycle index of the group S4 acting on the set of 6 edges is
ZG(t1,t2,t3,t4)=
1 | |
24 |
6 | |
\left(t | |
1 |
+9
2 | |
t | |
1 |
2 | |
t | |
2 |
+8
2 | |
t | |
3 |
+6t2t4\right)
(see here.) Hence
F(t)=ZG\left(t+1,t2+1,t3+1,t4+1\right)=
(t+1)6+9(t+1)2(t2+1)2+8(t3+1)2+6(t2+1)(t4+1) | |
24 |
which simplifies to
F(t)=t6+t5+2t4+3t3+2t2+t+1.
These graphs are shown at the right.
The set T3 of rooted ternary trees consists of rooted trees where every node (or non-leaf vertex) has exactly three children (leaves or subtrees). Small ternary trees are shown at right. Note that rooted ternary trees with n nodes are equivalent to rooted trees with n vertices of degree at most 3 (by ignoring the leaves). In general, two rooted trees are isomorphic when one can be obtained from the other by permuting the children of its nodes. In other words, the group that acts on the children of a node is the symmetric group S3. We define the weight of such a ternary tree to be the number of nodes (or non-leaf vertices).
One can view a rooted, ternary tree as a recursive object which is either a leaf or a node with three children which are themselves rooted ternary trees. These children are equivalent to beads; the cycle index of the symmetric group S3 that acts on them is
Z | |
S3 |
(t1,t2,t3)=
| ||||||||||
6 |
.
The Polya enumeration theorem translates the recursive structure of rooted ternary trees into a functional equation for the generating function F(t) of rooted ternary trees by number of nodes. This is achieved by "coloring" the three children with rooted ternary trees, weighted by node number, so that the color generating function is given by
f(t)=F(t)
F(t)3+3F(t)F(t2)+2F(t3) | |
6 |
as the generating function for rooted ternary trees, weighted by one less than the node number (since the sum of the children weights does not take the root into account), so that
F(t)=1+t ⋅
F(t)3+3F(t)F(t2)+2F(t3) | |
6 |
.
This is equivalent to the following recurrence formula for the number tn of rooted ternary trees with n nodes:
\begin{align} t0&=1\\ tn+1&=
1 | |
6 |
\left(\suma+b+c=ntatbtc+3\suma+2b=ntatb+2\sum3a=nta\right) \end{align}
where a, b and c are nonnegative integers.
The first few values of
tn
1, 1, 1, 2, 4, 8, 17, 39, 89, 211, 507, 1238, 3057, 7639, 19241 .
The simplified form of the Pólya enumeration theorem follows from Burnside's lemma, which says that the number of orbits of colorings is the average of the number of elements of
YX
For clearer notation, let
x1,x2,\ldots
Y
\omega
x\omega
\omega
1 | |
|G| |
\sumg\in\left
X) | |
|(Y | |
\omega,g |
\right|
where
X) | |
(Y | |
\omega,g |
\omega
F(x1,x2,\ldots)=
1 | |
|G| |
\sumgx\omega\left
X) | |
|(Y | |
\omega,g |
\right|.
Meanwhile a group element g with cycle structure
j1(g),j2(g),\ldots,jn(g)
j1(g) | |
t | |
1 |
j2(g) | |
t | |
2 |
…
jn(g) | |
t | |
n |
to the cycle index of G. The element g fixes an element
\phi\inYX
f\left
|q| | |
(x | |
1 |
,
|q| | |
x | |
2 |
,
|q| | |
x | |
3 |
,\ldots\right).
It follows that the generating function by weight of the points fixed by g is the product of the above term over all cycles of g, i.e.
\begin{align} \sum\omegax\omega\left
X) | |
|(Y | |
\omega,g |
\right|&=\prodqf\left
|q| | |
(x | |
1 |
,
|q| | |
x | |
2 |
,
|q| | |
x | |
3 |
,\ldots\right)\\ &=f(x1,x2,
j1(g) | |
\ldots) |
f\left
2, | |
(x | |
1 |
2, | |
x | |
2 |
\ldots\right
j2(g) | |
) |
… f\left
n, | |
(x | |
1 |
n, | |
x | |
2 |
\ldots\right
jn(g) | |
) |
\end{align}
Substituting this in the sum over all g yields the substituted cycle index as claimed.