Skip to content
MARL in Cooperative Environments
Edit this page

2.3Messages

5 min read

A message is an action whose immediate effect is to change the information available to other agents rather than the environment state.

In this section you will

  • Add a message choice alongside an agent’s environmental action
  • Separate an action’s environmental effect from its informational effect
  • Define discrete and continuous message spaces
  • Condition a receiver’s policy on an incoming message

Split each agent’s action into two parts: something it does to the world, and something it says.

Figure 1
Ai=Xi⏟acts on the environment×Mi⏟acts on partners\mathcal{A}_\ag = \ubrace{action}{\mathcal{X}_\ag}{acts on the environment} \times \ubrace{comm}{\mathcal{M}_\ag}{acts on partners}
Xi\mathcal{X}_\ag
environment actions: move, pick up, chop, transmit on a channel
Mi\mathcal{M}_\ag
communication actions: the messages this agent can send
×\times
every environment action pairs with every message, so the agent chooses both
One action set with two halves. An agent picks a move and a message on the same step.

So an agent’s choice at step tt is a pair.

Figure 2
ati=(xti, mti)\tone{policy}{\act{\ag}} = \bigl(\tone{action}{x^\ag_t},\ \tone{comm}{m^\ag_t}\bigr)
xtix^\ag_t
what agent i does to the kitchen
mtim^\ag_t
what agent i says while doing it
Both at once. Saying something does not cost the agent its turn.

In the kitchen:

PartExample
environment action xt1x^1_tmove toward the stove
message mt1m^1_t“ingredient ready”

Note the agent does both on the same step. Communication is not a turn spent talking instead of working. It is an extra channel running alongside the work.

Here is the property that makes a message a peculiar kind of action.

Agent 1 receives its own observation and produces two things: an environment action that goes down into the kitchen, and a message that goes sideways to agent 2. Agent 2 combines its own observation with the received message to choose its own environment action, which also goes into the kitchen. o1o2Agent 1Agent 2m1changes what agent 2 knows, not the kitchenx1x2The kitchennext state, and one team reward

Two destinations. The environment action goes down into the kitchen and moves things. The message goes sideways into a partner and moves nothing.

The transition function does not depend on mtim^\ag_t. Say “ingredient ready” and the stove does not warm, no tomato moves, and the order gets no closer to being served. The kitchen is precisely as it was.

What changes is that another agent observed the message, and may therefore choose differently on the next step. Only then, through that agent’s environment action, does anything happen.

What can be said depends on what Mi\mathcal{M}_\ag contains, and there are two usual shapes.

Discrete. A small set of symbols, one of which gets sent.

Figure 3
Mi={m1, m2, m3, m4}\tone{comm}{\mathcal{M}_\ag} = \{m_1,\ m_2,\ m_3,\ m_4\}
Mi\mathcal{M}_i
the message space available to agent i
mkm_k
one selectable discrete message symbol
A four-symbol message space can represent at most four distinct signals.

Continuous. A real-valued vector, which can carry a great deal more.

Figure 4
mti∈Rd\tone{comm}{m^\ag_t} \in \R^{d}
dd
the width of the message vector
A learned vector. Expressive, and much harder for a human to read.

Both appear in practice, along with multi-valued vectors of discrete symbols. Discrete spaces are easier to inspect and match real channels with fixed bit budgets; continuous ones are easier to learn by gradient descent, since the message is differentiable.

The receiving agent now has two sources of information: what it saw, and what it was told.

Figure 5
xt2∼π2(⋅∣ot2⏟what I saw, mt1⏟what I was told)\tone{action}{x^{2}_t} \sim \tone{policy}{\pol{2}}\bigl(\cdot \given \ubrace{observe}{\obs{2}}{what I saw},\ \ubrace{comm}{m^{1}_t}{what I was told}\bigr)
ot2\obs{2}
agent 2’s own observation, as before
mt1m^{1}_t
the message agent 1 sent, now an input to agent 2’s policy
A received message is just another input to a local policy.

No new machinery is needed. The message is treated as part of what the agent knows, and a policy that reads it is still a local policy: agent 2 conditions on things it actually received.

Knowledge check

Agent 1 sends 'ingredient ready' and the team's reward that step is unchanged. Has the message accomplished nothing?

Select one answer.

  • An agent’s action set factors as Ai=Xi×Mi\mathcal{A}_\ag = \mathcal{X}_\ag \times \mathcal{M}_\ag: an environment action and a message, chosen together on the same step.
  • The transition does not depend on the message. A message changes what a partner knows, never the world directly.
  • Message spaces are discrete (a few symbols, inspectable, matched to real bit budgets) or continuous (a learned vector, expressive, opaque).
  • Most spaces include ∅\varnothing, so an agent can choose to say nothing.
  • A receiver treats a message as one more input to its own local policy. It does not gain access to a partner’s observation, only to what that partner chose to send.