minimax

    1热度

    1回答

    我想在python中写一个国际象棋引擎,我可以找到给定位置的最佳举动,但我努力从该位置收集主要变化,以下是我所到目前为止已经试过: def alphabeta(board, alpha, beta, depth, pvtable): if depth == 0: return evaluate.eval(board) for move in board.lega

    -1热度

    2回答

    我试图用minimax算法实现TicTacToe AI。 当轮到AI轮到我时,我打电话给ComputerTurn(它接受棋盘状态,一个跟踪方块是X,O还是空的int整数)。 ComputerTurn然后调用minimax(minimax算法)和win(连续检查3个)。 当我运行脚本时,算法总是决定返回最低法定游戏。 IE,只要左上方的方块(方块0)可用,它将始终返回它。如果这个广场被采用,它将返回

    1热度

    8回答

    我有对象的一个​​这样的数组: arr = [ {name: "Alex", value: 1}, {name: "Bill", value: 2}, {name: "Jim", value: 3}, {name: "Dim", value: 5} ] 我想快速和干净的方式具有最小的一个最大值值属性 min = 1, max = 5

    3热度

    2回答

    作为一个练习项目,我在JSFiddle上制作了Tic-Tac-Toe游戏(因为已经不够了,对不对?),然后我开始添加无与伦比的AI。在大多数情况下,它可以工作,但是有一些组合(例如,将X设置为5,9,3或5,7或9),导致计算机无法正确计算最佳移动。 上的jsfiddle项目:https://jsfiddle.net/jd8x0vjz/ 及相关函数开始行63: function evaluateM

    2热度

    1回答

    我一直在试图理解在游戏的井字游戏的中间状态minimax算法的工作。但我无法这样做。我明白min max算法会在每一步中为玩家返回最佳状态。如果国家是这样 在比赛的最后阶段,这是比较容易理解的是,导致一个优势或最高分的球员的状态是最好的配置。在这个例子中,我们可以看到叶子上得分'1'的状态是最好的状态。但是在中间阶段或游戏开始时会发生什么。 假设我们有3个位置开始或者玩家可以通过玩某个位置去这些国

    4热度

    3回答

    https://leetcode.com/problems/guess-number-higher-or-lower-ii/#/description。 我们玩猜猜游戏。游戏如下: 我从1到n挑选一个数字。你必须猜测我挑选了哪个号码。 每当你猜错了,我会告诉你我选择的号码 是高还是低。 但是,当您猜测某个特定的数字x,并且您猜错了时,您支付$ x $ 。当你猜测我选择的数字时,你赢得比赛。 给定一

    0热度

    1回答

    所以我目前正在做一个关于Mancala和NIM组合游戏的MiniMax算法的作业。该程序的工作方式是向用户询问板的当前状态,并且该程序将假设吐出用户应该采取的第一个举动以赢得比赛。我只是困惑,我是否想用所有可能的解决方案生成整个游戏树,并且在叶节点首先具有效用函数,然后让MiniMax算法递归运行,或者在MiniMax算法中创建树?我很抱歉,如果这个问题很不清楚,但我只是坚持这个想法,我似乎无法理

    2热度

    1回答

    我一直在工作了一段时间,人工智能问题,并在这个星期我已经尝试编码AI连接4与Python。首先我有复制板的问题,但我想在Python中你需要使用deepcopy来避免复制错误 最后,我设法创建了alpha-beta修剪算法,它工作正常,但后来我测试了我的算法深度8对在线alpha-beta修剪算法深入6,令人惊讶的是我的算法丢失了,我用harvard的教师创建了评估函数,并且从msavenski的

    1热度

    1回答

    我正在为我制作的原创4人棋盘游戏创建AI。关于棋盘游戏 详情: 4名球员轮流同时移动他们的有色件在四个主要方向之一。碎片可以从板上移开。每个玩家在开始时都有5条生命。对于从棋盘上移走的棋子,玩家会失去1点生命。新作品将在整个游戏中确定性地产生。 我抬起头如何做一个minimax算法,发现this。我通读了这篇文章,并认为我理解了所有内容,所以我试图将第1.5节中的Java代码翻译成Swift。 这

    1热度

    1回答

    我试图掌握MiniMax算法,并且已经阅读了它。我最初的方法是实现一个简单的MiniMax算法,然后添加alpha-beta修剪。然而,这是我当前的代码: public int miniMax(char[] node, int playerNum) { int victor = checkWin(node); // returns 0 if game is ongoing, 1 for