minimax

    0熱度

    1回答

    以下是多智能體pacman的minimax算法的代碼片段,其中存在多個重影(最小參與者)。 def min_max(self, gamestate, current_depth, min_count): if current_depth == 1: return (self.evaluationFunction(gamestate),None) # if max node

    -2熱度

    1回答

    我在探索如何在連接四個遊戲中使用Minimax算法進行alpha-beta修剪。 所以我一直在尋找通過關於Connect4玩家策略的源代碼,發現這個計算功能: /** * Get the score of a board */ public int score(){ int score = 0; for (int r= 0; r < ROWS; r++) {

    0熱度

    1回答

    我是一名初學者,我試圖通過應用minimax算法來開發Connect4遊戲,我被困在決定它是最小玩家回合還是最大玩家回合的條件下。我有這種感覺,但我已經想了兩天,試圖找出答案。 有什麼幫助嗎? private int evaluatePlayerMove(int depth, int maxDepth, int col, int alpha, int beta) { boardsAnal

    0熱度

    1回答

    我在科羅納sdk中連接四個遊戲,並希望在用戶選擇與電腦玩時使用極小極大來製作AI播放器。我發現minimax Minimax for Lua援助,但我堅持樹木建設。 我的問題是我如何讓樹通過這個算法並將值分配給樹的每個節點,因爲我猜在這種情況下,每個節點值是-1(鬆散)或+1(win)並找到目標連接四列?我在想樹會看起來像極大極小 local t = tree() -- tree() create

    1熱度

    1回答

    我正在製作一個expectimax人工智能,這個遊戲的分支因素是不可預知的,範圍從6-20。我目前每回合都在探索遊戲樹1秒,然後確保整個遊戲樹被探索到相同的深度,但偶爾會導致非常大的放緩,如果特定轉折的分支因子從根本上跳躍起來。如果我沒有深入探索遊戲樹的某些部分,如果我切斷了探索,是否可以?這會影響expectimax的數學特性嗎?

    1熱度

    1回答

    我想實現極小極小遊戲算法。也許我的前提是錯誤的,這不是應該嘗試的。是嗎? 的程序工作,但有一個很大的性能問題: 深度= 0,1或2的結果是立竿見影的。 深度= 3結果需要15秒。 深度= 4 - 尚未得到結果。 這是我實現: private Move findBestMove(Chessboard chessboard, int depth, boolean maximizingPla

    0熱度

    1回答

    我對Negamax算法以及如何將其應用於實際情況有點困惑。在網上我發現了以下的C/C++代碼(編號:https://chessprogramming.wikispaces.com/Unmake+Move) int negaMax(int depth) { if (depth == 0) return evaluate(); int max = -oo; generat

    0熱度

    1回答

    好吧,所以我一直在關注在Java中的Connect4本教程,我試圖修改它,以適應我已經有的東西,適合libgdx。實施後,我有一些奇怪的問題。 問題1:在我第一步之後,計算機用他的芯片填滿了整個底部行,然後進行第一步。 問題2:計算機沒有顯示任何A.I.並從第一列和第一列開始,並在那裏放置一個芯片。電腦將繼續遵循這種模式。 問題3:如果我贏得了比賽,但是當計算機贏了時,我的獲獎檢查員不再意識到。當

    1熱度

    1回答

    我最近嘗試實施連接4個極大極小的算法,但我無法得到它的工作。 這裏是我的heuristic,AI和minimax代碼。完整的代碼是here。我不知道問題出在哪裏,無法做出正確的舉動。 int heuristic(int s[6][7]) { int result = 0; int i, j; //check horizontals for(i=0; i<6

    0熱度

    2回答

    我正在連接4 AI,除非遊戲繼續,直到所有42個空格填滿。 得分由連續4位保持得1分。 public int[] Max_Value(GameBoard playBoard, int depth){ GameBoard temp = new GameBoard(playBoard.playBoard); int h = 0, tempH = 999, tempCol=0;