minimax

    -1热度

    1回答

    我正在尝试使用最小最大化算法来构建一个井字游戏。它不能正常运行(意味着它产生的动作不是最优的),我认为这是因为我没有考虑到对手的动作。我只是不太清楚如何将这个结合到我的代码中。对于上下文,我从http://neverstopbuilding.com/minimax工作。 这是我的代码。辅助方法都是自己的功能,但我没有在这里包括它们。 // this variable stores the opti

    1热度

    1回答

    我已经在这个论坛发布了一个类似的问题,但是由于旧帖子有点长,我重写了我的算法,我开始了这个新帖子。 旧的帖子可以找到here。 所以我只是想实现一个极大极小算法我井字游戏,但它被证明是相当困难,甚至试图发现其中的错误天后,我找不到它。你可以在下面找到我的代码。首先,我有几个定义,typedef和声明: typedef signed char s8; typedef unsigned char u

    1热度

    1回答

    所以我没有太多正式的计算机科学教育,所以我提前道歉,如果这是一个愚蠢的问题。 我目前正在用Python编写一个骰子扑克游戏。规则是而不是像the game found in The Witcher 2,而是基于一个旧的移动骰子扑克游戏,从前不久从App Store中取消。 的规则如下: 的播放器和AI最初滚动每次5 poker dice。 玩家和AI选择哪个骰子保持并滚动其余骰子,将结果展示给对方

    0热度

    1回答

    我想在python中实现minimax算法,但我在创建分支树结构时遇到了一些问题。我仍然是一个业余程序员,所以请不要介意我的代码看起来不好。这里是我的节点结构 class Node: parent = None state = None pmax = 0 #this represents the MAX player symbol; i.e. SELF p

    -1热度

    1回答

    我正在做一个简单的CLI tic-tac-toe游戏,它使用一个使用LISP的alpha-beta修剪的negamax算法的AI,我正在人工智能如何实现其动作的问题。它不是完成它应该的单一动作,而是完全地完成游戏,所以游戏只有最后两步。我已经运行了它(步骤),它看起来像问题是,在negamax函数的(when(> value bestValue))块中设置了bestPath变量,即使它说该块没有被

    1热度

    1回答

    我有一些JavaScript代码,而试图编码一个井字游戏游戏。 所以AI(人工智能)播放“X”,分别为“人”播放器为“O”; 对于测试我把板作为 [ 'E', 'E', '0', 'X',  'O', 'E', 'E',  'e' 的,'e'] 这是AI转动。所以很明显的AI(人工智能)的最佳举措是 [ 'E', 'E', 'O', 'X',  'O', 'E', 'X',  'e','e']。

    1热度

    1回答

    我想弄清楚如何提高这个算法的速度。它完美适用于两款游戏(2人游戏,CPU vs人类),但问题是当我分配三个以上的桩(包含许多宝石,因此每个玩家可以拾取多于一个),计算机播放器永远需要计算的招式: public Object[] minimax(int depth, int player) { if(hasPlayer1Won(player)){ return new O

    0热度

    2回答

    我正在努力做最小极限运动,我只是试图用它连接四个AI。当我只深入探索一个节点时,我的工作原理是什么,但我无法弄清楚它为什么一旦变得更深入就会混乱。 private int minimax(Gameboard gameBoard, int alpha, int depth, char color) { Gameboard gb = new Gameboard(gameBoard);

    0热度

    1回答

    我试图在Java中实现一个名为Nine Men's Morris的Negamax搜索。 如果玩家连续有三件(这里称为磨坊),他在切换转向之前移除对手的棋子('额外'移动)。 此外,还有一个组片相和移动片阶段,所有初始片已放置后。 我的实现看起来是这样的: public int[] negamaxSet(int depth, int alpha, int beta, int color) {

    0热度

    1回答

    我已经建立在J​​ava中我自己的树的数据类,这是一个极小的运算法则用来填充树的每个节点下面的4个孩子。树中的每个节点都会保存代表独特游戏状态的Board对象(我创建的其他东西),并且树中的边(代表移动方向 - 游戏是Tron)表示用户为达到状态边缘导致。我想创建一个函数,它接受一个树并递归填充深度为“DEPTH”(在其他地方作为常量保持,而不是参数),并给出修改的游戏状态,给出每个玩家在四个可能