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

Graph exploration by a single agent

One agent starts at a node of an unknown anonymous graph and must visit every node; how much memory does it need, which pebbles or knowledge make it possible, and how fast can it be?

Problem statement and measuresexpand

A single deterministic agent is placed at a node \(s\) of a connected graph \(G\) with \(n\) nodes, \(m\) edges and maximum degree \(\Delta\). Nodes are anonymous (they carry no names the agent can read), and the edges at each node are numbered locally; these numbers are the node's ports. The agent sees the degree of its node and the port by which it entered. It must visit every node of \(G\). Three termination requirements are standard:

  • perpetual exploration: every node is eventually visited; the agent never has to stop;
  • exploration with stop: every node is visited and the agent then stops, anywhere;
  • exploration with return: every node is visited and the agent stops at \(s\).

Return implies stop, and stop implies perpetual exploration. Memory is the number of bits of the agent's state; when the agent carries pebbles (objects it can drop on a node and pick up again) their number is reported with the memory. Time is the number of moves (edge traversals) until exploration is complete; for periodic exploration it is the period. Unless a variant says otherwise the agent knows nothing about \(G\), not even \(n\).

Exploration is the oldest problem of the mobile-agent literature: it started as maze search by finite automata, and the question of how little memory suffices runs from Budach's impossibility (1978) to Reingold's log-space algorithm (2005). Several agents exploring together form the sibling problem, collaborative exploration.

Measures: Time, edge traversals until every node is visited (for periodic exploration: the period); Memory, bits of agent memory; pebbles, if any, are counted separately.

tight near-optimal polynomial gap unknown impossible· rows follow the assumption tree; each cell: best upper bound vs lower bound, and what forces the lower bound
Setting
Time
Memory
Edge direction + static graph
—
—
Knowledge + undirected
—
—
Arbitrary graphs, perpetual exploration nothing known, no markers, adversarial ports, + perpetual
1 open · 1 results
unknown — vs —
tight \(O(D\log\Delta)\) vs \(\Omega(D\log\Delta)\) trap graphs
Trees, perpetual exploration + tree
0 open · 1 results
unknown — vs —
tight \(O(\log\Delta)\) vs \(\lceil\log\Delta\rceil\) port addressing
Exploration with stop, nothing known nothing known, no markers, adversarial ports, + with stop
0 open · 0 results
impossible — vs \(\text{impossible}\) no way to recognise the start
impossible — vs \(\text{impossible}\) no way to recognise the start
Trees, exploration with stop + tree
1 open · 1 results
unknown — vs —
polynomial gap \(O(\log n)\) vs \(\Omega(\log\log\log n)\) deciding when to stop
Exploration with return and pebbles nothing known, + pebbles
1 open · 1 results
unknown \(n^{O(1)}\) vs —
tight \(O(1)\ \text{bits},\ O(\log\log n)\ \text{pebbles}\) vs \(\Omega(\log\log n)\ \text{pebbles}\) trap graphs
Memoryless automaton with pebbles + perpetual
0 open · 1 results
unknown — vs —
tight \(0\ \text{bits},\ 2\ \text{pebbles}\) vs \(2\ \text{pebbles}\) trap graphs
Randomness + knows a bound on \(n\)
—
—
Exploration with stop when \(n\) is known deterministic, + with stop
1 open · 1 results
unknown \(n^{O(1)}\) vs —
near-optimal \(O(\log n)\) vs \(\omega((\log n)^{1-\varepsilon})\) trap graphs
Randomized exploration when \(n\) is known + private coins, + with stop
1 open · 1 results
unknown \(O(mn)\) vs —
unknown \(O(\log n)\) vs —
Exploration with stop and one pebble nothing known, + one pebble, + with stop
1 open · 1 results
unknown — vs —
polynomial gap \(O(D\log\Delta)\) vs \(\Omega(\log n)\) reduced automata
Trees, exploration with return nothing known, no markers, adversarial ports, with return, + tree
0 open · 2 results
unknown — vs —
tight \(O(\log n)\) vs \(\Omega(\log n)\) pigeonhole on start nodes
Node labels chosen by the designer nothing known, no markers, + designer labels, + with stop
0 open · 2 results
unknown \(O(m)\) vs —
tight \(O(1)\) vs —
Port numbers chosen by the designer (periodic exploration) nothing known, no markers, + designer ports, + perpetual
2 open · 4 results
tight \(3.5n-2\) vs \(2n-2\) every tree edge twice
tight \(O(1)\) vs —
Directed graphs, one pebble directed, anonymous nodes, nothing known, + one pebble, + with stop
1 open · 1 results
unknown — vs —
polynomial gap \(O(n\Delta_{out}\log n)\) vs \(\Omega(n\log\Delta_{out})\) no backtracking
Directed graphs, one pebble, bound on \(n\) known directed, anonymous nodes, + knows a bound on \(n\), + one pebble, + with stop
1 open · 1 results
unknown \(O(N^2 n^6 \Delta_{out}^2)\) vs —
unknown — vs —
Directed graphs with labelled nodes directed, + labelled nodes, + with stop
1 open · 3 results
polynomial gap \(O(\phi^8 m)\) vs \(\Omega(\phi^2 m)\) unbalanced arcs
unknown — vs —
Knowledge + connected every round, + undirected
—
—
Dynamic rings nothing known, + perpetual, + ring
0 open · 1 results
tight \(n+\tfrac{n}{\max\{1,T-1\}}(\delta-1)+O(\delta)\) vs \(n+\tfrac{n}{\max\{1,T-1\}}(\delta-1)-O(\delta)\) adversarial edge changes
unknown — vs —
Temporal graphs, schedule known + knows the map, + perpetual
1 open · 1 results
tight \(O(n^2)\) vs \(\Omega(n^2)\) adversarial edge changes
unknown — vs —

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