Combinatorics is as much about problem solving as theory building, though it has developed powerful theoretical methods, especially since the later twentieth century (see the page List of combinatorics topics for details of the more recent development of the subject). One of the oldest and most accessible parts of combinatorics is graph theory, which also has numerous natural connections to other areas.
There are many combinatorial patterns and theorems related to the structure of combinatoric sets. These often focus on a partition or ordered partition of a set. See the List of partition topics for an expanded list of related topics or the List of combinatorics topics for a more general listing. Some of the more notable results are highlighted below.
An example of a simple combinatorial question is the following: What is the number of possible orderings of a deck of 52 distinct playing cards? The answer is 52! (52 factorial), which is equal to about 8.0658 × 1067.
Combinatorics is used frequently in computer science to obtain estimates on the number of elements of certain sets. A mathematician who studies combinatorics is often referred to as a combinatorialist or combinatorist.
The earliest books about combinatorics are from India. A Jain text, the Bhagabati Sutra, had the first mention of a combinatorics problem; it asked how many ways one could take six tastes one, two, or three tastes at a time. The Bhagabati Sutra was written around 300 BC, and thus was the first book to mention the choice function. The next ideas of Combinatorics came from Pingala, who was interested in prosody. Specifically, he wanted to know how many ways a six-syllable meter could be made from short and long notes. He wrote this problem in the Chanda sutra (also Chandahsutra) in the second century BC. In addition, he also found the number of meters that had n long notes and k short notes, which is equivalent to finding the binomial coefficients.
The ideas of the Bhagabati were generalized by the Indian mathematician Mahariva in 850 AD, and Pingala's work on prosody was expanded by Bhaskara and Hemacandra in 1100 AD. Bhaskara was the first known person to find the generalized choice function, although Brahmagupta may have known earlier. Hemacandra asked how many meters existed of a certain length if a long note was considered to be twice as long as a short note, which is equivalent to finding the Fibonacci numbers.
While India was the first nation to publish results on Combinatorics, there were discoveries by other nations on similar topics. The earliest known connection to Combinatorics comes from the Rhind papyrus, problem 79, for the implementation of a geometric series. The next milestone is held by the I Ching. The book is about what different hexagrams mean, and to do this they needed to know how many possible hexagrams there were. Since each hexagram is a permutation with repetitions of six lines, where each line can be one of two states, solid or dashed, combinatorics yields the result that there are 2 6 = 64 hexagrams. A monk also may have counted the number of configurations to a game similar to Go around 700 AD. Although China had relatively few advancements in enumerative combinatorics, they solved a combinatorial design problem, the magic square, around 100 AD.
In Greece, Plutarch wrote that the Xenocrates discovered the number of different syllables possible in the Greek language. This, however, is unlikely because this is one of the few mentions of Combinatorics in Greece. The number they found, 1.002 × 10 12 also seems too round to be more than a guess.
Magic squares remained an interest of China, and they began to generalize their original 3×3 square between 900 and 1300 AD. China corresponded with the Middle East about this problem in the 13th century. The Middle East also learned about binomial coefficients from Indian work, and found the connection to polynomial expansion.
Pascal's contribution to the triangle that bears his name comes from his work on formal proofs about it, in addition to his connection between it and probability. Together with Leibniz and his ideas about partitions in the 17th century, they are considered the founders of modern combinatorics.
Both Pascal and Leibniz understood that algebra and combinatorics corresponded (aka, binomial expansion was equivalent to the choice function). This was expanded by De Moivre, who found the expansion of a multinomial. De Moivre also found the formula for derangements using the principle of inclusion-exclusion, a method different from Nikolaus Bernoulli, who had found them previously. He managed to approximate the binomial coefficients and factorial. Finally, he found a closed form for the Fibonacci numbers by inventing generating functions.
In the 18th century, Euler worked on problems of combinatorics. In addition to working on several problems of probability which link to combinatorics, he worked on the knights tour, Graeco-Latin square, Eulerian numbers, and others. He also invented graph theory by solving the Seven Bridges of Königsberg problem, which also led to the formation of topology. Finally, he broke ground with partitions by the use of generating functions.
The simplest such functions are closed formulas, which can be expressed as a composition of elementary functions such as factorials, powers, and so on. For instance, as shown below, the number of different possible orderings of a deck of n cards is f(n) = n!. Often, no closed form is initially available. In these cases, we frequently first derive a recurrence relation, then solve the recurrence to arrive at the desired closed form.
Finally, f(n) may be expressed by a formal power series, called its generating function, which is most commonly either the ordinary generating function
or the exponential generating function
Often, a complicated closed formula yields little insight into the behavior of the counting function as the number of counted objects grows. In these cases, a simple asymptotic approximation may be preferable. A function is an asymptotic approximation to if as infinity. In this case, we write
Once determined, the generating function may allow one to extract all the information given by the previous approaches. In addition, the various natural operations on generating functions such as addition, multiplication, differentiation, etc., have a combinatorial significance; this allows one to extend results from one combinatorial problem in order to solve others.
where n is the number of objects from which you can choose and r is the number to be chosen. This assumes objects have an equal chance of being chosen (1/n).
For example, if you have the letters A, B, C, and D and you wish to discover the number of ways to arrange them in three letter patterns (trigrams)
you find that there are 43 or 64 ways. This is because for the first slot you can choose any of the four values, for the second slot you can choose any of the four, and for the final slot you can choose any of the four letters. Multiplying them together gives the total.
Remember, that the permutation formulas only calculate the number of needed ways or combinations in cases, for which, only the order matters and not the components. The following formula looks like this:
As a practical example of this, we may want to see in how many ways can we rearrange the following row of letters: A, A, B, B, C. First of all we have to write out all the repetitions:
where r1, r2, r3 are the number of repetitions of A's, B's and a C respectively. The total number of letters is 5, so our n = 5. Applying the formula we get the following:
The total number of ways in which we can rearrange the given row of letters is 30 ways. Due to the large number of arrangements, it would be quite hard to write out the arrangements by hand, as it was done in the example above.
where n is the number of objects from which you can choose, r is the number to be chosen and "!" is the standard symbol meaning factorial. For example, if you have five people and are going to choose three out of these, you will have 5!/(5 − 3)! = 60 permutations.
Note that if n = r (meaning the number of chosen elements is equal to the number of elements to choose from; five people and pick all five) then the formula becomes
where 0! = 1.
For example, if you have the same five people and you want to find out how many ways you may arrange them, it would be 5! or 5 × 4 × 3 × 2 × 1 = 120 ways. The reason for this is that you can choose from 5 for the initial slot, then you are left with only 4 to choose from for the second slot etc. Multiplying them together gives the total of 120.
As a second, very easy, example we may want to see in how many ways we may rearrange the three letters A, B, C. Using the given above combinatorial formula for permutations without repetitions we have 3! or 3 × 2 × 1 = 6 ways. If we check the following on practice, try to rearrange the letters by hand, we have the following combinations: ABC, ACB, BCA, BAC, CAB, CBA.
If, for instance, the three letters were A, A, B, then the number of combinations will be different and we would have to use a different combinatorial formula, the formula for permutations with repetitions.
where n is the number of objects from which you can choose and k is the number to be chosen.
For example, if you have ten numbers and wish to choose 5 you would have 10!/(5!(10 − 5)!) = 252 ways to choose. The binomial coefficient is also used to calculate the number of permutations in a lottery.
As a second example of how to use this particular combinatorial formula, we may want to see in how many ways we can produce 4 distinguishable groups of people, each of which consists of 5 people, out of total of 20 people. Remember that in this case the only important thing to us are the components of groups and not the order, in which people appear in those 4 separate groups. The answer to this problem is going to be a very large number. Calculating all the possible combinations we get the following:
The above formula gives the total ways to choose the first group of 5 people from the original 20. The second group of 5 people will be chosen from the remaining 15, so the formula for that is:
Likewise, the third group of 5 people will be chosen from the remaining 10, so the formula is:
Finally, there is only one way to choose the last group of 5 people (there are only 5 people left!).
Multiplying these four numbers yields the total number of combinations: 15504 * 3003 * 252 * 1 = 11,732,745,024
As it was expected the number of ways, in which, we can organize 4 groups, each consisting of 5 people, out of total of 20 people, is a very large number of combinations. If the groups are not distinguishable, then this must be divided by to remove the dependence on order of the group assignments.
When the order does not matter and an object can be chosen more than once, then the number of combinations is
where n is the number of objects from which you can choose and k is the number to be chosen.
For example, if you have ten types of donuts (n) on a menu to choose from and you want three donuts (k) there are (10 + 3 − 1)! / 3!(10 − 1)! = 220 ways to choose (see also multiset).
where ƒ(1) = 2 and ƒ(2) = 3.
As early as 1202, Leonardo Fibonacci studied these numbers. They are now called Fibonacci numbers; in particular, ƒ(n) is known as the (n + 2)th Fibonacci number. Although the recurrence relation allows us to compute every Fibonacci number, the computation is inefficient. However, by using standard techniques to solve recurrence relations, we can reach the closed form solution:
where , the golden ratio.
In the above example, an asymptotic approximation to ƒ(n) is:
as n becomes large.
A example in the block design area of combinatorics is that the problem of forming sets.
Given a certain number n of people, is it possible to assign them to sets so that each person is in at least one set, each pair of people is in exactly one set together, every two sets have exactly one person in common, and no set contains everyone, all but one person, or exactly one person? The answer depends on n. See "Design theory" below.
This has a solution only if n has the form q2 + q + 1. It is less simple to prove that a solution exists if q is a prime power. It is conjectured that these are the only solutions. It has been further shown that if a solution exists for q congruent to 1 or 2 mod 4, then q is a sum of two square numbers. This last result, the Bruck-Ryser theorem, is proved by a combination of constructive methods based on finite fields and an application of quadratic forms.
When such a structure does exist, it is called a finite projective plane; thus showing how finite geometry and combinatorics intersect.
For instance, given a set of n vectors in Euclidean space, what is the largest number of planes they can generate? Answer: the binomial coefficient
Is there a set that generates exactly one fewer plane? (No, in almost all cases.) These are extremal questions in geometry, as discussed below.
A more difficult problem is to characterize the extremal solutions; in this case, to show that no other choice of subsets can attain the maximum number while satisfying the requirement.
Often it is too hard even to find the extremal answer f(n) exactly and one can only give an asymptotic estimate.
Frank P. Ramsey proved that for every integer k there is an integer n, such that every graph on n vertices either contains a clique or an independent set of size k. This is a special case of Ramsey's theorem. For example, given any group of six people, it is always the case that one can find three people out of this group that either all know each other or all do not know each other. The key to the proof in this case is the Pigeonhole Principle: either A knows three of the remaining people, or A does not know three of the remaining people.
Here is a simple proof: Take any one of the six people, call him A. Either A knows three of the remaining people, or A does not know three of the remaining people. Assume the former (the proof is identical if we assume the latter). Let the three people that A knows be B, C, and D. Now either two people from {B,C,D} know each other (in which case we have a group of three people who know each other - these two plus A) or none of B,C,D know each other (in which case we have a group of three people who do not know each other - B,C,D). QED.
See main article on Topological combinatorics.
Combinatorial analogs of concepts and methods in topology are used to study graph coloring, fair division, partitions, partially ordered sets, decision trees, necklace problems and discrete Morse theory.