How severe does this issue affect your experience of using Ray?
- High: It blocks me to complete my task.
Hi, I have been reading several tutorials (see belo) and I am not sure what is required on the init, and what can be left for the 'step()'method.
I am creating my won environment I have 50 (or more) agents in total.They form 2 groups:
- 1 agent is only the “proposer”, with some convoluted action space that looks like this: ([1,0,0][0.25,0.5, 025])
- The other 49 are the “responders” with action space just 1 or 0.
Question: I am trying to understand what needs to be defined on the init and what can be left for the step method.
In particular, since I have 49 (or more) responders, I wonder where I need to map them to their action and observation spaces.
option a) Should I create 49 responder-agents entries on the dict defined in the init method.
- a dictionary of 50 agents IDs
- a dictionary with 50 entries like this: Something like (very inelegant):
`
self.action_space = gym.spaces.Dict( {
‘proposer’: gym.spaces.Tuple((gym.spaces.MultiBinary(self.n_agents), gym.spaces.Box(low=0.0, high=1.0,shape=(self.n_agents,)))),
‘responder1’: Discrete(2)
‘responder2’: Discrete(2)
…etc
} )
`
option b) Define the init in a more abstract way:
- a dictionary of 50 agents IDs
- a dictionary with only 2 entries (instead of 50):
self.action_space = gym.spaces.Dict( {
‘proposer’: gym.spaces.Tuple((gym.spaces.MultiBinary(self.n_agents), gym.spaces.Box(low=0.0, high=1.0,shape=(self.n_agents,)))),
‘responder’: Discrete(2)
})
and then… under this option, on the step method, I will say: “here are the ID’s of 49 agents, map their action to the “responder” in the dictionary (with only 2 entries) I gave you on the init.
NB:
I have already read these tutorials and examples and I am not clear:
self play with open spiel
This one only shows option (a), but seems to suggest that option (b) is possible
multi-agent-and-hierarchical
This one only shows option (a) but it’s for only 2 agents:
multi_agent_different_spaces_for_agents.py
Thanks!