Independent Q-Learning
Let each agent run its own Q-learning and pretend teammates are weather. It scales with zero messaging but the ground shifts as everyone learns at once.
Why Does This Exist?
Joint control blows up fast. With agents and moves each, the joint action count is . Two agents with 5 moves mean 25 joint moves. Ten agents mean almost ten million. A central brain that picks every joint move cannot scale, and in drone fleets or warehouses you cannot rely on instant messaging at run time.
Multi-agent RL frames the options, and Markov games give the formalism. Independent Q-learning from Tan in 1993 is the simplest decentralized answer. Each agent keeps its own on its local view and runs plain Q-learning. Teammates are treated as part of the scenery.
That simplicity breaks theory. Because peers update too, each agent faces a moving target. This page shows the update, the drift, and the classic trap where teams abandon the best joint move for a safe one. The fix family with shared training lives in value decomposition networks.
The one idea you need first
Single agent Q-learning assumes fixed dynamics . The Bellman backup converges because the world stays still while you learn. Multi-agent learning removes that stillness.
Think of It Like This
Two cooks who cannot taste together
Two cooks share one oven but work in separate kitchens with no phone. Each adjusts heat by watching only their own tray. Cook one raises heat because their half looks pale. Cook two lowers heat because their half looks dark. Both act sensibly alone, yet the shared oven swings wildly.
Neither cook can tell if a burnt edge came from their own knob or the other knob. So each blames their own last move and gets cautious. Soon both pick the lukewarm setting that never burns, even though a hotter joint setting would bake perfectly if they held it together.
Where the analogy stops: cooks share culture and can agree on a recipe in advance. These agents start with no shared plan, and their exploration itself is what shakes the oven.
How It Actually Works
Agent sees , picks , gets . It stores and updates with temporal difference error :
Symbols: is the step size, is the discount, is the next local view. Joint actions of others, , never appear. That is the point and the wound.
True dynamics depend on the joint move :
As peer policies change, the left side shifts every iteration. Replay buffers go stale, because old tuples carry rewards earned under dead peer behavior.
Worked example
Two agents pick A or B. Payoffs are , , mismatch . Step size , . Start , same for .
Step 1, both play A and earn 10.0:
Same for . Good start toward the best joint move.
Step 2, agent 1 plays A while agent 2 explores B. Joint is , reward 0.0:
Agent 1 loses 0.40 for doing the right thing at the wrong joint moment.
Step 3, both play B and earn 5.0:
Now A looks risky because any peer wobble zeroes it, while B pays steadily. Teams slide to even though 10 beats 5. That slide is relative overgeneralization.
Hysteretic Q-learning softens the blow with a small step on negative errors:
Same miscoordination now costs 0.10 instead of 0.40, so A survives longer.
Code
This snippet replays the three steps and the hysteretic guard.
"""Replay the 2-agent coordination trap from the page."""
alpha = 0.2beta = 0.05
q1a = 0.0q1a = q1a + alpha * (10.0 - q1a)print(round(q1a, 2))# -> 2.0
q1a_std = q1a + alpha * (0.0 - q1a)print(round(q1a_std, 2))# -> 1.6
q1a_hys = q1a + beta * (0.0 - q1a)print(round(q1a_hys, 2))# -> 1.9
q1b = 0.0 + alpha * (5.0 - 0.0)print(round(q1b, 2))# -> 1.0Watch Out For
Replaying stale team behavior
Deep independent learners store and replay it weeks later in training time. The reward and next state depended on old peer moves that no longer happen. The net fits ghosts. The symptom is training that improves, then jitters or collapses as the buffer fills with outdated joint contexts.
Tag transitions with time or peer behavior, shorten buffers for tight coupling, or move to centralized training with decentralized execution. If agents rarely interact, plain replay can still pass, so match the fix to the coupling.
Settling for the safe joint move
Early tries at get punished by peer exploration, so sinks and looks steady. The team locks at payoff 5 and stops trying for 10. The symptom is stable but mediocre coordination that never recovers even with more training.
Use optimistic guards like hysteretic updates, longer exploration with restarts, or a mixing method that sees joint actions in training. Check the payoff gap first: if the best joint pays only a little more, safe may be rational.
The Quick Version
- Independent Q-learning runs one Q update per agent with no peer messaging.
- Peer learning makes dynamics non stationary, so Bellman guarantees and fresh replay both fail.
- In this page payoff 10 joint action falls when exploration zeroes it, with moving to .
- Safe payoff 5 joint action then sticks at through relative overgeneralization.
- Hysteretic steps with keep at and protect promising moves longer.