版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。
1 简介
鸽巢原理有许多名字,最普通的名字叫鸽巢原理,其他名字有狄利克雷(Dirichlet)抽屉原理、鞋盒(shoebox)原理。对鸽巢原理粗略地描述就是如果有许多鸽子飞进不够多的鸽巢内,那么至少要有一个鸽巢要被两个或多个鸽子占据。
2 鸽巢原理(简单形式)
定理:如果要把 n + 1 n+1n+1个物体放进 n nn个盒子,那么至少有一个盒子包含两个或更多的物体。
可以说这个定理是相当显然的,如果 n nn个盒子中的每一个都至多含有一个物体,那么物体的总数最多是 n nn。这与 n + 1 n+1n+1个物体矛盾。这个定理只是简单地断言,它只能保证这样盒子的存在性,因此,在使用鸽巢原理去证明一个排列或某种现象的存在时,在不考察所有可能性的情况下,它都不能对如何构造排列或寻找某一现象的例子给出任何有价值的指导。
下面是两个简单的应用:
应用1:在13个人中存在两个人,他们的生日在同一月份里
应用2:设有 n nn对已婚夫妇。至少要从这 2 n 2n2n个人中选出 n + 1 n+1n+1人才能保证能够选出一对夫妇
与鸽巢原理相关的其他原理:
如果将 n nn个物体放入 n nn个盒子并且没有一个盒子是空的,那么每个盒子恰好有一个物体。如果将 n nn个物体放入 n nn个盒子并且没有盒子被放入多于一个的物体,那么每个盒子里有一个物体。
这三个原理的更抽象表述为:设 X XX和 Y YY是有限集合,并令 f : X → Y f:X\rightarrow Yf:X→Y是一个从 X XX到 Y YY的函数
如果 X XX的元素多于 Y YY的元素,那么 f ff就不是一一映射如果 X XX和 Y YY含有相同个数的元素,并且 f ff是满射,那么 f ff就是一一映射如果 X XX和 Y YY含有相同个数的元素,并且 f ff是一一映射,那么 f ff就是满射
下面介绍几个鸽巢原理的应用
应用1
在13个人中存在两个人,他们的生日在同一月份里
应用2
设有 n nn对已婚夫妇。至少要从这 2 n 2n2n个人中选出 n + 1 n+1n+1人才能保证能够选出一对夫妇<