Jump to content

Pigeonhole principle: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
No edit summary
Line 14: Line 14:
The pigeonhole principle often arises in [[computer science]]. For example, collisions are inevitable in a [[hash table]] because the number of possible keys exceeds the number of indices in the array. No hashing algorithm, no matter how clever, can avoid these collisions. This principle also proves that there cannot be a [[lossless data compression|lossless compression algorithm]] that will compress any file by a certain amount. If it could then two files would be compressed to the same smaller file and restoring them would be ambiguous.
The pigeonhole principle often arises in [[computer science]]. For example, collisions are inevitable in a [[hash table]] because the number of possible keys exceeds the number of indices in the array. No hashing algorithm, no matter how clever, can avoid these collisions. This principle also proves that there cannot be a [[lossless data compression|lossless compression algorithm]] that will compress any file by a certain amount. If it could then two files would be compressed to the same smaller file and restoring them would be ambiguous.


One of the more famous examples is the idea that if you choose any six people from around the world at random, then there will always be at least three who know each other or do not know each other; assuming that each acquaintance is mutual. That is, that if one person knows another; then the latter knows the former. This idea is proved by supposing not, and consequentially showing that each person must know three people and not know two people. This leads to a contradiction.
One of the more famous examples is the idea that if you choose any six people from around the world at random, then there will always be at least three who know each other or do not know each other; assuming that each acquaintance is mutual. That is, that if one person knows another; then the latter knows the former. This idea is proved by supposing not, and consequentially showing that each person must know three people and not know two people. This leads to a contradiction. See [[Ramsey's theorem]] for more details.


Several additional examples are given by Grimaldi (see [[#References|References]]).
Several additional examples are given by Grimaldi (see [[#References|References]]).

Revision as of 16:55, 2 September 2006

The inspiration for the name of the principle: pigeons in holes. Here n = 7 and m = 9.

The pigeonhole principle, also known as Dirichlet's box principle, states that if n pigeons are put into m pigeonholes, and if n > m, then at least one pigeonhole must contain more than one pigeon. Another way of stating this would be that m holes can hold at most m objects with one object to a hole; adding another object will force you to reuse one of the holes.

The pigeonhole principle is an example of a counting argument which can be applied to many formal problems, including ones involving infinite sets that cannot be put into one-to-one correspondence. In Diophantine approximation the quantitative application of the principle to the existence of integer solutions of a system of linear equations goes under the name of Siegel's lemma.

The first statement of the principle is believed to have been made by Dirichlet in 1834 under the name Schubfachprinzip ("drawer principle"). In some languages (for example, Russian) this principle is therefore called the Dirichlet principle (not to be confused with the minimum principle for harmonic functions of the same name).

Examples

Although the pigeonhole principle may seem to be a trivial observation, it can be used to demonstrate possibly unexpected results. For example, there must be at least two people in London with the same number of hairs on their heads. Demonstration: a typical head of hair has around 150,000 hairs. It is reasonable to assume that no one has more than 1,000,000 hairs on their head. There are more than 1,000,000 people in London. If we assign a pigeonhole for each number of hairs on a head, and assign people to the pigeonhole with their number of hairs on it, there must be at least two people with the same number of hairs on their heads.

Another example of the pigeonhole principle involves the situation when there are five people who want to play softball, but only four teams. This would not be a problem except that each of the five refuses to play on a team with any of the other 4. To prove that there is no way for all five people to play softball, the pigeonhole principle says that it is impossible to divide five people among four teams without putting two of the people on the same team. Since they refuse to play on the same team, at most four of the people will be able to play.

The pigeonhole principle often arises in computer science. For example, collisions are inevitable in a hash table because the number of possible keys exceeds the number of indices in the array. No hashing algorithm, no matter how clever, can avoid these collisions. This principle also proves that there cannot be a lossless compression algorithm that will compress any file by a certain amount. If it could then two files would be compressed to the same smaller file and restoring them would be ambiguous.

One of the more famous examples is the idea that if you choose any six people from around the world at random, then there will always be at least three who know each other or do not know each other; assuming that each acquaintance is mutual. That is, that if one person knows another; then the latter knows the former. This idea is proved by supposing not, and consequentially showing that each person must know three people and not know two people. This leads to a contradiction. See Ramsey's theorem for more details.

Several additional examples are given by Grimaldi (see References).

Generalizations of the pigeonhole principle

A generalized version of this principle states that, if n discrete objects are to be allocated to m containers, then at least one container must hold no fewer than objects, where denotes the ceiling function.

A probabilistic generalization of the pigeonhole principle states that if n pigeons are randomly put into m pigeonholes with uniform probability 1/m, then at least one pigeonhole will hold more than one pigeon with probability

where is a falling factorial. For n = 0 and for n = 1 (and m > 0), that probability is zero; in other words, if there is just one pigeon, there cannot be a conflict. For n > m (more pigeons than pigeonholes) it is one, in which case it coincides with the ordinary pigeonhole principle. But even if the number of pigeons does not exceed the number of pigeonholes (nm), due to the random nature of the assignment of pigeons to pigeonholes there is often a substantial chance that clashes will occur. For example, if 2 pigeons are randomly assigned to 4 pigeonholes, there is a 25% chance that at least one pigeonhole will hold more than one pigeon; for 5 pigeons and 10 holes, that probability is 69.76%; and for 10 pigeons and 20 holes it is about 93.45%.

References

  • Grimaldi, Ralph P. Discrete and Combinatorial Mathematics: An Applied Introduction. 4th edn. 1998. ISBN 0-201-19912-2. pp. 244–248.

See also