In mathematics, analytic combinatorics is one of the many techniques of counting combinatorial objects. It uses the internal structure of the objects to derive formulas for their generating functions and then complex analysis techniques to get asymptotics. This particular theory was mostly developed by Philippe Flajolet, and is detailed in his book with Robert Sedgewick, Analytic Combinatorics. Earlier contributors to the key ideas and techniques include Leonhard Euler, Arthur Cayley, Srinivasa Ramanujan, George Pólya, and Donald Knuth.
- 1 Classes of combinatorial structures
- 2 The Flajolet–Sedgewick fundamental theorem
- 3 Procedure
- 4 Combinatorial sum
- 5 Unlabelled structures
- 6 Labelled structures
- 7 See also
- 8 References
Classes of combinatorial structures
Consider the problem of distributing objects given by a generating function into a set of n slots, where a permutation group G of degree n acts on the slots to create an equivalence relation of filled slot configurations, and asking about the generating function of the configurations by weight of the configurations with respect to this equivalence relation, where the weight of a configuration is the sum of the weights of the objects in the slots. We will first explain how to solve this problem in the labelled and the unlabelled case and use the solution to motivate the creation of classes of combinatorial structures.
The Pólya enumeration theorem solves this problem in the unlabelled case. Let f(z) be the ordinary generating function (OGF) of the objects, then the OGF of the configurations is given by the substituted cycle index
We are able to enumerate filled slot configurations using either PET in the unlabelled case or the labelled enumeration theorem in the labelled case. We now ask about the generating function of configurations obtained when there is more than one set of slots, with a permutation group acting on each. Clearly the orbits do not intersect and we may add the respective generating functions. Suppose, for example, that we want to enumerate unlabelled sequences of length two or three of some objects contained in a set X. There are two sets of slots, the first one containing two slots, and the second one, three slots. The group acting on the first set is , and on the second slot, . We represent this by the following formal power series in X:
where the term is used to denote the set of orbits under G and , which denotes in the obvious way the process of distributing the objects from X with repetition into the n slots. Similarly, consider the labelled problem of creating cycles of arbitrary length from a set of labelled objects X. This yields the following series of actions of cyclic groups:
Clearly we can assign meaning to any such power series of quotients (orbits) with respect to permutation groups, where we restrict the groups of degree n to the conjugacy classes of the symmetric group , which form a unique factorization domain. (The orbits with respect to two groups from the same conjugacy class are isomorphic.) This motivates the following definition.
A class of combinatorial structures is a formal series
where (the "A" is for "atoms") is the set of primes of the UFD and
In the following we will simplify our notation a bit and write e.g.
for the classes mentioned above.
The Flajolet–Sedgewick fundamental theorem
A theorem in the Flajolet–Sedgewick theory of symbolic combinatorics treats the enumeration problem of labelled and unlabelled combinatorial classes by means of the creation of symbolic operators that make it possible to translate equations involving combinatorial structures directly (and automatically) into equations in the generating functions of these structures.
Let be a class of combinatorial structures. The OGF of where X has OGF and the EGF of where X is labelled with EGF are given by
In the labelled case we have the additional requirement that X not contain elements of size zero. It will sometimes prove convenient to add one to to indicate the presence of one copy of the empty set. It is possible to assign meaning to both (the most common example is the case of unlabelled sets) and To prove the theorem simply apply PET (Pólya enumeration theorem) and the labelled enumeration theorem.
The power of this theorem lies in the fact that it makes it possible to construct operators on generating functions that represent combinatorial classes. A structural equation between combinatorial classes thus translates directly into an equation in the corresponding generating functions. Moreover in the labelled case it is evident from the formula that we may replace by the atom z and compute the resulting operator, which may then be applied to EGFs. We now proceed to construct the most important operators. The reader may wish to compare with the data on the cycle index page.
The sequence operator 
This operator corresponds to the class
and represents sequences, i.e. the slots are not being permuted and there is exactly one empty sequence. We have
The cycle operator 
This operator corresponds to the class
i.e., cycles containing at least one object. We have
This operator, together with the set operator , and their restrictions to specific degrees are used to compute random permutation statistics. There are two useful restrictions of this operator, namely to even and odd cycles.
The labelled even cycle operator is
This implies that the labelled odd cycle operator
is given by
The multiset/set operator 
The series is
i.e., the symmetric group is applied to the slots. This creates multisets in the unlabelled case and sets in the labelled case (there are no multisets in the labelled case because the labels distinguish multiple instances of the same object from the set being put into different slots). We include the empty set in both the labelled and the unlabelled case.
The unlabelled case is done using the function
Evaluating we obtain
For the labelled case we have
In the labelled case we denote the operator by , and in the unlabelled case, by .
Typically, one starts with the neutral class , containing a single object of size 0 (the neutral object, often denoted by ), and one or more atomic classes , each containing a single object of size 1. Next, set-theoretic relations involving various simple operations, such as disjoint unions, products, sets, sequences, and multisets define more complex classes in terms of the already defined classes. These relations may be recursive. The elegance of symbolic combinatorics lies in that the set theoretic, or symbolic, relations translate directly into algebraic relations involving the generating functions.
In this article, we will follow the convention of using script uppercase letters to denote combinatorial classes and the corresponding plain letters for the generating functions (so the class has generating function ).
There are two types of generating functions commonly used in symbolic combinatorics—ordinary generating functions, used for combinatorial classes of unlabelled objects, and exponential generating functions, used for classes of labelled objects.
It is trivial to show that the generating functions (either ordinary or exponential) for and are and , respectively. The disjoint union is also simple — for disjoint sets and , implies . The relations corresponding to other operations depend on whether we are talking about labelled or unlabelled structures (and ordinary or exponential generating functions).
The restriction of unions to disjoint unions is an important one; however, in the formal specification of symbolic combinatorics, it is too much trouble to keep track of which sets are disjoint. Instead, we make use of a construction that guarantees there is no intersection (be careful, however; this affects the semantics of the operation as well). In defining the combinatorial sum of two sets and , we mark members of each set with a distinct marker, for example for members of and for members of . The combinatorial sum is then:
This is the operation that formally corresponds to addition.
With unlabelled structures, an ordinary generating function (OGF) is used. The OGF of a sequence is defined as
The product of two combinatorial classes and is specified by defining the size of an ordered pair as the sum of the sizes of the elements in the pair. Thus we have for and , . This should be a fairly intuitive definition. We now note that the number of elements in of size n is
Using the definition of the OGF and some elementary algebra, we can show that
The sequence construction, denoted by is defined as
In other words, a sequence is the neutral element, or an element of , or an ordered pair, ordered triple, etc. This leads to the relation
The set (or powerset) construction, denoted by is defined as
which leads to the relation
where the expansion
was used to go from line 4 to line 5.
The multiset construction, denoted is a generalization of the set construction. In the set construction, each element can occur zero or one times. In a multiset, each element can appear an arbitrary number of times. Therefore,
This leads to the relation
where, similar to the above set construction, we expand , swap the sums, and substitute for the OGF of .
Other elementary constructions
Other important elementary constructions are:
- the cycle construction (), like sequences except that cyclic rotations are not considered distinct
- pointing (), in which each member of is augmented by a neutral (zero size) pointer to one of its atoms
- substitution (), in which each atom in a member of is replaced by a member of .
The derivations for these constructions are too complicated to show here. Here are the results:
|(where is the Euler totient function)|
Many combinatorial classes can be built using these elementary constructions. For example, the class of plane trees (that is, trees embedded in the plane, so that the order of the subtrees matters) is specified by the recursive relation
In other words, a tree is a root node of size 1 and a sequence of subtrees. This gives
we solve for G(z) by multiplying to get
subtracting z and solving for G(z) using the quadratic formula gives
Another example (and a classic combinatorics problem) is integer partitions. First, define the class of positive integers , where the size of each integer is its value:
The OGF of is then
Now, define the set of partitions as
The OGF of is
Unfortunately, there is no closed form for ; however, the OGF can be used to derive a recurrence relation, or, using more advanced methods of analytic combinatorics, calculate the asymptotic behavior of the counting sequence.
An object is weakly labelled if each of its atoms has a nonnegative integer label, and each of these labels is distinct. An object is (strongly or well) labelled, if furthermore, these labels comprise the consecutive integers . Note: some combinatorial classes are best specified as labelled structures or unlabelled structures, but some readily admit both specifications. A good example of labelled structures is the class of labelled graphs.
With labelled structures, an exponential generating function (EGF) is used. The EGF of a sequence is defined as
For labelled structures, we must use a different definition for product than for unlabelled structures. In fact, if we simply used the cartesian product, the resulting structures would not even be well labelled. Instead, we use the so-called labelled product, denoted
For a pair and , we wish to combine the two structures into a single structure. In order for the result to be well labelled, this requires some relabelling of the atoms in and . We will restrict our attention to relabellings that are consistent with the order of the original labels. Note that there are still multiple ways to do the relabelling; thus, each pair of members determines not a single member in the product, but a set of new members. The details of this construction are found on the page of the Labelled enumeration theorem.
To aid this development, let us define a function, , that takes as its argument a (possibly weakly) labelled object and relabels its atoms in an order-consistent way so that is well labelled. We then define the labelled product for two objects and as
Finally, the labelled product of two classes and is
The EGF can be derived by noting that for objects of size and , there are ways to do the relabelling. Therefore, the total number of objects of size is
This binomial convolution relation for the terms is equivalent to multiplying the EGFs,
The sequence construction is defined similarly to the unlabelled case:
and again, as above,
In labelled structures, a set of elements corresponds to exactly sequences. This is different from the unlabelled case, where some of the permutations may coincide. Thus for , we have
Cycles are also easier than in the unlabelled case. A cycle of length corresponds to distinct sequences. Thus for , we have
In labelled structures, the min-boxed product is a variation of the original product which requires the element of in the product with the minimal label. Similarly, we can also define a max-boxed product, denoted by , by the same manner. Then we have,
An increasing Cayley tree is a labelled non-plane and rooted tree whose labels along any branch stemming from the root form an increasing sequence. Then, let be the class of such trees. The recursive specification is now
Other elementary constructions
represent cycles of even and odd length, and sets of even and odd cardinality.
Stirling numbers of the second kind may be derived and analyzed using the structural decomposition
is used to study unsigned Stirling numbers of the first kind, and in the derivation of the statistics of random permutations. A detailed examination of the exponential generating functions associated to Stirling numbers within symbolic combinatorics may be found on the page on Stirling numbers and exponential generating functions in symbolic combinatorics.
- François Bergeron, Gilbert Labelle, Pierre Leroux, Théorie des espèces et combinatoire des structures arborescentes, LaCIM, Montréal (1994). English version: Combinatorial Species and Tree-like Structures, Cambridge University Press (1998).
- Philippe Flajolet and Robert Sedgewick, Analytic Combinatorics, Cambridge University Press (2009). (available online: http://algo.inria.fr/flajolet/Publications/book.pdf)
- Micha Hofri, Analysis of Algorithms: Computational Methods and Mathematical Tools, Oxford University Press (1995).