Closed Phutoast closed 5 years ago
Furthermore, we already that a method get_game_list
, which maps the game name to agent_num
and action_num
. For example
@staticmethod
def get_game_list():
return {
'zero_sum': {'agent_num': 2, 'action_num': 2}
}
This is a good question. In a pre-defined matrix game/matrix game, the agent number is fixed. This information still required in the init(), because I want to keep the interfaces consistent with the other games/envs, and also want the outside (env) would explicitly know/define the agent number before instantiating an environment. As for the action number, it is redundant in initialization, the agents are expected to know the action space and observation/state space after the environment initialization.
For example in the class
MatrixGame
the base-code asserts the number ofagent_num
andaction_num
. Why would the user has to specify these number when it is already predefined (as an assertion)Example,