基于Unity3D的遗传算法赛车游戏设计文献综述
2020-04-15 17:05:02
1.1人工智能及游戏人工智能的概念
人工智能(Artificial Intelligence),让机器能够拥有人的智能的一种技术。人是如何学习知识并将学到的知识运用到相应的问题当中去解决问题,是人类本身一直在研究的问题,若清楚该过程则可以将学习知识的方法告诉计算机,那么计算机就能够具有跟人类同样的智能,人工智能的初衷也就由此而来。
但目前人工智能的概念已经远不止这么简单,它也涵盖了各个领域,如机器学习、模式识别等[1],其中机器学习又与大数据和数据挖掘等概念紧密相关,模式识别又包括图像识别,语音识别等,因此人工智能涉及的领域已经十分庞大。
游戏人工智能的概念类似于目前十分火热的VR (虚拟现实),即让游戏玩家在玩游戏时能够有身临其境的感觉,让角色所处的环境尽可能真实,同时也要根据玩家的具体操作能够进行一定的决策,但与单纯的VR不同的是,游戏人工智能除了重视游戏本身设计的真实感外,也要重视游戏进行时的动态改变,如根据不同玩家的水平调整不同的游戏难度水平,避免游戏太过简单或太多复杂而使玩家失去兴趣,而VR仅仅注重玩家真实感的体验[2]。
1.2游戏人工智能的发展
游戏人工智能能够达到如今的高度则是经过众多科学家的共同努力以及不同学科融合的结果。首先是人工智能这一学科的诞生,1956年由美国著名的科学家麦卡锡联合了数十位来自不同领域科学家在会议上首次提出“人工智能”这个术语[3]。
此后人工智能技术不断完善和发展并逐渐应用到游戏领域,其中最具代表性的是早期人工智能在棋类游戏中的应用, 1997年,计算机发展初期,为了提高计算机的计算能力,美国研制出了超级计算机,在给计算机输入了象棋相关知识进行学习后,该计算机战胜了当时的象棋世界冠军,引起了巨大的轰动[4],此后人工智能开始受到游戏行业的青睐,逐步被应用到一些简单的游戏中,但也只是单纯的概率计算以及随机性的策略改变。八十年代以后,人工智能在游戏中的应用得到了蓬勃的发展,出现了一系列经典的游戏,如“吃豆人"(PaCMan), "Half-life”等。 2000年,甚至出现了智能学习游戏,引起了人们对游戏人工智能的极大关注[5]。2000年以后,游戏人工智能应用在游戏中的比例大幅增加,且不断有新兴的人工智能技术加入进来从而提升玩家的游戏体验。
规则是脆弱的,当情况稍稍超出规则定义的范围,规则就失效了。这是因为规则难以处理以下的一些情况:不确切或并行处理的行动;与时间直接相关的行动;位置的不确定;漏掉的、不精确的或不确定的观察资料。
总之,规则的制定需要设计者对游戏有足够的了解,要考虑到多个方面的情况,这对于开发者来说是一个几乎不可能完成的任务。而且一系列的规则又会带来上述的弊端,影响游戏的可玩性。替玩家做出有挑战性的游戏环境是游戏设计师的职责。事实上,游戏在开发时大部分都是平衡这个游戏世界。游戏必须让玩家觉得有足够的难度,既能调动玩家的兴趣又不使玩家受挫,有时候玩家会发现一些漏洞或窍门,也就是作弊。替不同技巧水平的玩家做出一个真正平衡又有挑战性的游戏,那是一项艰难的任务。所幸,遗传算法可以助我们一臂之力。
1.3 遗传算法简介
遗传算法GA(Genetic Algorithm)[6] 是20世纪60年代末到70年代初期提出的一个算法理论,是根据生物在自然界中复杂适应过程(适者生存,优胜劣汰)构造的模型。经过几十年的研究发展,遗传算法已形成了一个完整的理论方法,被广泛应用于众多领域[7] ,成为了人工智能研究的一个重要方向。
{title}2. 研究的基本内容与方案
{title}2.1 遗传算法原理
遗传算法是一个全局优化的自适应概率搜索算法。它将达尔文进化论的原理引入编码串集合中,通过对自然界中的繁殖、交叉和变异现象的模拟,在编码串群体间进行有规律的但又有一定随机性的信息交换。随着信息交换的进行,根据“优胜劣汰”的原则,适应性高的个体被保留下来并重新组合,进而产生新的个体,直至产生最优解。研究遗传算法的主要目的之一,就是将自然系统的机理运用到人工系统的设计中。
2.2 遗传算法的特点和步骤
遗传算法不依赖于问题的种类,是一个通用的框架。它作为一种自适应算法,具有较高的鲁棒性和内在的并行性,以及良好的收敛性。