This article may be too technical for most readers to understand.(March 2019)
In combinatorics, the twelvefold way is a systematic classification of 12 related enumerative problems concerning two finite sets, which include the classical problems of counting permutations, combinations, multisets, and partitions either of a set or of a number. The idea of the classification is credited to Gian-Carlo Rota, and the name was suggested by Joel Spencer. 
The functions are subject to one of the three following restrictions:
- No condition: each a in N may be sent by f to any b in X, and each b may occur multiple times.
- f is injective: each value for a in N must be distinct from every other, and so each b in X may occur at most once in the image of f.
- f is surjective: for each b in X there must be at least one a in N such that , thus each b will occur at least once in the image of f.
(The condition "f is bijective" is only an option when ; but then it is equivalent to both "f is injective" and "f is surjective".)
There are four different equivalence relations which may be defined on the set of functions f from N to X:
- equality up to a permutation of N;
- equality up to a permutation of X;
- equality up to permutations of N and X.
The three conditions on the functions and the four equivalence relations can be paired in 3 × 4 = 12 ways.
The twelve problems of counting equivalence classes of functions do not involve the same difficulties, and there is not one systematic method for solving them. Two of the problems are trivial (the number of equivalence classes is 0 or 1), five problems have an answer in terms of a multiplicative formula of n and x, and the remaining five problems have an answer in terms of combinatorial functions ( Stirling numbers and the partition function for a given number of parts).
The incorporation of classical enumeration problems into this setting is as follows.
- Counting n-permutations (i.e., partial permutations or sequences without repetition) of X is equivalent to counting injective functions N → X.
- Counting n-combinations of X is equivalent to counting injective functions N → X up to permutations of N.
- Counting permutations of the set X is equivalent to counting injective functions N → X when n = x, and also to counting surjective functions N → X when n = x.
- Counting multisets of size n (also known as n-combinations with repetitions) of elements in X is equivalent to counting all functions N → X up to permutations of N.
- Counting partitions of the set N into x subsets is equivalent to counting all surjective functions N → X up to permutations of X.
- Counting compositions of the number n into x parts is equivalent to counting all surjective functions N → X up to permutations of N.
The various problems in the twelvefold way may be considered from different points of view.
Traditionally many of the problems in the twelvefold way have been formulated in terms of placing balls in boxes (or some similar visualization) instead of defining functions. The set N can be identified with a set of balls, and X with a set of boxes; the function ƒ : N → X then describes a way to distribute the balls into the boxes, namely by putting each ball a into box ƒ(a). A function ascribes a unique image to each value in its domain; this property is reflected by the property that any ball can go into only one box (together with the requirement that no ball should remain outside of the boxes), whereas any box can accommodate (in principle) an arbitrary number of balls. Requiring in addition ƒ to be injective means forbidding to put more than one ball in any one box, while requiring ƒ to be surjective means insisting that every box contain at least one ball.
Counting modulo permutations of N or X is reflected by calling the balls or the boxes, respectively, "indistinguishable". This is an imprecise formulation, intended to indicate that different configurations are not to be counted separately if one can be transformed into the other by some interchange of balls or of boxes. This possibility of transformation is formalized by the action by permutations.
Another way to think of some of the cases is in terms of sampling, in statistics. Imagine a population of X items (or people), of which we choose N. Two different schemes are normally described, known as " sampling with replacement" and " sampling without replacement". In the former case (sampling with replacement), once we've chosen an item, we put it back in the population, so that we might choose it again. The result is that each choice is independent of all the other choices, and the set of samples is technically referred to as independent identically distributed. In the latter case, however, once we've chosen an item, we put it aside so that we can't choose it again. This means that the act of choosing an item has an effect on all the following choices (the particular item can't be seen again), so our choices are dependent on one another.
A second distinction among sampling schemes is whether ordering matters. For example, if we have ten items, of which we choose two, then the choice (4,7) is different from (7,4) if ordering matters; on the other hand, if ordering does not matter, then the choices (4,7) and (7,4) are equivalent. (Another way to think of this is to sort each choice by the item number, and throw out any duplicates that result.)
The first two rows and columns of the table below correspond to sampling with and without replacement, with and without consideration of order. The cases of sampling with replacement are found in the column labeled "Any f", while the cases of sampling without replacement are found in the column labeled "Injective f". The cases where ordering matters are found in the row labeled "Distinct," and the cases where ordering does not matter are found in the row labeled "Sn orbits". Each table entry indicates how many different sets of choices there are, in a particular sampling scheme. Three of these table entries also correspond to probability distributions. Sampling with replacement where ordering matters is comparable to describing the joint distribution of N separate random variables, each with an X-fold categorical distribution. Sampling with replacement where ordering doesn't matter, however, is comparable to describing a single multinomial distribution of N draws from an X-fold category, where only the number seen of each category matters. Sampling without replacement where ordering doesn't matter is comparable to a single multivariate hypergeometric distribution. Sampling without replacement where order does matter does not seem to correspond to a probability distribution.  Note that in all the "injective" cases (i.e. sampling without replacement), the number of sets of choices is zero unless N ≤ X. ("Comparable" in the above cases means that each element of the sample space of the corresponding distribution corresponds to a separate set of choices, and hence the number in the appropriate box indicates the size of the sample space for the given distribution.)
From the perspective of sampling, the column labeled "Surjective f" is somewhat strange: Essentially, we keep sampling with replacement until we've chosen each item at least once. Then, we count how many choices we've made, and if it's not equal to N, throw out the entire set and repeat. This is vaguely comparable to the coupon collector's problem, where the process involves "collecting" (by sampling with replacement) a set of X coupons until each coupon has been seen at least once. Note that in all "surjective" cases, the number of sets of choices is zero unless N ≥ X.
A function ƒ : N → X can be considered from the perspective of X or of N. This leads to different views:
- the function ƒ labels each element of N by an element of X.
- the function ƒ selects (chooses) an element of the set X for each element of N, a total of n choices.
- the function ƒ groups the elements of N together that are mapped to the same element of X.
These points of view are not equally suited to all cases. The labelling and selection points of view are not well compatible with permutation of the elements of X, since this changes the labels or the selection; on the other hand the grouping point of view does not give complete information about the configuration unless the elements of X may be freely permuted. The labelling and selection points of view are more or less equivalent when N is not permuted, but when it is, the selection point of view is more suited. The selection can then be viewed as an unordered selection: a single choice of a (multi-)set of n elements from X is made.
When viewing ƒ as a labelling of the elements of N, the latter may be thought of as arranged in a sequence, and the labels from X as being successively assigned to them. A requirement that ƒ be injective means that no label can be used a second time; the result is a sequence of labels without repetition. In the absence of such a requirement, the terminology "sequences with repetition" is used, meaning that labels may be used more than once (although sequences that happen to be without repetition are also allowed).
When viewing ƒ as an unordered selection of the elements of X, the same kind of distinction applies. If ƒ must be injective, then the selection must involve n distinct elements of X, so it is a subset of X of size n, also called an n- combination. Without the requirement, one and the same element of X may occur multiple times in the selection, and the result is a multiset of size n of elements from X, also called an n- multicombination or n-combination with repetition.
The requirement that ƒ be surjective, from the viewpoint of labelling elements of N, means that every label is to be used at least once; from the viewpoint of selection from X, it means that every element of X must be included in the selection at least once. Labelling with surjection is equivalent to a grouping of elements of N followed by labeling each group by an element of X, and is accordingly somewhat more complicated to describe mathematically.
When viewing ƒ as a grouping of the elements of N (which assumes one identifies under permutations of X), requiring ƒ to be surjective means the number of groups must be exactly x. Without this requirement the number of groups can be at most x. The requirement of injective ƒ means each element of N must be a group in itself, which leaves at most one valid grouping and therefore gives a rather uninteresting counting problem.
When in addition one identifies under permutations of N, this amounts to forgetting the groups themselves but retaining only their sizes. These sizes moreover do not come in any definite order, while the same size may occur more than once; one may choose to arrange them into a weakly decreasing list of numbers, whose sum is the number n. This gives the combinatorial notion of a partition of the number n, into exactly x (for surjective ƒ) or at most x (for arbitrary ƒ) parts.
Formulas for the different cases of the twelvefold way are summarized in the following table; each table entry links to a subsection below explaining the formula.
|f-class||Any f||Injective f||Surjective f|
n-sequence in X
n-permutation of X
composition of N with x subsets |
f ∘ Sn
n-multisubset of X
n-subset of X
composition of n with x terms |
Sx ∘ f
partition of N into ≤ x subsets
partition of N into ≤ x elements
partition of N into x subsets |
Sx ∘ f ∘ Sn
partition of n into ≤ x parts
partition of n into ≤ x parts 1
partition of n into x parts |
The particular notations used are:
- the falling factorial power ,
- the rising factorial power ,
- the factorial
- the Stirling number of the second kind , denoting the number of ways to partition a set of n elements into k subsets
- the binomial coefficient
- the Iverson bracket [ ] encoding a truth value as 0 or 1
- the number of partitions of n into k parts
This is a quick summary of what the different cases mean. The cases are described in detail below.
Think of a set of X numbered items (numbered from 1 to x), from which we choose n, yielding an ordered list of the items: e.g. if there are items of which we choose , the result might be the list (5, 2, 10). We then count how many different such lists exist, sometimes first transforming the lists in ways that reduce the number of distinct possibilities.
Then the columns mean:
- Any f
- After we choose an item, we put it back, so we might choose it again.
- Injective f
- After we choose an item, we set it aside, so we can't choose it again; hence we'll end up with n distinct items. Necessarily, then, unless , no lists can be chosen at all.
- Surjective f
- After we choose an item, we put it back, so we might choose it again — but at the end, we have to end up having chosen each item at least once. Necessarily, then, unless , no lists can be chosen at all.
And the rows mean:
- Leave the lists alone; count them directly.
- Sn orbits
- Before counting, sort the lists by the item number of the items chosen, so that order doesn't matter, e.g., (5, 2, 10), (10, 2, 5), (2, 10, 5) → (2, 5, 10).
- Sx orbits
- Before counting, renumber the items seen so that the first item seen has number 1, the second 2, etc. Numbers may repeat if an item was seen more than once, e.g., (3, 5, 3), (5, 2, 5), (4, 9, 4) → (1, 2, 1) while (3, 3, 5), (5, 5, 3), (2, 2, 9) → (1, 1, 2).
- Sn × Sx orbits
- Two lists count as the same if it is possible to both reorder and relabel them as above and produce the same result. For example, (3, 5, 3) and (2, 9, 9) count as the same because they can be reordered as (3, 3, 5) and (9, 9, 2) and then relabeling both produces the same list (1, 1, 2).
The cases below are ordered in such a way as to group those cases for which the arguments used in counting are related, which is not the ordering in the table given.
This case is equivalent to counting sequences of n elements of X with no restriction: a function f : N → X is determined by the n images of the elements of N, which can each be independently chosen among the elements of x. This gives a total of xn possibilities.
Injective functions from N to X
This case is equivalent to counting sequences of n distinct elements of X, also called n-permutations of X, or sequences without repetitions; again this sequence is formed by the n images of the elements of N. This case differs from the one of unrestricted sequences in that there is one choice fewer for the second element, two fewer for the third element, and so on. Therefore instead of by an ordinary power of x, the value is given by a falling factorial power of x, in which each successive factor is one fewer than the previous one. The formula is
Note that if n > x then one obtains a factor zero, so in this case there are no injective functions N → X at all; this is just a restatement of the pigeonhole principle.
This case is equivalent to counting subsets with n elements of X, also called n-combinations of X: among the sequences of n distinct elements of X, those that differ only in the order of their terms are identified by permutations of N. Since in all cases this groups together exactly n! different sequences, we can divide the number of such sequences by n! to get the number of n-combinations of X. This number is known as the binomial coefficient , which is therefore given by
This case is equivalent to counting multisets with n elements from X (also called n-multicombinations). The reason is that for each element of X it is determined how many elements of N are mapped to it by f, while two functions that give the same such "multiplicities" to each element of X can always be transformed into another by a permutation of N. The formula counting all functions N → X is not useful here, because the number of them grouped together by permutations of N varies from one function to another. Rather, as explained under combinations, the number of n-multicombinations from a set with x elements can be seen to be the same as the number of n-combinations from a set with x + n − 1 elements. This reduces the problem to another one in the twelvefold way, and gives as result
This case is equivalent to counting multisets with n elements from X, for which each element of X occurs at least once. This is also equivalent to counting the compositions of n with x (non-zero) terms, by listing the multiplicities of the elements of x in order. The correspondence between functions and multisets is the same as in the previous case, and the surjectivity requirement means that all multiplicities are at least one. By decreasing all multiplicities by 1, this reduces to the previous case; since the change decreases the value of n by x, the result is
Note that when n < x there are no surjective functions N → X at all (a kind of "empty pigeonhole" principle); this is taken into account in the formula, by the convention that binomial coefficients are always 0 if the lower index is negative. The same value is also given by the expression
except in the extreme case n = x = 0, where with the former expression correctly gives , while the latter incorrectly gives .
The form of the result suggests looking for a manner to associate a class of surjective functions N → X directly to a subset of n − x elements chosen from a total of n − 1, which can be done as follows. First choose a total ordering of the sets N and X, and note that by applying a suitable permutation of N, every surjective function N → X can be transformed into a unique weakly increasing (and of course still surjective) function. If one connects the elements of N in order by n − 1 arcs into a linear graph, then choosing any subset of n − x arcs and removing the rest, one obtains a graph with x connected components, and by sending these to the successive elements of X, one obtains a weakly increasing surjective function N → X; also the sizes of the connected components give a composition of n into x parts. This argument is basically the one given at stars and bars, except that there the complementary choice of x − 1 "separations" is made.
In this case we consider sequences of n distinct elements from X, but identify those obtained from one another by applying to each element a permutation of X. It is easy to see that two different such sequences can always be identified: the permutation must map term i of the first sequence to term i of the second sequence, and since no value occurs twice in either sequence these requirements do not contradict each other; it remains to map the elements not occurring in the first sequence bijectively to those not occurring in the second sequence in an arbitrary way. The only fact that makes the result depend on n and x at all is that the existence of any such sequences to begin with requires n ≤ x, by the pigeonhole principle. The number is therefore expressed as , using the Iverson bracket.
This case is reduced to the previous one: since all sequences of n distinct elements from X can already be transformed into each other by applying a permutation of X to each of their terms, also allowing reordering of the terms does not give any new identifications; the number remains .
This case is equivalent to counting partitions of N into x (non-empty) subsets, or counting equivalence relations on N with exactly x classes. Indeed, for any surjective function f : N → X, the relation of having the same image under f is such an equivalence relation, and it does not change when a permutation of X is subsequently applied; conversely one can turn such an equivalence relation into a surjective function by assigning the elements of X in some manner to the x equivalence classes. The number of such partitions or equivalence relations is by definition the Stirling number of the second kind S(n,x), also written . Its value can be described using a recursion relation or using generating functions, but unlike binomial coefficients there is no closed formula for these numbers that does not involve a summation.
For each surjective function f : N → X, its orbit under permutations of X has x! elements, since composition (on the left) with two distinct permutations of X never gives the same function on N (the permutations must differ at some element of X, which can always be written as f(i) for some i ∈ N, and the compositions will then differ at i). It follows that the number for this case is x! times the number for the previous case, that is
This case is like the corresponding one for surjective functions, but some elements of x might not correspond to any equivalence class at all (since one considers functions up to a permutation of X, it does not matter which elements are concerned, just how many). As a consequence one is counting equivalence relations on N with at most x classes, and the result is obtained from the mentioned case by summation over values up to x, giving . In case x ≥ n, the size of x poses no restriction at all, and one is counting all equivalence relations on a set of n elements (equivalently all partitions of such a set); therefore gives an expression for the Bell number Bn.
This case is equivalent to counting partitions of the number n into x non-zero parts. Compared to the case of counting surjective functions up to permutations of X only (), one only retains the sizes of the equivalence classes that the function partitions N into (including the multiplicity of each size), since two equivalence relations can be transformed into one another by a permutation of N if and only if the sizes of their classes match. This is precisely what distinguishes the notion of partition of n from that of partition of N, so as a result one gets by definition the number px(n) of partitions of n into x non-zero parts.
This case is equivalent to counting partitions of the number n into ≤ x parts. The association is the same as for the previous case, except that now some parts of the partition may be equal to 0. (Specifically, they correspond to elements of X not in the image of the function.) Each partition of n into at most x non-zero parts can be extended to such a partition by adding the required number of zeroes, and this accounts for all possibilities exactly once, so the result is given by . By adding 1 to each of the x parts, one obtains a partition of n + x into x nonzero parts, and this correspondence is bijective; hence the expression given can be simplified by writing it as .
The above formulas give the proper values for all finite sets N and X. In some cases there are alternative formulas which are almost equivalent, but which do not give the correct result in some extremal cases, such as when N or X are empty. The following considerations apply to such cases.
- For every set X there is exactly one function from the empty set to X (there are no values of this function to specify), which is always injective, but never surjective unless X is (also) empty.
- For every non-empty set N there are no functions from N to the empty set (there is at least one value of the function that must be specified, but it cannot).
- When n > x there are no injective functions N → X, and if n < x there are no surjective functions N → X.
- The expressions used in the formulas have as particular values
- (the first three are instances of an
empty product, and the value is given by the conventional extension of binomial coefficients to arbitrary values of the upper index), while
In particular in the case of counting multisets with n elements taken from X, the given expression is equivalent in most cases to , but the latter expression would give 0 for the case n = x = 0 (by the usual convention that binomial coefficients with a negative lower index are always 0). Similarly, for the case of counting compositions of n with x non-zero parts, the given expression is almost equivalent to the expression given by the stars and bars argument, but the latter gives incorrect values for n = 0 and all values of x. For the cases where the result involves a summation, namely those of counting partitions of N into at most x non-empty subsets or partitions of n into at most x non-zero parts, the summation index is taken to start at 0; although the corresponding term is zero whenever n > 0, it is the unique non-zero term when n = 0, and the result would be wrong for those cases if the summation were taken to start at 1.
We can generalize further by allowing other groups of permutations to act on N and X. If G is a group of permutations of N, and H is a group of permutations of X, then we count equivalence classes of functions . Two functions f and F are considered equivalent if, and only if, there exist so that . This extension leads to notions such as cyclic and dihedral permutations, as well as cyclic and dihedral partitions of numbers and sets.
Another generalization called the twentyfold way was developed by Kenneth P. Bogart in his book "Combinatorics Through Guided Discovery". In the problem of distributing objects to boxes both the objects and the boxes may be identical or distinct. Bogart identifies 20 cases. 
n-sequence in X
partition of N into ≤ x subsets|
|2||At most one each||
n-permutation of X
|3||At least one each||
composition of N with x subsets
partition of N into x subsets|
|4||Exactly one each||
broken permutations ( parts)
Where is the Lah number
|6||At least one each||
ordered onto functions
broken permutations (x parts)
Where is the Lah number
n-multisubset of X
number partitions ( parts)
|8||At most one each||
n-subset of X
|9||At least one each||
compositions (x parts)
partition of n into x parts|
|10||Exactly one each|
- Richard P. Stanley (1997). Enumerative Combinatorics, Volume I. Cambridge University Press. ISBN 0-521-66351-2. p.41
- Robert V. Hogg and Elliot A. Tanis (2001). Probability and Statistical Inference. Prentice-Hall, Inc. ISBN 0-13-027294-9. p.81
- Kenneth P. Bogart (2004). Combinatorics Through Guided Discovery, p.57