基于强化学习的坦克大战对弈策略设计与实现文献综述
2020-04-14 20:08:37
21世纪是游戏行业蓬勃发展、迅速壮大的时代,随着移动智能终端的普及、移动网络带宽及稳定性的大幅提高,手机成为人们日常生活不可或缺的物品,手机游戏的市场占有率逐年稳步上升,手机游戏行业的发展热火朝天,游戏种类琳琅满目[1],小型的对弈类游戏,例如:象棋游戏,坦克大战等,因其能让游戏者在短暂空闲时间片段内便能体验游戏乐趣,更因其益智性拥有大量的受众。
《坦克大战》是1985年日本南宫梦Namco游戏公司在任天堂FC平台上推出的一款多方位平面射击游戏。游戏以坦克大战及保卫基地为主题,属于策略型联机类游戏[2]。传统FC上的游戏只是单一的进行人机对战[3],即使是升级后坦克大战,游戏中AI坦克的行为都是基于A*算法[4]或者BFS算法[4],然而,无论是哪种算法,都是典型的盲目式搜索算法。AI坦克的行为是基于随机决策或者传统的预定义行为决策决定的,致使随着玩家体验游戏次数的增多,就可能清晰地认识到游戏中非玩家角色的大致行为模式,这样极大地降低了玩家的参与性,使玩家丧失继续体验游戏的兴趣[2]。
因此,本研究结合相关的理论研究,提出了研究的重点,即能否使非玩家角色拥有人类的思维模式,使其通过感知虚拟游戏环境的变化与自身状态的详细信息,制定行为决策和规划,指导自身的自适应行为,进而增加游戏的真实体验,牢牢地吸引玩家的注意力[2],即采取强化学习的方法使非用户智能体具有学习能力,“顺势而变”,提高游戏的趣味性。
强化学习的基本思想是智能体( Agent) 在与环境交互的过程中根据环境反馈得到的奖励不断调整自身的策略以实现最佳决策,主要用来解决决策优化类的问题[5]。
强化学习的研究历史:1956年Bellman提出了动态规划方法[6]、1977年Werbos提出只适应动态规划算法[7]、1988年Sutton提出时间差分算法[6]、1992年Watkins 提出Q-learning 算法[8]、1994年Rummery 提出Saras算法[9]、2014年Silver提出确定性策略梯度(Policy Gradient)算法[10]、2015年Google的Deepmind 提出Deep-Q-Network算法[11]。
目前强化学习主要应用于汽车无人自动驾驶、模拟人类玩视频游戏、模拟人类玩棋牌类博弈游戏等方面。(1)汽车自动无人驾驶。为了保护车上乘车人员的生命安全,无人自动驾驶技术正在快速发展,各个大公司都在汽车无人自动驾驶上面投入了大量的人力物力。比如,百度公司成立“百度研究所”,针对汽车无人驾驶研发了“阿波罗”无人驾驶系统[12]。但是该项技术还没有真正的商用。(2)围棋等博弈类游戏。在博弈类游戏中使用机器学习算法训练的程序最早的是TD-gammon[13],它是使用强化学习算法训练的西洋双陆棋系统,它仅仅是通过自己与自己下棋就达到了人类专家的水品。后来,IBM公司在1997年开发的深蓝象棋程序[14],经过了六场对决,最终以两胜一负三平的战绩战胜了当时的象棋世界冠军。在2015年,Facebook公司的人工智能部门开发出了计算机围棋程序Dark Forest[15],该程序出来表现出与专业人士相似的下棋风格之外,还具有了超越职业棋手的实例。而2016年的三月份,谷歌公司的人工智能团队Deep Mind带着他们的围棋程序AlphaGo[16]与世界排名前列的李世石对弈,最终以4:1战胜了人类。2017年DeepMind团队带着升级版的围棋程序AlphaGo Zore[17]与世界排名第一发棋手柯洁对弈,最终以3:0取得胜利。(3)视频游戏等。目前成功的应用是谷歌的Deep Mind团队提出的深度Q网络[18],该团队在Atari游戏模拟环境中的49个游戏中使用DQN,发现他们构造的游戏代理(Agent)在大部分游戏中的得分都超过了人类玩家[19]。
本研究主要实现坦克大战游戏app,在此基础上选取合适的强化学习算法使非用户智能体能够根据与环境的交互自主学习,指导自身的自适应行为,提高游戏的趣味性,牢牢抓住用户。
{title}
2. 研究的基本内容与方案
{title}基本内容:
1)坦克大战APP的设计与开发。该款APP可供用户控制己方坦克进行上、下、左、右四种方式的移动,在有障碍物或者地图边界的地方坦克某一个或某些方位的移动会受到限制,用户还可以控制己方坦克射出子弹攻击AI坦克。同样,AI坦克也可进行上述移动并主动攻击用户坦克。
2)将基于强化学习算法的设计策略用于坦克大战中的人机对弈。在最开始的对弈中,可以设计AI坦克以固定或者随机的方式在地图上游走和射击,之后,便在选择的强化学习算法,例如:Q-Learning算法的指导下开始与环境进行交互,在不断“试错”中学习,提高自身的战斗力。