Under review at ICLR 2027Anonymous authorsCode released upon acceptance

Stationary Alone, Drifting Together

Adapting to interaction-mediated nonstationarity in multi-agent reinforcement learning

Rain, sunshine and heat can change how strongly agents that share infrastructure affect one another, while each agent on its own behaves exactly as before. This page explains that kind of drift, shows where it occurs in practice, and describes how each of our four benchmarks models it.

1 · The problem

Drift that lives between agents

Many multi-agent systems are coupled through a physical medium. Vehicles share roads, solar inverters share the lines of a distribution feeder, and actuators share a power supply or a rigid body. What happens to one agent then has two parts: the effect of its own actions, and the effect of everyone else's use of the medium.

External conditions often change only the second part. Rain does not change how a car accelerates or how long its route is. It lowers the capacity of the road, so the same number of other cars now causes more delay. A car alone on the road at night hardly notices the rain. The same car in rush-hour traffic does.

We call this interaction-mediated nonstationarity. Each agent, taken alone, faces a stationary task. The fleet as a whole faces a drifting one.

Where the external condition acts The other agents put load on a shared medium. The medium passes part of that load to agent i as a disturbance, scaled by a gain that the external condition sets. The condition does not act on agent i's own dynamics. Other agents everyone except i j k … LOAD Shared medium road · feeder · supply · torso gain θ(t) DISTURBANCE Agent i own dynamics Fi not touched by the condition SETS External condition rain · sunshine · heat
Figure 1. Where the external condition acts. The other agents load a shared medium, and the medium passes part of that load to agent i as a disturbance. The condition sets how large that part is. It never acts on agent i's own dynamics, so if the other agents are removed, nothing reaches agent i whatever the condition.

What happens to one agent, in one equation

Write \(s_i\) for the part of the state that belongs to agent \(i\). Over one step, its evolution separates into a private part and a coupling part:

\[ s_i(t{+}1) \;=\; F_i\big(s_i(t),\,a_i(t)\big) \;\oplus\; C_i\big[\drv{\btheta(t)}\big]\big(\peer{s_{-i}(t),\,\ba_{-i}(t)};\ s_i(t)\big) \]
Amber: set by the external condition Blue: set by the other agents This colour code is used in every equation on the page.
\(F_i(s_i, a_i)\)
The agent on its own: how its state would evolve if no one else used the medium.
\(C_i(\peer{s_{-i}, \ba_{-i}};\, s_i)\)
The coupling: what the other agents (written \(-i\)) do to agent \(i\) through the medium.
\(\drv{\btheta(t)}\)
The coupling gains: what one unit of the others' activity costs agent \(i\) at time \(t\). External conditions act here and only here.
\(\oplus\)
How the two parts combine: by addition (an offset to injected power), by multiplication (a loss of force), or through a realised outcome (a travel time).

Three kinds of drift, and two tests that separate them

From agent \(i\)'s point of view, the environment is nonstationary whenever one ingredient of the equation above changes over time. There are three possibilities, and each has been studied by a different community. Two simple experiments tell them apart: freeze the policies of all other agents, or remove the other agents altogether.

Kind of driftWhat changesFreeze the others' policiesRemove the othersStudied in
(A) Learning-induced\(\peer{\ba_{-i}(t)}\), because the other agents are learningDrift stopsDrift stopsMulti-agent RL
(B) Exogenous\(F_i\) itself; the world drifts regardless of the other agentsDrift continuesDrift continuesNonstationary and continual RL
(C) Interaction-mediatedThis paper\(\drv{\btheta(t)}\), while \(F_i\) stays fixedDrift continuesDrift stopsThis paper

Interaction-mediated drift is the only kind that survives freezing every partner and disappears for a lone agent. It survives freezing because a frozen fleet still loads the medium, and the external condition still acts on that load. It disappears for a lone agent because, with no one else on the medium, the coupling term \(C_i\) is zero whatever the condition.

Seen as one joint system, (C) is a special case of exogenous drift. What sets it apart is its structure: the drift enters only through the coupling, and it scales with the fleet's own load.

Why this drift needs its own treatment

  • The harm is a product of two factors

    Below saturation, the disturbance an agent receives in our feeder, lift and Ant benchmarks has the form

    \[ y_i^{\star}(t) \;=\; \underbrace{\drv{\sigma\,\bar k\,A(t)}}_{\text{set by the condition}} \;\times\; \underbrace{\send^{\top}\peer{\bx_i(t)}}_{\text{set by the other agents}} \]

    and routing has the same structure through the ratio of traffic volume to rain-reduced capacity. A method that is told the weather still lacks the traffic, and a method that sees the traffic still lacks the weather. With either factor missing, the executed action misses its target by an amount that no amount of training removes.

  • Only a few numbers are unknown

    Each agent knows the infrastructure layout (who shares its medium, and how strongly) and receives its peers' executed actions. Only the gains are unknown: \(r+1\) numbers per agent, where \(r\) is the number of coupling classes (three in our benchmarks), independent of the size of the fleet. These can be estimated online from the agent's own measured shortfall, which is what our method, PACT, does.

  • Reactions feed back

    A correction is itself an action on the medium, so it becomes part of the neighbours' load. Inverters that react to one another can start to oscillate, and vehicles that all follow the same accurate forecast can all switch to the route predicted to be faster and make it slower. How strongly agents should act on their estimates is therefore itself a multi-agent question.

Example 1 · URB

Cars on a shared road during the rainy season

The two examples below reduce two of our benchmarks to their smallest form. The equations are the benchmarks' own harms, restricted to a single road link and to a pair of inverters.

Car \(i\) follows a route whose busiest link has capacity \(c\), in vehicles per hour. While it travels, the other cars put a volume \(\peer{n_{-i}}\) on that link. Rain removes part of the capacity, and travel time grows with the ratio of volume to capacity, as in the volume–delay curves used in transport planning:

\[ \drv{\omega(t)} = 1 - \drv{\sigma L A(t)}, \qquad \peer{u_i(t)} = \frac{\peer{n_{-i}}}{c\;\drv{\omega(t)}}, \qquad h_i(t) = \frac{1 + \alpha\,u_i(t)}{1 + \alpha\,\peer{n_{-i}}/c} \]
\(\drv{A(t)} \in [0,1]\)
Rain intensity over a 100-day cycle: a smooth rise and fall over 50 wet days, then exactly zero on 50 dry days.
\(\drv{L} = 0.14\)
The capacity lost in heavy rain according to the Highway Capacity Manual, so \(\sigma = 1\) is heavy rain.
\(\drv{\omega(t)}\)
The fraction of the link's capacity that the rain leaves.
\(\peer{u_i(t)}\)
The load the other cars put on car \(i\)'s busiest link.
\(h_i(t)\)
How much longer the trip takes than in dry weather. The slope \(\alpha = 2.28\) is calibrated on the stock benchmark.

How it matches the definition

  • Remove othersWith no other cars, \(\peer{n_{-i}} = 0\), so \(u_i = 0\) and \(h_i = 1\) in any rain. The lone car's task is stationary.
  • Freeze othersWith every other car on a fixed route, \(h_i\) still rises through the wet season and returns to 1 on dry days. No one learns, and the task still drifts.
  • Own dynamicsThe car never changed: same route, same speed limit, same free-flow time. Only the gain \(\drv{\sigma L A(t)}\) moved, and it reaches the car only through \(\peer{n_{-i}}\).

Delay factor over one wet/dry cycle

  • Sharing the road, other cars frozen
  • Alone on the road
  • Rain intensity A(t)
