編程之美1.13 威佐夫博奕拓展的分析與論證

       續接前文,本人博文《編程之美1.12 尼姆博弈拓展的分析與論證》論證了經典尼姆博弈的部分拓展問題。然而,尼姆博弈是此博弈問題拓展系列所要討論的問題之一。接下來,本文探討下一個博弈問題的拓展——威佐夫博奕。

威佐夫博奕

       威佐夫博奕的問題描述如下:有兩堆各若干個物品,兩個人輪流從某一堆或同時從兩堆中取同樣多的物品,規定每次至少取一個,多者不限,最後取光者得勝。問給定兩堆物品的數量,誰會贏得這個遊戲。

       答案:這是一個非常經典的博弈問題,網上也有諸多關於這一問題的探討。其奇異局勢滿足如下形式:

       拓展:遊戲規則不變,不同的是最後取完石頭者輸掉遊戲。

       對於拓展問題,我們首先探討一些簡單情況:

       1、博弈局勢<0,1>是奇異局勢。因爲此時,遊戲者只能拿最後一個而輸掉比賽。相應的<x,1>(x>0)或者<0,x>(x>1)均爲非奇異局勢。它們都可以通過拿"x"那堆到局勢<0,1>。

       2、博弈局勢<2,2>是奇異局勢。此時遊戲者只有三種策略可選:取<1,1>==><1,1>,<1,0>==><1,2>,<2,0>==><0,2>,以上三種取法的結果在上一種情況都討論過,均是非奇異局勢。因此,<2,2>奇異局勢。

       通過上述討論,我們很明顯地發現原問題的解在拓展問題中是行不通的。奇異局勢<0,1>或<2,2>都和無關。因此,該問題需要進行進一步的分析討論。

       同原問題一樣,拓展問題也滿足以下性質。

       性質一:不存在任何兩個局面同時爲奇異局勢。

       通過性質一,我們仍發現拓展問題和原問題一樣,奇異局勢<a,b>中的a和b存在一一對應關係。利用這一特點,我們進一步討論其他情況下的奇異局勢。

        對於,可以通過先確定a的值,然後再尋找唯一的b與之構成奇異局勢。利用該方法,可以得出以下結論。

        將所有奇異局勢從小到大排列,記第個奇異局勢爲。則奇異局勢滿足以下性質:

        性質二:當時,奇異局勢滿足。其中

         證:當n=2時,有時,分別來看玩家的兩種取子方式:①兩堆取相同數目:此時,取到的局勢將會是<0,2>,<1,3>,<2,4>,其中與0,1,2三個數字配對的均無法構成奇異局勢;②取一堆任意數目:該方式首先要避免讓某一堆石頭小於等於2個,根據性質一,這類局勢會讓對方構成奇異局勢。剩下的可行局勢就只剩<3,3>和<3,4>了,然而它們均爲非奇異局勢,因爲存在如下取法<3,3>==><2,2>,<3,4>==><1,2>。因此,局勢<3,5>爲奇異局勢。進一步,可以由已論證的奇異局勢發現如下性質:已論證奇異局勢有<0,1>,<2,2>,<3,5>,其差值爲1,0,2。構成集合{0,1,2},正好覆蓋0到n的所有整數。

               假設時,題設的結論成立。同時滿足集合性質,其中表示奇異局勢差值所構成的集合。此時,利用a來表示,分如下情況討論

               (1)對於局面的情況。通過a的定義可知,x已經有另外一個比a小的數字與之配對構成奇異局勢。根據性質一可知,該局勢爲非奇異局勢。

               (2)對於局面的情況。由於此時,。因此,對於任意0<=x<k,玩家都可通過兩堆取相同數量的石頭的方式達到某一個奇異局勢<a,b>滿足b-a=x。

               (3)對於局面<a,a+k>的情況。此時,我們對兩種所有取子方式進行討論:①兩堆取相同數目:此時,兩堆石頭的數量差值恆爲k,然而對於,無論怎麼取都無法達到奇異局勢<a,b>滿足b-a=k;②取一堆任意數目:顯然,如果取數量爲a+k那堆,那麼情況將跳轉到第(1)或第(2)種情況,而無論是哪種情況,均已被論證是非奇異局勢了。而如果取數量爲a那堆,則構成局勢<x,a+k>(x<a),根據a的定義,x已經有另一個數字y構成奇異局勢,且y<x+k<a+k。因此,根據性質一可知,不存在<x,a+k>與<x,y>同時爲奇異局勢,<x,a+k>爲非奇異局勢。綜上所述,局面<a,a+k>爲奇異局勢。同時,滿足上述奇異局勢差值的集合性質。

               (4)由於局面<a,a+k>爲奇異局勢,顯然不是奇異局勢。

               因此,對於任意,與其構成奇異局勢的

               綜上所述,性質二成立。


       通過對比,我們發現,性質二所得出的結論居然和原問題的結論是很相似的,僅僅是在範圍上有些不同而已。事實上,拓展問題看起來和原問題是相反的。然而,當初始兩堆石頭的數量均大於2時,它們的結論是相同的,依舊可以用公式判斷是否奇異。而對於存在小於2的石頭時,僅需要特判一下局勢是否滿足<0,1>,<2,2>就可以判斷是否時奇異局勢了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章