博弈問題【轉(zhuǎn)】【整合】

有一種很有意思的游戲切威,就是有物體若干堆,可以是火柴棍或是圍棋子等等均可丙号。兩個人輪流從堆中取物體若干先朦,規(guī)定最后取光物體者取勝。這是我國民間很古老的一個游戲犬缨,別看這游戲極其簡單喳魏,卻蘊(yùn)含著深刻的數(shù)學(xué)原理。下面我們來分析一下要如何才能夠取勝怀薛。

(一)巴什博奕(Bash Game):只有一堆n個物品刺彩,兩個人輪流從這堆物品中取物,規(guī)定每次至少取一個枝恋,最多取m個创倔。最后取光者得勝。
顯然焚碌,如果n=m+1畦攘,那么由于一次最多只能取m個,所以十电,無論先取者拿走多少個知押,后取者都能夠一次拿走剩余的物品,后者取勝摆出。因此我們發(fā)現(xiàn)了如何取勝的法則:如果 n=(m+1)r+s朗徊,(r為任意自然數(shù),s≤m),那么先取者要拿走s個物品偎漫,如果后取者拿走 k(≤m)個爷恳,那么先取者再拿走m+1-k個,結(jié)果剩下(m+1)(r-1)個象踊,以后保持這樣的取法温亲,那么先取者肯定獲勝”兀總之栈虚,要保持給對手留下(m+1)的倍數(shù),就能最后獲勝史隆。
這個游戲還可以有一種變相的玩法:兩個人輪流報數(shù)魂务,每次至少報一個,最多報十個,誰能報到100者勝粘姜。