Peak delay factor
1.054
+5.4% on day 25
Average over the cycle
1.014
dry days included
Alone on the road
1.000
every day, every σ
Show the values as a table
DayA(t)AloneSharing
Figure 2. At the network's average loading (\(n_{-i}/c = 0.22\)), heavy rain lengthens the trip by 5.4% at the peak of the wet season, and \(\sigma = 3\) by 24%. These are peak values for one car on its busiest link. Averaged over the cycle and over the fleet the effect is smaller, which is why the harm is mild on URB. Hover or focus the chart and use the arrow keys to read values.

Example 2 · MAPDN

Two inverters on one feeder on a sunny day

Inverters \(i\) and \(j\) sit on the same radial feeder and share part of their path to the substation. Reactive power injected at \(j\) shifts the voltage at \(i\) in proportion to the reactance of the lines they share. Each inverter's firmware follows a Volt/VAr curve and answers a voltage change with reactive power of the opposite sign. At night the voltage sits in the curve's flat deadband and nothing happens. Under the midday sun it sits on the sloped part, and every injection by the neighbour provokes a reaction:

\[ \Delta v_i(t) = S_{ij}\;\peer{q_j(t{-}1)}, \qquad S_{ij} = \sum_{b\,\in\,\mathrm{path}(i)\,\cap\,\mathrm{path}(j)} \frac{X_b}{V_b^{2}} \]
\[ d_i(t) = -\,\drv{\sigma k A(t)}\;\bar s_i\;\Delta v_i(t), \qquad q_i^{\ex}(t) = q_i^{\sent}(t) + d_i(t) \]
\(S_{ij}\)
Voltage sensitivity of the shared lines (linearised DistFlow): \(X_b\) and \(V_b\) are the reactance and nominal voltage of branch \(b\).
\(\drv{k}\)
The Volt/VAr slope. \(\sigma = 1\) is the IEEE 1547 Category B default curve, and \(\sigma = 3\) the steepest curve the standard allows.
\(\drv{A(t)}\)
The solar profile: \(\sin^2\) between 06:00 and 18:00, exactly zero at night.
\(\bar s_i\)
The inverter's rating; its reaction is proportional to its size.
\(q_i^{\sent},\ q_i^{\ex}\)
The reactive power the inverter was told to inject, and what it actually injects.

How it matches the definition

  • Remove othersWithout \(j\) there is no shared path, so \(\Delta v_i = 0\) and \(d_i = 0\) at any hour and any severity.
  • Freeze othersWith \(q_j\) held fixed, \(d_i\) still swings from zero at night to its largest value at noon.
  • Own dynamicsThe inverter hardware is unchanged. Only the gain \(\drv{\sigma k A(t)}\) moved.

This example also shows why reactions matter. Inverter \(j\) reacts to \(i\) in the same way, so each reaction becomes the input to the other's next one. For the whole fleet, with no compensation,

\[ \mathbf q^{\ex}(t) = \mathbf q^{\cmd}(t) \;-\; \drv{\sigma k A(t)}\;G\;\peer{\mathbf q^{\ex}(t{-}1)}, \qquad G = \operatorname{diag}(\bar{\mathbf s})\,S, \qquad \Theta(t) = \drv{\sigma k A(t)}\;\rho(G) \]

where \(\rho(G)\) is the spectral radius of \(G\). The mutual reactions die out when the loop gain \(\Theta(t)\) is below 1 and grow when it is above 1: the fleet starts to oscillate, which grid engineers call hunting. For two identical inverters \(\rho(G) = \bar s\, S_{ij}\). A single inverter has \(\rho(G) = 0\) and never hunts.

Loop gain over one day on the paper's three feeders

  • 6 inverters
  • 22 inverters (main feeder)
  • 38 inverters
  • Solar profile A(t)
Feederkρ(G)Θ at noonReactions grow (Θ > 1)Noon threshold σc
Show the values as a table
TimeA(t)Θ, 6 inv.Θ, 22 inv.Θ, 38 inv.
Figure 3. The measured values of \(k\rho(G)\) are 0.378, 0.675 and 1.186 for the feeders with 6, 22 and 38 inverters, so the midday thresholds \(\sigma_c = 1/(k\rho(G))\) are 2.65, 1.48 and 0.84. Larger fleets hunt under milder conditions, and the paper's main 22-inverter feeder is past its threshold at \(\sigma = 3\), a curve the standard still allows. A lone inverter stays at \(\Theta = 0\), the horizontal axis. In the full power-flow model the inverters' reactive-power limits keep the oscillation bounded.

In both examples the agent's own dynamics never change, the condition acts only through the other agents, and the effect scales with how heavily they use the medium. The same structure appears in all four benchmarks.

2 · The benchmarks

Four benchmarks, one structure

Each benchmark is used exactly as published when \(\sigma = 0\). Raising \(\sigma\) strengthens an external condition whose effect on an agent scales with the other agents' load on the shared medium. The reward function is never modified: agents earn less only because the physics delivers less.

Every instance declares the same four objects.

M · medium
What the agents use together, and the load \(\phi_j\) that each user \(j\) puts on it.
W · coupling
A fixed operator computed from the infrastructure layout: which agents affect which, and how strongly.
D · driver
An external condition \(\drv{A(t)} \in [0,1]\), from no effect (0) to full effect (1). No agent can influence it.
H · harm
How the condition, at intensity \(\drv{\sigma A(t)}\), turns the peers' load into a disturbance.

At severity \(\sigma\), the action \(a_i\) that agent \(i\) sends is executed as

\[ a_i^{\ex}(t) = h\big(\drv{\sigma A(t)},\ \peer{\bx_i(t)};\ a_i(t)\big), \qquad \peer{\bx_i(t)} = \Lambda_i\big(\bx_i(t{-}1),\ \{\phi_j(a_j^{\ex}(t{-}1))\}_{j\neq i};\ W\big) \in \R^{r} \]

The channels \(\peer{\bx_i}\) summarise the other agents' executed load through \(W\), one channel per coupling class, possibly filtered over time. They are exactly zero when agent \(i\) is alone. The harm map does nothing when either factor is absent, \(h(0, \bx; a) = h(\xi, \mathbf 0; a) = a\), which is what makes both tests of Section 1 hold by construction. In routing the harm acts on the realised travel time instead of the action.

All four drivers share one shape

Each driver is a smooth bump over the active half of its cycle and exactly zero over the other half:

\[ \drv{A(t)} = \begin{cases} \sin^2\!\big(\pi\,\varphi(t)/w\big), & \varphi(t) \lt w,\\[2pt] 0, & \text{otherwise,} \end{cases} \qquad \varphi(t) = \frac{(t - t_0) \bmod T}{T}, \qquad w = \tfrac12 \]

The zero half is a built-in control: on those steps every benchmark is the unmodified original at every \(\sigma\). The agents are told neither the period nor the phase.

URBMAPDNVMAS BalanceMaMuJoCo Ant
TaskRoute choice for connected vehiclesVoltage control with PV invertersCooperative liftingFour-legged locomotion
Agents89 vehicles among 222 travellers22 inverters, 141-bus feeder4 lifters4 legs, 2 joints each
M · mediumRoad linksFeeder linesShared supplyThe robot's torso
W · couplingShared links, over capacityVoltage sensitivity of shared linesDistance between actuatorsThe robot's own inverse inertia
D · driverRain, 100-day wet/dry cycleSun, 06:00–18:00 each daySupply softening, 100-step cycleDrivetrain warm-up, 20,000-step cycle
H · harmLonger travel timeUnrequested reactive powerLost forceUnrequested joint torque
Acts onOutcomeAction, additiveAction, multiplicativeAction, additive
InverseNone: steer the route choiceSubtractDivideSubtract
σ = 1 meansHCM heavy rain (published)IEEE 1547 default curve (published)Stated calibrationStated calibration

