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.

Directed graphs, one pebble, bound on \(n\) known

verified
Time: unknownMemory: unknown

With a bound \(N \ge n\), one pebble lets an agent map any strongly connected digraph in polynomial time.

Assumed (added on the last edge are outlined)

+Graph dynamicsstatic graph+Knowledgean upper bound on \(n\) is known+Markersone pebble (a movable marker)+Termination requirementexplore, then stop anywhere

Not assumed

Edge directiondirected (strongly connected)Node identifiersanonymous nodesRandomnessdeterministicPreprocessingports and nodes as given by an adversaryTopologyarbitrary connected graph
Formal definitions of this setting
Graph dynamics: static graph
\(G_t=G\) for all \(t\): the edge set never changes.
Edge direction: directed
\(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.
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.
Knowledge: knows a bound on \(n\)
The agent is given an integer \(N\ge n\) (an upper bound on the number of nodes) as input.
Randomness: deterministic
The next state and move of an agent are a function of its current state and what it observes.
Markers: one pebble
The agent carries one pebble that it can drop at its current node and later pick up; it sees whether a pebble is at its node.
Preprocessing: adversarial ports
Port numbers (and any node labels) are chosen by an adversary.
Termination requirement: with stop
The agent visits every node and then halts, at any node. Also called terminating exploration.
Topology: any topology
\(G\) is any connected graph in the class allowed by the other axes.

What is known

Time · edge traversals until every node is visited (for periodic exploration: the period)
unknown
No lower bound beyond the trivial \(\Omega(m)\).
lower boundnone known
introductory—
current best
\(O(N^2 n^6 \Delta_{out}^2)\)
unbounded memoryall out-degrees padded to \(\Delta_{out}\) with self-loops; \(\Delta_{out}\) known
Memory · bits of agent memory; pebbles, if any, are counted separately
unknown
Memory is not bounded in these papers.
lower boundnone known
introductory—
current best—

Results, in order of publication

Bender et al. 2002 current best
Time \(O(N^2 n^6 \Delta_{out}^2)\)
unbounded memoryall out-degrees padded to \(\Delta_{out}\) with self-loops; \(\Delta_{out}\) known

Introductory and current best (Theorem 3.1; \(N\) is the paper's \(\hat n\), \(\Delta_{out}\) its \(d\)). Without a bound on \(n\), for every constant \(c>0\), \(c\log\log n\) pebbles give a deterministic polynomial-time algorithm (Theorem 4.1), and \(\Omega(\log\log n)\) pebbles are necessary for any algorithm, even randomized, that learns every graph in expected polynomial time with probability greater than \(1/2\) (Theorem 4.2).

Open questions

  1. Improve the \(O(N^2 n^6 \Delta_{out}^2)\) running time (Section 5 of Bender et al. 2002).

Notes

Checked against the full text of Bender et al. 2002. The agent must output a graph isomorphic to \(G\); it sees out-ports numbered \(1,\dots,\Delta_{out}\) but not in-degrees, and cannot retrace an arc to fetch its pebble. Bender and Slonim had shown that a constant number of pebbles does not suffice for polynomial time when no bound on \(n\) is known (as cited in Bender et al. 2002). With labelled nodes a greedy search takes \(O(nm)\) moves.

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

Directed graphs, one pebble
Memory \(O(n\Delta_{out}\log n)\)

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.