算法之组合数学及其算法篇(二) ----- 鸽巢原理
鴿巢原理
- 前言
- 鴿巢原理
- 運(yùn)用1
- 運(yùn)用二
- 運(yùn)用三
- 鴿巢原理的推廣
- 推論
- 運(yùn)用一
- 運(yùn)用二
- 鴿巢原理在幾何上的作用
- 鴿巢原理對于數(shù)學(xué)的證明
前言
鴿巢原理又稱抽屜原理或鞋盒原理,這個(gè)原理最早是由狄利克雷(Dirichlet)提出的。鴿巢原理是解決組合論中一些存在性問題的基本而又有力的工具。它是組合數(shù)學(xué)中最簡單也是最基本的原理,從這個(gè)顯而易見的原理出發(fā),可以導(dǎo)出許多并非顯而易見的有趣結(jié)果,而這些結(jié)果常常是令人驚奇的。特別是Ramsey理論產(chǎn)生了重要而深遠(yuǎn)的影響。1928年,年僅24歲的英國杰出數(shù)學(xué)家F. P. Ramsey發(fā)表了著名論文《論形式邏輯中的一個(gè)問題》,他在這篇論文中,提出并證明了關(guān)于集合論的一個(gè)重大研究成果,現(xiàn)已公認(rèn)為Ramsey定理。他開拓的這一新領(lǐng)域至今在理論上仍十分活躍,而且近年來在科學(xué)技術(shù)領(lǐng)域獲得了成功的應(yīng)用。
鴿巢原理對于我們在解題的時(shí)候?qū)夥ù嬖谛院驼_性的一種強(qiáng)有力的方法。
鴿巢原理
定理 若有n+1只鴿子飛回n個(gè)鴿巢,則至少有一個(gè)鴿巢里有不少于兩只鴿子。
我們還可以這么描述,若由n+1個(gè)東西放入n個(gè)盒子中,則至少有一個(gè)盒子有不少于兩個(gè)物品。
證明:(反證法)假設(shè)n個(gè)鴿巢中,每個(gè)鴿巢里至多有一只鴿子,則鴿子的總數(shù)至多為n,但是有n+1只鴿子,矛盾。
[說明]:(1)定理的條件?結(jié)論?實(shí)質(zhì)上指出了一種必然性。
(2)鴿巢原理的等價(jià)原理:若有n+1個(gè)物件放入n個(gè)盒子,則至少有一個(gè)盒子里有不少于兩個(gè)的物件。
(3)鴿巢原理的應(yīng)用關(guān)鍵是:
“認(rèn)準(zhǔn)鴿子”、“構(gòu)筑鴿巢”。
運(yùn)用1
從整數(shù)1,2,…,100中任選51個(gè)整數(shù),證明在選取的這些整數(shù)中必存在兩個(gè)整數(shù),其中之一可被另一個(gè)整除。
證明:
對于1到100之間的任何整數(shù),都可以表示為2n.α2^n.α2n.α的形式,其中n≥0,且α為50個(gè)奇數(shù)1,3,…,99之中的數(shù)。故在所任選的51個(gè)整數(shù)中,至少有兩個(gè)整數(shù)含有相同的奇數(shù)因子α,令這兩個(gè)整數(shù)為2r?α和2s?α,不妨r>s,則2s?α能被2r?α整除2^r·α和2^s·α,不妨r>s,則2^s·α能被2^r·α整除2r?α和2s?α,不妨r>s,則2s?α能被2r?α整除。
- 對于1到100之間的任何整數(shù),都可以表示為2n.α2^n.α2n.α的形式 .這是因?yàn)槲覀冎廊魏我粋€(gè)數(shù)都能有唯一的質(zhì)因子乘積表示。在這些質(zhì)因子中,2后邊的都是奇數(shù),因此無論多少個(gè)奇數(shù)的乘積任然是奇數(shù)。因此就有上面的結(jié)論。
運(yùn)用二
有9個(gè)任給定的整數(shù)a1,a2,?,a9,試證明必存在兩個(gè)整數(shù)k和l(0≤k≤l≤9),使得ak+1+ak+2+...+al能被9整除有9個(gè)任給定的整數(shù) a_1,a_2,?,a_9, 試證明必存在兩個(gè)整數(shù)k和l(0≤k ≤l≤9),使得 a_{k+1}+a_{k+2}+...+a_l 能被9整除有9個(gè)任給定的整數(shù)a1?,a2?,?,a9?,試證明必存在兩個(gè)整數(shù)k和l(0≤k≤l≤9),使得ak+1?+ak+2?+...+al?能被9整除。
證明:
首先,如果某個(gè) ai(1≤i≤9)a_i(1≤i≤9)ai?(1≤i≤9) 能被9整除,取k=l=i、得證。
否則,由9個(gè)整數(shù)可得到9個(gè)連續(xù)的和式: a1,a1+a2,a1+a2+a3,....,a1+a2+?+a9a1,a1+a2,a1+a2+a3,....,a1+a2+?+a9a1,a1+a2,a1+a2+a3,....,a1+a2+?+a9。 如果某個(gè) a1+a2+?+ai(1<i≤9)a1+a2+?+ai(1<i≤9)a1+a2+?+ai(1<i≤9) 能被9整除,即存在兩個(gè)整數(shù)k和l(0≤k≤1=i≤9)k和l(0≤k≤1=i≤9)k和l(0≤k≤1=i≤9),得證。
否則,上述9個(gè)和式被9除余數(shù)可能為1,2,…,8,由鴿巢原理知最少存在兩個(gè)和式被9除余數(shù)相同,不妨設(shè)為 a1+a2+?+ak=a?9+r和a1+a2+?+al=9?b+r,(k<l)a1+a2+?+ak = a*9 + r和 a1+a2+?+al = 9*b+r,(k<l)a1+a2+?+ak=a?9+r和a1+a2+?+al=9?b+r,(k<l), 那么它們的差 ak1+ak+2+?+al=9?(a?b)(0≤k≤1≤9)a_{k1}+a_{k+2}+?+a_l = 9*(a-b)(0≤ k ≤1≤9)ak1?+ak+2?+?+al?=9?(a?b)(0≤k≤1≤9)能夠被9整除。得證
- 對于這個(gè)例子我們可以推廣為: 有K個(gè)數(shù),那么必有一個(gè)連續(xù)的序列的和能被S整除。(S<=K)有K個(gè)數(shù),那么必有一個(gè)連續(xù)的序列的和能被S整除。(S<=K)有K個(gè)數(shù),那么必有一個(gè)連續(xù)的序列的和能被S整除。(S<=K)
運(yùn)用三
在一個(gè)正六邊形內(nèi)任置7點(diǎn),則至少有兩點(diǎn)之間的距離小于該正六邊形外接圓的半徑在一個(gè)正六邊形內(nèi)任置7點(diǎn),則至少有兩點(diǎn)之間的距離小于該正六邊形外接圓的半徑在一個(gè)正六邊形內(nèi)任置7點(diǎn),則至少有兩點(diǎn)之間的距離小于該正六邊形外接圓的半徑
證明:連接這個(gè)正六邊形的三條對角線,得到六個(gè)小正三角形,每個(gè)正三角形的直徑都恰是正六邊形外接圓的半徑。正六邊形內(nèi)置7點(diǎn),由鴿巢原理知,總有一個(gè)三角形內(nèi)至少有兩個(gè)點(diǎn),顯然它們的距離小于正六邊形外接圓的半徑。
鴿巢原理的推廣
定理:設(shè)m?,m?,… ,mn 均為正整數(shù).如果有 m1+m2+?+mn?n+1 只鴿子飛回n個(gè)鴿巢,則或者第一個(gè)鴿巢至少有m,只鴿子,或者第二個(gè)鴿巢至少有m,只鴿子,…,或者第n個(gè)鴿巢至少有m,只鴿子。
證明:(反證法)若定理結(jié)論不成立,即第一個(gè)鴿巢至多有 m1?1 只鴿子,第二個(gè)鴿巢至多有m2-1只鴿子,…,第n個(gè)鴿巢至多有m,-1只鴿子。則鴿子總數(shù)至多為
(m1?1)+(m2?1)+?+(mn?1)=m1+m2+?+mn?n(m_1?1)+(m_2?1)+?+(m_n?1) =m_1+m_2+?+m_n?n(m1??1)+(m2??1)+?+(mn??1)=m1?+m2?+?+mn??n
這與設(shè)定的鴿子數(shù) m1+m2+?+mn?n+1 相矛盾。得證。
[注意]:
(1)鴿巢原理的一般形式是推廣形式的特例,事實(shí)上,當(dāng) m1=m2=??mn=2 時(shí),
m1+m2+?+mn?n+1=n+1
(2)鴿巢原理的等價(jià)表示:設(shè)m,,m2,… mn 為正整數(shù),若有 m1+m2+?+mn?n+1 個(gè)球放入n個(gè)盒子,則或者第一個(gè)盒子至少有m,個(gè)球,或者第二個(gè)盒子至少有m,個(gè)球,…,或者第n個(gè)盒子至少有m,個(gè)球。
推論
這三個(gè)推論在證明的時(shí)候很常用,下面舉幾個(gè)例子。
運(yùn)用一
- 設(shè)有兩個(gè)隊(duì)Q,和Q,每隊(duì)都有30人,其中Q隊(duì)由15名男孩和15名女孩組成,Q,隊(duì)男、女孩人數(shù)不限這兩隊(duì)按序號面對面站好。然后,Q,隊(duì)不動(dòng),Q.隊(duì)迂回往右錯(cuò)動(dòng),每次依序錯(cuò)動(dòng)一個(gè)位置。試證明當(dāng)Q:錯(cuò)動(dòng)到某一位置上時(shí),Q,和Q,在對應(yīng)位置上的兩個(gè)小孩至少有15對是性別相同的。
Q隊(duì)迂回錯(cuò)動(dòng)一圈再回到初始狀態(tài)時(shí),每個(gè)小孩,無論是男孩還是女孩,在對應(yīng)位置上都與Q?隊(duì)的15個(gè)小孩同性別。故同性別的總對數(shù)為15×30=450。
因此,每個(gè)錯(cuò)動(dòng)位置上同性別的平均對數(shù)為 45030=1 15>15-1。由推論2知,必存在某一位置,當(dāng)Q錯(cuò)動(dòng)到這個(gè)位置上時(shí),則性別相同的小孩至少有15對。
- 無論是男孩還是女孩,在對應(yīng)位置上都與Q?隊(duì)的15個(gè)小孩同性別 : 意思是好比我是一個(gè)男孩,那么我在轉(zhuǎn)一周之后一定會(huì)與對面的15個(gè)男孩碰面,那么有15次。
運(yùn)用二
- 若給定n2+1個(gè)不等實(shí)數(shù)構(gòu)成的序列a?,a?,…an2+1則該序列中至少存在一個(gè)由n+1個(gè)實(shí)數(shù)組成的單調(diào)遞增或單調(diào)遞減子序列。若給定n2+1個(gè)不等實(shí)數(shù)構(gòu)成的序列a_?,a_?,… a_{n^2+1} 則該序列中至少存在一個(gè)由n+1個(gè)實(shí)數(shù)組成的單調(diào)遞增或單調(diào)遞減子序列。若給定n2+1個(gè)不等實(shí)數(shù)構(gòu)成的序列a??,a??,…an2+1?則該序列中至少存在一個(gè)由n+1個(gè)實(shí)數(shù)組成的單調(diào)遞增或單調(diào)遞減子序列。
證明:不妨先考慮尋找單調(diào)遞增子序列。
令mim_imi?表示從aia_iai?開始最長遞增子序列的項(xiàng)數(shù)或長度。若有某個(gè)mi≥n+1m_i≥n+1mi?≥n+1 則定理得證。
否則,注意到給定的序列有 n2+1n^2+1n2+1 個(gè)實(shí)數(shù),故可產(chǎn)生 n2+1個(gè)長度,m1,m2?mn2+1,如果全部的mi<n+1,(i=1,2,?,n2+1則這些整數(shù)必定在1和n之間。相當(dāng)于把n2+1個(gè)球放入n個(gè)盒子n^2+1 個(gè)長度, m_1,m_2?m_{n^2+1},如果全部的 m_i<n+1,(i=1,2,?,n^2+1 則這些整數(shù)必定在1和n之間。相當(dāng)于把 n^2+1 個(gè)球放入n個(gè)盒子n2+1個(gè)長度,m1?,m2??mn2+1?,如果全部的mi?<n+1,(i=1,2,?,n2+1則這些整數(shù)必定在1和n之間。相當(dāng)于把n2+1個(gè)球放入n個(gè)盒子。
由推論1知,(取m1=m2=?=mn2+1=r=n+1,將n(r?1)+1=n2+1個(gè)球放入n個(gè)盒子中,至少有某個(gè)盒子里不少于r個(gè)球。)在m1,m2,?,mn2+1中至少有r=n+1個(gè)數(shù)相等。不妨設(shè)m1=m2=?=mn+1=m,且1≤i1<i2<?<in+1≤n2+1,或者說a,,ai2,?,ain+1有相同的m值,則必有a1>a1>?>ai+1即存在著一個(gè)長度為n+1的單調(diào)遞減子序列。若不然,假如ai1<a??會(huì)有mi1=mi2+1≠mi2=m,矛盾(取 m_1=m_2=?=m_{n^2+1}=r=n+1, 將 n(r?1)+1=n^2+1 個(gè)球放入n個(gè)盒子中,至少有某個(gè)盒子里不少于r個(gè)球。)在m_1, m_2,?,m_{n^2+1} 中至少有r=n+1個(gè)數(shù)相等。不妨設(shè) m_1=m_2=?=m_{n+1}=m, 且 1≤i1<i2<?<in+1≤n2+1, 或者說a,, ai2,?,ain+1 有相同的m值,則必有 a1>a1>?>ai+1 即存在著一個(gè)長度為n+1的單調(diào)遞減子序列。若不然,假如 ai_1 <a?_?會(huì)有 m_{i_1}=m_{i_2}+1≠ m_{i_2} =m, 矛盾(取m1?=m2?=?=mn2+1?=r=n+1,將n(r?1)+1=n2+1個(gè)球放入n個(gè)盒子中,至少有某個(gè)盒子里不少于r個(gè)球。)在m1?,m2?,?,mn2+1?中至少有r=n+1個(gè)數(shù)相等。不妨設(shè)m1?=m2?=?=mn+1?=m,且1≤i1<i2<?<in+1≤n2+1,或者說a,,ai2,?,ain+1有相同的m值,則必有a1>a1>?>ai+1即存在著一個(gè)長度為n+1的單調(diào)遞減子序列。若不然,假如ai1?<a???會(huì)有mi1??=mi2??+1?=mi2??=m,矛盾。
鴿巢原理在幾何上的作用
鴿巢原理對于數(shù)學(xué)的證明
總結(jié)
以上是生活随笔為你收集整理的算法之组合数学及其算法篇(二) ----- 鸽巢原理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 算法之组合数学及其算法篇(一) ----
- 下一篇: 算法之组合数学及其算法篇(三) ----