Where the phenomenon comes fromURB · routing in the rain

  • Harm on travel time
  • No inverse: route steering
  • σ = 1: HCM heavy rain

Connected autonomous vehicles choose routes through a real road network, simulated in SUMO, alongside human drivers that no agent controls (Akman et al., 2025). We use the saint_arnoult network: 222 travellers, of whom 89 are controlled, 745 links, 215 origin–destination pairs and 4 candidate routes per traveller. Each simulated day is one decision.

Origin of the phenomenon

Rain and traffic: measured by traffic engineers, not constructed by us

Rain lowers the number of vehicles a road can serve per hour, because drivers keep longer headways and accelerate more gently. The Highway Capacity Manual tabulates this effect as weather adjustment factors for capacity, and field studies of freeways report the same pattern (Smith et al., 2004; Agarwal et al., 2005). In heavy rain, capacity falls by about 14%. That is the value we use for \(\sigma = 1\).

Lost capacity only costs time when traffic needs it. On an empty road at night, a driver in heavy rain loses almost no time to congestion, because the capacity that remains is still far more than one car needs. At rush hour the same rain produces queues. The extra delay a driver suffers is therefore set jointly by the weather and by the other drivers. This is interaction-mediated nonstationarity as it occurs in everyday traffic. We first observed the structure in URB, and it is the model for the definition we apply to the other three benchmarks.

Heavy rain, empty road
1.000
delay factor · no other cars
Heavy rain, average URB loading
1.054
delay factor · peak of the wet season

Rain also lowers free-flow speed slightly, and a lone driver feels that part. It is ordinary exogenous drift, type (B). The benchmark models only the capacity effect, which is the part that depends on other traffic.

MMedium

Road links

Agent \(i\)'s load is taken on the busiest link of its chosen route: the flow of other vehicles over the capacity that the rain leaves.

\[ \peer{u_i}(\ba;\bomega) \;=\; \max_{e\,\in\,a_i}\ \frac{\peer{\sum_{j\neq i} O_{ij}\,\ind{e\in a_j}}}{T_i\;c_e\;\drv{\omega_e}} \]
\(\ind{e \in a_j}\)
Whether traveller \(j\)'s route uses link \(e\).
\(O_{ij}\)
Temporal overlap: whether \(i\) and \(j\) are on the road at the same time.
\(T_i\)
The duration of \(i\)'s trip, which turns a vehicle count into a flow.
\(c_e\)
Capacity of link \(e\): number of lanes × 600 vehicles per hour.
WCoupling

Who shares which link, and when

Link sharing weighted by temporal overlap and capacity, read from the road network and the departure schedule before any training.

DDriver

Rain over a 100-day wet/dry cycle

Rain leaves link \(e\) a fraction \(\omega_e\) of its capacity:

\[ \drv{\omega_e(t)} = \clip\big(1 - \drv{\sigma L A(t)}\,\eta_e,\ \underline{\omega},\ 1\big), \qquad L = 0.14 \]

\(\eta_e \in [0.4, 2.0]\) is a per-link rain sensitivity derived from the link's design speed, so faster roads lose more capacity, and the floor \(\underline{\omega}\) keeps every link open.

HHarm

A longer trip

The travel time returned by the simulator is scaled by the delay factor of the rain, relative to dry weather:

\[ \tau_i = h_i\,\tau_i^{\mathrm{sim}}, \qquad h_i = \frac{1 + \alpha_h\,\peer{u_i}\big(\ba;\drv{\bomega(t)}\big)}{1 + \alpha_h\,\peer{u_i}(\ba;\mathbf 1)} \;\ge\; 1 \]

This is the Bureau of Public Roads volume–delay curve used throughout transport planning, in its linear form because URB operates well below capacity. The slope \(\alpha_h = 2.28\) is calibrated once on the stock benchmark (a mean excess delay of 0.50 at a mean busiest-link ratio of 0.219). A delay cannot be undone once the route is chosen, so the harm has no inverse. PACT instead biases the route choice toward routes predicted to be less delayed.

  • σ = 0 · dry day\(h_i = 1\) exactly. Verified on all 100 days of the cycle; the 50 dry days are unaffected at every \(\sigma\).
  • Lone vehicleEvery numerator is zero, so \(h_i = 1\). In SUMO a lone vehicle reads exactly zero peer load.
  • Frozen partnersThe 133 human drivers follow fixed, selfish policies, and their load still turns into more or less delay as the rain comes and goes.
  • Monotone\(h_i\) never decreases as \(\sigma\) grows.

Power distributionMAPDN · voltage control under the midday sun

  • Harm on reactive power, additive
  • Inverse: subtract
  • σ = 1: IEEE 1547 default curve

Photovoltaic inverters on a radial distribution feeder regulate voltage by injecting or absorbing reactive power \(q_i\) (Wang et al., 2021). We use the 141-bus, 12.5 kV feeder with 22 inverters. The goal is to keep every bus voltage within 0.95–1.05 per unit.

In the stock benchmark each inverter delivers exactly the reactive power it is told to. Deployed inverters also run an autonomous Volt/VAr curve in their firmware, as specified by IEEE 1547-2018, and grid codes such as California Rule 21 and AS/NZS 4777.2 require it to be active. The operator can move the curve's reference voltage remotely. On the sloped part of the curve this amounts to dispatching a reactive-power level, while the curve keeps reacting to the terminal voltage around it. We model the dispatched level as the agent's action and the curve's reaction as the harm. The terminal voltage is moved by the reactive power of every other inverter on the shared lines, so the curves respond to one another. On feeders with many inverters this interaction is a known cause of voltage oscillation (Jahangiri & Aliprantis, 2013; Farivar et al., 2013; Andrén et al., 2015).

The sun sets how strong the interaction is. At night the voltage sits inside the curve's flat deadband and the firmware does nothing. Around midday, high solar output raises voltages onto the sloped part of the curve, and the same injections from the neighbours provoke stronger reactions.

MMedium

Feeder lines

Agent \(i\)'s load is the voltage change that its peers' last injections cause at its terminal, split by conductor class \(m\) (heavy, medium and light lines, by resistance per kilometre):

\[ \peer{x_{m,i}(t)} = \sum_{j} S_m[i,j]\;\peer{q_j^{\ex}(t{-}1)} \]
WCoupling

Voltage sensitivity of the shared lines

\[ S_m[i,j] = \sum_{\substack{b\,\in\,\mathrm{path}(i)\,\cap\,\mathrm{path}(j)\\ \cls(b)=m}} \frac{X_b}{V_b^{2}}, \qquad S_m[i,i] = 0 \]

The linearised DistFlow sensitivity (Baran & Wu, 1989): how strongly reactive power at \(j\) moves the voltage at \(i\) through the class-\(m\) lines on their common path to the substation. It is read from the network model before any training.

DDriver

A clear-sky solar day

\(A(t) = \sin^2\) between 06:00 and 18:00 and exactly zero at night, on 3-minute steps (480 per day). The 241 steps with \(A = 0\) reproduce the stock task at every \(\sigma\).

HHarm

An unrequested reaction

Each inverter reacts to the voltage change its neighbours cause, with a Volt/VAr slope that the driver scales:

