Remove ads
數學定理 来自维基百科,自由的百科全书
鴿巢原理,又名狄利克雷抽屜原理、鴿籠原理。
其中一種簡單的表述法為:
另一種為:
集合論的表述如下:
拉姆齊定理是此原理的推廣。
雖然鴿巢原理看起來很容易理解,但有時使用鴿巢原理會得到一些有趣的結論:
另一個例子:
另一個例子:
更不直觀一點的例子:
鴿巢原理經常在計算機領域得到真正的應用。比如:雜湊表的重複問題(衝突)是不可避免的,因為Keys的數目總是比Indices的數目多,不管是多麼高明的演算法都不可能解決這個問題。這個原理,還證明任何無損壓縮演算法,在把一些輸入變小的同時,作為代價一定有其他的輸入增大,否則對於長度為L的輸入集合,該壓縮演算法總能將其對映到一個更小的長度小於L的輸出集合,而這與鴿巢理論相悖。
一種表達是這樣的:如果要把n個物件分配到m個容器中,必有至少一個容器容納至少個物件。
設把n+1個元素分為n個集合,記表示這n個集合里相應的元素個數。
假設
因為
所以
所以
這與題設矛盾,因此結論得證。
證明:若存在一個從集合到集合的單射,那麼。
若,易得原式成立。
若,歸納假設存在,有從集合到集合的單射,。 若 如果在對映下沒有原像或,那麼是一個從 到的單射,所以 ,即。
如果在對映下有原像,那麼我們記在對映下的原像為且在對映得到的像為,可以得到對映: 是一個單射所以,即。
將m個元素隨機放入n個集合中(m > n)。規定如果n整除m。隨機選擇一個集合,它的大小的期望值是: 由於只能是整數,所以必有一個m,使得
設 q1, q2, ..., qn 皆是正整數,現有
個物件要分配在n個箱子中,那麼以下敘述至少一者成立:
這個原理一樣可以使用反證法證明,即假設上述所有敘述為假並得出矛盾,方法與前述簡單情況類似。
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.