minimax

    1熱度

    8回答

    我有對象的一個​​這樣的數組: arr = [ {name: "Alex", value: 1}, {name: "Bill", value: 2}, {name: "Jim", value: 3}, {name: "Dim", value: 5} ] 我想快速和乾淨的方式具有最小的一個最大值值屬性 min = 1, max = 5

    3熱度

    2回答

    作爲一個練習項目,我在JSFiddle上製作了Tic-Tac-Toe遊戲(因爲已經不夠了,對不對?),然後我開始添加無與倫比的AI。在大多數情況下,它可以工作,但是有一些組合(例如,將X設置爲5,9,3或5,7或9),導致計算機無法正確計算最佳移動。 上的jsfiddle項目:https://jsfiddle.net/jd8x0vjz/ 及相關函數開始行63: function evaluateM

    4熱度

    3回答

    https://leetcode.com/problems/guess-number-higher-or-lower-ii/#/description。 我們玩猜猜遊戲。遊戲如下: 我從1到n挑選一個數字。你必須猜測我挑選了哪個號碼。 每當你猜錯了,我會告訴你我選擇的號碼 是高還是低。 但是,當您猜測某個特定的數字x,並且您猜錯了時,您支付$ x $ 。當你猜測我選擇的數字時,你贏得比賽。 給定一

    -1熱度

    1回答

    我正在研究tic tac toe(用戶vs計算機)的AI,並且我正在使用minimax算法實現計算機的最佳移動。我已經看過YouTube上的一些視頻,並閱讀了一些人的代碼。但是,有些部分代碼我仍然對正在做的事感到困惑。以下面的代碼爲例,來自井號最小極小函數。有一個主要的if,else if,else語句和其他所有從那裏得到的。我的主要問題是理解嵌入的for循環,以及後面的2個if。我認爲,我已經對

    0熱度

    1回答

    所以我目前正在做一個關於Mancala和NIM組合遊戲的MiniMax算法的作業。該程序的工作方式是向用戶詢問板的當前狀態,並且該程序將假設吐出用戶應該採取的第一個舉動以贏得比賽。我只是困惑,我是否想用所有可能的解決方案生成整個遊戲樹,並且在葉節點首先具有效用函數,然後讓MiniMax算法遞歸運行,或者在MiniMax算法中創建樹?我很抱歉,如果這個問題很不清楚,但我只是堅持這個想法,我似乎無法理

    2熱度

    1回答

    我一直在工作了一段時間,人工智能問題,並在這個星期我已經嘗試編碼AI連接4與Python。首先我有複製板的問題,但我想在Python中你需要使用deepcopy來避免複製錯誤 最後,我設法創建了alpha-beta修剪算法,它工作正常,但後來我測試了我的算法深度8對在線alpha-beta修剪算法深入6,令人驚訝的是我的算法丟失了,我用harvard的教師創建了評估函數,並且從msavenski的

    0熱度

    1回答

    正確得分分支我試圖創造C.一個完美的井字棋遊戲,我用一個二維數組來跟蹤板。 我已經將問題縮小到了我的minimax函數對每個潛在移動進行評分的方式,但我在調試時遇到了問題,因爲錯誤通常發生在第二步移動周圍,並且我無法跟蹤所有潛在的遊戲狀態從那一點。 電腦進入第一,並且總是「X」。 minimax正在從computerMove函數中調用,該函數嘗試每個可用的移動,然後將它們最小化。它將從minima

    1熱度

    1回答

    我正在爲我製作的原創4人棋盤遊戲創建AI。關於棋盤遊戲 詳情: 4名球員輪流同時移動他們的有色件在四個主要方向之一。碎片可以從板上移開。每個玩家在開始時都有5條生命。對於從棋盤上移走的棋子,玩家會失去1點生命。新作品將在整個遊戲中確定性地產生。 我擡起頭如何做一個minimax算法,發現this。我通讀了這篇文章,並認爲我理解了所有內容,所以我試圖將第1.5節中的Java代碼翻譯成Swift。 這

    1熱度

    1回答

    我試圖掌握MiniMax算法,並且已經閱讀了它。我最初的方法是實現一個簡單的MiniMax算法,然後添加alpha-beta修剪。然而,這是我當前的代碼: public int miniMax(char[] node, int playerNum) { int victor = checkWin(node); // returns 0 if game is ongoing, 1 for

    1熱度

    1回答

    我想在python中寫一個國際象棋引擎,我可以找到給定位置的最佳舉動,但我努力從該位置收集主要變化,以下是我所到目前爲止已經試過: def alphabeta(board, alpha, beta, depth, pvtable): if depth == 0: return evaluate.eval(board) for move in board.lega