跳至内容

静态与动态环境

Schola 提供两种用于强化学习的环境:静态动态。这些环境在代理和训练器的管理方式上有所不同,其中静态环境

静态环境

静态环境专为代理和训练器预定义且在模拟过程中不动态更改的场景而设计。这些环境更僵化,适用于环境结构保持不变的用例。要创建静态环境,您可以使用 AStaticScholaEnvironment 类,它是 AbstractScholaEnvironment 的子类。

主要区别

  • 代理注册:代理使用由 AbstractTrainer 控制的 AActor 指针进行注册。此方法由子类实现。

动态环境

动态环境专为在模拟过程中可以创建、修改或移除代理和训练器的场景而设计。这些环境更灵活,适用于环境结构随时间演变的用例。例如,一个僵尸游戏,其中有可变数量的僵尸在游戏中生成。要创建动态环境,您可以使用 DynamicScholaEnvironment 类,它是 AbstractScholaEnvironment 的子类。

主要区别

  • 代理注册:代理使用一对 UClass 对象进行注册,一个继承自 AbstractTrainer,另一个继承自 Pawn (Object Reference)。此方法可以在蓝图中重写。

  • 代理生成:可以使用 SpawnAgent 方法生成代理。这允许更复杂和自适应的环境,其中可以根据模拟的需求添加或移除代理。

© . This site is unofficial and not affiliated with AMD.