Communication in MARL

Hi all,
I’m working with a custom MA environment and I want to implement the DIAL network with RLLIB setting.

I get kind of confused when I want to define where the communication channel is, the patch I’ve thought of is that my environment will get and broadcast all messages from and to all agents, but I feel this is wrong, is there a common practice for that?

Thank you in advance

1 Like

That would work if you didn’t want messages to be differentiable (RIAL). For DIAL, if you’re using an alg that doesn’t have communication built in, you’d probably want to do that within the architecture (e.g. create a single agent that controls all the agents. You can share/unshare params as you please)

1 Like

Thank you for your response! I will try to implement RIAL via my custom env, do you know any pubished implementation of DIAL?

1 Like

@Ofir_Abu, what kind of architecture will you use?