选自GitHub
机器之心编译参与:一鸣、思
强化学习算法没有游戏训练?DeepMind 开源 OpenSpiel 平台了。研究者可在线部署游戏环境,快速开始实验。
强化学习算法广为人知的一个应用场景便是游戏了,通过智能体在多玩家游戏中的表现,研究者可以更好地调整算法和参数细节,实现更好的算法性能。近日,DeepMind 开源了一款多玩家游戏平台「Open-Spiel」,支持多种策略和游戏环境,以及相关的分析工具。支持的游戏数量达到了 25 款,绝大多数都和棋牌、博弈相关。
什么是 OpenSpiel
OpenSpiel 是一个综合性的强化学习游戏测试平台,包括了多种游戏环境和算法,用于强化学习研究或搜索策略的研究。
OpenSpiel 亮点
OpenSpiel 可以帮助研究者解决很多强化学习研究中需要设置实验的问题,它支持:
OpenSpiel 平台也支持多种编程语言:
支持平台
目前 OpenSpiel 已经在 Linux 系统上进行了测试(Debian 10 和 Ubuntu 19.04),但是没有在 MacOS 或 Windows 上测试过。但是因为后两个平台都可以自由使用代码,因此作者认为不太可能出现大的问题。
支持游戏
OpenSpiel 目前支持以下游戏,共 25 款,包括国际象棋、围棋、双陆棋、翻转棋等游戏:
OpenSpiel 怎么用
首先,我们先要明确,在 OpenSpiel 中 Game 对象包含了对某个游戏非常高层次的描述,例如游戏的方式、参与人数、最大分数等。而 State 对象描述了更加具体的游戏局,例如象棋中特定的棋子状态、扑克中特定的手牌组合。通过这两个对象,整个游戏都是通过树来表示的。
OpenSpiel 首先需要加载游戏,配置游戏进行方式,然后就可以直接运行了。如下所示为玩 trajectory 游戏的 Python 代码:
import random import pyspiel game = pyspiel.load_game("kuhn_poker") state = game.new_initial_state() while not state.is_terminal(): legal_actions = state.legal_actions() if state.is_chance_node(): # Sample a chance event outcome. outcomes_with_probs = state.chance_outcomes() action_list, prob_list = zip(*outcomes_with_probs) action = np.random.choice(action_list, p=prob_list) state.apply_action(action) else: # The algorithm can pick an action based on an observation (fully observable # games) or an information state (information available for that player) # We arbitrarily select the first available action as an example. action = legal_actions[0] state.apply_action(action)
如上展示了 OpenSpiel 比较核心的 API,它的使用还是很简洁的。
安装方法
安装整个平台的方法比较简单。首先运行 ./install.sh 一次,安装系统包,并下载一些依赖。安装 Python 的相关依赖,需要使用 Pyhton3 和 virtualenv。
virtualenc -p python3 venv source venv/bin/activate pip3 install -r requirements.txt
保证环境有效的情况下,编译并运行
mkdir build cd build CXX=g cmake -DPython_TARGET_VERSION=3.6 -DCMAKE_CXX_COMPILER=${CXX} ../open_spiel make -j$(nproc) ctest -j$(nproc) ./open_spiel/scripts/build_and_run_tests.sh
将文件加入系统路径,以便系统全局都能够导入相关包。
export PYTHONPATH=$PYTHONPATH:/<path_to_open_spiel> export PYTHONPATH=$PYTHONPATH:/<path_to_open_spiel>/build/python
Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved