Overcooked-AI:人机协作的烹饪挑战
项目介绍 🥘
Overcooked-AI 是一个基于热门视频游戏 Overcooked 的完全合作人机任务性能基准环境。游戏的目的是尽快交付汤品。每份汤需要将最多3种食材放入锅中,等待汤煮好,然后由一个代理拿起汤并交付。代理需要在任务中动态分配任务并有效协调,以获得高奖励。
你可以在这里 尝试游戏(与一些预先训练的深度强化学习代理一起玩)。如果你想使用自己训练的代理,或者收集更多的人机或人人数据,可以使用 这里的代码。你还可以找到已经收集的人人及人机游戏数据 这里。
项目技术分析 🔍
Overcooked-AI 的核心技术包括:
- 深度强化学习 (DRL):项目中包含了与环境兼容的DRL实现,位于
src/human_aware_rl
目录下。 - 环境建模:
overcooked_mdp.py
和overcooked_env.py
提供了游戏的主要逻辑和环境类。 - 规划与搜索:
planners.py
和search.py
提供了近似最优的代理规划逻辑和A*搜索算法。 - 数据处理:
human/
目录下的脚本用于处理人类数据,以便DRL算法使用。
项目及技术应用场景 🌍
Overcooked-AI 适用于以下场景:
- 人机协作研究:通过模拟复杂的协作任务,研究人员可以测试和改进人机协作算法。
- 多智能体系统:项目中的多智能体系统可以用于研究智能体之间的协作和任务分配。
- 强化学习训练:开发者可以使用该项目来训练和评估强化学习代理,特别是在需要复杂协作的任务中。
项目特点 🌟
- 丰富的布局:项目提供了多种布局,并且可以轻松地硬编码或通过程序生成新的布局。
- 易于使用:项目提供了从PyPI安装的预编译轮文件,也可以从源代码构建,方便开发者快速上手。
- 全面的测试:项目包含了全面的单元测试,确保代码的稳定性和可靠性。
- 可视化支持:项目提供了Python可视化工具,帮助开发者直观地查看代理的行为和游戏状态。
通过 Overcooked-AI,开发者可以深入研究人机协作和多智能体系统,同时也可以利用该项目进行强化学习的训练和评估。无论你是研究人员还是开发者,Overcooked-AI 都是一个值得尝试的开源项目。