\[ d_i(t) = \bar s_i\,\clip\Big(-\drv{\sigma k A(t)} \sum_m \send_m\,\peer{x_{m,i}(t)},\ -q_{\mathrm{sat}},\ q_{\mathrm{sat}}\Big), \qquad q_i^{\ex} = \clip\big(q_i^{\sent} + d_i,\ -\bar q_i,\ \bar q_i\big) \]
\(\drv{k}\)
Reaction gain. \(\sigma = 1\) is the IEEE 1547-2018 Category B default slope (0.44 per-unit reactive power over 0.06 per-unit voltage); \(\sigma = 3\) is the steepest curve the standard allows, so the experiments stay within the standard.
\(\send_m\)
Class gains, unknown to the agents.
\(q_{\mathrm{sat}} = 0.44\)
The curve's own reactive-power limit, in units of rating.
\(\bar q_i\)
Capability \(\big(\bar s_i^2 - (p_i^{\mathrm{pv}})^2\big)^{1/2}\) at active power \(p_i^{\mathrm{pv}}\).

The reaction adds to the inverter's own action, so a correct estimate cancels it by subtraction. As in Example 2, reactions feed back through the lines: on this feeder \(k\rho(G) = 0.675\), so the midday threshold is \(\sigma_c = 1.48\) and the uncompensated fleet is past it at \(\sigma = 3\).

  • Lone inverterReads exactly zero harm at \(\sigma \in \{0.5, 1, 3, 100\}\).
  • σ = 0 · nightReproduces the stock task bit for bit at every driver value, and at every \(\sigma\) on the steps with \(A(t) = 0\).
  • Frozen partnersThe harm still varies over the day.
  • Type (B) controlWhen the sun acts on each inverter directly, an isolated inverter feels it. The interaction-mediated harm it does not.

Cooperative roboticsVMAS Balance · lifting from a shared supply

  • Harm on force, multiplicative
  • Inverse: divide
  • σ = 1: stated calibration

Four agents lift a beam carrying a package toward a goal (Bettini et al., 2022). If the beam tilts too far, the package falls, the episode ends and the team receives a penalty of −10. The difficulty is agreement: when one support pushes harder than the others, the beam rotates.

We add a shared supply, as in a synchronised hydraulic lift, where several jacks raise one load from a single power pack. When several jacks draw at once, the supply pressure sags and every jack delivers less force than it commanded. How much it sags for a given draw changes during operation: as the hydraulic fluid warms over a shift, its viscosity falls, internal leakage rises and the supply becomes softer. A jack alone on the supply receives full pressure at any temperature. In the benchmark this condition follows the same periodic profile as URB's wet/dry cycle.

MMedium

The supply

Each agent's load on the supply is the magnitude of its executed force. The channels filter the peers' load over time, because pressure does not respond instantly:

\[ \peer{x_{m,i}(t)} = \zeta\,x_{m,i}(t{-}1) + (1-\zeta)\sum_{j\neq i:\ \cls(j)=m} W_{ij}\,\peer{\lVert a_j^{\ex}(t{-}1)\rVert}, \qquad \zeta = 0.9 \]
WCoupling

Distance between actuators

\[ W_{ij} = \frac{\recv_{\cls(i)}}{1 + \big(\lVert \mathrm{pos}_i - \mathrm{pos}_j\rVert/\lambda\big)^2}, \qquad W_{ii} = 0 \]

Actuators closer together couple more strongly. \(\recv_{\cls(i)} \in \{1.6,\ 1.0,\ 0.4\}\) is how much droop an actuator of hardware class \(\cls(i)\) feels, and \(\lambda = 0.35\) is the length scale. Both are public.

DDriver

A periodic softening of the supply

A 100-step cycle with the shared shape: active over the first half, exactly zero over the second (51 of every 100 steps have \(A = 0\)). The clock keeps running across episodes.

HHarm

Lost force

The droop scales the delivered force down:

\[ \delta_i(t) = \clip\Big(\frac{\drv{\sigma L A(t)}}{x_{\mathrm{ref}}}\sum_m \send_m\,\peer{x_{m,i}(t)},\ 0,\ \delta_{\max}\Big), \qquad a_i^{\ex} = \clip_{\mathrm{box}}\big((1-\delta_i)\,a_i^{\sent}\big) \]
\(\send_m\)
How much a class-\(m\) actuator's draw costs the others, \((0.2,\ 1.0,\ 1.8)\). Unknown to the agents.
\(x_{\mathrm{ref}}\)
A reference load that fixes the meaning of \(\sigma\).
\(\delta_{\max} = 0.9\)
The droop limit: a support never delivers less than 10% of its command.

\(\sigma = 1\) is a stated calibration: at the driver's peak, with every peer at full effort, the droop reaches 0.14, URB's heavy-rain value, so that severities are comparable across benchmarks. The droop grows with the peers' forces, so it penalises exactly the coordinated pushing the task rewards, and the support that droops most tips the beam first. Dividing the command by one minus the predicted droop restores the commanded force, the same kind of feed-forward a lift controller applies.

  • Lone actuatorExactly zero droop at any \(\sigma\).
  • σ = 0 · A = 0Bit-identical to the stock scenario, and at every \(\sigma\) on the steps with \(A(t) = 0\).
  • Frozen partnersThe droop still varies over the cycle, from 0 to 0.018 in the self-test.

LocomotionMulti-Agent MuJoCo Ant · four legs on one torso

  • Harm on joint torque, additive
  • Inverse: subtract
  • σ = 1: stated calibration

Multi-Agent MuJoCo splits the MuJoCo Ant into agents (Peng et al., 2021). In the 4×2 configuration, each of four agents is one leg and controls the torques of its hip and ankle, each in \([-1, 1]\). The reward is the stock Ant reward: forward progress, minus control and contact costs, plus a survival bonus.

All four legs are bolted to one torso. When one leg drives hard, the torso reacts, and part of that reaction reaches the other legs' joints as torque they did not command. This coupling is part of the robot's rigid-body dynamics and is already present in stock Ant. What we add is drift in how strongly it is transmitted, driven by the temperature of the drivetrain. A cold drivetrain is stiff and firmly preloaded, and it holds each joint against the reaction. As the gearboxes and bearings warm during a run, lubricant viscosity falls, preload drops and backlash opens, so more of a neighbour's push leaks through to a joint. No leg controls the temperature, and a leg alone on the torso, with the others slack, feels nothing from them at any temperature.

MMedium

The torso

The elements of the medium are the eight joints, and each joint's load is the torque it actually delivered at the previous step, which the legs broadcast. Compliance and backlash spread a reaction over a few control steps, so the channels are filtered with memory \(\rho = 0.8\):

\[ \mathbf z_m(t) = \rho\,\mathbf z_m(t{-}1) + (1-\rho)\,G_m\,\peer{\boldsymbol\tau^{\ex}(t{-}1)} \in \R^{8} \]
\[ \mathbf e_i(t) = \frac{\mathbf z(t)\big|_i}{\big\lVert \mathbf z(t)\big|_i \big\rVert}, \quad \mathbf z = \textstyle\sum_m \mathbf z_m, \qquad \peer{x_{m,i}(t)} = \big\langle\, \mathbf z_m(t)\big|_i,\ \mathbf e_i(t) \,\big\rangle \]

Here \(\big|_i\) keeps agent \(i\)'s two joints. \(\mathbf e_i\) is the direction in the agent's two-joint action space along which the reaction arrives, and \(x_{m,i}\) is its size along load path \(m\).

