在这个项目中,学生将探索如何使用不同的人工智能算法来驱动或玩各种类型的电脑游戏。他们将研究几个简单游戏的代码,看看电脑是如何玩这些游戏,如何根据人类玩家的选择提高自己的性能。最后,学生将用人工智能的角色或对象编写一个原始的游戏应用程序。
4. 活动2:介绍人工智能玩家如何在游戏中工作
在这个活动中,学生们考虑了各种类型的人工智能机器人和 npc,以及为什么游戏开发者会将它们整合到视频游戏中。
1. 让学生观看视频“ AI Playing Games # 12”,并阅读文章“Artificial Intelligence in Video Games.”。这些教学材料描述了人工智能在游戏中的各种用途。在学生观看和阅读时,让他们用图像式思考辅助工具写下他们所学到的关于电子游戏中使用的四种人工智能技术的知识。关键点包括:
(1)有限状态机(FSM)算法:
- FSM 是一种相对简单的人工智能算法,它的工作原理是一个有限的、特定的列表,列出了机器人或 NPC 在游戏中可能经历的所有事件。
- FSM 并不适用于所有的游戏,因为它提供了有限的游戏挑战。
- FSM 很容易智胜,因为它变得重复。
(2)蒙特卡罗树搜索(MCTS)算法:
- 在 MCTS 中,人工智能将所有可能的机器人动作可视化,然后基于这些动作,考虑人类会做出什么动作作为回应,以及人类可能做出什么动作作为回应。在权衡各种选择之后,它会做出最佳选择。
- MCTS 在许多战略博弈中得到了应用。
- 由于可视化总数的选项需要花费大量时间和计算,你可以编写人工智能随机在较小的选项中挑选,以优化速度。
(3)一个行为树算法:
- 行为树控制着决策的流程。它通过提问来工作,从第一个序列节点开始,然后通过一系列顺序决策;分支末尾的叶子是告诉机器人或 NPC 该做什么的命令。人工智能将继续沿着树继续前进,直到它失败或不符合标准,使它返回到原来的序列节点。当序列成功或失败时,它会将结果返回给所有可能序列的开始节点。
- 行为树允许机器人或 NPC 对环境中的线索或人类玩家的行为做出反应。
- 带有解锁新行为的线索的复杂行为树能创造一种错觉,即使没有使用神经网络,角色也在学习或适应。
(4)神经网络:
- 神经网络通过一系列输入节点和隐层节点处理信息,分析输入并产生输出。
- 机器人和 npc 的神经网络通常有一个明确的目标要实现,当它们试图实现这个目标时,通常会得到奖励或惩罚(例如,强化学习)。如果输出达到了预期的目标,人工智能就会成功并继续进行游戏中的下一个目标。
2. 讨论在更复杂的游戏中导致4种人工智能技术新的进化。
(1)这几种类型的人工智能技术有什么共同点?参考答案: 在所有类型中,人工智能不是随机而是基于特定的线索或条件做出决定的。
(2)FSM、MCTS、行为树这三者与神经网络有何不同?参考答案: 一个使用FSM,MCTS 和行为树的人工智能根据已经提供给它的选择或路径做出决定。使用神经网络或机器学习的人工智能可以随着时间的推移在任务中得到更好的训练,甚至可以用训练者想象不到的方式完成任务。
(3)这些技术在人工智能中是如何应用如何影响机器人或 NPC 在游戏中的复杂性?参考答案:FSM 是最简单的,角色只能做几件事。随着时间的推移,MCTS 可以处理数十亿或数万亿可能的游戏路径,并做出最佳的可能选择。行为树可以让玩家产生向玩家学习的错觉,提供更真实的体验。神经网络不仅允许最大的可能性的复杂性和现实性,同时也采取最努力的训练,以期望的方式行动。
3.学生在游戏中能识别出这四种类型的人工智能的特征后,分组让学生识别或研究四种类型的人工智能机器人或 npc 的例子。
参考答案:FSM驱动的机器人或角色:Pac-Man 中的鬼魂;DOOM 中的恶魔;Minecraft 中的爬行者、僵尸和蜘蛛;Pokemon 中的健身房领导。 MCTS驱动的机器人或角色:数字国际象棋、扑克、围棋或文明中的计算机玩家。行为树驱动的机器人或角色:魔兽世界或无尽任务中的 NPC;《异形: 隔离》中的外星人;《光晕2》、《哭泣4》和《生化奇兵无限》中的电脑玩家。神经网络驱动的机器人或角色:TD-gammon; DeepMind 的 AlphaStar 玩《星际争霸2》;IBM 的沃森玩《危险边缘》;Mar-IO玩《超级马里奥兄弟》。注意:神经网络驱动的机器人或角色还不常见,因为需要为数千或数百万人工智能玩家收集和分析的数据将是巨大的,但随着云处理和存储变得更快、更便宜,这在未来可能不会成为一个限制因素。
4.选做:让学生知道人工智能在游戏中的应用正在快速发展。将学生分成几个小组,每个小组进行快速的讨论,在下面主题中选择一个,找出5-10个揭示人工智能在游戏中新兴用途的事实,并让各小组分享他们学到的东西。
(1)使用机器学习来模仿人类游戏风格的AI机器人,如FIFA或Madden游戏 (可用资源:“AI for FIFA and Madden Games Is about to Get a Whole Lot Better”。)
(2)使用机器学习的人工智能机器人,通过主动向人类玩家学习,在游戏中变得更好。(可用资源:QuickDraw)
(3)好奇心驱动的人工智能机器人,如玩超级马里奥兄弟的机器人(可用资源:"Curiosity-Driven Learning: AI agents exploring without looking at any scores”)
(4)其他人工智能驱动的机器人或NPC主题。