Mobility Matters
Home›Mobile agents on graphs›Exploration›Graph exploration by a single agent›Collision-free exploration

Collision-free exploration

Agents start at distinct nodes of a graph and must explore it so that no two agents are ever at the same node; how long does it take, and what must the agents sense of each other?

Problem statement and measuresexpand

\(k \ge 2\) agents start at distinct nodes of a connected undirected graph \(G\) with \(n\) nodes and move in synchronous rounds: in each round an agent stays or crosses one edge. A collision is two agents at the same node in the same round; two agents that cross one edge in opposite directions do not collide and do not notice it. Exploration is collision-free if no collision ever happens, also with an agent that an adversary has not yet woken up. Unless a setting says otherwise, every agent must visit every node and then stop. The agents run the same deterministic algorithm, cannot mark nodes and send no messages; what they perceive of each other (their vision) and what they know of \(G\) are fixed by the setting, and in some settings an oracle places coloured pebbles on nodes before the start. Time is the number of rounds from the wake-up of the later agent until every agent has stopped. \(X(n)\) is the time of a single-agent exploration procedure for graphs with at most \(n\) nodes, used as a building block (polynomial in \(n\), for instance with a universal exploration sequence).

Measures: Time, rounds from the wake-up of the later agent until all agents have stopped; Colours, number of pebble colours the oracle needs, when pebbles are used.

Two agents, anonymous graphs, vision of radius 2

standard settingdraft
Time: unknownColours: tight

Two identical agents that see two edges around them and know a bound on \(n\) explore any graph with more than two nodes without collisions, at most a factor \(\log n\) slower than one agent.

Assumed (added on the last edge are outlined)

+Graph dynamicsstatic graph+Edge directionundirected+Timingsynchronous rounds+Number of agentstwo agents+Knowledge of the graphan upper bound on \(n\)+Vision of the other agentsradius 2

Not assumed

Node identifiersanonymous nodesWhat must be visitedevery agent visits every nodeHelp from an oracleno helpStartthe adversary wakes the agentsTopologyarbitrary connected graph
Formal definitions of this setting
Graph dynamics: static graph
\(G_t=G\) for all \(t\): the edge set never changes.
Edge direction: undirected
\(G=(V,E)\) with \(E\subseteq\binom V2\); every edge can be traversed in both directions.
Node identifiers: anonymous 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.
Timing: synchronous
Time proceeds in rounds \(t=1,2,\dots\); in every round every agent communicates, computes and moves (at most one edge) simultaneously.
Number of agents: two agents
Exactly two agents.
What must be visited: every agent
Every agent must visit every node and stop (in Czyzowicz et al. 2017a also return to its start node).
Knowledge of the graph: bound on \(n\)
The agents know an upper bound on \(n\) (Das et al. 2025a give them \(n\) itself).
Vision of the other agents: radius 2
An agent sees the subgraph induced by the nodes at distance at most 2, with its port numbers and the agents on these nodes Bhagat & Pelc 2025.
Help from an oracle: no help
Nothing is placed on the nodes.
Start: adversarial wake-up
Each agent starts in a round chosen by the adversary; until then it stays at its start node, where no other agent may enter.
Topology: any topology
\(G\) is any connected graph in the class allowed by the other axes.

Statement for this variant

Nodes are anonymous, the adversary wakes the agents, and the graph has at least three nodes: on two nodes the adversary's wake-up alone forces a collision Bhagat & Pelc 2025.

What is known

Time · rounds from the wake-up of the later agent until all agents have stopped
unknown
No lower bound beyond exploring by one agent, which no collision-free algorithm can beat Bhagat & Pelc 2025.
lower boundnone known
introductory
\(O(X(n)\log n)\)
current best
\(O(X(n))\)
Papin 2026 preprint
vision of radius 2 (the model section says nodes at distance less than 2; see the notes)
Colours · number of pebble colours the oracle needs, when pebbles are used
tight
No pebbles.
lower boundnone known
introductory—
current best—

Results, in order of publication

Bhagat & Pelc 2025 introductory
Time \(O(X(n)\log n)\)

Theorem 3.1: each agent follows a single-agent exploration walk; when the agents come within distance 2 they synchronise and then take turns, each step of the walk costing \(O(\log n)\) rounds of signalling by moves. Any single-agent procedure can be used.

Papin 2026 preprint current best
Time \(O(X(n))\)
vision of radius 2 (the model section says nodes at distance less than 2; see the notes)

Theorem 9.1: at most \(6X(n) + O(1)\) rounds after the later wake-up, by a priority rule that lets both agents move in the same round. The paper also reports that the stopping procedure of Bhagat & Pelc 2025 can lead to a collision when the agents finish their walks in different rounds (Section 3). Not checked here.

Open questions

  1. Can two agents explore without collisions as fast as one agent explores alone? Asked by Bhagat & Pelc 2025; Papin 2026 claims a constant factor.

  2. For which number of agents below \(n\) is collision-free exploration of anonymous graphs feasible, and with which vision radius Bhagat & Pelc 2025?

Notes

Draft because the two papers disagree: Papin reports a collision in the stopping procedure of Bhagat and Pelc and gives a corrected algorithm, but his model section describes vision of the nodes at distance less than 2, under which two agents cannot explore a star Bhagat & Pelc 2025; his algorithm reuses Bhagat and Pelc's synchronisation, which needs radius 2. Neither the reported collision nor the corrected algorithm was checked here. Bhagat & Pelc 2025 read in arXiv v1 (2024); Papin 2026 is a preprint.

What carries over from neighbouring settings

Read off the order of assumptions, not checked case by case: results may carry extra assumptions (shown on their pages), and asynchronous time is measured in epochs.

Algorithms from weaker settings work here

Lower bounds from stronger settings hold here

No catalogued stronger setting.

Know a better result for this setting, or found a mistake? Suggest a result · Report an error. Accepted contributions are acknowledged.