Abstract
A permutation group G of degree n has a natural induced action on words of length n over a finite alphabet Σ, in which the image xg of x under permutation g ∈ G is obtained by permuting the positions of symbols in x according to g. The key result in “Pólya theory” is that the number of orbits of this action is given by an evaluation of the cycleindex polynomial PG(z1, …, zn) of G at the point z1, …, zn = |Σ|. In many cases it is possible to count the number of essentially distinct instances of a combinatorial structure of a given size by evaluating the cycle-index polynomial of an appropriate symmetry group G.
We address the question “to what extent can Polya theory be mechanised?” There are compelling complexity-theoretic reasons for believing that there is no efficient, uniform procedure for computing the cycle-index polynomial exactly, but less is known about approximate evaluation, say to within a specified relative error. The known results — positive and negative — will be surveyed.
Preliminaries
This article is concerned with a topic in computational algebra, which combines aspects of combinatorics, algorithmics, and computational complexity. On the assumption that most readers will be unfamiliar with at least one of these, the first section aims to give a brief account of key facts.
Elementary group-theoretic preliminaries
Let Σ be a finite alphabet of cardinality k, and G a permutation group on [n] = {0, …,n – 1}.