選自GitHub
機器之心編譯參與:一鳴、思
強化學習算法沒有遊戲訓練?DeepMind 開源 OpenSpiel 平台了。研究者可在線部署遊戲環境,快速開始實驗。
強化學習算法廣為人知的一個應用場景便是遊戲了,通過智能體在多玩家遊戲中的表現,研究者可以更好地調整算法和參數細節,實現更好的算法性能。近日,DeepMind 開源了一款多玩家遊戲平台「Open-Spiel」,支持多種策略和遊戲環境,以及相關的分析工具。支持的遊戲數量達到了 25 款,絕大多數都和棋牌、博弈相關。
項目地址:htt程(DeepMind開源強化學習遊戲框架)(2)" />
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
,
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!