Artificial intelligence 解决点和框游戏可行吗?

Artificial intelligence 解决点和框游戏可行吗?,artificial-intelligence,scripting-language,Artificial Intelligence,Scripting Language,我试图证明可计算性的游戏是 然而,我并没有使用定理,而是试图通过创建一个AI来做到这一点,该AI应该在该游戏中对玩家1或玩家2拥有100%的胜率。 如果创造一个100%胜率的人工智能是不可能的,那么我的目标是创造一个至少比所有其他人工智能更好的人工智能。到目前为止,我正在用PHP编写所有内容,因为我正在与另一种同样用脚本语言编写的AI进行竞争 整个过程是递归的,基本逻辑是: 计算所有可能移动的整个树 如果轮到我的AI,那么选择AI玩家点数最多的路线。如果轮到对手的AI,则选择我的AI点数最少的路

我试图证明可计算性的游戏是

然而,我并没有使用定理,而是试图通过创建一个AI来做到这一点,该AI应该在该游戏中对玩家1或玩家2拥有100%的胜率。 如果创造一个100%胜率的人工智能是不可能的,那么我的目标是创造一个至少比所有其他人工智能更好的人工智能。到目前为止,我正在用PHP编写所有内容,因为我正在与另一种同样用脚本语言编写的AI进行竞争

整个过程是递归的,基本逻辑是: 计算所有可能移动的整个树 如果轮到我的AI,那么选择AI玩家点数最多的路线。如果轮到对手的AI,则选择我的AI点数最少的路线。Aka计算每个节点上的保证点数

计算完整棵树后,选择保证点数最多的路线。在偶数点上,随机选择

在15x15板上计算整个计算过程大约需要很长时间,但现在我要做的就是在3x3矩阵上计算。我将在数据库中存储前6-8个移动的最佳可能移动,以便现在必须再次重新计算它们,这将改变每个计算的复杂性,从24!到18


这一切都可行吗?我计算移动的方式有问题吗?有更好的方法吗?

机器学习应该通过消除许多最初结果不好的分支来大大减少计算时间。解决诸如3x3电路板之类的小问题可能需要更多的时间,但是当你开始在更大的电路板上测试你的算法时,它会更快(我不能肯定地说,如果不写出两种算法并尝试它们),因为它应该是t=log(n)函数的一些变体

例如,使用它基本上可以实现您的建议,计算一个大规模的决策树。然而,它将了解到一些动作(比如给对手一个盒子的动作)是不好的,并且不会浪费太多的时间来计算后续的动作


这可行吗?取决于您有多少自由处理时间。使用一个小网格,直到你编写了一个像样的人工智能算法,然后你可以运行一台机器,看着它自己学习。没有什么比看着你的创造物学到东西更令人满意的了。就像有了一个孩子。。。这个问题有一个非常大的搜索空间,对于4x4网格,我们有大约40条边,因此在搜索空间中有2^40个状态。由于这个原因,完全不可能解决整个游戏的一个更大的地图

解决方案是什么?首先,你可以看看巴克和科尔夫的作品。这是解决这类问题的最新技术(2012年,也许现在,我不确定)。他们将经典的Alpha-Beta剪枝算法与一系列特定于问题的解决方案相结合


您也可以尝试应用于该问题。我不知道这方面的工作,但蒙特卡罗已经被证明是成功的围棋游戏(这在某种意义上类似于你的问题)

哦,天哪。今天我太累了!:我已经修好了链接。检查它是否有效!请注意,2014年解决了5x5点和方框问题。根据littlegolem论坛上的这篇帖子,第一位玩家以13比12获胜: