摘要:本文介绍了一项旨在为兵棋类模拟开发基于AI的强大人工对手的项目。本文提供了两种方法。第一种方法主要基于对制定可靠战术所必需的复杂知识进行渐进式主动学习方法,但这需要对该领域知识有深入了解的高水平教练。
第二种方法是尝试将整个军队各层级的决策制定过程建模为某种形式的复杂的知识密集型问题解决过程。后续工作将研究综合运用上述方法的可能性,以及其他方法,例如基于案例的推理等。
目的
本项目的目的是在计算机兵棋尝试一系列AI方法,这些兵棋以一定的历史真实感模拟了前几个世纪的军事战术。我们的主要动机是检验并改进这些AI技术。而在此过程中,一些兵棋也可以获得高质量的人工对手。
战略兵棋与国际象棋
到目前为止,我们的研究将重点放在非常成熟的模拟拿破仑时期重要战斗的商业兵棋上。这款兵棋有非常强大的对阵员社区,因此当我们的系统准备就绪时,我们可以邀请一些外部专家对其进行测试。此外,在研究的第一阶段,为检验一些想法,特别是SOAR的使用,我们还使用了另一款由UPMC学员设计的相对简单的兵棋,该兵棋在许多方面与拿破仑兵棋相似,但侧重于中世纪战术。
我们不打算详细讨论这两款兵棋的规则,而是通过强调它们与经典国际象棋的差异性来说明兵棋的基本理念。和国际象棋一样,每个对阵员在冲突中推演一方。战场用棋盘表示。对阵员根据一系列规则在棋盘上移动棋子,轮流进行推演。与国际象棋相比,没处差异都可被视作复杂性的增加。
我们使用的兵棋棋盘由六角格覆盖而非正方形。这使得机动模式更加复杂(每个位置有六个邻居)。更重要地,国际象棋棋盘上只有64个方格,而我们使用的兵棋中包含数千个六角格。
每个六角格除了位置外,还由一系列参数定义,例如地形类型(森林、平原。。。)、海拔高度等,这些参数反过来会影响单位的机动或战斗能力。
每个单位都有若干特点,这会影响其机动、战斗能力以及质量、疲劳和组织等。其中一些特征(例如单位配置),可被视作影响单位能力(机动或战斗等)的单位参数。
单位按级别组织(例如、军、军团、师、旅等)。根据军队凝聚力要求,属于同一级别的单位互相战斗。每个回合分为若干阶段,每个阶段分配不同活动类型,例如机动、远程射击等。
战斗本身的建模相对复杂:包括远程射击(步兵使用滑膛枪或者火炮从远处射击)和近战(徒手格斗)。战斗解决方法需要考虑许多参数,包括各方的规模、素质、状态和疲劳度等。它还包含随机因素,因此结果几乎永远无法保证。
在特定时间内得分最高的一方获演胜。攻占(或成功防守)重要位置,以及使敌方单位失去战斗力,即可获得分数。
从计算视角来开,我兵棋与国际象棋更显著的差异在于,各回合每个单位都可以活动。这与国际象棋截然不同,在国际象棋中各方选择一枚独特的棋子移动。这最终导致兵棋的复杂性大大增加。
如果有p个单位,每个单位可能采取m种行动,则国际象棋来的分支因素是p.m,而兵棋是mp。除了爆炸性的复杂性,这种不同的设置方式具有以下优势:让模拟更接近历史,或者更接近于人类代理的模拟。军队单位确实在战场上以相似方式机动,因此如果担心历史合理性,那么顺序行动(如国际象棋)是不可能的。
因此,我们可以设想通过盲搜方法将国际象棋下到一定水平,当该方法对于兵棋而言是难以想象的,因为在m=20,p=100的情况下,即使得出下一回合的所有可能状态都是不可能的。因此与国际象棋相比,对于大多数真正的人工智能问题来说,一切都取决于系统学习的或者为系统提供的知识的质量。
主动学习方法
我们尝试的第一种方法是对背景知识要求最低的方法。我们的想法是从模拟小规模对抗实现简单目标开始,以便个体单位学习一些基本知识,然后循序渐进,通过模拟更复杂的态势学习更加复杂的知识。我们的第一种学习方法是基于基因的规则库学习。
我们尝试了不同设置,一些仅使用基本的感知信息(除了单位目标,还有周围环境的信息,包括敌方单位的存在),一些则以基因代码方式体现了一些中间概念,比如观察到的当地兵力比(直接体现威胁概念)。在这些初始阶段完成之后,可通过让单位在更大的编队内在复杂性不断增加的“指导性想定中”发挥作用来获取新的规则集。
这一方法令人非常振奋,因为它最有可能产生意想不到的结果(因为它很少因为我们的经验--针对特定态势采取哪种战略更合适,产生偏见)。出其不意可能是我们系统显示的某种形式的战略创造力的结果,也可能意味着推演规则不切实际,或者我们的方法与其它人工或人为方法相比,更能发现这些规则中的漏洞。
这种渐进式分类系统学习方法,可能会增大知识库最终趋同的可能性。当然在现阶段就断言它们会趋同还为时过早。设计合适的训练方案,逐步增加复杂性让系统从学习基本概念和战术开始,然后逐渐学习更高级的战略存在一定的困难。实验初步表明,这一阶段本身就需要深入了解一些兵棋知识。
因此,尽管该学习方法在最初看起来似乎对背景知识的要求不高(在许多方面的确如此),但是看起来,“知识密集型”方法在建模和知识开发阶段吸取的所有经验教训,都能让主动学习方法获益匪浅。
知识密集型方法
此外,我们通过在SOAR框架内引出相关知识来应用知识密集型方法。多年来的实践证明,SOAR是一种在动态环境内体现并使用复杂知识的可靠框架。继应用于一些军事模拟和规划中之后,该框架已经成功应用于大量计算机推演中。
该方法的难点是如何为知识库设定良好的角色以及如何选择相关中间概念。同时,充分利用SOAR内的分块学习能力尤为重要,因为最初的直觉,当前的系统因其学习能力受限。
我们可以将各单位视作不同代理。事实上兵棋让对阵员像指挥官一样(在当前态势范围内)决定各单位(如步兵营、骑兵中队等)的行动。但是,各单位指挥官只有在上级指挥官(师、军团、集团军级别)制定的全球战略背景下解决行动问题才有意义。
因此信息流是双向的:一方面它是上行的(下级指挥官报告观察到的情况,报告行动的成功/失败)。而另一方面它又是下行的,战略被选择,命令被下达解读并尽可能执行(有时需一定调整)。
观察发现这种分层信息流与SOAR中目标和操作符的组织方式很相似。也就是说,当前的设计方案是,将整个军队当作一个复杂的问题解决代理,其大部分层级结构可通过SOAR操作符的等级体现。
由于这种选择,我们决定在在同一单位类型之间共享知识库库,也就是只能按单位类型进行学习,个体单位无法学习。当然,单位组织层次中的每一级都可独立于上一级或下一级进行学习。同时,兵棋还有一个专门指导模式,在这种模式下如果当前知识库内容不充分或者有待提高,用户可以向程序提供行动方案建议。
后续研究
在后续研究中,我们希望在兵棋中采用一些懒惰学习形式。就对背景知识的要求而言,该方法可能介于主动学习和知识密集型方法之间。基于案例的推理需要一些与案例表征、案例库组织、案例检索相似度度量以及战略调整选择相关的知识。因此与基于基因的学习方法相比,这种方法需要更多的知识,但又低于知识密集型方法。
该方法的优势在于可以提出利用过去获得成功的一整套行动方,解决潜在的态势问题。不同组织层级需要不同的案例库,案例相似性计算要考虑的一个重要元素是单位目标之间的相似性,因为态势(地理和环境)之间的相似性还不足以激发案例的检索。
除了实验更多方法,后续研究会将最有希望的方法整合到一体化系统中,以便利用最适合当前态势的技术。因为我们应用的所有技术都依赖一些学习要素,因此有必要通过一些形式的实验,让系统与自己高速对抗,从而达到某种基本性能水平。
对于主动学习方法,可以让系统与知识密集型方法对抗(即使刚开始是其知识库很简单)。我们的想法是,主动学习方法将以随机对阵员的身份开始(在学习到任何知识之前),这样在与自己的对抗中就不会有太大进步。此外,利用知识密集型方法获取知识,有助于为渐进式主动学习方法设计更好的指导方案。
审核编辑:黄飞
-
AI
+关注
关注
87文章
28751浏览量
266017
原文标题:如何利用AI方法为兵棋制定战略
文章出处:【微信号:AI智胜未来,微信公众号:AI智胜未来】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
NVIDIA RTX AI套件简化AI驱动的应用开发
AI模拟器
英伟达Cosmos AI项目曝光:构建先进视频模型
![](https://file1.elecfans.com/web2/M00/FD/AB/wKgZomad_yCAJVpTAAXNTMgrg94953.png)
谷歌推出旗下AI智能体管理项目Project Oscar
揭秘NVIDIA AI Workbench 如何助力应用开发
![揭秘NVIDIA <b class='flag-5'>AI</b> Workbench 如何助力应用<b class='flag-5'>开发</b>](https://file1.elecfans.com/web2/M00/FB/BB/wKgaomaOaQOAZtXgAAAT5UktnkQ592.png)
ai开发需要什么配置
深兰AI数字伙伴项目入选“AI Partner·2024 AI应用标杆案例”
![深兰<b class='flag-5'>AI</b>数字伙伴<b class='flag-5'>项目</b>入选“<b class='flag-5'>AI</b> Partner·2024 <b class='flag-5'>AI</b>应用标杆案例”](https://file1.elecfans.com/web2/M00/E9/1D/wKgaomZOq8aAHVZoAAAEFggxd1c337.jpg)
开发者手机 AI - 目标识别 demo
Sudachi模拟器项目启动,Yuzu开发者将涉足多平台任天堂Switch开发
新闻快讯 | 瑞萨推出基于云的开发环境,以加速车用AI软件的开发与评估
![新闻快讯 | 瑞萨推出基于云的<b class='flag-5'>开发</b>环境,以加速车用<b class='flag-5'>AI</b>软件的<b class='flag-5'>开发</b>与评估](https://file1.elecfans.com//web2/M00/B7/6D/wKgZomV8CweATWJ2AABMcXsjlG8362.gif)
评论