Artificial intelligence 如何编写连续五次Tic-Tac-Toe游戏AI?

Artificial intelligence 如何编写连续五次Tic-Tac-Toe游戏AI?,artificial-intelligence,theory,tic-tac-toe,Artificial Intelligence,Theory,Tic Tac Toe,我的同事向我提出了挑战,让我创建了一个可以连续玩五个游戏(而不是传统的3个)的井字游戏AI。我最初的想法是创建一个“记分牌”,即游戏中的每个单元格都会得到一个介于0和无限之间的分数。人工智能会找到形状,确定哪些地方有多少值,并给单元格打分。最终,得分最高的单元格是选择 有更好的方法解决这个问题吗?5x5 Tic Tac Toe可能仍然足够小,可以直接解决,这取决于您的时间限制,如果您对电路板的对称性很了解的话。奇怪的是,我昨晚刚刚写了一篇关于一般技术的描述,针对这个问题: 如果不是,这仍然是一

我的同事向我提出了挑战,让我创建了一个可以连续玩五个游戏(而不是传统的3个)的井字游戏AI。我最初的想法是创建一个“记分牌”,即游戏中的每个单元格都会得到一个介于0和无限之间的分数。人工智能会找到形状,确定哪些地方有多少值,并给单元格打分。最终,得分最高的单元格是选择


有更好的方法解决这个问题吗?

5x5 Tic Tac Toe可能仍然足够小,可以直接解决,这取决于您的时间限制,如果您对电路板的对称性很了解的话。奇怪的是,我昨晚刚刚写了一篇关于一般技术的描述,针对这个问题:

如果不是,这仍然是一个很好的起点。对我来说,下一件最明显的事情是改变董事会的评估功能,并在树中搜索尽可能深的内容,以满足您的时间限制。这个想法是,作为一个人,你可能对什么是强项和弱项有一些想法。所以,作为猜测,我们知道五连胜,所以将X连胜指定为+5,将O连胜指定为-5。获胜的一个方法是在这之前获得四个,所以如果X有四个在一行中,那可能值4,如果O有四个在一行中,那可能值-4。这个想法是,如果你不能沿着树一直搜索下去,你就用极大极小技术尽可能地搜索,确信你正在朝着一个强大的位置努力

board eval函数只是一个示例。想出一个好的董事会评估函数可能会很棘手,而我描述的这个函数遗漏了一些明显的细节


另一个尝试是使用遗传算法和神经网络来进化董事会评估函数。现在的想法是将棋盘位置反馈到神经网络中,神经网络进行棋盘评估,并让它们按照我上面描述的技术进行比赛。然后,在锦标赛轮结束后,(通过遗传算法)从优胜者和失败者中创建新的神经网络。董事会评估功能会自然演变。

你可以看看这个主题的答案:我真的不知道如何将蒙特卡罗或类似复杂的野兽应用到像Tic Tac Toe/Gomoku这样的游戏中。记分卡基本上就是minimax……一种为状态转换(可能的移动)赋值的算法。这通常与剪枝相结合,剪枝通过忽略(而不是递归)某些您知道不会是最优的转换来减少计算量。这可能是解决这个问题最直接的方法(假设它不能像下面提到的那样直接解决,这会让它失去所有的乐趣)。欲了解更多信息,请参阅:@prelic,它并不那么简单。一些方块只有与其他方块组合时才有价值。这种关系不会是相加的,甚至不会是线性的。这只是一个开始,但不是全部。我不明白的是,树木与井字游戏有什么关系?如何将二维单元格数组映射到树?@rFactor,请不要将电路板位置(单元格)与电路板位置混淆。一个典型的3x3井字游戏有9个棋盘位置,但棋盘位置的数量要多得多。棋盘位置是游戏的完整状态。这里有一个很好的例子: