Mobile agents on graphs
Memory-bounded agents move along the edges of a port-labelled graph, by default with anonymous nodes; what they can see, remember, say and rely on is fixed by its assumption axes.
Once a task is known to be solvable, the community has mostly asked for it to be fast: first the number of rounds (or epochs, or edge traversals), then the memory per agent in bits. Problems with hostile nodes or agents, such as black hole search, ask instead for the smallest number of agents that still succeeds.
The graph \(G=(V,E)\) has \(n\) nodes, \(m\) edges, maximum degree \(\Delta\) and diameter \(D\). Nodes are anonymous (no identifiers) and, unless assumed otherwise, have no memory (no whiteboards). Edges are port-labelled: the edges incident to a node \(v\) carry distinct labels \(1,\dots,\deg(v)\), and the two endpoints of an edge label it independently. An agent at \(v\) sees \(\deg(v)\) and, after arriving through an edge, the port through which it entered.
There are \(k\) agents. Each has a bounded amount of memory (persistent across rounds, measured in bits) and runs the same algorithm. In every step an agent (i) exchanges information with whatever agents its communication model allows, (ii) computes, and (iii) either stays or moves through one port. Agents moving in opposite directions along the same edge do not see each other.
Agents know nothing about \(n\), \(m\), \(k\), \(\Delta\) or \(D\) unless a result says so.
How the axes work. Every axis is a scale of assumptions. Level 0 is no assumption: the environment may be as hostile as the axis allows (a changing, directed graph; asynchronous, anonymous, Byzantine agents that cannot talk). Each higher level adds one assumption. A problem variant is a point on all axes at once, and the catalogue arranges variants as a tree whose root assumes nothing and whose edges each add assumptions. The standard setting of the literature (static undirected graph, \(k \le n\), synchronous rounds, local communication, unique identifiers, no faults) sits several steps below the root.
The two standard cost measures are the number of rounds until the problem is solved (time) and the number of bits of memory per agent (memory).
How the assumptions fit together
Agents that move through a network
The model asks what a team of computing entities can achieve when the only way to act on a network is to walk along its edges. Pelc names the two motivating systems: autonomous robots that start in different places of a terrain or a labyrinth, and software agents, "mobile pieces of software that navigate in a computer network in order to perform maintenance of its components or to collect data distributed in nodes of the network" Pelc 2019. Since an algorithm depends only on what the entities perceive, remember and how they move, the same model serves both, and there is no central monitor, so the questions belong to distributed computing Pelc 2019. Later problems kept this double reading: dispersion was motivated by self-driving electric cars looking for free charging stations with "car-to-car interactions" only Augustine & Moses Jr. 2018, and black hole search by host attacks on mobile code, a site that destroys incoming agents without a trace Di Luna et al. 2025. Each axis of the model fixes one thing that the agents may or may not rely on: the network (dynamics, direction, topology, node identifiers, node memory), the team (count, identifiers, randomness, faults, communication), time, and the start.
Every axis is a freedom of the adversary
Level 0 on each axis is what the adversary controls when nothing is assumed. In the deterministic scenario "the initial positions of the agents are chosen by an adversary which models the worst-case situation" Pelc 2019; under asynchrony the adversary also chooses when and how fast each move happens Pelc 2019; in a dynamic network it chooses the edges of every round after seeing the states of the nodes Kuhn et al. 2010; and with Byzantine agents it controls part of the team Dieudonné et al. 2014. The remaining axes govern symmetry. Two identical agents that run the same deterministic algorithm in an oriented ring and start at the same time keep their distance forever Pelc 2019: anonymous agents, anonymous nodes, no coins and an adversarial start leave the adversary free to keep the configuration symmetric. Each higher level removes one of these freedoms (labels, node names, coins, a common start, a stable or undirected graph, synchronous rounds, honest agents) and makes the problem easier. This is why results move along the scale: an algorithm proved against a stronger adversary holds against a weaker one, and an impossibility for a weaker adversary holds for a stronger one, as the inclusion hierarchy of time-varying graph classes already makes explicit for dynamics Casteigts et al. 2012.
How the axes interact
The axes are independent as assumptions but not in their effect. Identifiers and the start. Anonymity matters only when the rest of the instance is symmetric: on a line with an odd number of nodes two identical agents meet at the centre, and from asymmetric positions they can still break symmetry Pelc 2019; from a rooted start, where agents share their position, only labels or coins can decide which agent settles first, which is how Molla and Moses Jr. use randomness in dispersion Molla & Moses Jr. 2019. Faults and identifiers. The two Byzantine levels differ only in whether a faulty agent may forge its label; with known \(n\) this is the difference between one good agent sufficing and needing \(f+1\), but with unknown \(n\) both need \(f+2\) Dieudonné et al. 2014 Bouchard et al. 2016. Faults and timing. Under full asynchrony a waiting agent cannot tell a slow agent from a crashed one, so gathering with crash faults is impossible; Pelc restores it by fixing each agent's speed Pelc 2018. Dynamics and timing. In temporal graphs "the distributed computation is by definition synchronous" Di Luna et al. 2025, so dynamic settings in the atlas are synchronous. Communication and the graph. Global communication does not tell two agents on neighbouring nodes which edge joins them, so edges must still be traversed Kshemkalyani et al. 2020. Node memory and node identifiers. A whiteboard or a pebble lets an agent recognise a node it has seen, the service that node labels would give Bender et al. 2002 Fraigniaud & Ilcinkas 2004; without either, settled agents play that role in dispersion Kshemkalyani & Ali 2019. Direction and exploration. An undirected graph can be explored by depth-first search in fewer than \(2|V|\) steps, while some directed graphs need \(\Theta(|V|^2)\) Erlebach et al. 2021, because backtracking along an edge is no longer available Italiano et al. 2022.
Why the standard setting is where it is
The setting most papers start from is a static, undirected, connected graph with anonymous nodes and locally labelled ports, synchronous rounds, deterministic fault-free agents with distinct labels, communication between co-located agents only, and no node memory. Each choice has a stated reason. Undirected edges capture movement in both directions along a link, and connectivity is necessary for agents in different components to meet at all Pelc 2019. Anonymous nodes are assumed because labels may be withheld for privacy or security, may be unreadable by weak sensors, and because readable labels would reduce rendezvous to exploration; port numbers stay, because without them an agent may never reach all neighbours of a node of degree at least 3 Pelc 2019. Distinct agent labels are the cheapest deterministic way to break symmetry Pelc 2019 Dessmark et al. 2006; determinism is kept because probabilistic approaches "typically fail to provide absolute guarantees" Devismes et al. 2026. Local communication matches the physical picture of agents that meet Augustine & Moses Jr. 2018. Synchronous rounds let agents use waiting as a tool Pelc 2019. The research programme then removes these assumptions one at a time: asynchrony De Marco et al. 2006 Kshemkalyani & Ali 2019, dynamic graphs Di Luna et al. 2020 Agarwalla et al. 2018, directed graphs Italiano et al. 2022, Byzantine agents Dieudonné et al. 2014 Molla et al. 2021, silent agents Gorain et al. 2022, and repeated labels Devismes et al. 2026. The level-0 corner of the model, where none of the assumptions hold, is where most open questions sit.
Notation
Symbols of this model; the notation page has every model and the general conventions.
| Symbol | Meaning | Papers write | Used in |
|---|---|---|---|
| \(G=(V,E)\) | the graph; for a directed graph \(E\) is a set of arcs, written \(G=(V,A)\) where both appear | whole model | |
| \(n\) | number of nodes, \(n = |V|\) | whole model | |
| \(m\) | number of edges (arcs) | whole model | |
| \(\Delta\) | maximum degree | whole model | |
| \(\Delta_{out}\) | maximum out-degree of a directed graph | \(d\) in some exploration papers | whole model |
| \(\deg(v),\ \deg_{out}(v)\) | degree and out-degree of node \(v\) | \(\delta(v)\), \(\delta_{out}(v)\) | whole model |
| \(D\) | diameter of the graph (for a tree explored from a root: its height) | whole model | |
| \(u, v, w\) | nodes (local names) | whole model | |
| \(s\) | the starting node of a single agent, the root of a rooted team, or the home base of black hole search and decontamination | \(h\) (home base), \(r\) (root) | whole model |
| \(k\) | number of agents | whole model | |
| \(\ell\) | number of initially occupied nodes; \(\ell=1\) is a rooted start, \(\ell=k\) a dispersed start | Dispersion | |
| \(f\) | maximum number of faulty agents (crashed or Byzantine) | whole model | |
| \(N\) | a known upper bound on \(n\) | \(\hat n\) | whole model |
| \(\mathcal L\) | the set of agent labels in use; \(|\mathcal L|\) distinct labels, \(|\mathcal L|=1\) anonymous, \(|\mathcal L|=k\) distinct identifiers | \(\ell\) (homonyms) | whole model |
| \(L\) | the largest possible label: labels are integers in \(\{1,\dots,L\}\) | \(\lambda\) (largest identifier), \(\mu\) (largest label) | whole model |
| \(\lambda\) | the smallest label among the agents (for two agents: the smaller label) | \(l\) Pelc 2019 | whole model |
| \(\tau\) | delay between the starting times of two agents | whole model | |
| \(d\) | distance from the starting node to the target (the treasure), or between the starting nodes of two agents in rendezvous | \(D\) for the distance between starting positions Pelc 2019 | whole model |
| \(v^*\) | the node of the treasure | \(t\) | whole model |
| \(e(d)\) | number of edges with an endpoint at distance less than \(d\) from the start | Treasure hunt | |
| \(w(\cdot),\ W\) | weight of the cheapest path type to the treasure (treasure hunt); \(W\) its maximum over the two directions (rendezvous) | Treasure hunt, Rendezvous | |
| \(h\) | communication range in hops (\(h\)-hop communication) | \(\ell\) Saxena et al. 2025 | whole model |
| \(T\) | window length in \(T\)-interval and \(T\)-path connectivity of dynamic graphs | whole model | |
| \(\mu\) | maximum number of edges missing in a round (\(\mu\)-bounded 1-interval connected graphs) | \(\ell\)-bounded Saxena et al. 2025 | whole model |
| \(\eta\) | number of transient edges of a temporally connected graph | Exploration of dynamic graphs by teams | |
| \(\delta\) | longest time an edge of a dynamic ring may be absent | Graph exploration by a single agent | |
| \(p\) | number of pebbles | whole model | |
| \(b\) | number of bits of an agent's memory, when it is a parameter | whole model | |
| \(\beta\) | number of bits of a label written at a node in advance | Graph exploration by a single agent | |
| \(\phi\) | deficiency of a directed graph: the number of arcs whose addition makes it Eulerian | \(d\) Italiano et al. 2022 | Dispersion, Graph exploration by a single agent |
| \(\nu\) | number of leaves of a tree | \(\lambda\) | Rendezvous |
| \(\mathrm{CR}(k)\) | competitive ratio of a collaborative exploration algorithm with \(k\) agents | Collaborative exploration | |
| \(X(n)\) | time to explore any \(n\)-node graph | Dispersion | |
| \(\mathrm{port}_v\) | port numbering at node \(v\) | \(\lambda_v\) | Graph exploration by a single agent |
| \(R\) | running time, in rounds, of a message-passing algorithm simulated by agents | Leader election by agents, Maximal independent set by agents, Minimal dominating set by agents, Minimum spanning tree by agents, BFS tree by agents, Triangle and butterfly counting by agents | |
| \(K\) | number of states of a finite-automaton agent | Graph exploration by a single agent, Exploration of recolourable graphs | |
| \(\gamma\) | exponent of the team size in large-team collaborative exploration, \(k = Dn^{\gamma}\) | Collaborative exploration | |
| \(\theta\) | the exponent of Reingold's universal exploration sequences | Treasure hunt | |
| \((q,\rho)\) | type of a path: its largest port \(q\) and its length \(\rho\) | Treasure hunt | |
| \(z\) | number of nodes of non-zero capacity | Dispersion | |
| \(r\) | radius of a ball of the grid | Dispersion | |
| \(c\) | number of colours (of a robot's light, or of the colours a node can hold) | \(\kappa\), \(\ell\) | Exploration by luminous robots, Exploration of recolourable graphs |
| \(\varphi\) | visibility range of a myopic robot, in hops | Exploration by luminous robots | |
| \(a\times b\) | size of a grid or torus with \(a\) rows and \(b\) columns | Exploration by luminous robots | |
| \(\psi(v)\) | current colour of node \(v\) | \(c(v)\) | Exploration of recolourable graphs |
| \(c_0\) | initial colour of the nodes | Exploration of recolourable graphs | |
| \(\pi_v\) | rotor pointer at node \(v\): the port the next departing agent takes | Exploration of recolourable graphs | |
| \(N(v)\) | the neighbours of node \(v\) | Exploration of recolourable graphs | |
| \(\mathrm{circ}(G)\) | circumference of \(G\): the length of its longest cycle | \(k\) | Exploration of recolourable graphs |
| \(g\) | a known upper bound on the circumference | Exploration of recolourable graphs |
Assumption axes
Each axis below says where the assumption comes from and why the community studies it. Every axis is a scale. Level 0 assumes nothing; each higher level is a stronger assumption, which makes a problem easier. Values on the same level are alternatives that do not imply each other. An algorithm designed for weaker assumptions works under stronger ones; a lower bound proved under stronger assumptions holds under weaker ones.
Graph dynamics
Graphs that change all the time entered distributed computing as models of mobile, wireless and peer-to-peer networks. Kuhn, Lynch and Oshman introduced \(T\)-interval connectivity in a worst-case model where an adversary picks the edges of each round; "for \(T = 1\) this means that the graph is connected in every round, but changes arbitrarily between rounds" Kuhn et al. 2010. Casteigts, Flocchini, Quattrociocchi and Santoro unified the many models of time-varying graphs into a hierarchy of classes: the always-connected class, used earlier by O'Dell and Wattenhofer (as reported there), and recurrent connectivity, in which journeys exist from every time onward, which is level 0 here Casteigts et al. 2012. They put the reason for the scale in one sentence: in these systems "changes are not anomalies but rather integral part of the nature of the system" Casteigts et al. 2012. Kuhn et al. show the adversary's strength with a token that must keep moving: in a 1-interval connected graph the adversary can keep it between two nodes forever Kuhn et al. 2010, which is in effect a single agent that cannot explore. Mobile agents entered the setting with live exploration of 1-interval connected rings Di Luna et al. 2020 and dispersion in dynamic rings Agarwalla et al. 2018; offline exploration of temporal graphs is the centralised counterpart Erlebach et al. 2021.
Formal definitions
- 0any dynamics
- A temporal graph is a sequence \(\mathcal G=(G_t)_{t\ge 0}\) with \(G_t=(V,E_t)\) on a fixed node set. It is temporally connected if for all \(u,v\in V\) and every time \(t\) there is a journey (a path whose edges appear at non-decreasing times \(\ge t\)) from \(u\) to \(v\). No \(G_t\) need be connected.
- 1connected every round
- \(\mathcal G=(G_t)_{t\ge0}\) is 1-interval connected if every snapshot \(G_t=(V,E_t)\) is connected. More generally it is \(T\)-interval connected if for every \(t\) the graph \(\bigl(V,\bigcap_{i=t}^{t+T-1}E_i\bigr)\) is connected.
- 2static graph
- \(G_t=G\) for all \(t\): the edge set never changes.
Edge direction
Most of the mobile-agent literature uses undirected graphs because this "captures the ability of the agents to move in both directions along each link" Pelc 2019. Directed graphs come from the exploration literature. The earliest paper in the atlas on exploring an unknown directed graph is Deng and Papadimitriou's Deng & Papadimitriou 1999, continued by Albers and Henzinger Albers & Henzinger 2000. Bender, Fernández, Ron, Sahai and Vadhan asked what a robot needs to map an unlabelled strongly connected digraph, and showed that one pebble suffices when a bound on \(n\) is known Bender et al. 2002; Fraigniaud and Ilcinkas studied how little memory digraph exploration needs Fraigniaud & Ilcinkas 2004. Direction removes backtracking: a static undirected graph is explored by depth-first search in fewer than \(2|V|\) steps, while some static directed graphs need \(\Theta(|V|^2)\) steps Erlebach et al. 2021. Italiano, Pattanayak and Sharma posed dispersion on directed anonymous graphs because "the existing approaches for undirected graphs rely substantially on visiting a graph edge in both directions", and showed that without strong connectivity dispersion may be unsolvable Italiano et al. 2022.
Formal definitions
- 0directed
- \(G=(V,A)\) with \(A\subseteq V\times V\); an agent at \(u\) may move along \((u,v)\in A\) only, never back along it unless \((v,u)\in A\). \(G\) is strongly connected.
- 1undirected
- \(G=(V,E)\) with \(E\subseteq\binom V2\); every edge can be traversed in both directions.
Number of agents
Most tasks in this model are posed for a team of any size: gathering an unknown team of anonymous agents Dieudonné & Pelc 2016, black hole search, where the size of the team is the main measure Dobrev et al. 2006, and collective exploration by \(k\) agents Fraigniaud et al. 2006. The cap \(k \le n\) comes from dispersion, where every agent needs a node of its own. Augustine and Moses Jr. posed dispersion with \(k = n\), motivated by electric cars that should not queue at one charging station Augustine & Moses Jr. 2018, and Kshemkalyani and Ali relaxed it to \(k \le n\) Kshemkalyani & Ali 2019. Molla and Moses Jr. extended dispersion to any \(k\), asking for at most \(\lceil k/n \rceil\) agents per node Molla & Moses Jr. 2019. The extension is not free: with \(k > n\) Byzantine dispersion is impossible deterministically whenever \(\lceil k/n \rceil > \lceil (k-f)/n \rceil\) Molla et al. 2021. The axis thus separates tasks where the team must fit into the graph from tasks where the team size is unconstrained.
Formal definitions
- 0any \(k\)
- The number of agents \(k\ge1\) is arbitrary; \(k>n\) is allowed.
- 1\(k \le n\)
- The number of agents satisfies \(1\le k\le n\).
Identifiers
Pelc's survey names anonymous versus labelled agents as one of the two main pairs of assumptions in rendezvous, and gives the reason: two identical agents running the same deterministic algorithm in an oriented ring, starting together, keep the same distance forever Pelc 2019. Distinct labels break this symmetry: in the work of Dessmark, Fraigniaud, Kowalski and Pelc each agent knows only its own label and uses it as a parameter of the common algorithm, and rendezvous becomes feasible in every graph at cost polynomial in \(n\), the delay and \(\log\lambda\), \(\lambda\) the smaller label; without labels it fails already on two nodes joined by an edge, since both agents always stay or always move together Dessmark et al. 2006. Without labels the only asymmetry comes from the graph and the starting positions; Dieudonné and Pelc characterised the configurations of anonymous agents that can be gathered Dieudonné & Pelc 2016. Homonyms, several agents sharing a label, come from Byzantine agreement with homonyms Delporte-Gallet et al. 2013 and were taken to robots in the plane Bouzid & Lamani 2011. In graphs, Devismes, Dieudonné and Labourel motivate them by the cost of "generating and maintaining globally unique labels" and by privacy, and ask how many distinct labels gathering really needs Devismes et al. 2026.
Formal definitions
- 0anonymous
- All agents run the same deterministic algorithm on the same input; no agent has a label. Formally the label function is constant: \(\mathrm{id}(a)=\mathrm{id}(b)\) for all agents \(a,b\).
- 1homonymous
- Each agent \(a\) has a label \(\mathrm{id}(a)\in\mathcal L\) known to itself (and revealed on meeting), but the labelling need not be injective: \(1\le|\{\mathrm{id}(a)\}|\le k\). With \(|\mathcal L|\) distinct labels, \(|\mathcal L|=1\) is the anonymous case and \(|\mathcal L|=k\) the eponymous one Delporte-Gallet et al. 2013.
- 2distinct IDs (eponymous)
- Distinct identifiers (eponymous agents): the label function \(\mathrm{id}:\{1,\dots,k\}\to\{1,\dots,L\}\) is injective; usually \(L=k^{O(1)}\), so a label takes \(O(\log k)\) bits.
Randomness
Pelc counts determinism versus randomisation among the two assumptions that most shape the methods for rendezvous: a deterministic algorithm faces adversarial starting positions and is judged by its worst-case cost, while randomised algorithms often use random walks and are judged by expected cost Pelc 2019. The random-walk view of graph traversal goes back to Aleliunas et al., who connected random walks with universal traversal sequences Aleliunas et al. 1979. In this model randomness serves mainly to break symmetry: Molla and Moses Jr. let co-located anonymous agents elect a local leader by coin flips, so that dispersion needs \(O(\log\Delta)\) bits per agent instead of the \(\Omega(\log n)\) bits of deterministic algorithms Molla & Moses Jr. 2019. Deterministic algorithms are level 0 because they promise a bound for every execution; Devismes, Dieudonné and Labourel note that probabilistic approaches "typically fail to provide absolute guarantees in terms of complexity and/or accuracy" Devismes et al. 2026. Hence a deterministic algorithm also counts in the randomized setting, and a lower bound against randomized algorithms holds for deterministic ones.
Formal definitions
- 0deterministic
- The next state and move of an agent are a function of its current state and what it observes.
- 1private coins
- Each agent additionally has access to independent fair coin flips; guarantees hold with probability 1, in expectation, or with high probability, as stated per result.
Faults
The first faults studied for mobile agents sat in the network: Dobrev, Flocchini, Prencipe and Santoro introduced the black hole, a node that destroys every agent that enters it, in rings and then in arbitrary networks Dobrev et al. 2007 Dobrev et al. 2006; it models a host that trashes incoming code or crashes without notice Di Luna et al. 2025. Faults in the agents, which this axis records, came later. Dieudonné, Pelc and Peleg started the study of gathering with Byzantine agents and defined the two levels used here: a strongly Byzantine agent "can choose an arbitrary port when it moves and it can convey arbitrary information to other agents, while a weakly Byzantine agent can do the same, except changing its label" Dieudonné et al. 2014. The distinction is about identity and it changes the answer: with known \(n\) a single good agent gathers despite \(f\) weakly Byzantine agents, but \(f+1\) good agents are needed against strongly Byzantine ones, even in a ring of known size, while with unknown \(n\) both cases need \(f+2\) Dieudonné et al. 2014; Dieudonné, Pelc and Peleg left the strongly Byzantine upper bounds at \(2f+1\) (known \(n\)) and \(4f+2\) (unknown \(n\)), and Bouchard, Dieudonné and Ducourthial closed them Bouchard et al. 2016 Pelc 2019. Crash faults are the mildest level; Pelc showed that with fully asynchronous agents gathering with crashes is impossible, since a waiting agent cannot tell a slow agent from a crashed one, and solved it when each agent has a fixed speed Pelc 2018. Dispersion adopted both Byzantine levels Molla et al. 2021 and crash faults Chand et al. 2023.
Formal definitions
- 0any faults
- Up to \(f\) agents behave arbitrarily (adversarially) and may forge identifiers, i.e. report any label in \(\mathcal L\).
- 1at most weak Byzantine faults
- Up to \(f\) agents behave arbitrarily but always report their own true identifier.
- 2at most crash faults
- Up to \(f\) agents may stop forever at an adversarially chosen time; a crashed agent stays at its node (or vanishes, as stated per result) and never acts again.
- 3no faults
- All agents follow the algorithm forever.
Communication
Communication between co-located agents is the classical assumption of rendezvous and gathering, where agents that meet "can exchange all information they currently have" Pelc 2019. Augustine and Moses Jr. kept it for dispersion, assuming robots "can only communicate with other robots present on their own node", in line with their picture of cars that interact only car to car Augustine & Moses Jr. 2018. Di Luna, Dobrev, Flocchini and Santoro list the forms used in exploration: face-to-face, wireless (agents on different nodes), and whiteboards Di Luna et al. 2020. Kshemkalyani, Molla and Sharma introduced global communication to dispersion to measure "how much global communication helps", and observed that it does not tell two agents on neighbouring nodes which edge joins them, so the graph must still be walked Kshemkalyani et al. 2020. For collective tree exploration Fraigniaud, Gąsieniec, Kowalski and Pelc showed that without communication \(k\) agents gain nothing over one Fraigniaud et al. 2006. Between the two, Italiano, Pattanayak and Sharma studied a 1-hop model, in which "a robot may also communicate with robots positioned on its 1-hop neighbors", and used it to disperse on directed graphs in \(O(kD)\) rounds by broadcasting and gathering information along the graph Italiano et al. 2022. Saxena, Kaur and Mondal generalised it to ℓ-hop communication (\(h\)-hop here), "a spectrum between f-2-f (\(l = 0\)) and global communication (\(l = D\))", and showed that for balanced dispersion on 1-bounded 1-interval connected graphs agents need 1-hop visibility and 1-hop communication Saxena et al. 2025; the axis writes \(h\) for their \(\ell\), which the atlas uses for occupied nodes. At level 0, Gorain, Mandal, Mondal and Pandit asked whether talking is needed at all, and dispersed agents that only learn whether they are alone and whether the number of agents at their node changed Gorain et al. 2022.
Formal definitions
- 0no communication
- Agents exchange no messages; an agent at \(v\) observes only the number of agents at \(v\) (and, where stated, whether that number changed).
- 1local communication
- Agents at the same node at the same time can read each other's entire memory (face-to-face communication). Agents crossing on an edge do not meet.
- 2\(h\)-hop communication
- For a fixed \(h \ge 1\), stated with each result: at every round an agent at \(v\) can read the memory of every agent at a node \(u\) with \(\mathrm{dist}(v,u) \le h\) (in the current snapshot \(G_t\) for a dynamic graph), in addition to the co-located agents. \(h = 1\) is 1-hop communication (agents at neighbouring nodes communicate); local communication is the case \(h = 0\), and global communication the case \(h \ge D\). Reading another agent's memory does not tell an agent which port leads to it.
- 3global communication
- At every round every agent can read the memory of every other agent, wherever it is.
Timing
Pelc names synchronous versus asynchronous movement as the second main pair of assumptions for rendezvous: synchronous agents can alternate measured periods of activity and waiting, "a powerful tool", while asynchronous agents move at speeds the adversary varies, so algorithms must force trajectories to overlap Pelc 2019. The asynchronous model for agents in graphs was introduced by De Marco, Gargano, Kranakis, Krizanc, Pelc and Vaccaro for rendezvous; since a meeting at a node cannot be guaranteed even in the two-node graph, agents may also meet inside an edge De Marco et al. 2006 (as described in Pelc 2019). Black hole search was posed for asynchronous agents with whiteboards Dobrev et al. 2006, while dispersion started synchronous and Kshemkalyani and Ali gave its first asynchronous algorithms Kshemkalyani & Ali 2019. Intermediate schedulers exist: Di Luna et al. brought the semi-synchronous model, "common in the context of mobile agents in continuous spaces", to agents in graphs Di Luna et al. 2020. Asynchrony interacts with other axes: it makes gathering with crash faults impossible Pelc 2018, and dynamic graphs are synchronous by definition Di Luna et al. 2025.
Formal definitions
- 0asynchronous
- Each agent's Communicate–Compute–Move steps take finite but unbounded, adversarially chosen time. Time is measured in epochs. An epoch is an interval of time in which every agent completes at least one full Communicate–Compute–Move step; it need not be the shortest such interval. Time is counted by dividing the execution into consecutive epochs, and a bound of \(X\) epochs holds for every such division.
- 1synchronous
- Time proceeds in rounds \(t=1,2,\dots\); in every round every agent communicates, computes and moves (at most one edge) simultaneously.
Node memory
Whiteboards are the shared memory of the mobile-agent model: each node keeps a little storage that visiting agents read and write in mutual exclusion, "where the agents communicate by writing on and reading from whiteboards present in each node" Di Luna et al. 2020. They are the standard tool in black hole search, posed for asynchronous agents with whiteboards Dobrev et al. 2006, and in map construction, where identical agents with whiteboards build a map exactly when symmetry can be broken Das et al. 2007. Their purpose is marking: an agent that can leave information at a node can recognise it later, which is what node labels would otherwise provide Bender et al. 2002. The cheaper markers are pebbles or tokens, and black hole search showed that whiteboards can be replaced by them Dobrev et al. 2013 Flocchini et al. 2012; for digraphs, whiteboards of \(O(\log\Delta_{out})\) bits let an agent with constant memory explore Fraigniaud & Ilcinkas 2004. Pelc counts the ability to see marks among the assumptions that most change methods, since it "significantly facilitates" rendezvous Pelc 2019. Level 0 has no node memory, as in dispersion, where settled agents serve as markers instead Kshemkalyani & Ali 2019.
Formal definitions
- 0no whiteboards
- Nodes have no storage: no information can be left at a node except by an agent staying there.
- 1whiteboards
- Each node \(v\) has a whiteboard of bounded size that agents at \(v\) can read and write, with mutual exclusion.
Node identifiers
Anonymous nodes with locally labelled ports are the standard network of this model, and Pelc gives the reasons. Practically, nodes may withhold their labels "for privacy or security reasons", or the agents' sensors may be too weak to read them; methodologically, readable labels would let agents meet at the smallest label, reducing rendezvous to exploration Pelc 2019. Port numbers are kept because without them an agent may be unable to visit all neighbours of a node of degree at least 3, and because reading a port needs far less than reading a name Pelc 2019. The same convention underlies memory-bounded exploration, where a finite automaton explores a graph "whose nodes are unlabeled and whose edge ports are locally labeled" Fraigniaud et al. 2005. Labelled nodes belong to the online-exploration tradition, in which the agent recognises nodes and builds a map Deng & Papadimitriou 1999 Albers & Henzinger 2000, and to collective exploration, where nodes are typically labelled Augustine & Moses Jr. 2018 Fraigniaud et al. 2006. With labelled nodes many symmetry questions disappear, which is why the axis separates navigation from symmetry breaking.
Formal definitions
- 0anonymous nodes
- Nodes have no identifiers; an agent at \(v\) sees only \(\deg(v)\) and the port numbers \(1,\dots,\deg(v)\), which are assigned locally and independently at each endpoint of an edge.
- 1labelled nodes
- Each node \(v\) carries a distinct identifier that agents at \(v\) can read; hence an agent can recognise a node it has visited.
Topology
Special topologies enter for two reasons: they are the simplest graphs with a given feature, and they are networks that are used. Trees can be explored with termination by a single agent and have a central node or edge that acts as a focal point, so rendezvous was first solved there; rings are "the simplest class" of graphs with cycles Pelc 2019 Dessmark et al. 2006. The oriented ring is also the most symmetric instance, where identical agents cannot meet Pelc 2019. The ring, oriented or not, was the first topology for black hole search Dobrev et al. 2007, and the oriented ring was the first for live exploration of dynamic graphs Di Luna et al. 2020 and, as reported by Molla et al. 2021, for Byzantine dispersion. Grids model discretised space: the infinite grid is a tool for rendezvous in the plane Pelc 2019, and dispersion on grids is studied for its own sake Kshemkalyani et al. 2020. Hypercubes are interconnection networks on which decontamination was solved before unknown graphs Flocchini et al. 2008; the complete graph \(K_3\) is the witness in Pelc's crash impossibility Pelc 2018; bipartite graphs appear with butterfly counting by agents Chand et al. 2025. Level 0 is an arbitrary connected graph, unknown to the agents.
Formal definitions
- 0any topology
- \(G\) is any connected graph in the class allowed by the other axes.
- 1ring
- \(G\) is a cycle \(C_n\) (every node of degree 2), or a path when stated.
- 1tree
- \(G\) is connected and acyclic: \(|E|=n-1\).
- 1grid
- \(G\) is a \(\sqrt n\times\sqrt n\) grid graph; whether ports are globally consistent (oriented) is stated per result.
- 1complete graph
- \(G=K_n\): every pair of nodes is adjacent.
- 1hypercube
- \(G=Q_j\): nodes are the \(n=2^j\) binary strings of length \(j\), adjacent when they differ in one bit.
- 1bipartite
- \(V = V_1 \cup V_2\) with \(V_1 \cap V_2 = \emptyset\) and every edge joining \(V_1\) to \(V_2\); trees are a special case.
Initial configuration
The starting configuration is the adversary's last choice. Rooted starts come from exploration, where the team leaves a common home: collective tree exploration places all \(k\) agents at the root Fraigniaud et al. 2006, black hole search starts from a safe home base Dobrev et al. 2006, and Molla and Moses Jr. call this a rooted graph Molla & Moses Jr. 2019. Dispersed starts come from rendezvous and gathering, where agents start at distinct nodes Pelc 2019 Dieudonné & Pelc 2016, and from black hole search with scattered agents Di Luna et al. 2025. A dispersed configuration is also the output of dispersion, so tasks computed by agents after dispersing, such as leader election, start from it Kshemkalyani et al. 2026 Sudo et al. 2024. Dispersion itself was posed from arbitrary configurations, robots "placed in an n node graph arbitrarily" Augustine & Moses Jr. 2018, and rooted dispersion became a separate variant Molla & Moses Jr. 2019. The two special starts expose different symmetries: co-located agents are indistinguishable by position, so labels or coins must decide who moves Molla & Moses Jr. 2019; scattered agents have distinct positions that may still look alike in a symmetric graph Pelc 2019.
Formal definitions
- 0any start
- Agents start at arbitrary nodes; \(\ell\le k\) nodes are initially occupied, possibly with several agents each.
- 1rooted start
- All \(k\) agents start at the same node (\(\ell=1\)). Also called co-located (black hole search: all agents at the home base) or a rooted graph Molla & Moses Jr. 2019.
- 1dispersed start
- Every initially occupied node holds exactly one agent (\(\ell=k\)). Also called a scattered start, notably in black hole search.
Problems in this model
Problem familyExploration
Visit every node of an unknown graph: one agent with as little memory or as few markers as possible, or a team as fast as possible. Treasure hunt and rendezvous are subproblems of exploration; dispersion is derived from collaborative exploration.
Graph exploration by a single agent
Exploration of recolourable graphs
Collaborative exploration
Problem familyComputing with agents
Agents solve graph problems on the anonymous graph they move in: leader election, independent sets, dominating sets, spanning trees, subgraph counts. Most algorithms first disperse the agents, so that every node has an agent to compute for it.