Mobility Matters
Home›Mobile agents on graphs›Exploration›Collaborative exploration

Collaborative exploration

\(k\) agents start together at the root of an unknown graph and must visit all its nodes; how much faster than one agent can a team be?

Problem statement and measuresexpand

A team of \(k\) distinguishable agents starts at a node \(s\) (the root) of an unknown connected graph with \(n\) nodes; \(D\) is the largest distance from \(s\). In synchronous rounds every agent traverses at most one edge. When an agent reaches a node it sees the incident edges. The team must visit every node (some papers also require all agents to return to \(s\); the bounds coincide asymptotically).

Time is the number of rounds (in the asynchronous model: the total number of moves). The offline optimum is \(\Theta(n/k + D)\), so an algorithm that explores every tree in \(\mathrm{CR}(k)\cdot(n/k+D)\) rounds is called \(\mathrm{CR}(k)\)-competitive; a single depth-first search is \(O(k)\)-competitive. Memory is bits per agent; most of this literature lets it be unbounded.

Unless a variant says otherwise, nodes are labelled (an agent recognises a node it has seen), which is the standard assumption of collective tree exploration; on trees it does not matter for lower bounds Disser et al. 2020. With anonymous nodes and \(k = n\), the problem is solved by rooted dispersion.

Measures: Time, rounds until every node is visited (asynchronous: total moves); Memory, bits per agent.

Trees, asynchronous, whiteboards only

verified
Time: polynomial gapMemory: unknown

The fully distributed asynchronous setting: the first competitive algorithm appeared in 2025.

Assumed (added on the last edge are outlined)

+Graph dynamicsstatic graph+Edge directionundirected+Node identifierslabelled nodes (an agent can recognise a node it has visited)+Node memorywhiteboards at nodes+Topologytree

Not assumed

RandomnessdeterministicCommunicationnone (silent agents; only see how many agents are co-located)TimingasynchronousTeam sizeany number \(k\) of agents
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: labelled nodes
Each node \(v\) carries a distinct identifier that agents at \(v\) can read; hence an agent can recognise a node it has visited.
Randomness: deterministic
The next state and move of an agent are a function of its current state and what it observes.
Communication: no communication
Agents exchange no messages; an agent at \(v\) observes only the number of agents at \(v\) (and, where stated, whether that number changed).
Node memory: whiteboards
Each node \(v\) has a whiteboard of bounded size that agents at \(v\) can read and write, with mutual exclusion.
Timing: asynchronous
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.
Team size: any \(k\)
Any number \(k\ge 2\) of agents.
Topology: tree
\(G\) is connected and acyclic: \(|E|=n-1\).

What is known

Time · rounds until every node is visited (asynchronous: total moves)
polynomial gap
\(O(k/\log k)\) versus the inherited \(\Omega(\log^2 k)\) competitive ratio.
lower boundnone known
introductory—
current best
\(2n+O(k^2 2^k D)\)
Memory · bits per agent
unknown
Memory is not bounded in these papers.
lower boundnone known
introductory—
current best—

Results, in order of publication

Time \(2n+O(k^2 2^k D)\)

Introductory and current best; a variant is \(O(k/\log k)\)-competitive. Previous distributed algorithms, including that of Fraigniaud et al. 2006, fail here.

Open questions

  1. Is there a distributed asynchronous algorithm with polylogarithmic competitive ratio?

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

No catalogued weaker setting.

Lower bounds from stronger settings hold here

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