用有限的预知屏蔽 Atari 游戏
项目描述
有限的预知
此 repo 包含Mirco Giacobbe、Hosein Hasanbeig、Hjalmar Wijk 和 Daniel Kroening的论文 Shielding Atari Games with Bounded Prescience ( https://arxiv.org/abs/2101.08153 ) 的代码。除了复制论文中的实验和有限的 prescience shield,repo 还允许创建标准 Atari 健身房环境的属性标签版本,这些版本可以为其他代理和策略公开安全信息。
安装
prescience包需要通过pip安装:
git clone https://github.com/HjalmarWijk/bounded-prescience.git
cd bounded-prescience
pip3 install .
或者:
pip3 install git+https://github.com/HjalmarWijk/bounded-prescience.git
特性
| 游戏 | 财产 | 描述 | 分类 |
|---|---|---|---|
| 外星人 | 死亡 | 失去生命 | |
| 阿米达尔 | 死亡 | 失去生命 | |
| 突击 | 死亡 | 失去生命 | |
| 突击 | 过热 | 因过热而失去生命 | 浅的 |
| 阿斯特里克斯 | 死亡 | 失去生命 | |
| 小行星 | 死亡 | 失去生命 | |
| 亚特兰蒂斯 | 死亡 | 失去生命 | |
| 银行抢劫 | 死亡 | 失去生命 | |
| 银行抢劫 | 死亡 | 失去生命 | |
| 战区 | 死亡 | 失去生命 | |
| 光束骑士 | 死亡 | 失去生命 | |
| 伯泽克 | 死亡 | 失去生命 | |
| 伯泽克 | 死亡 | 失去生命 | |
| 保龄球 | 无命中 | 缺少所有引脚 | 最小 |
| 保龄球 | 不罢工 | 至少缺少一个引脚 | |
| 拳击 | 昏死 | 被击倒 | 最小 |
| 拳击 | 失去 | 输掉比赛 | 最小 |
| 拳击 | 无敌寇 | 比赛结束而不击倒敌人 | |
| 爆发 | 死亡 | 失去生命 | |
| 蜈 | 死亡 | 失去生命 | |
| 疯狂攀登者 | 死亡 | 失去生命 | |
| 恶魔攻击 | 死亡 | 失去生命 | |
| 恶魔攻击 | 死亡 | 失去生命 | |
| 恶魔攻击 | 死亡 | 失去生命 | |
| 双扣 | 越界 | 移动出界 | 浅的 |
| 双扣 | 射击-bf-清除 | 解围前因射门而丢球* | 浅的 |
| 耐力赛 | 撞车 | 撞上另一辆车 | |
| 钓鱼德比 | 失去 | 没有战胜对手 | |
| 高速公路 | 打 | 被车撞 | |
| 冻疮 | 死亡 | 失去生命 | |
| 冻疮 | 冷冻 | 因时间流逝而失去生命 | |
| 地鼠 | 失去胡萝卜 | 吃了一根胡萝卜 | |
| 重力仪 | 死亡 | 失去生命 | |
| 重力仪 | 汽油 | 燃料耗尽 | 浅的 |
| 英雄 | 死亡 | 失去生命 | |
| 冰球 | 敌人得分 | 对手得分 | |
| 占士邦 | 死亡 | 失去生命 |
* 有关此游戏规则的详细信息,请参阅手册。
要测试属性,请使用带有标志的 test_property.py 脚本 --env [游戏名称] --prop [属性名称]
这会模拟一个随机代理并记录违规行为。要使用人类游戏评估属性,请使用 --human 标志(需要 pygame)。
确认
要检查论文中在各种设置下评估的 9 个预训练代理的属性,请参阅脚本 check_noops.py 要运行 ChainerRL 代理,您首先需要通过运行 download_models.py 下载它们(Atari Zoo 代理动态下载)。脚本 chainer_no_shield.sh 和 atari_zoo_no_shield.sh 为所有属性运行所有代理,并将结果作为 csv 写入结果文件夹中。请注意,Atari Zoo 代理需要安装 Tensorflow 1(和 AtariZoo),而 ChainerRL 代理需要安装 Tensorflow 2 和 ChainerRL。
屏蔽
要使用 prescience 屏蔽检查属性,请使用 check_noops.py 的 --lookahead 标志屏蔽脚本对所有算法、属性和最多 5 的屏蔽深度运行此检查。
参考
如果您想在您的出版物中引用此存储库,请使用此 bibtex 条目:
@misc{bounded_prescience_repo,
author = {Mirco Giacobbe, Mohammadhosein Hasanbeig, Daniel Kroening, and Hjalmar Wijk},
title = {Shielding Atari Games with Bounded Prescience Code Repository},
year = {2020},
publisher = {GitHub},
journal = {GitHub repository},
howpublished = {\url{https://github.com/HjalmarWijk/bounded-prescience}},
}
执照
该项目根据BSD-3-Clause的条款获得许可
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。
源分布
内置分布
bounded_prescience -0.0.3-py3-none-any.whl 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 51792b7b57114375015bbe215b9daef9f0b9f1f20c06ab285a663487c2b9b404 |
|
| MD5 | 51456d5910b65f8088898f6600a8a008 |
|
| 布莱克2-256 | 27a9ce7c36893c12444eda0195afd65e9cfe2650b8514a8167275695a7c7f11c |