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.
Memoryless automaton with pebbles
verifiedA deterministic memoryless automaton (one state) explores every connected graph with 2 pebbles, and 2 is the minimum.
Assumed (added on the last edge are outlined)
Not assumed
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.
- Knowledge: nothing known
- The agent knows nothing about \(G\): not \(n\), \(m\), \(\Delta\) or \(D\).
- Randomness: deterministic
- The next state and move of an agent are a function of its current state and what it observes.
- Markers: pebbles
- The agent carries \(p\) pebbles (identical or distinguishable, as stated); \(p\) is a resource reported with the memory.
- Preprocessing: adversarial ports
- Port numbers (and any node labels) are chosen by an adversary.
- Termination requirement: perpetual
- Every node is visited at least once (and, for periodic exploration, infinitely often); the agent never needs to halt.
- Topology: any topology
- \(G\) is any connected graph in the class allowed by the other axes.
Statement for this variant
The agent is a deterministic finite automaton with a single state: its decision depends only on what it observes at the current node (entry port, degree, pebbles present), not on a state. It carries \(p\) pebbles labelled \(1,\dots,p\), which it can drop and pick up. Exploration is complete when every edge has been traversed at least once.
What is known
- one pebble is insufficient in general, even if \(n\) is known
- a memoryless automaton without pebbles cannot explore all graphs
Results, in order of publication
Introductory and current best. If \(n\) is known and the automaton starts at a node with a pebble, one pebble suffices.
Open questions
None recorded for this variant.
Notes
Results from the paper's abstract, supplied by the catalogue owner (a co-author).
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.