minimax

    0热度

    1回答

    我想建立一个简单的树并比较孩子和递归调用,它像一个迷你最大算法。比较每个节点的值并返回根的子节点。 我试了一整天,我不能正确编码它。如果你有迷你最大算法的经验,请帮助我,或者如果你有任何来源了解它,请告诉我。 有人可以使用3个或更多深度(迭代)基于此节点的示例代码? class node { public int value; public int id; pub

    1热度

    1回答

    我想让我的minimax算法适用于8x8 Gomoku板,我必须匹配5行/ col /对角才能赢得胜利!我的算法似乎没有正常工作,我无法确定它出错的位置! 我的generateMoves()方法工作正常,它会生成所有合法的移动,所以我知道不是这样。最小最大值返回-1,-1作为最佳移动,但当然会抛出一个非法移动错误,因为从0,0到7,7板上不能有-1,-1。 任何帮助表示赞赏。谢谢。 private

    1热度

    1回答

    我正在尝试为3D Tic Tac Toe游戏进行Alpha-Beta修剪Minimax。但是,看起来该算法选择次优路径。 例如,您可以简单地通过直接穿过立方体的中间或单个板子来获胜。人工智能似乎挑选出最适合的单元,而不是目前的轮次。 我试过重新创建并使用启发式玩法,我为算法返回,但是我没有取得太多进展。不管层面如何,它似乎都有同样的问题。 该代码是here。 相关部分是computers_move

    1热度

    1回答

    我在教自己的minimax算法,我只是有几个问题,我希望有人可以回答。 首先在行05 - :=是什么意思? 也在线08/14我注意到方法max或min被调用两个参数,该方法返回什么?它会返回到目前为止发现的最大值或最小值吗?有没有这个伪代码的例子还是我误解? 01 function minimax(node, depth, maximizingPlayer) 02 if depth = 0 o

    0热度

    1回答

    我使用Realm of Racket书中给出的存根作为基础,构建了一个tick-tack-toe游戏的AI。到目前为止,一切都进展顺利。但是,当我尝试在树的根上运行我的minimax函数时,它将返回可以通过运行它获得的最低可能值列表(以任一播放器作为谓词)。 下面是函数的代码转储: (define (minimax tree player depth) (define (generate

    0热度

    1回答

    我到处寻找解决我的代码的答案,但花了很长时间花在尝试调试它之后,我发现自己绝望地卡住了。问题是我的极小极大函数不会返回正确的值以实现最佳移动,我甚至试图通过存储最佳第一步(当深度= 0时)来修复它,但如果解决方案不明显,则算法失败可怕的。我也尝试修改基本情况下的返回值,以便优先考虑早期的胜利,但这并没有解决问题。 目前我正在测试TicTacToe板上的辅助类(例如getMoves()或getWin

    0热度

    1回答

    我正在用Java编写一个minimax alpha beta算法。我最初做的是创建一个minimax算法。这个算法总是击败算法B,我也编码了。现在我将Alpha beta修剪添加到了这个minimax算法,并且我的算法总是输给算法B. Alpha beta修剪是否有可能使我的算法变得更糟?还是我编码不正确? 而只是为了我的好奇心;在一个完美的世界中,我已经正确实现了Alpha Beta,如果min

    1热度

    2回答

    蛮力本质上只是搜索每个可能的组合,但minimax如何不同? Minimax也搜索每个组合,然后返回最佳分数? 我明白,当我们使用alpha beta修剪时,我们会取出那些对我们的最小/最大值没有任何影响的,但是这种情况在我们已经执行minimax之后发生,所以这会被认为是蛮力吗?也许我误解了我到目前为止所阅读的内容,所以任何帮助都会很棒! 谢谢!

    0热度

    1回答

    我正在尝试用alpha beta修剪在java的tic tac toe游戏中实现minmax算法。当我编写代码时,我立即发现了一个例外,因此我试图让一些终端输出自己找到错误,并且发现它是由于最终返回中的错误结果导致的:算法最终返回[-1][-1],得分-2147483646,当代码的其余部分尝试移动并将坐标放在字段中时,会导致异常。我做了一些方案来模拟一些动作和一些可能的树,但我找不到错误。 /*

    0热度

    1回答

    我对人工智能非常陌生,大多都有理论计算机科学/人工智能的经验。作为一个小项目,我试图在几年前的简化版Google AI挑战中实现minimax算法。不幸的是,经过大量尝试和伪代码阅读之后,我还没有能够成功实现它。 星球大战是两个玩家与他们自己的行星之间的游戏。玩家可以决定从他自己的哪个行星发送一半的船只到中立或对手的行星。这样就有可能接管对手的行星。当对手没有行星时你赢了。 由于我却写成这样: m