Pólya enumeration theorem

From Infogalactic: the planetary knowledge core
Jump to: navigation, search

<templatestyles src="Module:Hatnote/styles.css"></templatestyles>

The Pólya enumeration theorem, also known as the Redfield–Pólya Theorem, 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 John 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 can also be incorporated into symbolic combinatorics and the theory of combinatorial species.

A simplified, unweighted version

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 \to Y.) Then the group G acts on YX . The Pólya enumeration theorem counts the number of orbits under G of colored arrangements of beads by the following formula:

|Y^X/G| = \frac{1}{|G|}\sum_{g \in G} m^{c(g)}

where m= \left| Y \right| is the number of colors and c(g) is the number of cycles of the group element g when considered as a permutation of X.

The full, weighted version

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) = f_0 + f_1 t + f_2 t^2 + \cdots

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:

Z_G(t_1,t_2,\ldots,t_n) = \frac{1}{|G|}\sum_{g \in G} t_1^{j_1(g)}  t_2^{j_2(g)} \cdots t_n^{j_n(g)}

where n is the number of elements of X and jk(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 φ:XY). The weight of such an arrangement is defined as the sum of the weights of φ(x) over all xX. The theorem states that the generating function F of the number of colored arrangements by weight is given by:

F(t) = Z_G(f(t),f(t^2),f(t^3),\ldots,f(t^n))

or in the multivariate case:

F(t_1,t_2,\ldots) = Z_G(f(t_1,t_2,\ldots),f(t_1^2,t_2^2,\ldots),f(t_1^3,t_2^3,\ldots),\ldots,f(t_1^n,t_2^n,\ldots)).

To reduce to the simplified version given earlier, if there are m colors and all have weight 0, then f(t)=m and

|Y^X/G| =F(0)= Z_G(m,m,\ldots,m)= \frac{1}{|G|}\sum_{g \in G} m^{c(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.

Examples

Colored cubes

How many ways are there to color the sides of a 3-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

Z_C(t_1,t_2,t_3,t_4) = \frac{1}{24}\left(t_1^6 + 6 t_1^2 t_4 + 3 t_1^2 t_2^2 + 8 t_3^2 + 6 t_2^3\right)

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)=Z_C(m,m,m,m) = \frac{1}{24}\left(m^6+ 3m^4 + 12 m^3 + 8 m^2\right)

different colorings.

Graphs on three and four vertices

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 possible edges, while the set of colors Y = {black,white} corresponds to edges that are present (black) or absent (white). The Pólya enumeration theorem can be used to calculate the number of graphs up to isomorphism with a fixed number of vertices, or the generating function of these graphs according to the number of edges they have. For the latter purpose, we can say that a black or present edge has weight 1, while an absent or white edge has weight 0. Thus f(t) = 1+t is the generating function for the set of colors. The relevant symmetry group is G = S_m, the symmetric group on m letters. This group acts on the set X of possible edges: a permutation φ turns the edge {a,b} into the edge {φ(a), φ(b)}. With these definitions, an isomorphism class of graphs with m vertices is the same as an orbit of the action of G on the set YX of colored arrangements; the number of edges of the graph equals the weight of the arrangement.

All graphs on three vertices.
File:NonisomorphicGraphsOnThreeVertices.png
Nonisomorphic graphs on three vertices.

The 8 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 3 edges is

Z_G(t_1,t_2,t_3) = \frac{1}{6}\left(t_1^3 + 3 t_1 t_2 + 2 t_3\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) = Z_G(t+1,t^2+1,t^3+1) = \frac{1}{6}\left((t+1)^3 + 3 (t+1) (t^2+1) + 2 (t^3+1)\right),

which simplifies to

F(t) = t^3+t^2+t+1.

Thus there is one graph each with 0 to 3 edges.

File:NonisomorphicGraphsOnFourVertices.png
Isomorphism classes of graphs on four vertices.

The cycle index of the group S4 acting on the set of 6 edges is


Z_G(t_1,t_2,t_3,t_4) = \frac{1}{24}\left(t_1^6 + 9 t_1^2 t_2^2 + 8 t_3^2 + 6 t_2 t_4\right)

(see here.) Hence


F(t) = Z_G(t+1,t^2+1,t^3+1,t^4+1) = \frac{(t+1)^6 + 9 (t+1)^2 (t^2+1)^2 + 8 (t^3+1)^2 + 6 (t^2+1) (t^4+1)}{24}\,

which simplifies to

F(t) = t^6 + t^5 + 2 t^4 + 3 t^3 + 2 t^2 + t + 1.

These graphs are shown at the right.

Rooted ternary trees

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).

