Open zsunberg opened 4 years ago
I'm still struggling to fully understand the incomplete information games. But I can share some thoughts on imperfect information games:
State.
Players
actions(env)
, state(env)
, and some others.After looking some more at the OpenSpiel paper, I think we can accommodate most of this with the current interface. The information set of any player is the set of all observations that it has received. For this reason, I think it is ok to get rid of abstract env subtypes (#43).
A few things I think we'll need:
player_indices(env)
that returns a collection that has an index (an integer or other object) for each player, e.g. 1:n
. The default would be (1,)
act!
should return rewards for all players in a container that has an entry for each player index, e.g. a vector or dictionary or NamedTuple. (In the single player case it is acceptable to return a scalar - note that 1.0[1] == 1.0[] == 1.0
)all_act!(env, as)
and all_observe(env)
functions for simultaneous-action games.
When we start to handle more general games - we may want to follow the wikipedia description of an extensive form game and make sure that we can express all possible extensive-form games.