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, oblivious, FSYNC, terminating, \(\varphi = 1\)
verifiedWithout lights, five robots are necessary and sufficient to explore a ring of more than seven nodes and stop under FSYNC.
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.
- Network: ring
- An anonymous, unoriented ring of \(n\) nodes; \(n\) is unknown to the robots.
- Exploration goal: terminating
- Every node is visited by at least one robot, and from some time on no robot is enabled (no robot changes its position or colour again).
- Lights (memory and messages): oblivious
- OBLOT: a robot's Compute phase depends only on the current snapshot; nothing persists across cycles and robots communicate only by moving. Equivalent to a light with \(c = 1\) colour.
- Scheduler: FSYNC
- FSYNC: in every round every robot executes one atomic Look–Compute–Move cycle.
- 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
- \(n > 7\), \(2 \le k < 5\), deterministic (Theorem 3.2)
- from one block of adjacent robots, every rule either repeats an indistinguishable configuration or disperses the robots
Results, in order of publication
Introductory and current best.
Open questions
None recorded for this variant.
Notes
Baseline for the power of lights: two colours bring the number of robots from five to three Ooshita & Tixeuil 2022.
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.