游戏人工智能期末试卷考什么重点?

99ANYc3cd6 人工智能 4

《游戏人工智能》期末考试试卷

考试时间: 120分钟 总分: 100分 考试形式: 闭卷

游戏人工智能期末试卷考什么重点?-第1张图片-广州国自机器人
(图片来源网络,侵删)

单项选择题(每题2分,共20分)

  1. 以下哪项是游戏AI设计的核心目标? A. 让AI玩家战胜人类玩家 B. 创造一个具有挑战性但公平且有趣的对手 C. 使用最复杂的算法 D. 模拟真实世界100%的物理规律

  2. 在游戏AI中,“状态机”(State Machine)最常用于解决什么问题? A. 路径规划 B. 角色行为逻辑和决策 C. 群体行为模拟 D. 环境光照计算

  3. A*算法是一种常用的寻路算法,其评估函数 f(n) = g(n) + h(n) 中,h(n) 代表什么? A. 从起点到节点 n 的实际移动代价 B. 从节点 n 到终点的预估移动代价(启发式函数) C. 从起点到终点的总代价 D. 节点 n 的权重

  4. 以下哪个寻路算法最适合处理动态变化的地图,如被玩家临时摧毁的墙壁? A. Dijkstra算法 B. A算法 C. D Lite算法 D. 流场寻路

    游戏人工智能期末试卷考什么重点?-第2张图片-广州国自机器人
    (图片来源网络,侵删)
  5. “行为树”(Behavior Tree)相比传统状态机的最大优势是什么? A. 代码执行速度更快 B. 能够更直观地处理复杂、嵌套的决策逻辑 C. 不需要任何编程知识 D. 只能用于简单的行为控制

  6. 在行为树中,Selector(选择器)节点的执行逻辑是? A. 按顺序执行所有子节点,直到有一个成功 B. 按顺序执行所有子节点,直到有一个失败 C. 随机选择一个子节点执行 D. 并行执行所有子节点

  7. “模糊逻辑”(Fuzzy Logic)被引入游戏AI的主要目的是? A. 提高计算性能 B. 处理不确定性和模糊的输入,使AI决策更人性化 C. 替代所有其他AI技术 D. 用于图形渲染

  8. 以下哪种技术不属于“群体智能”(Swarm Intelligence)的范畴? A. 鸟群飞行模拟 B. 蚁群觅食算法 C. 遗传算法 D. 粒子系统

    游戏人工智能期末试卷考什么重点?-第3张图片-广州国自机器人
    (图片来源网络,侵删)
  9. 在《Last of Us》等游戏中,AI敌人会根据玩家的行为(如潜行、突袭、呼叫援军)动态调整其战术,这种AI技术最接近于? A. 静态状态机 B. 目标导向行动 C. 纯粹的随机行为 D. 脚本事件

  10. 以下哪项是游戏AI设计师在进行AI设计时最不需要考虑的因素? A. 性能开销 B. 玩家的游戏体验 C. 算法的学术创新性 D. 游戏的类型和风格


