鸽巢原理

一种简单的表述方式:

  • 若有n个笼子和n+1只鸽子,所有的鸽子都被关在鸽笼里,那么至少有一个笼子有至少2只鸽子。
另一种:

  • 若有n个笼子和kn+1只鸽子,所有的鸽子都被关在鸽笼里,那么至少有一个笼子有至少k+1只鸽子。
另一种表达:

  • 如果要把n个物件分配到m个容器中,必有至少一个容器容纳至少⌈n / m⌉个物件。
利用鸽巢原理的一些有趣结论:

  • 比如:北京至少有两个人头发数一样多。
    • 证明:常人的头发数在15万左右,可以假定没有人有超过100万根头发,但北京人口大于100万。如果我们让每一个鸽巢对应一个头发数字,鸽子对应于人,那就变成了有大于100万只鸽子要进到至多100万个巢中。所以,可以得到“北京至少有两个人头发数一样多”的结论。

另一个例子:

  • 盒子里有10只黑袜子、12只蓝袜子,你需要拿一对同色的出来。假设你总共只能拿一次,只要3只就可以拿到相同颜色的袜子,因为颜色只有两种(鸽巢只有两个),而三只袜子(三只鸽子),从而得到“拿3只袜子出来,就能保证有一双同色”的结论。

更不直观一点的例子:

  • 有n个人(至少2人)互相握手(随意找人握),必有两人握手次数相同。
    • 这里,鸽巢对应于握手次数,鸽子对应于人,每个人都可以握[0,n-1]次(但0和n-1不能同时存在,因为如果一个人不和任何人握手,那就不会存在一个和所有其他人都握过手的人),所以鸽巢是n-1个。但有n个人(n只鸽子),因此证明了命题正确。

鸽巢原理经常在计算机领域得到真正的应用。比如:哈希表的重复问题(冲突)是不可避免的,因为Keys的数目总是比Indices的数目多,不管是多么高明的算法都不可能解决这个问题。这个原理,还证明任何无损压缩算法,在把一个文件变小的同时,一定有其他文件增大来辅助,否则某些信息必然会丢失。

------《维基百科》


另一个例子:

在边长为1的等边三角形内任取5个点,试证其中至少有两点,其间距离小于1/2。

证明时, 把边长为1的三角形分成四个边长为1/2的三角形,则这5点中必有两点落在同一个小三角形中。

小三角形中任意两点间的距离都小于1/2。

鸽巢原理的加强形式:

将q1+q2+…+qn-n+1个物品放入n个抽屉中,则至少存在某个抽屉i(1≤i≤n),使得这个抽屉里至少有qi个物品。

注: q1+q2+…+qn-n+1为结论成立的最小数,记为N(q1,q2,…,qn;1)。即N(q1,q2,…,qn;1)=q1+q2+…+qn-n+1.

显然,当q1=q2=…=qn=2时,加强形式即为简单形式。

推论1: n·(r-1)+1只鸽子飞入n个巢里,则至少有一个鸽巢里至少有r只鸽子。(q1=q2=...=qn=r)

推论2:m只鸽子飞入n个巢里,则至少有一个鸽巢里至少有⌈m / n⌉只鸽子。

利用鸽巢原理解决问题的关键在于:

辨认问题,建立鸽巢,寻找鸽子。

1. 一个筐中有苹果、香蕉和橙子3种水果。为保证筐中或者至少有8个苹果,或者至少有6个香蕉,或者至少有9个橙子,则放入筐中的水果数目至少为多少?

8+6+9-3+1=21

(7+5+8)+1=21

2. 一抽屉中有20件衬衫,其中4件蓝色,7件灰色,9件红色。问

若从中随意取多少件可保证有4件为同色?4+4+4-3+1=10

若从中随意取多少件可保证有6件为同色?4+6+6-2+1=15

3. 任意6个人中必有3个人互相认识,或互相不认识。

这就是著名的Ramsey问题。

我们用6个点表示6个人,当两个人互相认识时,两个点之间连一条红边,当两个人互相不认识时,两个点之间连一条蓝边,于是这个问题可转化为:

对6阶完成图K6的边任着红、蓝两色,必存在同色三角形。

证明:设A0,A1,…,A5为 K6的6个顶点,从A0 引出的5条边中,必有3条同色,不妨设A0A1,A0A2,A0A3为红色。

             若△A1A2A3有一条红边,则这条边的两个端点连同A0构成红色三角形。

             若△A1A2A 3没有红边,则这个三角形为蓝红色三角形。结论成立。


             注:6为结论成立的最小数.

4.  17名科学家中每名科学家都和其他科学家通信,在他们通信时,只讨论三个问题,而且任意两名科学家通信时只讨论同一个问题,证明:其中至少有三名科学家,他们相互通信时讨论的是同一个问题。  

证明:视17个科学家为17个点,每两个点之间连一条线表示这两个科学家在讨论同一个问题,若讨论第一个问题则在相应两点连红线,若讨论第2个问题则在相应两点连条黄线,若讨论第3个问题则在相应两点连条蓝线。三名科学家研究同一个问题就转化为找到一个三边同颜色的三角形。即转化为证明:对17阶完成图K17的边任着红、蓝、黄三色,必存在同色三角形。

考虑科学家A,他要与另外的16位科学家每人通信讨论一个问题,相应于从A出发引出16条线段,将它们染成3种颜色,由鸽巢原理必有6条同色,不妨记为AB1,AB2,AB3,AB4,AB5,AB6同红色,若Bi(i=1,2,…,6)之间有红线,则出现红色三角线,命题已成立;否则B1,B2,B3,B4,B5,B6之间的连线只染有黄、蓝两色,由例4存在同色三角形,证毕。

----------百度文库


  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值