題:
通用遊戲引擎如何工作?
shinkarom
2019-10-17 22:02:27 UTC
view on stackexchange narkive permalink

國際象棋的評估功能通常包括國際象棋特定的知識。但是,Zillions of Games只能根據棋子的移動方式以及獲勝/失敗/平局的描述來玩任何遊戲。正如我所看到的,它做得很好。

像Fairy-Max這樣的引擎只能玩類似國際象棋的遊戲,其中包括許多不需要通用的假設。但是,當製作一個通用遊戲引擎(我夢doing以求的)時,該引擎幾乎無法承擔任何事情。

我在正確的方向上輕推了'ab-initio在TalkChess上的單件價值。但是,它並不能提供全部信息。

那麼,通用遊戲引擎(例如Axiom Development Kit,它是插入Zillions的獨立引擎;甚至是Fairy-Max)如何評估位置?

編輯1 :我在19​​93年Barney Pell的論文中找到了更多信息,標題為象棋類游戲的戰略元遊戲玩家(找到了它)從國際象棋編程網站“常規遊戲”頁面上獲得。

三 答案:
Chromatix
2019-10-18 01:41:37 UTC
view on stackexchange narkive permalink

我並不特別了解Zillions,但是在大多數遊戲中,這是一個相當不錯的策略,可以最大限度地提高自己的動作靈活性,同時最大程度地減少對手的動作。國際象棋當然是這樣。有稱職的國際象棋引擎(即足夠強大,可以持續擊敗業餘愛好者),僅使用物質價值和移動性進行評估。搜索深度適中的引擎,穩定在2000 ELO左右。這完全取決於流動性的二次效應,即。您很可能會在分支很多的遊戲樹的一部分中找到最高的隨機值。

因此,我發現Zillions使用隨機評估或基於關於流動性。畢竟,一件物品的價值與其流動性密切相關。

真是太神奇了! (而且很有趣。)從未聽說過這種效果。不幸的是,我得到的唯一Google熱門歌曲是您提到的兩個答案,您有參考嗎?
@RemcoGerlich我*可能*拼寫錯誤。 https://www.chessprogramming.org/Search_with_Random_Leaf_Values
在與Zillions的一位作者的鏈接中,我暗示他使用了動態生成的平方表。但這只是難題的一部分。
Mike Jones
2019-10-19 16:50:05 UTC
view on stackexchange narkive permalink

查看Zillions克隆並自己學習。 http://www.chessv.org/

即使是簡單的評估功能也能擊敗大多數參與者。

但是ChessV仍然植根於國際象棋。如果不對源代碼進行大量修改,它將無法播放go或alquerque。萬億可以。我想問的是,如果不隨機選擇舉動,我將如何進行一般評估。 (顯而易見的答案“好吧,Zillions的作者已經弄清楚了,這就是為什麼他們要為此付費”,這不算在內)
Snack_Food_Termite
2019-10-21 15:52:53 UTC
view on stackexchange narkive permalink

在1980年代,我讀了國際象棋大師和計算機科學家David Levy所著的《如何充分利用國際象棋計算機》一書。這有點過時,因為像Alpha Zero這樣的引擎帶來了新的下棋方式。但是對於通用的國際象棋引擎,它仍然是一本有用的書。 Levy解釋說,引擎使用了蠻力層搜索。一層移動一半:白色或黑色移動。然後他解釋了“水平效應”,這是當時國際象棋計算機的主要弱點。從我在FICS [免費互聯網棋牌網站]等網站上針對當前通用引擎的遊戲得出的評分約為2000,我仍然可以看到“地平線效應”:這意味著引擎的層搜索結束,並且錯誤地評估了結果,通常是災難性的。在殘局中,這是最常見的時間。一個人可以通過查看能力的各個方面而不是計算得出30個動作中有一個獲勝的殘局。引擎,至少是通用引擎,很難做到這一點。諸如Fritz或Stockfish之類的更高級的引擎找到了擊敗地平線效應的巧妙方法,但這是另一回事。



該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 4.0許可。
Loading...