(二)威佐夫博奕(Wythoff Game):有兩堆各若干個物品鬓照,兩個人輪流從某一堆或同時從兩堆中取同樣多的物品,規(guī)定每次至少取一個孤紧,多者不限豺裆,最后取光者得勝。 這種情況下是頗為復(fù)雜的号显。
我們用(ak臭猜,bk)(ak ≤ bk ,k=0,1押蚤,2蔑歌,...,n)表示兩堆物品的數(shù)量并稱其為局勢,如果甲面對(0活喊,0)丐膝,那么甲已經(jīng)輸了,這種局勢我們稱為奇異局勢钾菊。前幾個奇異局勢是:(0帅矗,0)、(1煞烫,2)浑此、(3,5)滞详、(4凛俱,7)、(6料饥, 10)蒲犬、(8,13)岸啡、(9原叮,15)、(11巡蘸,18)奋隶、(12,20)悦荒。
可以看出,a0=b0=0,ak是未在前面出現(xiàn)過的最小自然數(shù),而 bk= ak + k唯欣,奇異局勢有如下三條性質(zhì):
1、任何自然數(shù)都包含在一個且僅有一個奇異局勢中搬味。 由于ak是未在前面出現(xiàn)過的最小自然數(shù)境氢,所以有ak > ak-1 蟀拷,而 bk= ak + k > ak -1 + k-1 = bk-1 > ak-1 。所以性質(zhì)1产还。成立匹厘。
2、任意操作都可將奇異局勢變?yōu)榉瞧娈惥謩荨?事實(shí)上脐区,若只改變奇異局勢(ak,bk)的某一個分量她按,那么另一個分量不可能在其他奇異局勢中牛隅,所以必然是非奇異局勢。如果使(ak酌泰,bk)的兩個分量同時減少媒佣,則由于其差不變,且不可能是其他奇異局勢的差陵刹,因此也是非奇異局勢默伍。
3、采用適當(dāng)?shù)姆椒ㄋニ觯梢詫⒎瞧娈惥謩葑優(yōu)槠娈惥謩荨?br> 假設(shè)面對的局勢是(a,b)也糊,若 b = a,則同時從兩堆中取走 a 個物體羡宙,就變?yōu)榱似娈惥謩荩?狸剃,0);如果a = ak 狗热,b > bk钞馁,那么,取走b - bk個物體匿刮,即變?yōu)槠娈惥謩萆耍蝗绻?a = ak , b < bk ,則同時從兩堆中拿走 ak - ab - ak個物體,變?yōu)槠娈惥謩荩?ab - ak , ab - ak+ b - ak)熟丸;如果a > ak 训措,b= ak + k,則從第一堆中拿走多余的數(shù)量a - ak 即可;如果a < ak 虑啤,b= ak + k,分兩種情況隙弛,第一種,a=aj (j < k) ,從第二堆里面拿走 b - bj 即可狞山;第二種全闷,a=bj (j < k),從第二堆里面拿走 b - a j 即可。
從如上性質(zhì)可知萍启,兩個人如果都采用正確操作总珠,那么面對非奇異局勢屏鳍,先拿者必勝;反之局服,則后拿者取勝钓瞭。 那么任給一個局勢(a,b)淫奔,怎樣判斷它是不是奇異局勢呢山涡?我們有如下公式: ak =[k(1+√5)/2],bk= ak + k (k=0唆迁,1鸭丛,2,...,n 方括號表示取整函數(shù)) 奇妙的是其中出現(xiàn)了黃金分割數(shù)(1+√5)/2 = 1唐责。618...,因此,由ak鳞溉,bk組成的矩形近似為黃金矩形,由于2/(1+√5)=(√5-1)/2鼠哥,可以先求出j=[a(√5-1)/2]熟菲,若a=[ j(1+√5)/2],那么a = aj朴恳,bj = aj + j抄罕,若不等于,那么a = aj+1菜皂,bj+1 = aj+1 + j + 1贞绵,若都不是,那么就不是奇異局勢恍飘。然后再按照上述法則進(jìn)行榨崩,一定會遇到奇異局勢。
(三)尼姆博奕(Nimm Game):有三堆各若干個物品章母,兩個人輪流從某一堆取任意多的物品母蛛,規(guī)定每次至少取一個,多者不限乳怎,最后取光者得勝彩郊。
這種情況最有意思,它與二進(jìn)制有密切關(guān)系蚪缀,我們用(a秫逝,b,c)表示某種局勢询枚,首先(0违帆,0,0)顯然是奇異局勢金蜀,無論誰面對奇異局勢刷后,都必然失敗的畴。第二種奇異局勢是(0,n尝胆,n)丧裁,只要與對手拿走一樣多的物品,最后都將導(dǎo)致(0含衔,0煎娇,0)。仔細(xì)分析一下贪染,(1逊桦,2,3)也是奇異局勢抑进,無論對手如何拿,接下來都可以變?yōu)椋?睡陪,n寺渗,n)的情形。
計算機(jī)算法里面有一種叫做按位模2加兰迫,也叫做異或的運(yùn)算信殊,我們用符號(+)表示這種運(yùn)算。這種運(yùn)算和一般加法不同的一點(diǎn)是1+1=0汁果。先看(1涡拘,2,3)的按位模2加的結(jié)果:
1 =二進(jìn)制01
2 =二進(jìn)制10
3 =二進(jìn)制11 (+)
———————
0 =二進(jìn)制00 (注意不進(jìn)位)
對于奇異局勢(0据德,n鳄乏,n)也一樣,結(jié)果也是0棘利。 任何奇異局勢(a橱野,b,c)都有
a(+)b(+)c =0
善玫。
如果我們面對的是一個非奇異局勢(a水援,b,c)茅郎,要如何變?yōu)槠娈惥謩菽兀?strong>假設(shè) a < b < c,我們只要將 c 變?yōu)?a(+)b,即可,因?yàn)橛腥缦碌倪\(yùn)算結(jié)果: a(+)b(+)(a(+) b)=(a(+)a)(+)(b(+)b)=0(+)0=0蜗元。要將c 變?yōu)閍(+)b,只要從 c中減去 c-( a(+)b)即可系冗。
例1奕扣。(14,21毕谴,39)成畦,14(+)21=27距芬,39-27=12,所以從39中拿走12個物體即可達(dá)到奇異局勢(14循帐,21框仔,27)。
例2拄养。(55离斩,81,121)瘪匿,55(+)81=102跛梗,121-102=19,所以從121中拿走19個物品就形成了奇異局勢(55棋弥,81核偿,102)。
例3顽染。(29漾岳,45,58)粉寞,29(+)45=48尼荆,58-48=10,從58中拿走10個唧垦,變?yōu)椋?9捅儒,4 5,48)振亮。
例4巧还。我們來實(shí)際進(jìn)行一盤比賽看看:
甲:(7,8,9)->(1,8,9)奇異局勢
乙:(1,8,9)->(1,8,4)
甲:(1,8,4)->(1,5,4)奇異局勢
乙:(1,5,4)->(1,4,4)
甲:(1,4,4)->(0,4,4)奇異局勢
乙:(0,4,4)->(0,4,2)
甲:(0.4,2)->(0,2,2)奇異局勢
乙:(0,2,2)->(0,2,1)
甲:(0,2,1)->(0,1,1)奇異局勢
乙:(0,1,1)->(0,1,0)
甲:(0,1,0)->(0,0,0)奇異局勢
甲勝。
(四)Fibonacci博弈:
1双炕、問題模型:
有一堆個數(shù)為n的石子狞悲,游戲雙方輪流取石子,滿足:
(1)先手不能在第一次把所有的石子取完妇斤;
(2)之后每次可以取的石子數(shù)介于1到對手剛?cè)〉氖訑?shù)的2倍之間(包含1和對手剛?cè)〉氖訑?shù)的2倍)摇锋。 約定取走最后一個石子的人為贏家。
2站超、解決思路:
當(dāng)n為Fibonacci數(shù)時荸恕,先手必敗。即存在先手的必敗態(tài)當(dāng)且僅當(dāng)石頭個數(shù)為Fibonacci數(shù)死相。
證明:根據(jù)“Zeckendorf定理”(齊肯多夫定理):任何正整數(shù)可以表示為若干個不連續(xù)的Fibonacci數(shù)之和融求。如n=83 = 55+21+5+2,我們看看這個分解有什么指導(dǎo)意義:假如先手取2顆算撮,那么后手無法取5顆或更多生宛,而5是一個Fibonacci數(shù)县昂,那么一定是先手取走這5顆石子中的最后一顆,同理陷舅,接下去先手取走接下來的后21顆中的最后一顆倒彰,再取走后55顆中的最后一顆,那么先手贏莱睁。
反證:如果n是Fibonacci數(shù)待讳,如n=89:記先手一開始所取的石子數(shù)為y
(1)若y>=34顆(也就是89的向前兩項),那么一定后手贏仰剿,因?yàn)?9-34=55=34+21<2*34创淡。
(2)y<34時剩下的石子數(shù)x介于55到89之間,它一定不是一個Fibonacci數(shù)南吮,把x分解成Fibonacci數(shù):x=55+f[i]+…+f[j]琳彩,若,如果f[j]<=2y部凑,那么對B就是面臨x局面的先手汁针,所以根據(jù)之前的分析,后手只要先取f[j]個即可砚尽,以后再按之前的分析就可保證必勝。
3辉词、練習(xí)題目:NYOJ 取石子游戲

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末必孤,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子瑞躺,更是在濱河造成了極大的恐慌敷搪,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,635評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件幢哨,死亡現(xiàn)場離奇詭異赡勘,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)捞镰,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,543評論 3 399
  • 文/潘曉璐 我一進(jìn)店門闸与,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人岸售,你說我怎么就攤上這事践樱。” “怎么了凸丸?”我有些...
    開封第一講書人閱讀 168,083評論 0 360
  • 文/不壞的土叔 我叫張陵拷邢,是天一觀的道長。 經(jīng)常有香客問我屎慢,道長瞭稼,這世上最難降的妖魔是什么忽洛? 我笑而不...
    開封第一講書人閱讀 59,640評論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮环肘,結(jié)果婚禮上欲虚,老公的妹妹穿的比我還像新娘。我一直安慰自己廷臼,他們只是感情好苍在,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,640評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著荠商,像睡著了一般寂恬。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上莱没,一...
    開封第一講書人閱讀 52,262評論 1 308
  • 那天初肉,我揣著相機(jī)與錄音,去河邊找鬼饰躲。 笑死牙咏,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的嘹裂。 我是一名探鬼主播妄壶,決...
    沈念sama閱讀 40,833評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼寄狼!你這毒婦竟也來了丁寄?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,736評論 0 276
  • 序言:老撾萬榮一對情侶失蹤泊愧,失蹤者是張志新(化名)和其女友劉穎伊磺,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體删咱,經(jīng)...
    沈念sama閱讀 46,280評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡屑埋,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,369評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了痰滋。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片摘能。...
    茶點(diǎn)故事閱讀 40,503評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖敲街,靈堂內(nèi)的尸體忽然破棺而出徊哑,到底是詐尸還是另有隱情,我是刑警寧澤聪富,帶...
    沈念sama閱讀 36,185評論 5 350
  • 正文 年R本政府宣布莺丑,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏梢莽。R本人自食惡果不足惜萧豆,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,870評論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望昏名。 院中可真熱鬧涮雷,春花似錦、人聲如沸轻局。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,340評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽仑扑。三九已至览爵,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間镇饮,已是汗流浹背蜓竹。 一陣腳步聲響...
    開封第一講書人閱讀 33,460評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留储藐,地道東北人俱济。 一個月前我還...
    沈念sama閱讀 48,909評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像钙勃,于是被迫代替她去往敵國和親蛛碌。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,512評論 2 359

