Circle formation
Robots must reach positions on a common circle.
Problem statement and measurescollapse
\(n\) robots start at distinct points and must reach a configuration in which all of them lie on one circle, at distinct points, and stay there. Uniform circle formation additionally asks for a regular \(n\)-gon.
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
Think of dancers who must spread out on one common circle, each at a different spot on it, without anyone drawing the circle first. There are \(n\) robots, points at distinct places in the plane; their positions form the configuration. Each robot repeats a Look–Compute–Move cycle: it takes a snapshot of where the other robots are (Look), decides on a destination point (Compute) and moves towards it (Move). They are identical, silent, oblivious (no memory between cycles), and each uses its own local coordinate system (origin, axes, unit of length and handedness). A scheduler (an adversary) decides the activation of robots, that is, when each performs a cycle; in the basic version it is ASYNC, so each phase may take any finite time, and every move is a non-rigid move: the adversary may stop a robot after it has travelled some minimum distance \(\delta\). The robots must reach a configuration in which all of them lie on one circle, at distinct points (not necessarily evenly spaced), and stay there.
- Every robot computes the smallest enclosing circle (SEC) of all robots. It is unique and does not depend on any local coordinate system, so all robots compute the same circle.
- A robot already on the circle stays where it is.
- A robot inside the circle moves straight outwards, along the ray from the centre through itself, to the circle.
- A robot exactly at the centre has no ray; it first steps a little away from the centre.
- If several robots lie on the same ray, only the outermost one moves out; the others first step sideways onto free rays, so that no two robots ever land on the same point.
Why it matters. The smallest enclosing circle is the standard common reference for disoriented robots, reused in pattern formation, gathering and leader election.
- Compute the smallest enclosing circle and use its centre as the origin of polar coordinates.
- A robot at the centre steps off it, by less than the distance of any other robot from the centre.
- Otherwise, find your two neighbours in angular order around the centre and draw the rays halfway (by angle) to each of them. The region between these two rays is your exclusive zone for this cycle: no other robot will move into it.
- A robot inside the circle moves outwards within its zone towards the circle; a robot on the circle slides along it towards the angle halfway between its neighbours, without ever leaving an empty arc larger than a half circle (which would shrink the circle).
Why it matters. It introduced the exclusive-zone trick for avoiding inseparable robots and the "slide towards the middle of your neighbours" rule for even spacing.
Simulator watch an algorithm run
A simulator of Look–Compute–Move robots in the plane that runs in the browser. Each case below starts one of its algorithms from a fixed starting configuration and seed; the run is the simulator's, not a proof. Source.
Walk out to the smallest enclosing circle. Each robot moves onto the smallest circle enclosing the robots it sees. Here 24 robots see everyone and run under the simulator's asynchronous scheduler. Open in the simulator ↗
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.
What the community started looking at
Circle formation was first proposed as a way to reach a uniform circle by oblivious robots without a common orientation Défago & Konagaya 2002; the first algorithms formed a circle and only converged towards uniformity Défago & Souissi 2008. The question was whether disoriented, oblivious robots can form a circle at all, under which scheduler.
Special case of Pattern formation
A circle is a family of patterns; forming some circle is easier than forming a given pattern, and it is the precursor of uniform circle formation Feletti et al. 2026a.
Related problems
Uniform circle formation: A uniform circle is a circle, so every uniform-circle algorithm forms a circle.
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.
Further reading
Papers on this problem that are not yet placed in a setting.
- Maiti et al. 2026a Conflicting Pattern Formation by Teams of Anonymous, Fully Disoriented Robots. Conflicting pattern formation: the robots form two teams, and each robot knows its own team but cannot tell which other robots belong to it; the gathering team (at least 6 robots) must meet at one point while the circle team (at least 2 robots) must reach distinct points of one circle. Oblivious SSYNC robots with no agreement on coordinates (not even chirality), non-rigid moves and distinct starting points solve both tasks at once when the gathering team has weak multiplicity detection and the circle team detects a multiplicity only at its own point and knows its own size (Theorem 1, from Lemmas 1–7). The authors attribute the problem, and an ASYNC solution with agreement on the direction of one axis and weak multiplicity detection for all robots, to Bhagat, Flocchini, Mukhopadhyaya and Santoro (ICDCN 2020), not read here. Read (arXiv v1).
- Goswami et al. 2024a Circle formation by asynchronous opaque fat robots on an infinite grid. Circle formation on an infinite grid by opaque fat robots (unit disks) with lights of five colours, one-axis agreement and an ASYNC scheduler: from every initial configuration the robots form a circle and terminate (Theorem 3.27). Read (arXiv v1).
All settings
The assumption tree (2 settings, 1 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.
Know a better result, or found a mistake? Suggest a result · Report an error. Accepted contributions are acknowledged.