minimax

    1熱度

    2回答

    我有一個超級極小遊戲玩法,它將不同的啓發式數據彙總在一起,爲遊戲的每個狀態返回一個值。我想實施學習。我希望程序學習每種啓發式的權重。讓程序學習每種啓發式的權重的最有效方法是什麼?當然,它只會在嘗試之後知道某個重量是否對某個啓發式算法有效。是唯一的選擇某種試驗和錯誤系統? 謝謝你的幫助!

    0熱度

    1回答

    我一直在爲一個Tic tac腳趾AI實現一個miniMax算法而掙扎了好幾天。現在,我得到的問題是當我調用minimax()函數時,我在'returnBoard'輸入中得到一塊空板。我知道我的算法正在通過一系列的板子,因爲我已經打印出了孩子,因爲我已經得到了它們,並且我看到計算機正在進行移動並給棋盤上分數。有什麼建議麼? void board::getBestMove() { board re

    1熱度

    2回答

    Minimax似乎在不失敗方面表現出色,但假設對手不會犯錯,這是非常宿命的。當然,很多比賽都是以平局來解決的,但是即使沒有獲勝的情況下,我們也應該爲「贏得儘可能的努力贏得勝利而不必冒險」。 也就是說,給定兩棵具有相同(繪製)的終點位置給予最佳遊戲的玩家,如果對手進行次優移動或者讓對手變得更多,如何調整算法以選擇最有可能獲勝的樹可能會滑倒? 使用Tic-Tac-Toe的簡單例子,一個更強壯的球員通常

    1熱度

    1回答

    我正在嘗試爲類似遊戲的寵物小精靈寫一個AI,除了所有移動在手前都被兩個玩家所知(一切對兩個玩家都是可見的)。我記錄了所有我需要的信息,例如損壞,準確性,危急機會等。 我以爲我會瞄準Expectiminimax(已知算法)解決方案,這似乎是合理的,但我已經擊中一個障礙:如何處理誰先走的順序。當然,這是基於當前玩家的速度,無論誰開始速度更快,但是有些動作獲得優先權,並且儘管速度很快,但最終會先行。 一

    1熱度

    2回答

    我正在做一個零和棋盤遊戲的AI。這是下面的遊戲http://en.wikipedia.org/wiki/Y_%28game%29 我使用的董事會是15場每邊,所以這是120六邊形總。這對於標準的極小極小方法來說顯然是很重要的。我以爲我可以因爲對稱而切斷很多東西,但我仍然認爲它不夠。 當遊戲過於複雜而無法搜索所有選項時,是否有任何可行的極小極小選擇? 感謝

    1熱度

    1回答

    我試圖打印出Mini Max的訪問狀態和實用程序。 我有問題時,從終端狀態返回到它的根,從而導致我的訪問狀態實用程序值4錯誤的值。我只是無法弄清楚是什麼原因導致了這個錯誤。我很確定我的最小和最大方法是正確的。

    0熱度

    2回答

    我使用Expectiminimax這是在我目前的狀況偉大的工作電流: Max -> Min -> Chance -> Max -> Min -> Chance -> (Repeat) 我不能以任何方式 Max/Min -> Chance -> (Repeat) 由於方式的遊戲作品。 我覺得好像alpha將會不準確,如果我繼續轉換我的算法。用我目前的設置來實施修剪(除了視野效果)還有什麼副作

    0熱度

    1回答

    我使用的是最小最大算法的遊戲,因爲有很多的可能性極小極大遞歸花費的時間太長,即使有「α-β剪枝」 更好的辦法 我的代碼看起來有些東西是這樣的: min(state,depth,alpha,beta): if stopingCond: return value for moves in allmoves: state.do(move) bet

    0熱度

    1回答

    我正在嘗試用alpha-beta修剪實現tic tac腳趾的minimax算法。現在我的程序正在運行,但它似乎沒有工作。每當我運行它似乎在所有的廣場輸入垃圾。我已經實現了這個功能,這樣我的極大極小功能就進入了一個電路板狀態,並修改了這個狀態,這樣當電路板完成時,電路板狀態就包含了下一個最好的移動。然後,我將「this」設置爲等同於修改過的電路板。這裏是我的功能極大極小算法: void board:

    0熱度

    1回答

    public class OthelloJPlayer extends OthelloPlayer { @Override public OthelloMove getMove(OthelloState state) { int bestchoice = 0; int bestscore = Integer.MIN_VALUE; boolean m