# Combination

(Redirected from Combinations)

In mathematics a combination is a way of selecting several things out of a larger group, where (unlike permutations) order does not matter. In smaller cases it is possible to count the number of combinations. For example given three fruit, say an apple, orange and pear, there are three combinations of two that can be drawn from this set: an apple and a pear; an apple and an orange; or a pear and an orange. More formally a k-combination of a set S is a subset of k distinct elements of S. If the set has n elements the number of k-combinations is equal to the binomial coefficient

$\binom nk = \frac{n(n-1)\ldots(n-k+1)}{k(k-1)\dots1},$

which can be written using factorials as $\frac{n!}{k!(n-k)!}$ whenever $k\leq n$, and which is zero when $k>n$. The set of all k-combinations of a set S is sometimes denoted by $\binom Sk\,$.

Combinations can refer to the combination of n things taken k at a time without or with repetitions.[1] In the above example repetitions were not allowed. If however it was possible to have two of any one kind of fruit there would be 3 more combinations: one with two apples, one with two oranges, and one with two pears.

With large sets, it becomes necessary to use more sophisticated mathematics to find the number of combinations. For example, a poker hand can be described as a 5-combination (k = 5) of cards from a 52 card deck (n = 52). The 5 cards of the hand are all distinct, and the order of cards in the hand does not matter. There are 2,598,960 such combinations, and the chance of drawing any one hand at random is 1 / 2,598,960.

Knuth gives a thorough treatment of this topic in The Art of Computer Programming.[2]

## Number of k-combinations

3-element subsets of a 5-element set

The number of k-combinations from a given set S of n elements is often denoted in elementary combinatorics texts by C(nk), or by a variation such as $C^n_k$, ${}_nC_k$, ${}^nC_k$ or even $C_n^k$ (the latter form is standard in French, Russian, and Polish texts[citation needed]). The same number however occurs in many other mathematical contexts, where it is denoted by $\tbinom nk$ (often read as "n choose k"); notably it occurs as a coefficient in the binomial formula, hence its name binomial coefficient. One can define $\tbinom nk$ for all natural numbers k at once by the relation

$\textstyle(1+X)^n=\sum_{k\geq0}\binom nk X^k,$

from which it is clear that $\tbinom n0=\tbinom nn=1$ and $\tbinom nk=0$ for k > n. To see that these coefficients count k-combinations from S, one can first consider a collection of n distinct variables Xs labeled by the elements s of S, and expand the product over all elements of S:

$\textstyle\prod_{s\in S}(1+X_s);$

it has 2n distinct terms corresponding to all the subsets of S, each subset giving the product of the corresponding variables Xs. Now setting all of the Xs equal to the unlabeled variable X, so that the product becomes (1 + X)n, the term for each k-combination from S becomes Xk, so that the coefficient of that power in the result equals the number of such k-combinations.

Binomial coefficients can be computed explicitly in various ways. To get all of them for the expansions up to (1 + X)n, one can use (in addition to the basic cases already given) the recursion relation

$\binom nk=\binom{n-1}{k-1}+\binom{n-1}k,\text{ for }0

which follows from (1 + X)n = (1 + X)n − 1(1 + X); this leads to the construction of Pascal's triangle.

For determining an individual binomial coefficient, it is more practical to use the formula

$\binom nk = \frac{n(n-1)(n-2)\cdots(n-k+1)}{k!}.$

The numerator gives the number of k-permutations of n, i.e., of sequences of k distinct elements of S, while the denominator gives the number of such k-permutations that give the same k-combination when the order is ignored.

When k exceeds n/2, the above formula contains factors common to the numerator and the denominator, and canceling them out gives the relation

$\binom nk = \binom n{n-k},\text{ for }0 \le k \le n.$

This expresses a symmetry that is evident from the binomial formula, and can also be understood in terms of k-combinations by taking the complement of such a combination, which is an (nk)-combination.

Finally there is a formula which exhibits this symmetry directly, and has the merit of being easy to remember:

$\binom nk = \frac{n!}{k!(n-k)!},$

where n! denotes the factorial of n. It is obtained from the previous formula by multiplying denominator and numerator by (nk)!, so it is certainly inferior as a method of computation to that formula.

The last formula can be understood directly, by considering the n! permutations of all the elements of S. Each such permutation gives a k-combination by selecting its first k elements. There are many duplicate selections: any combined permutation of the first k elements among each other, and of the final (n − k) elements among each other produces the same combination; this explains the division in the formula.

From the above formulas follow relations between adjacent numbers in Pascal's triangle in all three directions:

