组合游戏
組合游戲的特點(diǎn)
???(1)兩個(gè)玩家
???(2)游戲的操作狀態(tài)是一個(gè)有限的集合
???(3)游戲的雙方輪流操作
???(4)雙方每次操作必須符合游戲規(guī)定
???(5)當(dāng)一方不能將游戲繼續(xù)進(jìn)行的時(shí)候,游戲結(jié)束,同時(shí)對(duì)方獲勝
???(6)無(wú)論如何操作,游戲總能在有限次操作后結(jié)束
?
必?cái)↑c(diǎn)(P點(diǎn))與必勝點(diǎn)(N點(diǎn))
???必?cái)↑c(diǎn):前一個(gè)選手將取勝的位置稱(chēng)為必?cái)↑c(diǎn)。
???必勝點(diǎn):下一個(gè)選手將取勝的位置稱(chēng)為必勝點(diǎn)。
?
必?cái)↑c(diǎn)與必勝點(diǎn)的性質(zhì)
??(1)所有終結(jié)點(diǎn)是必?cái)↑c(diǎn)
??(2)從任何必勝點(diǎn)操作,至少有一種方法可以進(jìn)入必?cái)↑c(diǎn)
??(3)無(wú)論如何操作,從必?cái)↑c(diǎn)都只能進(jìn)入必勝點(diǎn)
?
?
博弈典例
???1.Regional??2006?BeiJing
?
???問(wèn)題描述:David玩一個(gè)石子游戲,游戲中,有n堆石子,編號(hào)為0,1,2,...,n-1。兩名玩家輪流取石子,每一輪游戲,每名玩家取3堆石子i,j,k,i<j<k,且至少有一枚石子在第i堆中,從i中取出一枚石子,并向j,k中各放一枚石子,如果j=k,則向k中放2顆石子,最先不能取石子的人輸。
?
??此游戲中的新操作:拿走一個(gè)非0的石堆,并放入2個(gè)規(guī)模小于它的石堆(可以為0)
?
?
2.IPSC??2003??Got?Root?
???Alice和Bob在一個(gè)無(wú)向圖上玩伐木游戲,無(wú)向圖有唯一的根,兩人輪流從中截取一條邊,將與根不相連的部分拋棄,這樣,最先不能操作的人輸。對(duì)于給定的無(wú)向圖,Alice先行,兩個(gè)人都按照最優(yōu)策略操作,輸出勝者的名字。
?
思路:圖轉(zhuǎn)化為樹(shù)-----樹(shù)轉(zhuǎn)化為鏈-----分別求出SG值,就是Nim博弈了,最后異或一下即可。
總結(jié)
- 上一篇: Java常见知识点
- 下一篇: 确定最小的正整数n,使得n!的结尾恰好有