波波攢 遊戲有最優解或者混合策略 納什均衡的解嗎,如何計算?

時間 2021-05-11 17:14:30

1樓:李思聰

這個問題很有意思。先給結論,實驗過程後面慢慢講,有興趣可以看看,沒興趣只看結論足以,以後玩波波攢輕輕鬆鬆上王者。

按照題主的規則,一對一的情況下,如果對手是個程式,不是個活人,有最優解。最優解就是攢波攢波攢波無限迴圈(勝率75%)。但是這個策略太容易被針對,所以對付真人不是最優解。

對付真人可能沒有最優策略,至少我還沒發現,以下是個發現的可操作的最優質策略:(面對一般人勝率69%)

攢波攢波迴圈中25%的概率在當前回合插入防。插入防禦越多,理論勝率越低。插入防禦過少,容易被針對。所以25%是個不錯的比例。注意不要在對手0氣時防禦,否則就變成傻策略了。

實際操作比如:

第一局:攢防波攢波攢波攢波攢波防攢波

第二局:攢波攢波攢防波攢波防攢波

第三局:攢波防攢波防攢防波攢波攢波

總之就是平衡自己攢波,攢波防,攢防波的可能性。讓別人無法猜到你下一步到底是攢是波還是防,使對手無法對你使用針對策略,如果對手不知道此策略,被迫只能使用隨機策略,於是你就有了69%的勝率。如果對手用相同策略,你們的勝率就是五五開。

然而這並不是最優策略,我用我目前通過篩選迭代得到策略集合,與之前的方法進行對戰,以上的策略勝率大約僅為40-45%。

接下來是實驗過程。

首先這個遊戲的規則決定了沒有必勝策略,而且雙方很公平,所以理論上勝率各50%。所以如果某一策略勝率可以高於50%,我就說他是優勢策略,勝率最高的策略就認為是最優策略。相反,勝率低於50%的策略為劣勢策略。

順便一提所有放大招的策略都是劣勢策略。攢攢攢大招的策略勝率只有13%。算是我發現的可能會被人用的策略中的最糟糕策略了。

我數學能力有限,完全沒法計算得到最優解,所以我的思路是用電腦通過模擬對戰,統計結果,之後粗暴的用篩選優勢方案進行N次迭代,試圖找出最優解。所以結論即使不對,但是應該大概差不多。接下來進行實驗。

實驗1: 尋找疑似最優解

實驗開始之前,我首先寫了個小程式,根據規則允許的情況下隨機產生行動順序。每個順序有20步預設行動。正常遊戲20步內不分勝負的可能性約為0.

3-0.4%。所以20步足夠長了。

一開始每次生成5000種不重複的策略,互相對戰,也就是每輪進行***場戰鬥,兩輪之後,我就發現了超高勝率的策略。當我檢視超高勝率方案時發現了明顯的規律,就是起始的四步是攢波攢波,或者起始的六步是攢波攢波攢波。

於是我手動加入了乙個策略,就是攢波攢波攢波迴圈,與隨機出來策略大戰了一番,勝率大約可以在90-95%。

此時我的隨機策略池是有缺陷的,因為存在傻決策,比如起手第一步出防的,或者出現了攢攢攢攢的。於是我對隨機策略進行了優化,起手必定是攢,有3氣時下一回合必定放必殺。

用攢波攢波迴圈對優化過的策略池進行一番戰鬥後,勝率大約在83%。也是很高。

此時的隨機策略依然不是最優,因為不會對局勢變化進行應變。於是我對策略繼續進行優化。如果對戰進行時出現對手是0氣時,無論預設是什麼,絕對不會防禦。

如果雙方都是0氣,自己必定攢。當自己2氣對手0氣時,自己必定攢,之後下一回合必定放必殺。基本上此時產生的策略就是乙個懂規則但是不知道如何更容易獲勝的人會做的決策了。

基本上就是學校裡學生的玩法。

再次用攢波攢波迴圈進行對戰,經過幾千萬次對戰後,此時勝率依然高達75%。所以如果只玩一把,就用這招,你有75%勝率贏下這一把。用多了別人就會針對你。

之後用了很多實驗二中獲得的方法進行同樣的測試,雖然勝率基本都大於65%,但是沒有發現有策略勝率可以超過攢波迴圈。

實驗二:擇優迭代嘗試找到比攢波迴圈更優的解。

