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

Exploration by luminous robots

Myopic Look–Compute–Move robots with a light of a few colours must visit every node of a ring, grid or torus, and stop or keep visiting; how many robots and colours are needed?

Problem statement and measuresexpand

\(k\) anonymous robots, each with a light that shows one of \(c\) colours, are placed on an anonymous graph \(G=(V,E)\) (a ring, a finite grid or a torus) in an initial configuration designated by the algorithm (positions and colours). Each robot repeats Look–Compute–Move cycles. Look: it sees every node within distance \(\varphi\), with the multiset of colours of the robots on each (so it sees towers, nodes with several robots), and its own colour. Compute: a deterministic function of this snapshot, the same for all robots, gives a new colour and a destination, its own node or a neighbour; the robot sees no identifiers, no ports, and (without chirality) no orientation. Move: it moves there. A fair adversarial scheduler (FSYNC, SSYNC or ASYNC) activates the robots. Terminating exploration: every node is visited by some robot and eventually no robot is enabled. Perpetual exploration: every node is visited infinitely often. With finite \(\varphi\) no algorithm works from every initial configuration, so each result names its initial configurations; some papers also require exclusive executions (no two robots on one node or one edge) or opaque robots, recorded under each result. Measures: the number of robots \(k\) and the number of colours \(c\).

Measures: Robots, number of robots \(k\) needed; Colours, number of colours \(c\) of each light; \(c = 1\) means no usable light (oblivious robots).

Rings, ASYNC, perpetual, \(\varphi = 1\)

verified
Robots: tightColours: unknown

Three robots with two colours explore a ring perpetually under ASYNC; two robots cannot even under SSYNC.

Assumed (added on the last edge are outlined)

+Graph dynamicsstatic graph+Edge directionundirected+Networkring+Exploration goalperpetual exploration (visit every node infinitely often)+Lights (memory and messages)full light (LUMI): visible to the robot and to the others+Faultsno faults

Not assumed

Schedulerasynchronous (ASYNC)Visibility rangemyopic, \(\varphi = 1\): a robot sees its node and its neighboursChiralityno common chiralityIdentifiersanonymous: all agents are identical
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.
Network: ring
An anonymous, unoriented ring of \(n\) nodes; \(n\) is unknown to the robots.
Exploration goal: perpetual
Every node is visited by at least one robot infinitely often; robots never stop.
Lights (memory and messages): luminous
LUMI (luminous robots): each robot has a light with \(c\) colours, set at the end of Compute, persistent across cycles, and visible to the robot itself and to every robot within distance \(\varphi\) Das et al. 2016. It is both memory and message. A Look returns, for every node within distance \(\varphi\), the multiset of colours of the robots on it.
Scheduler: ASYNC
ASYNC: each robot's Look, Compute and Move phases take finite but unbounded, adversarially chosen time; a robot may Look while others are between phases, so it may move on an outdated snapshot. A robot is always seen on a node (an edge traversal is instantaneous), and its new colour is visible from the end of its Compute phase. The scheduler is fair: every robot is activated infinitely often. Called CORDA in Datta et al. 2013.
Visibility range: \(\varphi=1\)
In a Look phase a robot at node \(v\) sees every node at distance at most \(\varphi = 1\) from \(v\) (in the graph metric), with the robots on it, their colours, and how many robots each node holds. It sees no node identifiers and, without chirality, no orientation.
Chirality: no chirality
Robots share no orientation: on a ring a robot cannot tell its two directions apart; on a grid or torus its snapshot is known only up to rotation and reflection, and the adversary may choose a different transformation in every cycle (self-inconsistent robots, as in Darwich et al. 2023 and Bramas et al. 2026).
Faults: no faults
All agents follow the algorithm forever.
Identifiers: anonymous
All agents run the same deterministic algorithm on the same input; no agent has a label. Formally the label function is constant: \(\mathrm{id}(a)=\mathrm{id}(b)\) for all agents \(a,b\).

What is known

Robots · number of robots \(k\) needed
tight
Three.
lower bound
bottleneckadversarial activation
holds when
  • two robots, any number of colours, \(n \ge 6\), proved under SSYNC (Theorem 12)
  • when a robot steps away from the other, the adversary activates it alone; the two robots are then too far apart to see each other and stay confined to two nodes each (Lemma 4)
introductory—
current best
\(3\)
designated initial configurations of three connected robots (e.g. WWG, WGG)\(n \ge 3\)
Colours · number of colours \(c\) of each light; \(c = 1\) means no usable light (oblivious robots)
unknown
No lower bound on colours for three robots is stated.
lower boundnone known
introductory—
current best
\(2\)
designated initial configurations of three connected robots (e.g. WWG, WGG)\(n \ge 3\)

Results, in order of publication

Robots \(3\)Colours \(2\)
designated initial configurations of three connected robots (e.g. WWG, WGG)\(n \ge 3\)

Introductory and current best (Theorem 13); universal for \(n \ge 9\) under SSYNC and ASYNC (Theorem 14).

Open questions

  1. Can three oblivious robots (\(c = 1\)) with \(\varphi = 1\) explore a ring perpetually under SSYNC or ASYNC, or are two colours necessary?

Notes

With \(\varphi \ge 2\) two robots suffice Nagahama et al. 2023 (variant Rings, ASYNC, perpetual, \(\varphi = 2\)).

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

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