File:TernaryTrees.png
Rooted ternary trees on 0, 1, 2, 3 and 4 nodes (=non-leaf vertices). The root is shown in blue, the leaves are not shown. Every node has as many leaves as to make the number of its children equal to 3.

We 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_{S_3}(t_1,t_2,t_3) = \frac{t_1^3 + 3 t_1 t_2 + 2 t_3}{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)

which by the enumeration theorem gives

\frac{F(t)^3 + 3 F(t)F(t^2) + 2 F(t^3)}{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\frac{F(t)^3 + 3 F(t)F(t^2) + 2 F(t^3)}{6}.

This is equivalent to the following recurrence formula for the number tn of rooted ternary trees with n nodes:

t_0 = 1

and

t_{n+1} = \frac{1}{6}
\left(\sum_{a + b + c = n} t_a t_b t_c + 3 \sum_{a + 2b = n} t_a t_b + 2 \sum_{3a = n} t_a  \right)

where a, b and c are nonnegative integers.

The first few values of t_n are

1, 1, 1, 2, 4, 8, 17, 39, 89, 211, 507, 1238, 3057, 7639, 19241 (sequence A000598 in OEIS)

Proof of theorem

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 Y^X fixed by the permutation g of G over all permutations g. The weighted version of the theorem has essentially the same proof, but with a refined form of Burnside's lemma for weighted enumeration. It is equivalent to apply Burnside's lemma separately to orbits of different weight.

For clearer notation, let x_1,x_2,\ldots be the variables of the generating function f of Y. Given a vector of weights \omega, let x^\omega denote the corresponding monomial term of f. Applying Burnside's lemma to orbits of weight \omega, the number of orbits of this weight is

\frac{1}{|G|} \sum_{g\in G} |(Y^X)_{\omega,g}|

where (Y^X)_{\omega,g} is the set of colorings of weight \omega that are also fixed by g. If we then sum over all possible weights, we obtain

F(x_1,x_2,\ldots)= \frac{1}{|G|} \sum_{g \in G, \omega} x^\omega |(Y^X)_{\omega,g}|.

Meanwhile a group element g with cycle structure j_1(g),j_2(g),\ldots,j_n(g) will contributes the term

 t_1^{j_1(g)} t_2^{j_2(g)} \cdots t_n^{j_n(g)}

to the cycle index of G. The element g fixes an element φ of Y^X if and only if the function φ is constant on every cycle q of g. For every such cycle q, the generating function by weight of |q| identical colors from the set enumerated by f is

f(x_1^{|q|}, x_2^{|q|}, x_3^{|q|}, \ldots).

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.


\sum_{\omega} x^\omega |(Y^X)_{\omega,g}| = \prod_{q \text{ cycle of } g} f(x_1^{|q|}, x_2^{|q|}, x_3^{|q|}, \ldots),

which equals


f(x_1, x_2, \ldots)^{j_1(g)} f(x_1^2, x_2^2, \ldots)^{j_2(g)} \cdots  f(x_1^n, x_2^n, \ldots)^{j_n(g)}.

Substituting this for \sum_{\omega} x^\omega |(Y^X)_{\omega,g}|\, in the sum over all g yields the substituted cycle index as claimed.

References

  • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found.

External links