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;