人工智能五子棋游戏——(1)使用工具及算法介绍

人工智能算法的人机游戏的设计与实现主要分为前端和后端两部分。 前端界面设计需要采用HTML5与CSS技术和JavaScript技术,包括其jQuery库采用JavaScript内部代码设计。使用HBuilder软件设计前端部分,采用Visual Studio Code编写内部算法代码。

Visual Studio Code软件介绍

VS Code是一个用于编写现代 Web 和云应用程序的多个平台可共用的源代码编辑器。VS Code的功能丰富,编辑器是一款功能强大的编程工具,支持多种语言和文件格式的编写能力。并且容易上手,对HTML、CSS3、JavaScript等不同语言的良好支持。在计算机上,VS Code易于安装而且易于使用。支持不同的浏览器,同时也还支持代码复制、代码调试、自定义功能等。主要负责用户界面设计和开发。基本界面如下

HBuilder软件介绍

HBuilder是支持HTML5的Web开发IDE,其由是DCloud推出。快速、准确是HBuilder很大的优势,比较完整的语法提示、代码入口方式、代码块等,也同样提高了HTML、JS、css的开发效率。

 

 

内层算法简介

极大极小值搜索算法简介

为了让计算机选择最适合自己的游戏,它必须能够确定哪种情况最适合它。但是,往往很难对形势做出准确的估计,尤其是在棋局刚刚开始的时候,棋盘上的形势并不清楚,甚至专家也不知道如何做出准确的估计。为了判断哪个游戏最有用,我们经常要倒数几步,看看走几步后的情况如何。这就是所谓的“多赢”,意思是看得更远的人获胜。这种思维方式适用于计算机。正如我们之前所说,一盘棋的不断倒计时形成了一个博弈树。“多次获胜”的思路就是博弈树搜索过程,也就是博弈树的minimix搜索算法。

在讨论过程中,假设有两名参与者,甲方和乙方。甲方可以被认为是一台电脑,而乙方是对手。我们的工作是为第一方找到最好的交易。在博弈树中,假设甲方先下棋,然后两名棋手轮流下棋。因此,奇深度节点对应甲方的如下情况,即轮到乙方选择下一步时,称为最小节点。当轮到甲方选择下一步时,相同深度的节点称为最大节点。

人们不可能利用博弈树的所有可能性。事实上,可以看出问题的变化要经过一个从特定情况派生的minmax树。这段话可以用第一次深度搜索来处理。在搜索过程中,当前路径中的每个节点都存储了当前搜索的最优值。搜索是使用递归函数执行的,该函数计算节点的最佳值。每次节点接收到子节点重置值时,它都会从当前最佳值中选择一个更好的值,并返回一个返回值作为当前最佳值。在检索到一个节点的所有子节点之后,该节点的当前最优值就是该节点的实际最优值,即该节点当前返回到其主节点的得分。

在计算机游戏中,玩家反过来通过传输生成器在当前游戏板上生成所有合法动作。但如何

因此,要在这些合法运动中找到最佳运动,您需要使用搜索算法。搜索算法通常使用人类的“多重赔率”思想来搜索最优运动。 “多次获胜”的理念是指人们在寻找每个阶段的最佳动作时,需要评估不同动作所创造的情境状态,以反映动作的质量。情况的利弊。但是,根据当前的迁移情况,往往很难对一种情况的优劣做出准确的评估,因此通常需要回顾几个步骤,分析每一种情况向后发展的状态。对情况进行更详细的评估,通常称为

“赢得更多机会”。能看的“越远”,可能性就会变的更大。在计算机上,这种使用搜索算法从上到下搜索博弈树可以模拟人类的思维,并评估感知情况的状态,以找到最大化博弈的运动点。自己的利益。因此,搜索算法对人工智能比较重要。算法结构如图

 

 

 

静态估值算法简介

上面提到的博弈树搜索算法假设最后一个叶子节点的静态评估函数是绝对可靠的,并且每次都是基于估计值。当错误沿路径传播时,下层节点发生错误时,可能会在上层节点做出决策时导致严重错误,并且无法纠正此错误。直接影响到计算机下棋“智能”的是考核功能设计的好坏。

 

posted @ 2023-02-19 15:53  来杯明前奶绿  阅读(284)  评论(0编辑  收藏  举报