用遞推法解決簡單博弈類問題

來源:互聯網
上載者:User

這個問題是在編程愛好者論壇上看到的,不過原題敘述得不太清楚。我將它改動了一下:

有n個桃子,兩隻猴子一大一小。兩隻猴子輪流取走桃子,規定每隻猴子每次只能取1~3個,且小猴先取。最後手中桃子數為偶數者為勝方。問題是給定一正整數n,小猴有沒有必勝的策略。

其實問題的解決方案十分簡單。假設n很小,小到什麼程度?先讓它等於1試試嗎,顯示小猴不可能勝,因為它最少也要取走一個,同時也就結束了。n比較小的時候,結果是顯而易見的:

n

小猴能否必勝

1

2

3

4

對於n=4的情況比較特殊,此時小猴如果取三個,那麼接下來的大猴只能面對一個桃子,而n=1時又是敗局,所以n=4時就認為小猴能必勝。

接下去就好理解了,當n=5時,小猴無論怎樣取,接下來大猴面對的都是有必勝策略的情況,因此這時小猴無法必勝。如此遞推下去,可以得出:若且唯若n mod 4=1時,小猴無必勝策略。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.