設萬維讀者為首頁 廣告服務 聯繫我們 關於萬維
簡體 繁體 手機版
分類廣告
版主:
萬維讀者網 > 靈機一動 > 帖子
三明治問題的解析方法。。。
送交者: 括號 2011年12月20日18:39:11 於 [靈機一動] 發送悄悄話
原來說過要寫個生成函數的科普貼。但發現網上這方面的好貼太多了,再寫難免成了狗尾續貂。但三明治這種題既是使用也是學習理解生成函數的很好的例子。所以就題論題引申一下。。。。

三明治的問題可以簡單表述為在A,B,C,D,E這5種三明治中選4個(可以有重複)的組合問題。

首先看如下5個一元多項式的乘積展開:

g(x) = (1+Ax+AA*xx+AAA*xxx+....)(1+Bx+BBxx+BBB*xxx+....)*....
   = 1 
   + (A+B+C+D+E)*x 
   + (AA+BB+CC+DD+EE+AB+AC+AD+AE+...)*xx
   + (AAA+BBB+...+ABC)*xxx
   + ....

不難看出,展開前(等式左邊)每個多項式x^n項的係數中三明治名稱的指數(n)與該種三明治被選出來的個數對應。展開後,x^n項的係數列出了從這5種三明治中選擇n個的所有組合。因此,由上面這個多項式的乘積函數g(x),可以生成5種三明治中選n個(n = 0,1,2,3,4,5,6,.....)的所有組合。g(x)就是這個組合問題的所謂生成函數。
比如,三明治問題中n=4(在這5種三明治中選4個),的所有組合就是g(x)展開式中x^4項的係數。

更進一步,三明治問題並不關心具體組合的一一羅列,而只關心n等於某一數值(比如4)時的組合總數。不難看出,在g(x)中令A=B=C=D=E=1,則展開式中x^n的係數就對應了這個所需要的總數。這時,g(x)化簡為5個相同等比級數的乘積:

g(x) = (1+x + xx + xxx + x^4+....)^5 = (1/1-x)^5

推而廣之,k種三明治選擇n個的生成函數就是k個相同等比級數的乘積:

g(x) = (1/1-x)^k

對g(x)求n次導數並讓x=0,得到g(x)級數展開式中x^n項的係數Cn滿足關係式

Cn*n! = k*(k+1)*(k+2)*....*(k+n-1) = (k + n - 1)!/(k-1)!

從而得到k種三明治選擇n個的組合總數:

Cn = (k + n - 1)!/(k-1)!n! = (k + n -1, n)

生成函數將組合問題表示成解析問題,通過解析變換(比如級數展開等)進行研究。。。。
0%(0)
0%(0)
標 題 (必選項):
內 容 (選填項):
實用資訊
回國機票$360起 | 商務艙省$200 | 全球最佳航空公司出爐:海航獲五星
海外華人福利!在線看陳建斌《三叉戟》熱血歸回 豪情築夢 高清免費看 無地區限制
一周點擊熱帖 更多>>
一周回復熱帖
歷史上的今天:回復熱帖
2009: 一道經典概率題的三種解法