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

Exploration of recolourable graphs

A single agent with little or no memory must visit every node of an anonymous graph whose nodes carry colours it can read and rewrite; how many colours are needed, and how much does it help to recolour, to see neighbours or to have port numbers?

Problem statement and measuresexpand

A single deterministic agent starts at a node \(s\) of a connected, simple, undirected, anonymous graph \(G=(V,E)\) with \(n\) nodes, \(m\) edges, maximum degree \(\Delta\) and diameter \(D\). Every node \(v\) holds a colour \(\psi(v)\) from a palette of \(c\) colours that persists between visits. In each step the agent at \(v\) observes \(\psi(v)\) (and, depending on the setting, \(\deg(v)\), port numbers, the entry port, and the multiset of its neighbours' colours), sets \(\psi(v)\) to a new colour (recolours \(v\)) if the setting allows it, and then moves to a neighbour or stops. In the main model Böckenhauer et al. 2023 there are no port numbers: the agent names a colour and the adversary moves it to any neighbour of that colour; the agent is oblivious (it keeps no memory between steps); all nodes start with the initial colour \(c_0\); and the agent must visit every node, return to \(s\) and stop there, from every start and against every adversary. Other settings fix the colours in advance (label-guided exploration), give port numbers, or ask only for perpetual exploration. Measures: the number of colours \(c\), counting \(c_0\) (the main measure); time, the number of moves (traversals of one edge) until termination (or until every node is visited, for perpetual exploration); and the agent's memory. All known results are for one agent.

Measures: Colours, number \(c\) of node colours, counting the initial colour \(c_0\) (for the rotor-router: per node); Time, moves until the agent stops (perpetual: until every node is visited); Memory, bits of agent memory; 0 for an oblivious agent.

Recolourable nodes on trees

verified
Colours: tightTime: tightMemory: tight

Three colours explore every tree in \(O(n)\) moves; two colours cannot explore the path on three nodes.

Assumed (added on the last edge are outlined)

+Graph dynamicsstatic graph+Edge directionundirected+Viewthe agent also sees the colours of its neighbours+Recolouringrecolourable: any colour, any number of times+Initial colouringuniform: every node has the initial colour \(c_0\)+Networktree

Not assumed

Port numbersno port numbers: the agent names a colour, the adversary picks the neighbourAgent memoryoblivious (no memory, one state)Knowledgenothing known about the graphTermination requirementexplore, then stop at the start node
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.
Port numbers: no ports
Edges carry no port numbers. To move, the agent at \(v\) names a colour \(x\); the adversary moves it to any neighbour \(u\) of \(v\) with \(\psi(u) = x\) (if the agent sees no neighbour colours, to any neighbour). The agent never learns by which edge it arrived.
View: neighbour colours
At node \(v\) the agent observes \(\psi(v)\) and the multiset \(\{\!\{\psi(u) : u \in N(v)\}\!\}\) of its neighbours' colours (hence also \(\deg(v)\)), without knowing which edge leads to which colour unless ports say so.
Agent memory: oblivious
The agent has no internal state: its action (new colour of \(v\), then a move, stay or stop) is a function of its current observation only. Called zero-memory, memoryless or a 1-state robot.
Recolouring: recolourable
At every step the agent at \(v\) may set \(\psi(v)\) to any colour of the palette, including back to \(c_0\), any number of times (the convention of Takahashi et al. 2026 and Hiraoka et al. 2026).
Initial colouring: uniform \(c_0\)
Initially \(\psi(v) = c_0\) for every node \(v\) (clean node memory). The colour \(c_0\) counts as one of the \(c\) colours.
Knowledge: nothing known
The algorithm is the same for all graphs: it knows neither \(n\) nor \(\Delta\) nor any other parameter (a uniform algorithm in Böckenhauer et al. 2023).
Termination requirement: return
The agent visits every node and then halts at its start node \(s\) (exploration with return).
Network: tree
\(G\) is a tree (a cactus without cycles).

What is known

Colours · number \(c\) of node colours, counting the initial colour \(c_0\) (for the rotor-router: per node)
tight
Exactly 3 (counting \(c_0\)).
lower bound
bottleneckindistinguishable starts
holds when
  • the path \(P_3\) on three nodes, every start node (Lemma 4)
  • case analysis of all two-colour rules: each loops, stops early or lets two starts reach the same configuration
introductory—
current best
\(3\)
the same algorithm explores every simple cycle
Time · moves until the agent stops (perpetual: until every node is visited)
tight
\(\Theta(n)\).
lower bound
\(\Omega(n)\) Bojko et al. 2022
bottleneckevery node visited
holds when
  • trivial: any agent must visit all \(n\) nodes (stated for trees in Bojko et al. 2022)
introductory—
current best
\(O(n)\)
the same algorithm explores every simple cycle
Memory · bits of agent memory; 0 for an oblivious agent
tight
Zero bits.
lower boundnone known
introductory—
current best
\(0\)
the same algorithm explores every simple cycle

Results, in order of publication

Hiraoka et al. 2026 current best
Colours \(3\)Time \(O(n)\)Memory \(0\)
the same algorithm explores every simple cycle

Theorem 3. Introductory and current best.

Open questions

None recorded for this variant.

Notes

Without recolouring, trees need four colours (setting Once-colourable nodes on trees). Böckenhauer et al. remark that, with recolouring, a path explored from an end node needs only one colour besides \(c_0\): colour forward, then erase on the way back Böckenhauer et al. 2023; Lemma 4 of Hiraoka et al. 2026 shows that two colours fail once the start may be the middle node. On simple cycles the same three-colour algorithm works, but no lower bound for cycles alone is stated. Checked against the full text of the 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

Recolourable nodes on cacti
Colours \(4\)Time \(O(n)\)Memory \(0\)
Once-colourable nodes on trees
Colours \(4\)Memory \(0\)

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.