判断题(每题2分,共10分)

  1. 游戏AI的目标永远是模拟真实世界的智能,即使这会让游戏变得无趣。( 错误
  2. A*算法在启发式函数 h(n) 满足“可接纳性”(即 h(n) 永远不大于实际代价)时,能保证找到最短路径。( 正确
  3. 行为树的节点一旦被选中执行,就必须执行完毕,不能中途停止。( 错误
  4. 在《F.E.A.R.》中,敌人的AI能够利用掩体、协同作战,这主要得益于其出色的行为树和目标导向行动系统。( 正确
  5. 强化学习是一种让AI通过“试错”与环境交互来学习最优策略的方法,非常适合用于训练游戏中的非玩家角色。( 正确

简答题(每题10分,共30分)

  1. 请解释“游戏AI的幻觉”(The Illusion of Intelligence)这一概念,并举例说明游戏开发者是如何利用“作弊”或“捷径”来创造这种幻觉的。

    参考答案: “游戏AI的幻觉”指的是AI系统并不需要拥有真正的、通用的人工智能,只需要在玩家感知的范围内表现得足够智能、有目的性和不可预测即可,其核心是“在特定情境下,让玩家相信AI是聪明的”,而非追求全局最优。

    开发者常用的“作弊”或捷径包括:

    • 信息优势: AI可以“看到”或“听到”玩家,即使没有物理上的视线或声音连接,在《使命召唤》中,敌人有时会立即知道玩家的位置,即使玩家在背后。
    • 反应速度: AI的反应速度可以超越人类极限,实现瞬间瞄准和射击,以弥补其策略上的不足。
    • 完美信息: AI可以知道玩家的所有状态(如生命值、弹药、装备),从而做出针对性决策。
    • 非物理移动: AI可以瞬间传送到有利位置,或者无视某些物理规则,以实现战术目标。
    • 资源优势: AI可以拥有无限的弹药或资源,使其行为更具持续性。
  2. 请详细描述行为树中三种最核心的节点类型:Composite(复合节点)、Decorator(装饰器节点)和Leaf(叶子节点)的功能,并各举一个例子。

    参考答案:

    • Composite(复合节点): 作为控制流节点,管理其子节点的执行顺序和方式,它们不执行具体行为,只决定逻辑。
      • 例子 - Selector(选择器): 按顺序执行其子节点,只要有一个子节点返回成功,Selector就返回成功并停止执行,如果所有子节点都失败,才返回失败,常用于“尝试多种可能”的场景,如“看到敌人 -> 攻击,否则看到弹药 -> 拾取,否则巡逻”。
    • Decorator(装饰器节点): 包裹在单个子节点外部,用于修改该子节点的返回结果或执行方式,它们是“一元”节点。
      • 例子 - Inverter(反转器): 将其子节点的返回结果取反,如果子节点返回成功,它返回失败;如果子节点返回失败,它返回成功,常用于“如果满足条件则执行”的场景,如“如果没有在冷却时间,则使用技能”。
    • Leaf(叶子节点): 行为树的“叶子”,是执行具体操作或进行条件判断的节点,它们没有子节点。
      • 例子 - Action(行动节点): 执行一个具体动作,如“播放攻击动画”、“移动到指定位置”、“开火”等,它会返回执行成功或失败。
      • 例子 - Condition(条件节点): 检查一个布尔条件,如“敌人是否在视野内?”、“生命值是否低于20%?”,它返回成功或失败。
  3. 试比较“状态机”和“行为树”在游戏AI设计中的优缺点。

    参考答案: 状态机:

    • 优点:
      • 概念简单直观: 状态和转换的模型非常容易理解和实现。
      • 调试方便: 状态和转换关系清晰,易于追踪AI的行为流程。
      • 适合简单、明确的行为: 对于只有几个状态的AI(如巡逻、警戒、追击、攻击),状态机非常高效。
    • 缺点:
      • 状态爆炸: 当行为逻辑变得复杂时,状态数量会急剧增加,状态之间的转换关系会变得异常复杂,难以管理和维护(“状态爆炸”问题)。
      • 代码耦合度高: 每个状态通常包含大量的逻辑代码,修改一个状态可能会影响其他状态。
      • 扩展性差: 添加新行为或修改现有行为通常需要创建新的状态或修改现有转换,灵活性不足。

    行为树:

    • 优点:
      • 模块化与重用: 节点是独立的模块,可以在不同的行为树中重用,大大提高了开发效率。
      • 逻辑清晰,易于扩展: 通过组合不同的节点,可以构建出复杂的行为逻辑,而不会像状态机那样陷入混乱,添加新功能只需添加新节点或组合现有节点。
      • 数据驱动: 行为树的结构(特别是叶子节点的参数)通常可以通过数据文件配置,无需重新编译代码,便于设计师和程序员协作。
    • 缺点:
      • 学习曲线: 对于初学者,理解行为树的执行流程和节点组合方式可能比状态机更难。
      • 调试复杂性: 复杂的行为树可能难以调试,因为一个行为是多个节点共同作用的结果。
      • 潜在的性能开销: 每一帧都需要从根节点开始遍历树,对于极其庞大的树可能会有轻微的性能开销,但现代引擎已优化得很好。

分析与设计题(共40分)

背景: 你正在为一款第三人称射击游戏设计一个名为“掠夺者”的精英敌人AI,这个AI需要表现出以下能力:

  1. 在没有发现玩家时,它会定期在巡逻路线上巡逻。
  2. 当它发现玩家后,它会进入警戒状态,并尝试呼叫增援。
  3. 在警戒状态下,它会利用掩体躲避玩家的攻击,并伺机反击。
  4. 如果玩家距离很近,它会放弃掩体,进行近战攻击。
  5. 如果玩家的生命值很低,它会优先使用一种特殊的“终结”技能。
  6. 如果长时间没有找到玩家,它会放弃搜索,返回巡逻状态。

请根据以上需求,完成以下任务:

  1. (15分)绘制一个简化的状态机图,用于描述“掠夺者”AI的主要行为状态转换,请标明每个状态和触发状态转换的条件。

    参考答案: 状态机图应包含以下状态和转换:

    • 状态: 巡逻、警戒、追击、近战、终结、呼叫增援。
    • 转换:
      • 巡警 -> 警戒条件:发现玩家。
      • 警戒 -> 追击条件:玩家距离中等,且呼叫增援成功/失败后。
      • 警戒 -> 近战条件:玩家距离很近。
      • 警戒 -> 终结条件:玩家生命值很低。
      • 警戒 -> 呼叫增援条件:发现玩家且满足呼叫增援的条件(如血量健康)。
      • 警戒 -> 巡逻条件:长时间未发现玩家。
      • 追击 -> 警戒条件:失去玩家视线或玩家进入掩体。
      • 追击 -> 近战条件:玩家距离很近。
      • 近战 -> 追击条件:玩家与拉开距离。
      • 终结 -> 巡逻条件:终结技能执行完毕(无论成功与否)。
      • (其他可能的转换也应根据逻辑补充)
  2. (25分)设计一个简化版的行为树片段,用于实现“掠夺者”AI在警戒状态下的核心逻辑(呼叫增援、利用掩体、反击、近战攻击),请使用 Selector, Sequence, Condition, Action 等节点类型,并清晰地标注每个节点的功能。

    参考答案: 这是一个典型的警戒状态行为树,顶层是一个 Selector,表示AI会尝试多种可能性。

    [Root: Selector]
        |
        +-- [Sequence: 终结判定]
        |    |
        |    +-- [Condition: 玩家生命值 < 20%?]
        |    |
        |    +-- [Action: 执行终结技能]
        |
        +-- [Sequence: 近战攻击]
        |    |
        |    +-- [Condition: 玩家距离 < 2米?]
        |    |
        |    +-- [Action: 冲向玩家并进行近战攻击]
        |
        +-- [Sequence: 掩体与反击]
        |    |
        |    +-- [Condition: 玩家是否在视野内?]
        |    |
        |    +-- [Selector: 行动选择]
        |         |
        |         +-- [Sequence: 利用掩体]
        |         |    |
        |         |    +-- [Action: 寻找最近的掩体]
        |         |    |
        |         |    +-- [Action: 移动到掩体后方]
        |         |
        |         +-- [Sequence: 伺机反击]
        |              |
        |              +-- [Condition: 玩家是否开火/暴露位置?]
        |              |
        |              +-- [Action: 瞄准并射击]
        |
        +-- [Sequence: 呼叫增援]
    |    |
    |    +-- [Condition: 我方增援是否可用?]
    |    |
    |    +-- [Action: 呼叫增援]

    逻辑解释:

    • 顶层Selector: AI会依次尝试四个行为序列,一旦其中一个序列成功执行,本轮循环结束。
    • 终结判定: 优先级最高,如果满足条件,立即执行终结技能。
    • 近战攻击: 如果玩家靠得很近,放弃远程交战,直接进行近战。
    • 掩体与反击: 如果玩家在视野内但距离较远,这是一个Selector,AI会选择是先找掩体还是直接反击。寻掩体序列会先找掩体再移动,伺机反击序列会等待玩家露出破绽。
    • 呼叫增援: 如果以上都不满足(比如玩家在掩体后,AI找不到机会),AI可能会呼叫增援来改变局势。

标签: 游戏人工智能期末考试重点 游戏AI期末复习重点 游戏人工智能考点总结

抱歉,评论功能暂时关闭!