alpha-beta-pruning

    1熱度

    1回答

    我正在嘗試爲3D Tic Tac Toe遊戲進行Alpha-Beta修剪Minimax。但是,看起來該算法選擇次優路徑。 例如,您可以簡單地通過直接穿過立方體的中間或單個板子來獲勝。人工智能似乎挑選出最適合的單元,而不是目前的輪次。 我試過重新創建並使用啓發式玩法,我爲算法返回,但是我沒有取得太多進展。不管層面如何,它似乎都有同樣的問題。 該代碼是here。 相關部分是computers_move

    1熱度

    1回答

    我有一個動態列表存儲領域的協調和該領域的所有者這個名單的 :-dynamic board/2. 一個條目看起來像這樣: board(e4,[w]). 還有22個看起來相似的板子位置。 我想實現一個AI的遊戲董事會的目的。 我正在使用alpha測試版算法,因此必須創建新的「板子」來回避這種情況。 我原板的副本來工作,但現在有一個功能調節板當前的舉動是這樣的: move(positi

    0熱度

    1回答

    我正在用Java編寫一個minimax alpha beta算法。我最初做的是創建一個minimax算法。這個算法總是擊敗算法B,我也編碼了。現在我將Alpha beta修剪添加到了這個minimax算法,並且我的算法總是輸給算法B. Alpha beta修剪是否有可能使我的算法變得更糟?還是我編碼不正確? 而只是爲了我的好奇心;在一個完美的世界中,我已經正確實現了Alpha Beta,如果min

    0熱度

    1回答

    我試過應用來自其他線程的有關EXC_BAD_ACCESS消息的建議,但沒有成功。該註釋出現在Node Create_Child (Node Parent_Node, int item) {旁邊。 typedef struct { int Win_Loss; int parent; int identifier; int Object_Moved;

    -1熱度

    1回答

    那麼我有一個全局向量的pacman遊戲CharactersLocation與行,每個字符的列...(例如:字符[0]是ghost1的行,字符[1]是ghost1的列,字符[2] ghost2的行...和字符[8]和字符[9]是吃豆行和列 我minimaxalphabeta實現是: int minimaxAlphaBeta (int mazeTemp[][COLUMNS], int alpha, i

    -1熱度

    1回答

    所以,我正在編寫一個非常簡單的TicTacToe程序,它使用alpha-beta修剪搜索下一步移動,但隨時遇到問題運行它。我嘗試了任何想到解決它的東西,甚至一行一行地完成了一行Java相當於完美運行的邏輯,但是Python卻無法正常工作。 這是我的代碼: #encoding: UTF-8 #Andres de Lago Gomez #A01371779 from random import

    1熱度

    1回答

    我想我已經終於圍繞最小極限和Alpha beta修剪,但實現它是一個完整的其他故事! 根據我的理解,基本知識如下: 您爲某些動作(例如Gomoku)指定啓發式功能分數。 如果連續有5個,我們應該像分配9999的高值,因爲 這是一個成功的舉動。 如果我們在一排,我們有兩個開口端 有4個,我們應該重新分配一個較高的值,因爲這是不可能阻止 這一舉動和等等等等 我的問題是當我們真正必須實現這在Java中!

    -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++) {

    8熱度

    1回答

    我想實現alpha-beta min-max prunning增強換位表。我用這個僞代碼作爲參考: http://people.csail.mit.edu/plaat/mtdf.html#abmem function AlphaBetaWithMemory(n : node_type; alpha , beta , d : integer) : integer; if retrieve(

    0熱度

    1回答

    我正在編寫一個5x5 tictactoe遊戲。 我得到一個意外的運行時錯誤,它會返回一個行/列大於4 每個玩家扮演更大: 球員:3,3 計算機:0,0 球員:1, 3 計算機:0,3 球員:3,1 計算機:0,1 FLASH播放器r:0 計算機:140735274172144,4204747 < - 在阻止計算機獲勝的機會後,我的換位表產生這個最好的舉動。 我的代碼: void doCompMov