如何编写五行Tic Tac Toe游戏AI?

时间:2012-02-22 12:08:15

标签: artificial-intelligence theory tic-tac-toe

我被同事挑战创造了一个Tic Tac Toe游戏AI,它可以玩五行游戏(不是传统游戏)。我最初的想法是我创建了一个记分牌",即游戏中的每个单元都得到0到无限的分数。 AI找到形状并确定哪些位置保持多少值并为细胞分数。最后,最高得分的细胞是选择。

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

1 个答案:

答案 0 :(得分:1)

5x5 Tic-Tac-Toe可能仍然足够小,可以直接解决,具体取决于您的时间限制,如果您对板对称性很聪明。奇怪的是,我刚刚在昨晚写了一篇关于一般技术的描述:

How to code simple AI for a windows phone board game?

如果没有,那仍然是一个很好的起点。对我来说,下一个最明显的事情是更改电路板评估功能,并且只在树中深入搜索,这对于您的时间限制是可行的。这个想法是,作为一个人,你可能对强势和弱势的立场有一些想法。所以,作为猜测,我们知道连续五次获胜,因此将X获胜分配为+5,将O获胜分配为-5。获胜的一种方法是在此之前连续获得四个,所以如果X连续四个,那么可能值为4,如果O连续四个,那么可能值为-4。我们的想法是,如果你不能一直在树下搜索,你可以使用minimax技术尽可能地搜索,确信你正朝着强大的位置努力。

该板评估函数只是一个例子。提出良好的董事会评估功能可能会很棘手,我所描述的那个错过了一些明显的细节。

尝试的另一件事是使用遗传算法和神经网络进化板评估函数。现在的想法是将董事会职位纳入神经网络,进行董事会评估,让他们按照我上面描述的技术,比赛风格进行比赛。然后,在比赛结束后,从胜利者和失败者中创建新的神经网络(通过遗传算法)。董事会评估职能自然发展。