$\binom nk = \binom n{k-1} \frac {n-k+1}k,\text{ for }k>0$,
$\binom nk = \binom {n-1}k \frac n{n-k},\text{ for }{k,
$\binom nk = \binom {n-1}{k-1} \frac nk,\text{ for }n,k>0$.

Together with the basic cases $\tbinom n0=1=\tbinom nn$, these allow successive computation of respectively all numbers of combinations from the same set (a row in Pascal's triangle), of k-combinations of sets of growing sizes, and of combinations with a complement of fixed size nk.

### Example of counting combinations

As a concrete example, one can compute the number of five-card hands possible from a standard fifty-two card deck as:

${52 \choose 5} = \frac{52\times51\times50\times49\times48}{5\times4\times3\times2\times1} = \frac{311,875,200}{120} = 2,598,960.$

Alternatively one may use the formula in terms of factorials and cancel the factors in the numerator against parts of the factors in the denominator, after which only multiplication of the remaining factors is required:

\begin{alignat}{2}{52 \choose 5} &= \frac{52!}{5!47!} \\ &= \frac{52\times51\times50\times49\times48\times\cancel{47!}}{5\times4\times3\times2\times\cancel{1}\times\cancel{47!}} \\ &= \frac{52\times51\times50\times49\times48}{5\times4\times3\times2} \\ &= \frac{(26\times\cancel{2})\times(17\times\cancel{3})\times(10\times\cancel{5})\times49\times(12\times\cancel{4})}{\cancel{5}\times\cancel{4}\times\cancel{3}\times\cancel{2}} \\ &= {26\times17\times10\times49\times12} \\&= 2,598,960.\end{alignat}

Another alternative computation, almost equivalent to the first, is based on writing

${n \choose k} = \frac { ( n - 0 ) }1 \times \frac { ( n - 1 ) }2 \times \frac { ( n - 2 ) }3 \times \cdots \times \frac { ( n - (k - 1) ) }k,$

which gives

${52 \choose 5} = \frac{52}1 \times \frac{51}2 \times \frac{50}3 \times \frac{49}4 \times \frac{48}5 = 2,598,960.$

When evaluated as 52 ÷ 1 × 51 ÷ 2 × 50 ÷ 3 × 49 ÷ 4 × 48 ÷ 5, this can be computed using only integer arithmetic. The reason that all divisions are without remainder is that the intermediate results they produce are themselves binomial coefficients.

Using the symmetric formula in terms of factorials without performing simplifications gives a rather extensive calculation:

\begin{align} {52 \choose 5} &= \frac{n!}{k!(n-k)!} = \frac{52!}{5!(52-5)!} = \frac{52!}{5!47!} \\ &= \tfrac{80,658,175,170,943,878,571,660,636,856,403,766,975,289,505,440,883,277,824,000,000,000,000}{120\times258,623,241,511,168,180,642,964,355,153,611,979,969,197,632,389,120,000,000,000} \\ &= 2,598,960. \end{align}

### Enumerating k-combinations

One can enumerate all k-combinations of a given set S of n elements in some fixed order, which establishes a bijection from an interval of $\tbinom nk$ integers with the set of those k-combinations. Assuming S is itself ordered, for instance S = {1,2, ...,n}, there are two natural possibilities for ordering its k-combinations: by comparing their smallest elements first (as in the illustrations above) or by comparing their largest elements first. The latter option has the advantage that adding a new largest element to S will not change the initial part of the enumeration, but just add the new k-combinations of the larger set after the previous ones. Repeating this process, the enumeration can be extended indefinitely with k-combinations of ever larger sets. If moreover the intervals of the integers are taken to start at 0, then the k-combination at a given place i in the enumeration can be computed easily from i, and the bijection so obtained is known as the combinatorial number system. It is also known as "rank"/"ranking" and "unranking" in computational mathematics.[3][4]

There are many ways to enumerate k combinations. One way is to visit all the binary numbers less than $2^n$. Chose those numbers having k nonzero bits. The positions of these 1 bits in such a number is a specific k-combination of the set {1,...,n}. [5]

## Number of combinations with repetition

Bijection between 3-subsets of a 7-set (left)
and 3-multisets with elements from a 5-set (right)
So this illustrates that $\textstyle {7 \choose 3} = \left(\!\!{5 \choose 3}\!\!\right)$.

A k-combination with repetitions, or k-multicombination, or multiset of size k from a set S is given by a sequence of k not necessarily distinct elements of S, where order is not taken into account: two sequences of which one can be obtained from the other by permuting the terms define the same multiset. In other words, the number of ways to sample k elements from a set of n elements allowing for duplicates (i.e., with replacement) but disregarding different orderings (e.g. {2,1,2} = {1,2,2}). If S has n elements, the number of such k-multicombinations is also given by a binomial coefficient, namely by the reversely expressed, rising binomial coefficient, as opposed to the direct, falling binomial coefficient:

$\left(\!\!\!\binom{n}{k}\!\!\!\right)=\binom{n+k-1}{k} = \frac{(n+k-1)!}{(n-1)!\,k!}={n(n+1)(n+2)\cdots(n+k-1)\over k!},$

or, letting r = n = f - (k-1) and f = r + (k-1),

$\left(\!\!\!\binom{r}{k}\!\!\!\right)=\left(\!\!\!\binom{r}{r-1}\!\!\!\right)=\frac{(r+k-1)!}{(r-1)!\,k!} =\frac{f!}{(f-k)!\,k!}=\binom{f}{f-k}=\binom{f}{k},$
$=\frac{1\cdot2\cdot3\cdots(r-1)\;\cdot r\!\cdots(f-1)f} {1\cdot2\cdot3\cdots(r-1)\;\times1\cdot2\cdot3\cdots k\;}= {r(r+1)\cdots(f-1)f\over1\cdot2\cdot3\cdots k};$

(the case where both r and k are zero is special; the correct value 1 (for the empty 0-multicombination) is given by left hand side $\tbinom{-1}0$, but not by the right hand side $\tbinom{-1}{-1}$). This follows from a clever representation of such combinations with just two symbols (see Stars and bars (combinatorics)).

### Example of counting multicombinations

For example, if you have ten types of donuts (n = 10) on a menu to choose from and you want three donuts (k = 3), the number of ways to choose can be calculated as

$\left(\!\!\!\binom{10}{3}\!\!\!\right) = \binom{10+3-1}3 = \binom{12}{3} = \frac{10\times11\times12}{1\times2\times3} = 220.$

The analogy with the k-combination case can be stressed by writing the numerator as a rising power

$\binom{n + k - 1}{k} = \frac{n(n+1)\cdots(n+k-1)}{k!}.$

There is an easy way to understand the above result. Label the elements of S with numbers 0, 1, ..., n − 1, and choose a k-combination from the set of numbers { 1, 2, ..., n + k − 1 } (so that there are n − 1 unchosen numbers). Now change this k-combination into a k-multicombination of S by replacing every (chosen) number x in the k-combination by the element of S labeled by the number of unchosen numbers less than x. This is always a number in the range of the labels, and it is easy to see that every k-multicombination of S is obtained for one choice of a k-combination.

A concrete example may be helpful. Suppose there are 4 types of fruits (apple, orange, pear, banana) at a grocery store, and you want to buy 12 pieces of fruit. So n = 4 and k = 12. Use label 0 for apples, 1 for oranges, 2 for pears, and 3 for bananas. A selection of 12 fruits can be translated into a selection of 12 distinct numbers in the range 1,...,15 by selecting as many consecutive numbers starting from 1 as there are apples in the selection, then skip a number, continue choosing as many consecutive numbers as there are oranges selected, again skip a number, then again for pears, skip one again, and finally choose the remaining numbers (as many as there are bananas selected). For instance for 2 apples, 7 oranges, 0 pears and 3 bananas, the numbers chosen will be 1, 2, 4, 5, 6, 7, 8, 9, 10, 13, 14, 15. To recover the fruits, the numbers 1, 2 (not preceded by any unchosen numbers) are replaced by apples, the numbers 4, 5, ..., 10 (preceded by one unchosen number: 3) by oranges, and the numbers 13, 14, 15 (preceded by three unchosen numbers: 3, 11, and 12) by bananas; there are no chosen numbers preceded by exactly 2 unchosen numbers, and therefore no pears in the selection. The total number of possible selections is

$\binom{4+12-1}{12} = \left(\!\!\!\binom{4}{12}\!\!\!\right) = \binom{15}{12} = \left(\!\!\!\binom{13}{3}\!\!\!\right) = \binom{15}{3} = \frac{13\times14\times15}{1\times2\times3} = 455.$

## Number of k-combinations for all k

The number of k-combinations for all k is the number of subsets of a set of n elements. There are several ways to see that this number is 2n. In terms of combinations, $\sum_{0\leq{k}\leq{n}}\binom nk = 2^n$, which is the sum of the nth row (counting from 0) of the binomial coefficients in Pascal's triangle. These combinations (subsets) are enumerated by the 1 digits of the set of base 2 numbers counting from 0 to 2n  -  1, where each digit position is an item from the set of n.

Given 3 cards numbered 1 to 3, there are 8 distinct combinations (subsets), including the empty set:

$| \{ \{\} ; \{1\} ; \{2\} ; \{3\} ; \{1, 2\} ; \{1, 3\} ; \{2, 3\} ; \{1, 2, 3\} \}| = 2^3 = 8$

Representing these subsets (in the same order) as base 2 numbers:

0 - 000
1 - 001
2 - 010
4 - 100
3 - 011
5 - 101
6 - 110
7 - 111

## Probability: sampling a random combination

There are various algorithms to pick out a random combination from a given set or list. Rejection sampling is extremely slow for large sample sizes. One way to select a k-combination efficiently from a population of size n is to iterate across each element of the population, and at each step pick that element with a dynamically changing probability of $\frac{k-\mathrm{\#\,samples\ chosen}}{n-\mathrm{\#\,samples\ visited}}$.