WCoupling

The robot's own inverse inertia

The coupling operator is taken from the robot itself. \(\kappa\) is the joint-space inverse inertia \(|M^{-1}|\) of the Ant at its nominal pose, read out of the MuJoCo model: entry \(\kappa_{pq}\) says how strongly a unit torque at joint \(q\) accelerates joint \(p\).

\[ G_m[p,q] = \ind{\cls(p,q)=m}\;\recv_p\;\kappa_{pq}\;\ind{\mathrm{leg}(p)\neq\mathrm{leg}(q)}, \qquad \kappa = \big|M^{-1}\big|_{\text{nominal pose}} \]

The index \(m\) runs over three load paths: hip ← hip, ankle ← ankle and hip ↔ ankle. \(\recv_p\) is a declared per-actuator susceptibility with mean 1 and spread 0.35, standing for build tolerance and wear. The last factor removes pairs of joints on the same leg, so an agent never disturbs itself.

Load pathEntry of \(|M^{-1}|\)
Hip ← hip, adjacent legs4.382
Hip ← hip, diagonal legs2.823
Ankle ← ankle, diagonal legs1.795
Ankle ← ankle, adjacent legs0.309
Hip ↔ ankle, any two joints0.000

The structure is not what a distance rule would suggest. Diagonal ankles have parallel axes and couple about six times more strongly than adjacent ones. At the nominal pose no hip torque accelerates any ankle, because hip axes are vertical and ankle axes horizontal. The hip ↔ ankle path is therefore exactly zero and is dropped, which leaves two live channels.

DDriver

Drivetrain temperature

A 20,000-step cycle: a \(\sin^2\) bump over the warm half and exactly zero over the cold half. At the simulator's 0.05 s control step, one cycle lasts about 17 minutes, the time scale over which a drivetrain warms. The clock keeps running across episodes. \(A(t)\) changes by at most \(3.1\times10^{-4}\) per step, so it is slow compared with control, yet not constant within a 1000-step episode.

HHarm

Unrequested joint torque

The reaction is added to the torque the leg sends, along the direction \(\mathbf e_i\):

\[ \mathbf d_i(t) = \frac{\drv{\sigma L A(t)}}{x_{\mathrm{ref}}}\Big(\sum_m \send_m\,\peer{x_{m,i}(t)}\Big)\,\mathbf e_i(t), \qquad \ba_i^{\ex}(t) = \clip\big(\ba_i^{\sent}(t) + \mathbf d_i(t),\ -1,\ 1\big) \]
\(\drv{L} = 0.14\)
The severity scale shared with the other benchmarks.
\(\send_m\)
\((1.5,\ 0.9,\ 0.6)\) for hip ← hip, ankle ← ankle and hip ↔ ankle. Hips attach directly to the torso and load each other hardest. Unknown to the agents.
\(x_{\mathrm{ref}} = 7.73\)
The value of \(\sum_m \send_m x_{m,i}\) when every peer applies full torque with random signs.

\(\sigma = 1\) is a stated calibration: at the driver's peak, with every peer at full torque, the disturbance reaching an agent is 0.14 of its torque range (measured: 0.1397). No published constant exists for drivetrain warm-up, so we reuse URB's heavy-rain value to keep severities comparable across benchmarks.

The disturbance is applied where the simulator executes the torques, below the reward. The control cost is charged on the torque the policy commanded, so the reward function is the stock one, and the ant earns less only because it walks worse. The disturbance is a torque in the agent's own action space, so a correct estimate is subtracted from the command and the delivered torque then equals the commanded one exactly. The agent measures its shortfall as \(y_i = \langle \ba_i^{\ex} - \ba_i^{\sent},\, \mathbf e_i\rangle\), which a servo reads through its motor current.

  • σ = 0 · cold halfStock Ant, byte for byte, and at every \(\sigma\) whenever \(A(t) = 0\).
  • Lone agentWhen one agent owns all eight joints, every channel is exactly zero and the disturbance is zero at \(\sigma = 3\).
  • Frozen partnersThe disturbance still follows the warm and cold halves of the cycle.
  • FeedbackThe channels are built from delivered torques, which include the disturbance, so the disturbance feeds into its own next value, as on the feeder.

3 · Questions about the design

What the benchmarks do and do not show

In every benchmark the harm is a gain set by an external condition, multiplied by the load that the other agents put on the medium, and PACT's regressor is built from that same product. This section takes up the questions that usually follow: whether PACT is simply handed the answer, whether its use of the coupling operator is an unfair advantage, what remains hard when its model is right, and how realistic each harm is.

Form

The product form comes from the domains.

Traffic engineering, power engineering and rigid-body mechanics already describe these effects as a gain that depends on conditions, applied to a load carried by a known network.

Information

PACT uses only what the environment exposes.

The operator \(W\) is computed from the published layout, and the other inputs are the peers' broadcast actions and the agent's own shortfall. A learner told the true driver still falls short of PACT.

Difficulty

Knowing the form is not enough.

A baseline with an exact linear model, the same measurement and the same estimator still falls behind PACT, because identification and feedback remain hard.

Realism

Realism differs by benchmark.

URB and MAPDN are anchored to published constants. VMAS and the Ant use a physical mechanism with a stated calibration, and the VMAS supply is our own construction.

Is PACT simply given the answer?

On the feeder, the lift and the Ant, the harm is exactly linear in PACT's channels below saturation (Proposition C.2 of the paper). The form is not tailored to the method. It is how each field already writes the effect:

DomainStandard model of the effectSet by the conditionSet by the other agentsSource of the model
Road traffic (URB)\( t = t_{\mathrm{free}}\Big(1 + \alpha\,\dfrac{\peer{v}}{c\,\drv{\omega}}\Big) \)capacity share \(\drv{\omega}\) left by raintraffic volume \(\peer{v}\)BPR volume–delay function; HCM weather adjustment factors
Distribution feeder (MAPDN)\( v_i = v_{0,i} + \sum_j X_{ij}\,\peer{q_j} \),   \( q_i^{\mathrm{curve}} = -\drv{k}\,(v_i - V_{\mathrm{ref}}) \)effective slope \(\drv{k}\): zero in the deadband at night, steep at noonneighbours' reactive power \(\peer{q_j}\)LinDistFlow; IEEE 1547 Volt/VAr curve; Farivar et al. (2013)
Legged robot (Ant)\( \ddot\vartheta_i = \sum_j (M^{-1})_{ij}\,\peer{\tau_j} + \dots \)share of a reaction that the drivetrain passes, set by its temperatureother legs' torques \(\peer{\tau_j}\)Rigid-body dynamics; \(M^{-1}\) read from MuJoCo
Hydraulic lift (VMAS)\( \delta_i \propto \sum_{j} W_{ij}\,\peer{\lVert a_j\rVert} \)stiffness of the supply, set by fluid temperatureother jacks' forces \(\peer{\lVert a_j\rVert}\)Our construction, with a stated calibration

PACT is given the layout of the network and its peers' executed actions, and it estimates the gains online from its own measured shortfall. The same product is what defines the class: remove the peers and it vanishes, freeze them and the gain still moves. We first met the structure in traffic, where it is measured, and designed PACT for the class it defines.

Is using the operator W an unfair advantage?

No. PACT uses only what the environment exposes, and the same inputs are open to every method.

