mjx-project / mjx

Mjx: A framework for Mahjong AI research
https://colab.research.google.com/drive/1m1wOT_K2YFtuV6IO7VgWk4ilVhTKqRFU?usp=sharing
MIT License
170 stars 19 forks source link

`legal_actions` をPython側からObservationに対して生成できるようにする #1074

Closed sotetsuk closed 2 years ago

sotetsuk commented 2 years ago

現状は internal::State の次の2つのメソッドで add_legal_action をしている。

上記2つのメソッドの中で条件分岐に使われているメソッド・メンバは次のように大量にある。 が、これらをstaticにして、リーガルアクションを加えるところをstaticにすれば使えるか。

sotetsuk commented 2 years ago

最終的なAPI

obs = mjx.Observation.from_json(json_str, insert_legal_actions=True)

テスト

適当なstateからobservationを作って、jsonからlegal_actionを抜いて、再構成したものが同じかを確認する