热门问题
时间线
聊天
视角

鴿巢原理

来自维基百科,自由的百科全书

鴿巢原理
Remove ads
Remove ads

鴿巢原理,又名狄利克雷抽屜原理鴿籠原理

Thumb
10只鸽子放进9个鸽笼,那么一定有一个鸽笼放进了至少两只鸽子。

其中一種簡單的表述法為:

  • 若有個籠子和隻鴿子,所有的鴿子都被關在鴿籠裡,那麼至少有一個籠子有至少隻鴿子。

另一種為:

  • 若有個籠子和隻鴿子,所有的鴿子都被關在鴿籠裡,那麼至少有一個籠子有至少隻鴿子。

集合论的表述如下:

  • 元集,元集,則不存在從單射

拉姆齐定理是此原理的推廣。

Remove ads

例子

雖然鴿巢原理看起來很容易理解,但有時使用鴿巢原理會得到一些有趣的結論:

  • 比如:北京至少有兩個人頭髮數一樣多。
    • 證明:常人的頭髮數目在15萬左右,可以假定沒有人有超過100萬根頭髮,但北京人口大於100萬。如果把每個鴿巢定義為「頭髮的數量」,便共有100萬個鴿巢。打一個比方,一根頭髮的人就會被編排在一根頭髮屬於的巢、兩根就在兩根頭髮屬於的巢,如此類推。鴿子則對應於人,那就變成了有大於100萬隻鴿子要進到100萬個巢中(另一種說法是把多於100萬個人編排到他們身上頭髮所屬的鴿巢,比如有一個人有三根頭髮,他便會進了屬於有三根頭髮的人的鴿巢)。因為北京人口多於100萬,如果受訪的前100萬人頭髮數目剛好不同,第100萬零一個的北京市民就必定會進了一個已經有一人在內的鴿巢。因此,我們便可以得到「北京至少有兩個人頭髮數一樣多」的結論。

另一個例子:

  • 盒子裡有10隻黑襪子、12隻藍襪子,你需要拿一對同色的出來,最多需要拿出几只?假設總共只能拿一次,只要3隻就無法迴避會拿到兩隻相同颜色的袜子,因為顏色只有兩種(鴿巢只有兩個),而有三隻襪子(三隻鴿子),從而得到「拿3隻襪子出來,就能保證有一雙同色」的結論。

另一個例子:

  • 某男性先後有過4位妻子,合共生有2子3女,則至少有2位子女有同一位母親,且至少1位妻子沒有女兒,至少2位妻子沒有兒子。
    • 至少有2位子女有同一位母親 → 若非如此,即任何2位子女都沒有相同的母親,則該男性至少要有5位妻子,矛盾。
    • 至少1位妻子沒有女兒 → 若非如此,即每位妻子都有女兒,則該男性至少要有4位女兒,矛盾。
    • 至少2位妻子沒有兒子 → 若非如此,即最多1位妻子沒有兒子,則該男性至少要有3位兒子,矛盾。

更不直觀一點的例子:

  • 有n個人(至少2人)互相握手(隨意找人握),必有兩人握過手的人數相同。
    • 這裡,鴿巢對應於握過手人數,鴿子對應於人,每個人都可以與[0,n-1]人握過手(但0和n-1不能同時存在,因為如果一個人不和任何人握手,那就不會存在一個和所有其他人都握過手的人),所以鴿巢是n-1個。但有n個人(n隻鴿子),因此証明了命題正確。

鴿巢原理經常在計算機領域得到真正的應用。比如:哈希表的重複問題(衝突)是不可避免的,因為Keys的數目總是比Indices的數目多,不管是多麼高明的算法都不可能解決這個問題。這個原理,還證明任何無損壓縮算法,在把一些輸入變小的同時,作為代價一定有其他的輸入增大,否則對於長度為L的輸入集合,該壓縮算法總能將其映射到一個更小的長度小於L的輸出集合,而這與鴿巢理論相悖。

Remove ads

推廣

一种表达是这样的:如果要把n个物件分配到m个容器中,必有至少一个容器容纳至少个物件。

数学证明

反证法

设把n+1个元素分为n个集合,记表示这n个集合里相应的元素个数。

假设

因为

所以

所以

这与题设矛盾,因此结论得证。

Remove ads

数学归纳法

证明:若存在一个从集合到集合的单射,那么

,易得原式成立。

,归纳假设存在,有从集合到集合的单射,。 若 如果在映射下没有原像或,那么是一个从 的单射,所以 ,即

如果在映射下有原像,那么我们记在映射下的原像为在映射得到的像为,可以得到映射: 是一个单射所以,即

Remove ads

概率方法

将m个元素随机放入n个集合中(m > n)。规定如果n整除m。随机选择一个集合,它的大小的期望值是: 由于只能是整数,所以必有一个m,使得

Remove ads

更強的形式

q1, q2, ..., qn 皆是正整數,現有

個物件要分配在n個箱子中,那麼以下敘述至少一者成立:

  • 第1個箱子包含至少q1個物件;
  • 第2個箱子包含至少q2個物件;
  • ......
  • n個箱子包含至少qn個物件。[1]

這個原理一樣可以使用反證法證明,即假設上述所有敘述為假並得出矛盾,方法與前述簡單情況類似。

Remove ads

无穷集中的情况

藉由康托的无穷基数可将鸽巢原理推广到无穷集中:如果集合A的大于集合B的势,那么不存在由A到B的单射

參見

参考资料

Loading content...
Loading content...

外部連結

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads