sotetsuk / pgx

♟️ Vectorized RL game environments in JAX
http://sotets.uk/pgx/
Apache License 2.0
372 stars 23 forks source link

[Kuhn Poker] Simplify the implementation #1169

Closed Egiob closed 4 months ago

Egiob commented 5 months ago

Hey, multiple implementations of Kuhn Poker out there (open_spiel for instance) use only two actions (pass, bet) instead of the four considered in pgx (call, bet, check, fold). In fact we can group bet/call and check/fold without ambiguity for this game.

Would you be interested by this simplification? I would be happy to open a PR if you are!

sotetsuk commented 5 months ago

Hi, thank you for your comment! 🙏 I'm positive for this change. There are only five scenarios. Four actions are redundant.

If you kindly submit a PR, we'll receive it. We also really appreciate if you can list up some implementations or papers which use two actions to support this change (in addition to open spiel)

Egiob commented 5 months ago

Hi @sotetsuk, thanks for the quick answer, opened the PR. Concerning supporting the change, from this tree, it seems pretty clear that bet/call and check/fold are distinct and thus can be groupped. If you want more ref, this lecture from Neller and Lanctot unambiguously show that the action set can be reduced to 2 actions (page 9).