PACT works from three inputs: the infrastructure layout, the executed actions its peers broadcast, and its own measured shortfall. The operator \(W\) is computed from the layout before training: from the road network and the departure schedule on URB, from the feeder's line reactances on MAPDN, from the actuators' positions and hardware classes on VMAS, and from the robot's own model on the Ant. It records who can affect whom through the medium, and how strongly the structure transmits. It does not contain the gains, the severity \(\sigma\), the driver \(\drv{A(t)}\), or the driver's period and phase, and PACT is given none of these.

A known layout is also a realistic input. The people who operate these systems have it: a utility knows its feeder's impedances, a traffic authority its road network, a robot maker its robot's inertia. What they cannot know in advance is how strongly the layout transmits under the day's conditions, and that is the part PACT estimates.

The baselines receive the same kinds of input, in the form their designs call for. On VMAS every learner observes its own shortfall, and on MAPDN every learner also observes the channels, which are the peers' actions weighted by \(W\). The mean-field learners receive the peers' actions, and URLS and ESO use the shortfall exactly as PACT does. The oracle run, Oracle-A(t), goes further: it receives the one quantity PACT is never given, the true driver \(\drv{A(t)}\), on top of everything a learner normally observes. Methods that make no use of the layout do so by design, since they have no place for a known coupling structure. That is a property of those methods, not a restriction of the benchmark, and any method is free to use the layout.

Four panels of evaluation return against training steps on VMAS Balance. At severity 3, PACT rises to about 48 while every baseline, Oracle-A(t) included, levels off between about 30 and 42, and the unharmed B0 reaches about 60. At severity 1, PACT stays near 53, close to B0; ESO and RLS come close to PACT in one panel, and Oracle-A(t) stays near 40.
Figure 4. Evaluation return on VMAS Balance over training, at the paper's severity \(\sigma = 3\) (a, b) and at \(\sigma = 1\) (c, d). Each severity is split into two sets of baselines for legibility; RLS is URLS, PACT's estimator run on the peers' raw actions. Oracle-A(t) is the MAPPO host told the true driver at every step. At \(\sigma = 3\), averaged over the second half of training, PACT reaches about 47, the host about 35 and the unharmed B0 56, while Oracle-A(t) stays at the host's level: knowing today's condition does not tell an agent what its neighbours' pushing will cost it. At \(\sigma = 1\) the harm is milder, PACT stays close to B0, and ESO and RLS, which use the same shortfall, come close to PACT in the second set.

Having the right model and the right inputs is still not the same as solving the task. The table lists what several baselines are given and how they perform at \(\sigma = 3\), with values as reported in Section 5 of the paper; Section 4 below describes each baseline.

MethodOwn shortfallPeers' actionsDeclared operatorDriver A(t)URB travel time, lower is betterMAPDN controllable ratioVMAS return
PACTyesyesyesno3.3690.94≈ 47
URLS: PACT's estimator on the peers' raw actionsyesyesnono3.4430.84–0.86≈ 38
ESO: disturbance observeryesnonono3.4440.84–0.86≈ 40
Oracle-A(t): the host told A(t)see notenonoyes3.5330.73–0.86≈ 35
PACT's host, trust 0see notenonono3.401≤ 0.89≈ 35

The MAPDN values are over the last three evaluations. On MAPDN every learner, the host included, also observes the channels and its own one-step-old shortfall, and on VMAS every learner observes its own shortfall, so the comparisons there are matched in information. The unharmed VMAS return is 56.

  • An exact model with the same data still falls behind

    URLS runs PACT's own recursion, with the same forgetting, trust and correction, on the peers' raw actions. On the feeder its model is also exact below saturation, since every coefficient is proportional to \(\drv{A(t)}\). It must identify up to \(n\) coefficients where PACT identifies \(r+1\), and the learners' actions do not vary enough for that. Between two correct models, the declared structure decides.

  • Knowing the driver is not enough

    In every benchmark the gains move together with \(\drv{A(t)}\), so \(\drv{A(t)}\) is the only quantity that drifts. Oracle-A(t) is told \(\drv{A(t)}\) at every step and still does not improve on its host, because the harm is \(\drv{A(t)}\) multiplied by the peers' load, and the load changes whenever the co-learners change.

  • The right measurement, used as feedback, makes things worse

    The disturbance observer uses the same shortfall that PACT measures, but it learns each reaction one step late. In the feeder's feedback loop this lowers the instability threshold below that of the uncompensated fleet (the observer proposition in Appendix D). On the 6-inverter feeder at \(\sigma = 3\), with a scripted droop host, its voltage loss is 4.32 times the unharmed host's, against 4.21 with no compensation at all; PACT's is 1.04 and the oracle's 1.00.

If the model is right, what remains hard?

Three things, and a correct model class removes none of them.

  • The regressor comes from learners, and it runs dry

    Identification needs the peers' actions to vary, and convergent learning removes that variation (the excitation lemma in Appendix C). When we estimated the coupling operator itself instead of declaring it, the fitted coefficient on URB was 0.13 ± 5.0 and never significant in 5004 windows.

  • Acting on the estimate changes what is estimated

    Every correction adds to the neighbours' load. At full trust 2 of 5 runs became unstable, and 1 of 5 at trust 0.95 (the trust sensitivity table in Appendix B). If the task were only to track a few numbers, full trust would be best.

  • The outcome is not guaranteed

    On VMAS PACT reaches 83% of the unharmed return and closes a little over half of the gap. On the Ant, PACT and its host end at the same return, and the gain is in sample efficiency.

How realistic is each harm?

Each benchmark combines parts taken from its domain with parts we added to create the drift. The table separates the two.

BenchmarkTaken from the domainAdded by usσ = 1 meansInside PACT's model class
URBSUMO traffic on a real road network, human drivers, the HCM heavy-rain capacity loss, the BPR delay curveThe rain cycle, and applying the delay to recorded travel timesHCM heavy rain (published)No: a maximum over links and a ratio, forecast from the previous day's routes
MAPDNThe feeder and its reactances, the IEEE 1547 curve's slope and limitA curve that reacts to the peers' voltage only; a clear-sky solar profileIEEE 1547 default curve (published)Yes, below saturation
VMASThe lifting scenario and the actuators' positionsThe shared supply, its kernel, hardware classes and gains, and the cycleStated calibrationYes, below saturation
AntThe robot, its inverse inertia, and the torso coupling, which is present at σ = 0Drivetrain drift, per-actuator susceptibility, channel memory, and the cycleStated calibrationYes, below saturation

Two details matter when reading the results. SUMO has no model of rain, so the URB delay is applied to recorded travel times rather than inside the car-following dynamics. It is applied to every traveller, human drivers included; the benchmark keeps the human drivers' policies fixed, so for them only the reported times change.

On MAPDN the agent's action plays the role of the curve's reference voltage. On the sloped part of an IEEE 1547 curve, moving the reference voltage by \(\Delta V\) shifts the reactive power by \(k\,\Delta V\), so a dispatched level with the curve reacting around it matches how the standard lets operators steer a fleet of inverters. The same linear loop is the standard model for analysing local Volt/VAr stability (Farivar et al., 2013). Our curve reacts only to the voltage that the peers cause. A complete curve would also react to load and solar variation, which adds type (B) drift on top of type (C).

4 · Experiments

Hosts and baselines

All methods are evaluated at \(\sigma = 3\) with 5 seeds. Tables report the mean and the standard deviation over seeds, and figures the mean with one standard deviation. PACT wraps an unmodified learner, its host, and changes only the action sent to the environment, so every host is also run on its own, which is PACT at trust 0, with the same seeds. The Demo tab shows a side-by-side rollout on VMAS Balance.