首先按照最優化的隨機方式(沒有傻決策)隨機出5000個不重複的策略。互相對戰。勝率低於50%的策略清理出策略池。

之後再次隨機策略將策略池補滿5000個策略(5000個中沒有重複策略)。之後再對戰,清理掉低於50%勝率的策略,之後再次隨機補充。這種方式可以在保留當前優勢策略的同時,也會不斷有曾經的非優勢策略進入。

如此反覆n此後。我驚奇的發現策略池中竟然隨機出了個攢波攢波迴圈的策略,然而此時,攢波迴圈策略的勝率排名已經在池中排名2000多位了。後來經過幾次跌代後,攢波迴圈的勝率已經低於50%而被淘汰了。

此時池中基本都是大強勢策略。任何乙個策略拿出來就用,碰到隨機策略的勝率都高於65%。換句話說,此時的策略都是高手會用的策略。

然而在目前我迭代到的這種對局中,最優勢策略為起手攢防防防波,之後很近似於攢波攢波攢迴圈。在高手策略對局中,勝率平均為69.7%。

對付普通人,平均勝率為61.1%。你看得沒錯,對付普通人勝率反而低了,但是勝率依然還不錯。

某一階段的最優策略實際上隨著迭代次數增加會發生改變,比如一開始近似於攢波迴圈的策略都很優,之後進化為了攢防波攢波攢波...,之後進化為了攢防防波攢波攢波攢波....,之後進化為了攢防防防波攢波攢波攢波......

也許繼續迭代,優勢策略會繼續改變。很明顯這種策略被攢攢攢大招的起手克制,於是我手動加入了攢攢攢大招之後攢波攢波攢的策略。最後勝率極低,直接被淘汰出局。

因為策略池中依然有大量策略前三回合會放波。導致起手大招流無法發揮。

我有時間接著做迭代,然後統計看看有什麼新發現。以後再試試多人對戰時的勝率統計,看看攢波迴圈是不是還很強勢。先這樣,有空再更新。

2樓:orangebird

近似解的話,可以給狀態加個時間維t,時間用完強制平局。然後因為時間永遠往前走,所以就不存在迴圈依賴的狀態,就可以用動態規劃解了。時間趨近於正無窮答案就會越來越接近正解,可以根據計算機效能調整精度。

3樓:傑羅姆

問題是有意思,不過條件不明確,這個遊戲是回合制嘛?還是同時選擇?參與人數是2個(1vs1)嗎?我大致推算可能會出現msne

4樓:cccir

首先啊,如果你要用博弈論分析,那麼有一點:規必須是明確的。你給出的規則還不夠明確

場景是什麼樣的?(兩人互A?無數人互A?)勝利條件是什麼?(每人被攻擊到就死,還是被打多少下才死,如果同時攻擊,怎麼算?)

最後,假如是兩人互A,每人一條命,肯定是有最優解的,但是納什均衡和最優解是兩碼事

貪吃蛇的AI演算法有最優解嗎?

斯卡雷特 如果是吃滿地圖的話,有吧,策略就是 始終保持頭和尾能連線的情況下看能不能吃到食物,不能的話找出頭到尾巴的最長路徑 可能只要不是最短路徑就行,最短路徑可能造成一直追逐尾巴 沿著這條路走,知直到保持頭尾有連線的情況下能吃到食物 吃到後也要保持頭尾能連線 這樣應該能吃滿地圖。我以前看的這個 Co...

有哪些在你身上或者周圍發生的未解之謎?

思存 印象很深的一次,我小時候有一天下午在睡覺,然後就做夢了,夢到乙個巨大的響聲嚇了我一下,然後身上的肌肉就彈登了一下,我就醒了,在我醒後不到一秒的時間我家的門就被一陣風吹關上了,嘭!的一聲!跟我夢裡的那個聲音賊像!如出一轍的像!這是巧合嗎? 我姨,生就乙個剋夫命,嫁了很多任老公,六七任吧。沒有一任...

有哪些令人難忘的遊戲外掛程式或者遊戲BUG經歷?

應該算是乙個小Bug吧 玩過巫師的人應該都知道,大名鼎鼎的白狼傑洛特,為了找女兒幹狂獵的漢子,從二樓跳到一樓就會摔死。但在劇情中,我用傑洛特從高山上一直卡到地面,竟然只減了半血。就是巫師3中傑洛特和大老婆第二次見面的島上,有乙個建在山上的城堡。我實在是懶得找路下山,就直接從城牆上跳了下來。死了好幾次...