特大喜訊:我實現了哥尼斯堡AI

把玩地址

【原創】網頁遊戲:哥尼斯堡

個人感想

為我的四款弈棋製作AI,一直是我的願望。

混亂時鐘AI雖然在幾年前就做好了,不過它是一個c++程式,或者說它只是一個引擎。

這次之所以挑選哥尼斯堡,是因為它的網頁程式已經有了,規則邏輯部分不必再寫了,可以直接拿來用。

於是在gemini的協助下,我真的做成了一個哥尼斯堡的網頁版AI!而且只用了短短兩天的時間!

我非常高興!這個AI很強,才沒走幾步它就算出必殺走法。但是也是有可能打敗它的,只是概率很小。現在我應該只能拿它作為訓練和研究用了。

證明好玩

AI證明了哥尼斯堡確實是個好玩公平的弈棋。我多次用同樣高等級的AI,最終都能達成平局。要知道哥尼斯堡是很難平局的。

這也是為何我要為哥尼斯堡以及其它弈棋製作AI的原因。一些水平不高,對弈棋一竅不通的無知人士,只用眼睛看著規則沒試玩過一遍就發表高論,當然也可能是因為AI沒有製作而使他無法試玩。

現在AI能夠回答所有的猜測和質疑,哥尼斯堡有很多意想不到的殺法,這使它的對弈及終局後的覆盤理解過程相當有趣。

打敗AI

之所以能打敗它,可能是因為它的首回合被限制只能走五步,然後我又十分運氣的走到了它搜不到的這一步,於是我幹掉了版本號為7792的AI。我叫gemini幫我查找原因:

在這個局面下:[[3,6],[-5,3,4,8,5],[5,6,4,3,8,4,5,8],[-5,6,2,5,1,4,7],[5,7,4,3,8,4,5,8,2,6,5,2,1,5,4,1,7,4]]藍方只要走「5,6,9,8,4,3」就可獲勝,但是在搜尋中這步棋的勝率並不高,查找原因。

gemini回覆是必殺搜尋深度不夠。我一試,果然如此。這局的必殺深度要算到7才行。

之後我又贏了一局7793:

[[3,6],[-5,3,4,0,1,5,8],[8,6,4,3,0,4,1,0,5,1,8,5],[-5,6,5,9,8,7],[8,7,4,3,0,4,1,0,5,1,8,5,5,6,9,5,8,9,7,8],[-5,8,4,1,0],[0,7,4,3,0,4,0,1,5,1,8,5,5,6,9,5,8,9,7,8,4,8,1,4],[-5,7,3],[0,3,4,3,0,4,0,1,5,1,8,5,5,6,9,5,8,9,7,8,4,8,1,4,3,7]]

這一局在輪到藍方時,必殺深度算到第7層才能算出我走的這步棋是必殺,上一步綠方在走的時候更是算不出來。

也就是說,雖然AI已經強得無話可說了,但是畢竟它沒有窮舉,所以運氣好還是能砍翻AI的!就像是李世乭打敗alphaGo的那盤棋一樣。

參數說明

點擊左下角的長方形,會彈出AI設置和搜尋窗口:

本程式預裝了「簡單、困難、專家」三個模式,一般情況直接選擇即可。

「首回限步」是因為AI在專家模式下會算很久,還把整個棋盤都走一遍。這個參數只對首個回合起作用。

想增加AI強度,那就調高「必殺層數」。其它的參數如「模擬次數、搜尋深度」影響不大。

想降低AI強度,那就把各項參數都調小,「簡單模式」基本上已經是把參數調到最小了,跟它玩有跟人類玩棋的感覺。

其它按鈕用法說明參見這裡

Leave a Comment