BenchmarkHost that PACT wrapsLearners also runCode
URBThe benchmark's PPO learner, and IQL (PACT-IQL)IQL, IPPO, VDN, MAPPO, QMIX and the greedy heuristic, as shipped with the benchmarkgithub.com/COeXISTENCE-PROJECT/URB
MAPDNMATD3—github.com/Future-Power-Networks/MAPDN
VMAS BalanceMAPPO—github.com/facebookresearch/BenchMARL
MaMuJoCo AntMAPPOHAA2C, HAPPO, HATRPOgithub.com/PKU-MARL/HARL

Results on URB

On URB the score is the mean travel time of the agents' vehicles in the test phase, in minutes, so lower is better. Entries are the mean over seeds with the standard deviation in brackets. The video ranks every method at \(\sigma = 3\); the tables below give the same numbers.

Every method on URB at \(\sigma = 3\), ranked. Dots are means and whiskers one standard deviation. PACT on IQL reaches 3.079 min, the lowest travel time of any learning method and 2.6% below IQL on its own (3.160). Only the greedy heuristic, which does not learn, is lower.
(a) Hosts and PACT
Method\(\sigma = 0\)\(\sigma = 3\)\(\Delta\) (%)
Greedy3.0423.0440.1
IQL3.119(0.021)3.160(0.020)1.3
IPPO3.377(0.058)3.471(0.057)2.8
VDN3.380(0.208)3.496(0.336)3.4
MAPPO3.659(0.099)3.799(0.102)3.8
QMIX3.668(0.198)3.739(0.278)1.9
PACT, \(g \equiv 0\)3.300(0.045)3.401(0.042)3.1
PACT, learned \(g\)3.288(0.024)3.397(0.033)3.3
PACT, fixed \(g\)3.276(0.025)3.369(0.021)2.8
PACT-IQL, fixed \(g\)—3.079(0.007)—
(b) Baselines at \(\sigma = 3\)
Own outcomes
URLS3.443(0.031)
ESO3.444(0.046)
R-IPPO3.444(0.029)
WISDOM3.447(0.042)
Peers and population
Deep FP3.458(0.096)
M3W3.465(0.091)
MF-Q3.471(0.088)
DGN3.560(0.192)
LIAM3.569(0.091)
Driver and robustness
Oracle driver3.533(0.047)
DR3.554(0.042)
ERNIE3.557(0.055)
DORAEMON3.572(0.026)
RMA3.587(0.073)
LCPO3.685(0.058)
Co-learners and restarts
HAPPO3.515(0.019)
QCD restart3.576(0.024)
PMPG3.651(0.028)

\(\Delta\) is the change from \(\sigma = 0\) to \(\sigma = 3\). PACT-IQL wraps IQL with a fixed trust and is reported over 4 seeds at \(\sigma = 3\).

Baselines

The baselines take one recent representative from each class of method that could plausibly handle this drift, preferring methods with public code; those without public code were implemented from their papers. Every baseline runs through the same entry point as PACT, inside the same harmed environment. The tags show the benchmarks each one runs on. Four names differ in Figure 4: RLS is URLS, DEDA-FP is Deep FP, IPGA is PMPG, and QCD+ is QCD.

The benchmark's own reference methods

  • Greedya heuristic, not a learner

    shipped with URB

    • URB

    Greedy keeps one shared table holding, for each origin, destination and departure time, the shortest travel time ever recorded on each route, and sends every vehicle to the route with the lowest entry; a route nobody has tried yet is entered at its free-flow time. There is no network and nothing is learned. Two consequences make it a reference line rather than a competitor. It is centralised, reading every controlled vehicle's realised travel time from a single record that no decentralised learner sees. And because it stores the minimum ever observed, which is attained on a dry day, its estimate is effectively the dry-day travel time, so the harm barely reaches it: its travel time rises by 0.1% at \(\sigma = 3\) while every learner loses between 1.3% and 3.8%.

  • IQLindependent Q-learning

    shipped with URB

    • URB

    One Q-network per agent, trained independently. A URB episode is a single decision, so the next state is terminal and the Q-learning target reduces exactly to the immediate reward: each agent regresses its own travel time on its observation and chosen route, over a replay buffer of the last 2048 days, and acts greedily once exploration has decayed to zero. That is the smallest machinery the task requires, and pooling days averages out the noise that the other 88 vehicles inject into any single day's reward.

    This explains the ordering of the learners. The policy-gradient hosts estimate the same quantity from single on-policy samples and discard them, paying variance for a policy parameterisation that a one-step decision does not need. QMIX and VDN exist to split a shared team reward into per-agent shares, and MAPPO fits a centralised critic over all 89 agents, but the reward here is already each vehicle's own travel time and the horizon is one step, so that machinery is carried without being used. The advantage is one of estimator fit to the task's shape, and it is orthogonal to the drift: IQL loses 1.3% at \(\sigma = 3\), inside the band of the other hosts.

Trust regions and sequential updates

  • HAPPO and HATRPOwith HAA2C on the Ant

    ICLR 2022 · JMLR 2024

    • URB
    • MAPDN
    • VMAS
    • Ant

    Heterogeneous-agent trust-region methods update the agents one at a time in a random order and weight each update by the change the preceding agents have just made. This is the standard multi-agent remedy for drift caused by co-learners. They test whether stabilising learning helps when the drift continues with every partner frozen.

  • HASAC

    ICLR 2024

    • URB
    • MAPDN
    • VMAS

    The off-policy, maximum-entropy member of the same family: soft actor-critic with sequential agent updates. Its entropy bonus keeps every agent's actions varied, which is the excitation an estimator of the coupling needs, while its critic is fitted on replayed data that mix phases of the driver.

Memory

  • R-MAPPO and R-IPPO

    NeurIPS 2022

    • URB
    • MAPDN
    • VMAS

    MAPPO and IPPO with a recurrent layer between the observation encoder and the policy head, trained by backpropagation through time. They test the simplest alternative explanation: that a policy with memory can infer the drift from its own history. On URB the recurrent state is carried across days.

Graphs, mean fields and agent models

  • DGN

    ICLR 2020

    • URB
    • VMAS

    Graph convolutional reinforcement learning: each agent combines its features with its neighbours' through multi-head attention, and a Q-network acts on the result, with a regulariser that keeps the attention stable over time. It tests whether a learned graph over the agents can discover the coupling that PACT is given.

  • MF-Q and MF-ACMF-AC and MF-AC-T in Figure 4

    ICML 2018

    • URB
    • VMAS
    • MAPDN, via the host

    Mean-field reinforcement learning summarises an agent's neighbourhood by its mean action and learns the value of the agent's own action against that mean, with a Q-function (MF-Q) or an actor-critic (MF-AC); MF-AC-T uses the team mean with the agent included. The coupling in our benchmarks is a weighted mean of the peers' load, so mean-field RL is its classical alternative. On MAPDN the host already observes the weighted mean of the peers' actions and represents this class.

  • LIAM

    NeurIPS 2021

    • URB
    • MAPDN
    • VMAS

    Local information agent modelling: an encoder learns a representation of the other agents from the controlled agent's own observations and actions, trained to reconstruct what the others observe and do, and the policy conditions on it. It tests whether modelling the peers' behaviour is enough when what drifts is how much that behaviour costs.

