Mobility Matters
Home›Mobile robots in the plane›Formation problems›Pattern formation›k-grouping›Gathering

Gathering

Robots must meet at a single point that is not fixed in advance, and stay there.

Problem statement and measuresexpand

\(n\) robots start at distinct points and must all reach the same point in finite time and remain there. For \(n = 2\) the problem is called rendezvous. Time is counted in rounds (FSYNC, SSYNC) or in epochs (ASYNC: intervals in which every robot completes at least one full Look–Compute–Move cycle); colours count light colours.

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).

Crash faults, one common axis, opaque robots

verified
Time: unknownColours: tight

Robots that agree on one axis gather in ASYNC with non-rigid moves and no multiplicity detection despite up to \(n-1\) crashes, even when robots block each other's view.

Assumed (added on the last edge are outlined)

+Bodypoint robots+Visibilityunlimited+Faultsup to \(f\) robots may crash+Agreement on coordinatesagreement on one axis (no common chirality)

Not assumed

Opacityopaque: collinear robots hide each otherSchedulerasynchronous (ASYNC)Lights (persistent memory)oblivious, no light (OBLOT)Movementnon-rigid: the adversary may stop a move after some minimum distance \(\delta\)Multiplicity detectionnone: a point with several robots looks like one robotRandomnessdeterministicIdentifiersanonymous: all robots are identicalNumber of robotsany \(n\)Initial configurationsevery solvable initial configuration
Formal definitions of this setting
Body: point
Each robot is a point of the plane: several robots may share a point (multiplicity), and a robot hides only what lies exactly behind it on a line of sight.
Visibility: unlimited visibility
A robot sees all robots (subject to opacity).
Opacity: opaque
Robots are points that obstruct sight: \(r\) sees \(s\) iff no third robot lies on the open segment \(\overline{rs}\).
Faults: crash faults
Up to \(f\) robots stop forever at adversarial times and remain visible at their last position.
Scheduler: ASYNC
ASYNC: each robot's Look, Compute and Move phases take finite but unbounded, adversarially chosen time; a robot may look while others move, and compute on an outdated snapshot. Time is counted in epochs: an epoch is an interval of time in which every robot completes at least one full Look–Compute–Move cycle; it need not be the shortest such interval. The execution is divided into consecutive epochs, and a bound of \(X\) epochs holds for every such division. In FSYNC and SSYNC time is counted in rounds. Called Corda by Prencipe Prencipe 2007. Intermediate variants restrict interleavings: LC-atomic (no Look by another robot between a robot's Look and its Compute), Move-atomic (no Look during another robot's Move) and CM-atomic Flocchini et al. 2023.
Lights (persistent memory): oblivious
OBLOT: a robot's computation depends only on the current snapshot; nothing persists across cycles.
Agreement on coordinates: one axis
All robots agree on the direction and orientation of one axis (e.g. North), but not necessarily on handedness: two robots may disagree on which side is East. This is how the papers use one axis agreement (e.g. robots "agree on only 'left' and 'right'" Bose et al. 2021a; robots "do not necessarily have the same handedness" Pagli et al. 2015). One axis and chirality are alternatives on this axis; together they amount to a common compass.
Movement: non-rigid
In a Move phase the adversary may stop a robot before its destination, but only after it has travelled at least \(\delta>0\) (a constant unknown to the robots) or reached the destination.
Multiplicity detection: no multiplicity detection
A snapshot is a set of points: a point occupied by several robots looks like a single robot.
Randomness: deterministic
The destination computed in a cycle is a function of the snapshot (and the light, if any).
Identifiers: anonymous
Robots are indistinguishable and run the same algorithm.
Number of robots: any \(n\)
Any number \(n\ge 2\) of robots.
Initial configurations: any start
The algorithm must gather from every initial configuration from which gathering is possible at all in the setting; configurations proved unsolvable there (for example bivalent ones, or several multiplicities with weak detection and crashes) are excluded by the problem, not by the algorithm.

What is known

Time · rounds (FSYNC, SSYNC) or epochs (ASYNC) until the task is done; "finite" when only solvability is known
unknown
Finite time only; no bound on epochs is recorded.
lower boundnone known
introductory—
current best
\(\text{finite}\)
up to \(f = n-1\) crashes\(n \ge 2\)non-rigid moves of at least \(\delta\)
Colours · colours of the light per robot (0 for oblivious robots)
tight
No colours.
lower boundnone known
introductory—
current best
\(0\)
up to \(f = n-1\) crashes\(n \ge 2\)non-rigid moves of at least \(\delta\)

Results, in order of publication

Bhagat et al. 2016a current best
Time \(\text{finite}\)Colours \(0\)
up to \(f = n-1\) crashes\(n \ge 2\)non-rigid moves of at least \(\delta\)

Introductory and current best (Theorem 3 for opaque robots; Theorems 1 and 2 for transparent ones). Robots order the horizontal lines through occupied points from north to south. If the northernmost line holds one occupied point, every robot moves to it; otherwise the target is the apex, north of that line, of the equilateral triangle on its two outermost occupied points. The target stays the same while robots move toward it (Lemma 3), so every correct robot reaches it, whichever robots crash. Wait-free: no robot can tell a crashed robot from an idle one.

Open questions

None recorded for this variant.

Notes

With one common axis even two robots gather, which disoriented oblivious robots cannot do in SSYNC Suzuki & Yamashita 1999. Bhagat, Gan Chaudhuri and Mukhopadhyaya assume no multiplicity detection and arbitrary initial configurations, with robots that may share points. Checked against the full text of Bhagat et al. 2016a (JDA version).

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

No catalogued weaker setting.

Lower bounds from stronger settings hold here

Rendezvous, full lights, a crash, SSYNC
Time \(\text{impossible}\)

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