鸽巢原理,又名狄利克雷抽屉原理、鸽笼原理。
其中一种简单的表述法为:
另一种为:
集合论的表述如下:
拉姆齐定理是此原理的推广。
虽然鸽巢原理看起来很容易理解,但有时使用鸽巢原理会得到一些有趣的结论:
另一个例子:
另一个例子:
更不直观一点的例子:
鸽巢原理经常在计算机领域得到真正的应用。比如:哈希表的重复问题(冲突)是不可避免的,因为Keys的数目总是比Indices的数目多,不管是多么高明的算法都不可能解决这个问题。这个原理,还证明任何无损压缩算法,在把一些输入变小的同时,作为代价一定有其他的输入增大,否则对于长度为L的输入集合,该压缩算法总能将其映射到一个更小的长度小于L的输出集合,而这与鸽巢理论相悖。
一种表达是这样的:如果要把n个对象分配到m个容器中,必有至少一个容器容纳至少1, 2, ..., 皆是正整数,现有
个对象要分配在个箱子中,那么以下叙述至少一者成立:
这个原理一样可以使用反证法证明,即假设上述所有叙述为假并得出矛盾,方法与前述简单情况类似。
借由康托的无穷基数可将鸽巢原理推广到无穷集中:如果集合A的势大于集合B的势,那么不存在由A到B的单射。