Context, latent tasks and restarts

  • LCPO

    ICLR 2025

    • URB
    • MAPDN
    • VMAS

    Built for environments driven by an observed exogenous context. It anchors the policy on states from past contexts, so that learning in the current context does not overwrite behaviour that other contexts still need. We give it the driver \(\drv{A(t)}\) as its context.

  • Oracle-A(t)the oracle driver

    Control run

    • URB
    • MAPDN
    • VMAS

    The host with the true driver \(\drv{A(t)}\) appended to every observation: the one quantity that drifts, and one that PACT is never given. It measures what knowing the condition is worth on its own.

  • LILAC

    ICML 2021

    • MAPDN

    Models the environment as a sequence of MDPs indexed by a latent variable that changes between episodes. A variational model infers the latent from each episode, an LSTM prior predicts the next one, and a soft actor-critic learner conditions on it.

  • WISDOM

    arXiv 2025

    • URB
    • MAPDN
    • VMAS

    Learns a representation of the current task from recent transitions, decomposes the sequence of representations over several time scales with wavelets, and predicts how it will evolve; the policy conditions on the prediction. It is the learned counterpart of PACT's declared basis and forecast.

  • QCDQCD+ in Figure 4

    arXiv 2024

    • URB
    • MAPDN
    • VMAS

    Quickest change detection with restarts: a Bernoulli generalised likelihood-ratio test watches the reward stream and resets the learner when it detects a change. Variants restart at random times or follow the multi-scale tests of MASTER. It tests whether detecting change and relearning is enough, without identifying what changed.

Online identification

  • RMAwith UP-OSI as a variant

    RSS 2021

    • URB
    • MAPDN
    • VMAS

    Rapid motor adaptation trains a policy on privileged environment factors, then distils an adaptation module that recovers them from the recent history of observations and actions. It is the closest methodological neighbour of PACT: both identify something online, but RMA learns its identifier from history while PACT estimates a few gains on a declared basis. The privileged factor is the drifting gain on MAPDN and the driver on VMAS and URB.

Robustness

  • DRdomain randomisation

    IROS 2017

    • URB
    • MAPDN
    • VMAS

    Trains the host on severities drawn uniformly from \([0, 3]\) in every episode, without telling the policy which severity it faces. It hedges against the drift instead of identifying it.

  • DORAEMON

    ICLR 2024

    • URB
    • MAPDN
    • VMAS

    Domain randomisation with an adaptive curriculum: it maximises the entropy of the training distribution over \(\sigma\) subject to a success-rate constraint and a trust region, so the range of severities widens as fast as the policy can handle it.

  • ERNIE

    NeurIPS 2023

    • URB
    • MAPDN
    • VMAS

    Makes each policy robust to changes in its input with an adversarial regulariser, solved as a Stackelberg game. Its analysis bounds the change of return under perturbed observations or transitions for policies that are smooth in their input.

Model-based MARL

  • M3W

    NeurIPS 2025

    • URB
    • MAPDN
    • VMAS

    Learns a world model whose dynamics and reward predictors are mixtures of experts, and chooses joint actions by model-predictive path-integral planning. It tests whether a learned model of the dynamics, drift included, can take the place of a declared one.

Fictitious play and performative learning

  • Deep FPDEDA-FP in Figure 4

    NeurIPS 2025

    • URB
    • MAPDN
    • VMAS

    Deep fictitious play for mean-field games: each iteration computes a best response to the averaged population, and an average policy fitted by supervised learning plays at evaluation. It tests whether seeking an equilibrium, with no estimator at all, reaches what PACT reaches.

  • PMPGIPGA in Figure 4

    arXiv 2025

    • URB
    • MAPDN
    • VMAS

    Independent policy gradient (IPGA) and natural policy gradient (INPG) under repeated retraining, from the theory of performative Markov potential games, in which the deployed policies reshape the game. It tests whether a gain could come from the deployment schedule rather than from identification.

Estimators without the declared operator

  • ESOextended state observer

    IEEE TIE 2009

    • URB
    • MAPDN
    • VMAS

    The observer at the heart of active disturbance rejection control. It estimates each agent's lumped disturbance from its own measured shortfall and cancels the estimate at the next step, with no peers and no structure. It is the classical control answer to an unknown disturbance.

  • URLSRLS in Figure 4

    Control run

    • URB
    • MAPDN
    • VMAS

    Unstructured recursive least squares: PACT's own estimator, with the same forgetting, trust and correction, applied to the peers' raw broadcast actions instead of the declared channels. The two differ only in the design matrix, so URLS isolates the value of the declared operator.

State of the art on the feeder

  • TPA

    KDD 2024

    • MAPDN

    Temporal prototype-aware learning for active voltage control. It extends an off-policy learner with a transformer over the zone's bus features, a recurrent summary of recent solar and load profiles, and 24 seasonal prototypes that condition the policy. It is the closest published method on MAPDN and was built for time-varying operating conditions.

Sources

References

  1. Agarwal, M., Maze, T. H., and Souleyrette, R. (2005). Impacts of weather on urban freeway traffic flow characteristics and facility capacity. Proceedings of the Mid-Continent Transportation Research Symposium.
  2. Akman, A. O., Psarou, A., Hoffmann, M., Gorczyca, Ł., Kowalski, Ł., Gora, P., Jamróz, G., and Kucharski, R. (2025). URB: Urban Routing Benchmark for RL-equipped connected autonomous vehicles. NeurIPS Datasets and Benchmarks Track.
  3. Andrén, F., Bletterie, B., Kadam, S., Kotsampopoulos, P., and Bucher, C. (2015). On the stability of local voltage control in distribution networks with a high penetration of inverter-based generation. IEEE Transactions on Industrial Electronics, 62(4), 2519–2529.
  4. Baran, M. E., and Wu, F. F. (1989). Network reconfiguration in distribution systems for loss reduction and load balancing. IEEE Transactions on Power Delivery, 4(2), 1401–1407.
  5. Bettini, M., Kortvelesy, R., Blumenkamp, J., and Prorok, A. (2022). VMAS: A vectorized multi-agent simulator for collective robot learning. Distributed Autonomous Robotic Systems.
  6. Bureau of Public Roads (1964). Traffic Assignment Manual. U.S. Department of Commerce.
  7. Farivar, M., Chen, L., and Low, S. (2013). Equilibrium and dynamics of local voltage control in distribution systems. IEEE Conference on Decision and Control.
  8. IEEE (2018). IEEE 1547-2018: Standard for interconnection and interoperability of distributed energy resources with associated electric power systems interfaces.
  9. Jahangiri, P., and Aliprantis, D. C. (2013). Distributed Volt/VAr control by PV inverters. IEEE Transactions on Power Systems, 28(3), 3429–3439.
  10. Lopez, P. A., et al. (2018). Microscopic traffic simulation using SUMO. IEEE International Conference on Intelligent Transportation Systems, 2575–2582.
  11. Peng, B., Rashid, T., Schroeder de Witt, C., Kamienny, P.-A., Torr, P., Böhmer, W., and Whiteson, S. (2021). FACMAC: Factored multi-agent centralised policy gradients. NeurIPS.
  12. Smith, B. L., Byrne, K. G., Copperman, R. B., Hennessy, S. M., and Goodall, N. J. (2004). An investigation into the impact of rainfall on freeway traffic flow. 83rd Annual Meeting of the Transportation Research Board.
  13. Transportation Research Board (2016). Highway Capacity Manual, Sixth Edition: A Guide for Multimodal Mobility Analysis. The National Academies Press.
  14. Wang, J., Xu, W., Gu, Y., Song, W., and Green, T. C. (2021). Multi-agent reinforcement learning for active voltage control on power distribution networks. NeurIPS.