Mutual visibility
Opaque robots must reach positions where no three are collinear, so that every robot sees every other.
Problem statement and measurescollapse
\(n\) opaque point robots (or unit discs) start at distinct points: a robot hides the robots behind it on the same line of sight. They must reach a configuration in which every robot sees every other (no three collinear), without collisions.
Measures: Time, rounds (FSYNC, SSYNC) or epochs (ASYNC) until the task is done; "finite" when only solvability is known; Colours, colours of the light per robot (0 for oblivious robots).
A first look
the basic problem, a simple algorithm and why some things cannot be done, for a newcomer
Picture people at a party who want every pair of them to be able to see each other, but bodies block the view: you cannot see someone directly behind another person. There are \(n\) robots, points at distinct places in the plane; their positions form the configuration. The robots are opaque: robot \(r\) sees robot \(s\) only if no third robot lies on the straight segment between them. Each robot repeats a Look–Compute–Move cycle: it takes a snapshot of the robots it sees (Look), decides on a destination point (Compute) and moves towards it (Move). Each robot carries a light showing one of \(c\) colours, which all robots can see and which persists between cycles; otherwise robots remember nothing. In the basic version the scheduler, an adversary, is SSYNC: time runs in rounds, and in each round it decides the activation of some robots, each of which performs one cycle; every move is a rigid move (a robot always reaches its destination). The robots must reach, without two of them ever colliding, a configuration in which no three are on a line, so all see each other, and then stop.
The convex hull is the shape of a rubber band stretched around all robots; its corner points are its corners, and a robot at one of them is a corner robot. Lights have two colours, Off and Vertex (meaning: I am at a corner), all starting Off.
- A robot that is not at a corner of the convex hull of the robots it sees does nothing.
- A corner robot sets its light to Vertex, finds its two neighbours \(a\) and \(b\) along the hull, and moves a little into the triangle formed by itself, \(a\) and \(b\), cutting off its corner.
- The move is kept inside a smaller safe triangle, so that robots moving at the same time cannot collide, and the robot stops on the nearest line parallel to \(ab\) through another robot, so that it stays at a corner.
- A robot that sees only robots with light Vertex knows that it sees everybody, and stops.
Why it matters. It introduced the luminous-robot approach to obstructed visibility, and its output (all robots on a convex polygon) is a starting point for other tasks on opaque robots.
Suppose robots have no lights (one colour) and do not know \(n\). A robot sees, say, four other robots at the vertices of a square. Maybe that is everybody, and it should stop. Or maybe a fifth robot hides exactly behind one of the four, on the same line of sight, and the robots must still move. The two situations give the robot the same snapshot, and stopping cannot be undone, so whatever it decides is wrong in one of them.
Why it matters. It shows that the cost of detecting completion, not of reaching it, is what forces memory.
What is known
The best upper bound against the best lower bound in each catalogued setting. Open a setting for its results, proofs and notes, or see the progress map with the branch points.
Open questions 12
Finite state, SSYNC, non-rigid
- Solve mutual visibility with finite-state robots under ASYNC Bhagat & Mukhopadhyaya 2019.
Lights, ASYNC, rigid
- Fewer colours with \(O(1)\) epochs Sharma et al. 2021a.
- Time bounds with non-rigid moves.
Lights, ASYNC, non-rigid, one axis
- Mutual visibility in non-rigid ASYNC without axis agreement, ideally with 2 colours Di Luna et al. 2017.
Lights, FSYNC, rigid, chirality
- What is the lower bound on the number of rounds, and can chirality and crossing paths be dropped Vaidyanathan et al. 2015?
Lights, mobility faults, SSYNC, non-rigid
- Can mobility-fault-tolerant mutual visibility under a movement budget be solved without the common reference point and without any axis agreement Shukla et al. 2026a?
- Does the budget-constrained algorithm extend to ASYNC Shukla et al. 2026a?
Lights, one crash, SSYNC, rigid, compass
- Tolerating three or more crashes, and using 2 colours Aljohani & Sharma 2018.
Lights, crash faults, ASYNC, one axis
- Mutual visibility with several crashes when a crashed robot's light stops changing too, which Poudel et al. 2021 call "a major open problem".
- Two colours in ASYNC with crashes Poudel et al. 2021.
Fat robots, ASYNC, rigid, one axis
- Non-rigid moves, and SSYNC and ASYNC extensions of the 2-colour FSYNC algorithm Alsaedi et al. 2023a.
- Mutual visibility of fat robots in ASYNC with non-rigid moves and no axis agreement Bhagat et al. 2024.
What the community started looking at
Mutual visibility arose from obstructed visibility: before opaque robots can coordinate they must see each other. The first questions were feasibility and the number of colours Di Luna et al. 2017 Sharma et al. 2015b; then time with \(O(1)\) colours Vaidyanathan et al. 2015 Sharma et al. 2021a, and fat robots Sharma et al. 2018 Bhagat et al. 2024.
Special case of Pattern formation
Mutual visibility asks for any pattern in general position, a family of patterns; it is the usual first step of pattern formation for opaque robots.
Perspectives
- Weak robots in the plane Why the theory of robots in the plane starts from oblivious, anonymous, disoriented points; how formation problems became its testbed and the scheduler its adversary; and how a light with a few colours turned into memory, communication and a measure.
- When agents fail A node that destroys visitors, a robot that stops, an agent that lies, a searcher that misses the target: the papers motivate each fault by the hardware or the network, and each kind of fault changes a different measure, from team size to feasibility to an exact constant.
Further reading
Papers on this problem that are not yet placed in a setting.
- Cicerone et al. 2023c Time-Optimal Geodesic Mutual Visibility of Robots on Grids Within Minimum Area. Geodesic mutual visibility on graphs: robots on the nodes of a grid must reach nodes such that every two are joined by a shortest path through no other robot. Time-optimal algorithms for oblivious synchronous robots with chirality on finite and infinite square grids, within the minimum area (Theorem 1). Read (arXiv v1). Also in the journal paper Cicerone et al. 2023b.
- Badri et al. 2024 An optimal algorithm for geodesic mutual visibility on hexagonal grids. Geodesic mutual visibility on finite hexagonal grids: the largest mutual-visibility sets (Theorem 1) and an optimal algorithm for synchronous oblivious robots with chirality (Theorem 2). Read (arXiv v2).
- Cicerone et al. 2025a Mutual and total mutual visibility in hypercube-like graphs. The graph-theoretic side: mutual-visibility and total mutual-visibility numbers of hypercubes, Fibonacci cubes (journal version only), cube-connected cycles and butterflies: approximation algorithms for the first three, and exact formulae \(2^{d+1}-2\) and \(2^d\) for the butterfly of dimension \(d\). Read (arXiv v1 and the journal version).
- Kim et al. 2023 Complete Visibility Algorithm for Autonomous Mobile Luminous Robots under an Asynchronous Scheduler on Grid Plane. Robots on the infinite grid with lights of two colours under ASYNC reach complete visibility in \(O(\Delta_0 + n)\) rounds within \(O(n^2)\) area (Theorem 1, proof sketched). Read (arXiv v1). The journal version Kim et al. 2025 proves the lemmas in full but states \(O(\Delta_0 + n^2)\) rounds.
- Alsaedi et al. 2023b Shortest Paths of Mutually Visible Robots. A centralised motion-planning relative: move \(n\) robots inside a simple polygon along shortest paths to their targets while keeping them mutually visible; \(O(mn)\) time when starts and targets lie on two disjoint segments. Read (arXiv v2).
- Dolev et al. 2019 Brief Announcement: Neighborhood Mutual Remainder and Its Self-Stabilizing Implementation of Look-Compute-Move Robots. A synchronisation tool for Look–Compute–Move robots: a self-stabilizing implementation of neighbourhood mutual remainder, used to make moves atomic and to simulate FSYNC with clocks of equal speed. Read (arXiv v1).
- Bhagat et al. 2016b Formation of General Position by Asynchronous Mobile Robots Under One-Axis Agreement. ASYNC opaque robots that agree on one axis reach general position (no three collinear). Abstract read.
- Sharma et al. 2015a Bounds on Mutual Visibility Algorithms. Runtime of Di Luna et al.'s algorithms with lights in FSYNC: Contain takes \(\Theta(n)\) rounds and Shrink \(\Omega(n^2)\); Modified Shrink takes \(O(n\log n)\) and needs \(\Omega(n)\). Abstract read.
- Sharma et al. 2021b Optimal Randomized Complete Visibility on a Grid for Asynchronous Robots with Lights. Randomized complete visibility on the infinite grid by ASYNC robots with lights and obstructed visibility, with optimal time. Abstract read.
- Kim et al. 2025 Complete Visibility Algorithms of Luminous Robots With Two-Color Lights on Grid. Journal version of Kim et al. 2023: ASYNC oblivious robots on the infinite grid that agree on the direction and orientation of both axes, with lights of two colours and without knowing \(n\), reach complete visibility from any configuration (Theorem 2, proved through Lemmas 1–13) in \(O(\Delta_0 + n^2)\) asynchronous rounds (their \(D\) is \(\Delta_0\) here) within the optimal area \(O(n^2)\). Read in full.
- Cicerone et al. 2023b The geodesic mutual visibility problem: Oblivious robots on grids and trees. Poses geodesic mutual visibility: robots on distinct nodes of a graph must reach, without collisions, nodes such that every two are joined by a shortest path through no other robot. On finite grids, oblivious FSYNC robots with chirality solve it from asymmetric configurations within the smallest bounding rectangle by a time-optimal algorithm (Theorem 1), with an informal extension to infinite grids. On trees, oblivious SSYNC robots, at most one per leaf, solve it from configurations without critical nodes, where two robots would have to cross one node (Theorems 2, 3), in \(O(nD)\) epochs against \(\Omega(n + D)\), \(D\) the diameter of the tree (Lemmas 11, 12). Read in full.
All settings
The assumption tree (12 settings, 7 branch points)
The root assumes nothing. Going down, each edge adds the assumptions on its chips (+blue); a grey chip names the branch that leaves that axis unassumed while a sibling assumes something. Solid nodes are catalogued variants with their status per measure (Time, Colours); dashed nodes are branch points with no catalogued variant, named after the axis on which their branches differ. Axis order: Body › Visibility › Opacity › Faults › Scheduler › Lights (persistent memory) › Agreement on coordinates › Movement › Multiplicity detection › Randomness › Identifiers.
-
No assumptions · 2 branches by body
Nothing is assumed on any axis.
-
+point+unlimited visibilityFaults · 3 branches
-
+no faultsScheduler · 3 branches
-
+SSYNCLights (persistent memory) · 2 branches
-
ASYNC+lights (LUMI)Agreement on coordinates · 2 branches
-
disoriented+rigidLights, ASYNC, rigid In rigid ASYNC, 2 colours suffice, which is optimal, and \(O(1)\) epochs are achievable with 47 colours.
-
+one axisLights, ASYNC, non-rigid, one axis With non-rigid moves, 2 colours suffice in ASYNC if robots agree on one axis; without axis agreement the problem is open.
-
-
+FSYNC+lights (LUMI)+chirality+rigidLights, FSYNC, rigid, chirality In FSYNC with rigid moves and chirality, mutual visibility takes \(O(\log n)\) rounds with 12 colours.
-
-
+crash faultsScheduler · 2 branches
-
+SSYNC+lights (LUMI)Lights, mobility faults, SSYNC, non-rigid With any number of mobility faults, luminous robots without axis agreement reach mutual visibility in non-rigid SSYNC in \(O(n)\) epochs with 12 colours, if they all see a common fixed reference point.
-
ASYNC+lights (LUMI)+one axisLights, crash faults, ASYNC, one axis With up to \(n\) crashed robots, robots that agree on one axis reach mutual visibility in non-rigid ASYNC in \(O(n)\) epochs with 3 colours.
-
-
Byzantine+SSYNC+lights (LUMI)+compass+rigidLights, one Byzantine robot With one Byzantine robot among three, mutual visibility is impossible.
-
-
fat+unlimited visibility+no faultsScheduler · 2 branches
-
ASYNC+lights (LUMI)+one axis+rigidFat robots, ASYNC, rigid, one axis Fat robots that agree on one axis reach mutual visibility in rigid ASYNC in \(O(n)\) epochs with \(O(1)\) colours.
-
+FSYNC+lights (LUMI)+rigidFat robots, FSYNC, rigid In FSYNC, fat robots without chirality reach mutual visibility in \(O(n)\) rounds with 2 colours, which is optimal.
-
-
Know a better result, or found a mistake? Suggest a result · Report an error. Accepted contributions are acknowledged.