推薦閱讀更多精彩內(nèi)容

  • (一)巴什博弈只有一堆n個物品辖源,兩個人輪流從這堆物品中取物左医,規(guī)定每次至少取一個,最多取m個同木。最后取光者得勝。顯然跛十,...
    Gitfan閱讀 931評論 0 0
  • 威佐夫博奕(Wythoff Game):有兩堆各若干個物品彤路,兩個人輪流從某一堆或同時從兩堆中取同樣多的物品,規(guī)定每...
    碧影江白閱讀 1,215評論 0 0
  • 【1】7芥映,9洲尊,-1,5奈偏,( ) A坞嘀、4;B惊来、2丽涩;C、-1;D矢渊、-3 分析:選D继准,7+9=16;9+(-1)=8矮男;(...
    Alex_bingo閱讀 18,954評論 1 19
  • 對學(xué)習(xí)的抵觸真是到了一個不正常的地步耙票亍!原來只是覺得她抵觸寫文寫字毡鉴,讀書也這樣按薇谩!我感覺自己都有了棄甲而逃的念頭了...
    靜靜的葉子閱讀 174評論 0 0
  • 似夢中囈醒未睜開眼睛便被夢感動到難過猪瞬。我已好久沒主觀的嘗到感動的滋味憎瘸,而昨日對風(fēng)景的歡愉是一種暢快,便是我第...
    綠子c閱讀 250評論 0 0