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.

Once-colourable nodes on trees

verified
Colours: tightTime: unknownMemory: tight

Colouring by depth modulo three explores every tree with four colours, and four are necessary.

Assumed (added on the last edge are outlined)

+Graph dynamicsstatic graph+Edge directionundirected+Viewthe agent also sees the colours of its neighbours+Recolouringeach node may be coloured once+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: colour once
Every node starts with the initial colour \(c_0\). The agent at \(v\) may change \(\psi(v)\) only while \(\psi(v) = c_0\); once \(v\) has a colour other than \(c_0\) it keeps it forever. This is the main model of Böckenhauer et al. 2023.
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 4 (counting \(c_0\)).
lower bound
bottleneckpredecessor identification
holds when
  • the path on seven nodes started at an end (Theorem 2; stated as 3 without \(c_0\))
  • an uncoloured node cannot be told from the node two steps back, and on the way back two nodes at distance two must differ
introductory—
current best
\(4\)
Time · moves until the agent stops (perpetual: until every node is visited)
unknown
Not analysed in the paper.
lower boundnone known
introductory—
current best—
Memory · bits of agent memory; 0 for an oblivious agent
tight
Zero bits.
lower boundnone known
introductory—
current best
\(0\)

Results, in order of publication

Colours \(4\)Memory \(0\)

Introductory and current best (Theorem 1, TreeExploration): a node at depth \(j\) gets colour \((j \bmod 3)+1\); the agent prefers uncoloured neighbours, otherwise returns to the parent (the unique neighbour of the previous colour), and stops at the only node of colour 1 with no neighbour of colour 3, the start. Time not analysed.

Open questions

None recorded for this variant.

Notes

The same three-by-depth idea guides label-guided exploration Cohen et al. 2008 and the breadth-first algorithm with recolouring Böckenhauer et al. 2023. Checked against the full text.

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

Once-colourable nodes, any graph
Colours \(n\)Memory \(0\)

Lower bounds from stronger settings hold here

Recolourable nodes on trees
Colours \(3\)Time \(\Omega(n)\)

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