首页 文章
  • 1 votes
     answers
     views

    为什么我的递归不会返回但最终会出现堆栈溢出?

    首先,这是额外信用作业的一部分,所以请不要给我答案 . 请帮助我了解我可能遇到的问题 . 它是一个Tic-Tac-Toe发生器,游戏通过递归来确定基于玩家的最佳移动 . (教授用白色'W'和黑色'B'代替X和O) 我的主递归方法根据TTT板上的输入位置返回状态分数; 1如果白色将强制从该位置获胜,如果是平局则为0,如果黑色将强制从该位置获胜,则为-1: public int stateScore...
  • 0 votes
     answers
     views

    在c中递归填充N-ary树

    我正在尝试创建tic-tac-toe棋盘游戏的游戏树 . 我已经编写了一些基本方法,但是我在递归填充树的元素方面遇到了麻烦 . 我正在使用 Node 结构来定义树的节点 . 每个节点都有一个子节点 . struct node { string data; int height; node * child[9]; }; 每个节点将游戏板的内容存储为字符串 . * 用于显示空白 . ...
  • 0 votes
     answers
     views

    如何在Java 2d数组Tic Tac Toe中检查垂直和对角线Win

    我正在使用2d JButton阵列在Java中编写一个tic tac toe游戏 . 我需要能够使用For循环来检查游戏的赢家 . 当获胜的X或O组包含在一行中时,我已成功检查获胜者,但我不太确定如何检查列,对角线和反向对角线 . 我会使用另一种方法来检查获胜者,但我需要以非常具体的方式写这个 . buttons = new JButton[3][3]; public Strin...
  • 1 votes
     answers
     views

    Tic-Tac-Toe Win检查功能

    我正在写一个tic tac toe游戏,“编码规则”的一部分是应该有一个'checkwin'函数来查看玩家是否赢了 . 我已经定义了两个名为'tttXArray'和'tttOArray'的变量来查看一个玩家是否连续三次输入水平,垂直或对角输入 . 这是以tttXArray为例的函数: function [won] = checkwin %Check to see whether the game ...
  • 1 votes
     answers
     views

    C#Tic Tac Toe Minimax算法

    我正在使用Minimax算法在WPF C#中制作Tic Tac Toe游戏 . 我认为我的算法工作正常,但我无法理解我应该怎样做才能从调用函数Minimax获得下一个状态 . 现在它只返回最终状态 . 算法的代码如下: Move MiniMax(char[,] state, bool playerMAX, int depth) { if (depth == 0 || Cou...
  • 3 votes
     answers
     views

    Tic Tac脚趾的比赛树

    首先,我是java的初学者,我正在尝试模拟TicTacToe游戏 . 我想使用游戏树为所有州创建一个可能的树 . 树中的每个节点都将表示状态,并使用此树来决定下一步要进行的操作 . 我计划如下处理, 接口类包括表示单个移动所需的信息 . abstract / interface类包含以下方法: 一个 . 返回一个新的状态对象,表示游戏的状态应用这一举动 . 湾如果当前状态代表其中一个玩...
  • 2 votes
     answers
     views

    蒙特卡洛树搜索 - “最有前途”的移动功能

    我试图实现tic-tac-toe hello-world MCTS游戏玩家,但我遇到了一个问题 . 在模拟游戏并选择“最有希望的”(利用/探索)节点时,我只考虑总胜数(“利用”部分) - 这会导致某些问题,所得算法根本不具防御性 . 因此在选择之间 移动导致(100次抽奖; 10次失败) 移动导致(1胜; 109输) 选择较差的一个(1; 109),因为我的uct函数贪婪计算avg w...
  • 80 votes
     answers
     views

    确定Tic Tac Toe游戏的算法

    我在Java中编写了一个井字游戏,我目前确定游戏结束的方法考虑了游戏结束的以下可能情况: 董事会已经满员,尚未宣布获胜者:比赛是平局 . 克罗斯赢了 . Circle赢了 . 不幸的是,为了这样做,它从表中读取预定义的一组这些场景 . 考虑到电路板上只有9个空格,这并不一定是坏的,因此表格有点小,但有没有更好的算法来确定游戏是否结束?确定某人是否赢了是问题的关键,因为检查9个空格是...
  • 18 votes
     answers
     views

    蒙特卡洛树搜索:Tic-Tac-Toe的实施

    编辑:如果您想查看是否可以让AI更好地执行,请上传完整的源代码:https://www.dropbox.com/s/ous72hidygbnqv6/MCTS_TTT.rar 编辑:搜索搜索空间并找到导致丢失的移动 . 但是由于UCT算法,不会经常访问导致损失的移动 . 要了解MCTS(蒙特卡罗树搜索),我已经使用该算法为经典的井字游戏制作AI . 我使用以下设计实现了算法: 树策略基于UCT,默认...
  • 1 votes
     answers
     views

    将Minimax算法应用于存储为数组的决策树,Python

    我正在尝试创建一个Tic-Tac-Toe游戏,允许用户对抗该程序 . 该程序将使用Minimax算法修剪决策树并输出最佳移动 . 下面我将代码发布到我正在开发Game Ai的类 . 函数“create_tree”返回从根节点开始的所有可能移动的决策树以及状态将发生的深度 . 我试图通过一个应用minimax修剪方法的模块来传递它,以找到应该进行的下一个最佳移动但是它不起作用,因为当我尝试评估游戏状...
  • 0 votes
     answers
     views

    Minimax算法中的线程化

    我正在设计一个3D Tic-Tac-Toe游戏,并且找时间限制我的Minimax算法的深度 . 虽然高达6的深度在很大程度上是无关紧要的(<1s),但对于更高的深度,它确实需要时间 . >Depth 7 = 6 seconds >Depth 8 = 49 seconds >Depth 9 = 314 seconds 我没有时间(哈!)检查更高的深度 . 最大深度为22,这...
  • 0 votes
     answers
     views

    Tic-Tac-Toe的Minimax没有返回正确的值

    我正在尝试编写Tic-Tac-Toe游戏并决定使用MiniMax算法,但我在实现它时遇到了麻烦 . 例如:在a board = [ "E", "E", "X", "E", "E", "X", "E",...
  • 0 votes
     answers
     views

    python中的2D列表在每个列表中的相同位置更改值[重复]

    这个问题在这里已有答案: Original list gets modified in python [duplicate] 2个答案 def boardprint(): array_board = board print( " _ _ _\n"+ "|"+(array_board[0][0])+"|"+(array_...

热门问题