This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

DIAG, Sapienza University of Rome, Italydiluna@diag.uniroma1.itSchool of Information Science, JAIST, Japanuehara@jaist.ac.jp Department of Computer Science and Engineering, University of Aizu, Japanviglietta@gmail.com Department of Informatics, Graduate School of ISEE, Kyushu University, Japanyamauchi@inf.kyushu-u.ac.jp \CopyrightGiuseppe A. Di Luna, Ryuhei Uehara, Giovanni Viglietta, and Yukiko Yamauchi {CCSXML} <ccs2012> <concept> <concept_id>10003752.10003809.10010172.10003824</concept_id> <concept_desc>Theory of computation Self-organization</concept_desc> <concept_significance>500</concept_significance> </concept> <concept> <concept_id>10010147.10010919.10010172</concept_id> <concept_desc>Computing methodologies Distributed algorithms</concept_desc> <concept_significance>500</concept_significance> </concept> </ccs2012> \ccsdesc[500]Computing methodologies Distributed algorithms \ccsdesc[500]Theory of computation Self-organization \hideLIPIcs

Gathering on a Circle with Limited Visibility by Anonymous Oblivious Robots

Giuseppe A. Di Luna    Ryuhei Uehara    Giovanni Viglietta    Yukiko Yamauchi
Abstract

A swarm of anonymous oblivious mobile robots, operating in deterministic Look-Compute-Move cycles, is confined within a circular track. All robots agree on the clockwise direction (chirality), they are activated by an adversarial semi-synchronous scheduler (SSYNCH), and an active robot always reaches the destination point it computes (rigidity). Robots have limited visibility: each robot can see only the points on the circle that have an angular distance strictly smaller than a constant ϑ\vartheta from the robot’s current location, where 0<ϑπ0<\vartheta\leq\pi (angles are expressed in radians).

We study the Gathering problem for such a swarm of robots: that is, all robots are initially in distinct locations on the circle, and their task is to reach the same point on the circle in a finite number of turns, regardless of the way they are activated by the scheduler. Note that, due to the anonymity of the robots, this task is impossible if the initial configuration is rotationally symmetric; hence, we have to make the assumption that the initial configuration be rotationally asymmetric.

We prove that, if ϑ=π\vartheta=\pi (i.e., each robot can see the entire circle except its antipodal point), there is a distributed algorithm that solves the Gathering problem for swarms of any size. By contrast, we also prove that, if ϑπ/2\vartheta\leq\pi/2, no distributed algorithm solves the Gathering problem, regardless of the size of the swarm, even under the assumption that the initial configuration is rotationally asymmetric and the visibility graph of the robots is connected.

The latter impossibility result relies on a probabilistic technique based on random perturbations, which is novel in the context of anonymous mobile robots. Such a technique is of independent interest, and immediately applies to other Pattern-Formation problems.

keywords:
Mobile robots, Gathering, limited visibility, circle

1 Introduction

Background

One of the most popular models for distributed mobile robotics is the Look-Compute-Move (LCM) [21, 22]. In this model, a Euclidean space, usually the real plane 2\mathbb{R}^{2}, is inhabited by a “swarm” of punctiform and autonomous computational entities, the robots. Each robot, upon activation, takes a snapshot of the space (Look), uses this snapshot to compute its destination (Compute), and then reaches its destination point (Move).

The activation pattern of the robots is controlled by an external scheduler. At one end of the synchrony spectrum, there is the fully-synchronous scheduler (FSYNCH): in this case, time is divided into discrete units (the turns). At each turn, the entire swarm is activated, and all robots synchronously execute one LCM cycle. At the other end, there is the asynchronous scheduler (ASYNCH), where robot activations are independent, and LCM cycles are not synchronized. Somewhere halfway, there is the semi-synchronous scheduler (SSYNCH), which activates an arbitrary subset of robots at each turn, with the restriction of activating each robot infinitely often.

A common assumption in the context of mobile robots is the lack of persistent memory: a robot does not remember anything about past activations (obliviousness). Other assumptions are anonymity, where robots do not have visible and distinguishable identifying features, and silence, where robots do not have explicit communication primitives. This robot model is sometimes referred to as “OBLOT” [22].

Obliviousness, anonymity, and silence are practical, useful, and desirable properties: an algorithm for oblivious robots is inherently resilient to transient memory failures; one for anonymous robots is ideal in privacy-sensitive contexts; an algorithm for silent robots works even in scenarios where communication is jammed or unfeasible (e.g., hostile environments or underwater deployment).

The purpose of such an ensemble of weak robots is to reach a common goal in a coordinated way. Interestingly, it has been shown that mobile robots can solve an extensive set of problems [22], ranging from forming patterns [23, 25, 38, 40] to simulating a powerful Turing-complete movable entity [15].

Among all tasks, a particularly relevant one is Gathering [1, 5, 6, 12, 18, 35, 36]: in finite time, all robots have to reach the same point and stop there. Initial works assumed robots to see the entire space (full visibility). However, a more realistic assumption [3, 34] is that a robot be able to see only a portion of the space (limited visibility).

In this paper, we study the Gathering problem for a swarm of oblivious robots with limited visibility constrained to move within a circle: each robot can see only the points on the circle that have an angular distance strictly smaller than a certain visibility range ϑ\vartheta. We assume that robots have no agreement on common coordinates apart from sharing the same notion of clockwise direction on the circle.

From a practical perspective, the restriction of moving along a predetermined path arises in wide variety of scenarios: railway lines, roads, tunnels, waterways, etc. We argue that the circle is the most meaningful curve to study: a solution for it readily extends to all other closed curves.

From a theoretical perspective, confining the swarm on a circle (hence, a non-simply connected space) rules out all the strategies typically used for robots in the plane, such as moving toward the center of the visible set of robots (an example is in [2]). Moreover, robots cannot use any asymmetries in the environment to identify a gathering point: this makes the circle the most challenging setting for Gathering (and in general, for any problem where symmetry breaking helps).

Apart from [20], which examined the problem of scattering on a circle (reaching a final configuration where the robots are uniformly spaced out), no other works studied the computational power of oblivious robots when confined to curves: this is rather surprising, considering the copious existing literature on oblivious robots [21, 22]. To the best of our knowledge, the present paper is the first to investigate the Gathering problem for oblivious, silent, and anonymous robots on a circle with limited visibility.

Our contributions

We consider a swarm of nn oblivious, anonymous, and silent robots that start at distinct locations on a circle. Robots do not agree on a common system of coordinates, but they do share the same handedness (i.e., they have a common notion of clockwise direction). When a robot decides to move, it reaches its destination point (robots are rigid). Moreover, robots have no information on the swarm’s size, nn. Each robot can see only the points on the circle that have an angular distance strictly smaller than a certain visibility range ϑ\vartheta. We must assume that the initial configuration is rotationally asymmetric, otherwise the scheduler may activate robots in such a way as to preserve the rotational symmetry, and Gathering cannot be achieved.

After giving all the necessary definitions and some preliminary results (Section 2), our first contribution is to show that there is no distributed algorithm that solves the Gathering problem in SSYNCH when ϑπ/2\vartheta\leq\pi/2, i.e., each robot is only able to see at most half of the circle (Section 3). Surprisingly, this holds even if the initial configuration is rotationally asymmetric, the visibility graph of the swarm (i.e., the graph of intervisibility between robots) is connected, and all robots know nn.

Our proof uses a novel technique based on random perturbations, of which we offer an intuitive probabilistic argument, as well as a formal and more elementary proof by derandomization. We show that, for any given distributed algorithm, either there exists an asymmetric configuration of robots that can evolve into a symmetric one within one time unit (in SSYNCH), or there is an asymmetric configuration where no robot can move. In either case, Gathering is impossible.

We stress that our result has a profound meaning, since it shows that, when ϑπ/2\vartheta\leq\pi/2, any distributed algorithm, including the ones that do not aim to solve Gathering, has an initial asymmetric configuration that either repeats forever or evolves into a symmetric configuration in one step. This implies a novel impossibility result for geometric Pattern Formation on circles: even when robots start from an asymmetric configuration, they cannot form a target asymmetric pattern. This is in striking contrast with the unlimited-visibility setting, where, even under the ASYNCH scheduler, any pattern can be formed from any asymmetric configuration [22].

To the best of our knowledge, this the first impossibility proof for oblivious robots that neither relies on invariants induced by symmetries (e.g., [25, 39]) nor on the disconnection of the visibility graph (e.g., [15, 41]). Due to the above, we think that our technique is of independent interest, and its core ideas could be applied to other settings, as well.

On the possibility side, we show that, if ϑ=π\vartheta=\pi (i.e., each robot can see the entire circle except its antipodal point), there is a distributed algorithm that solves the Gathering problem in SSYNCH for swarms of any size (Section 4). The algorithm’s strategy is to attempt to elect a unique leader and form a multiplicity point, where all robots will subsequently gather. The main challenge is that, since a robot ignores whether its antipodal point is occupied by another robot or not (robots do not know nn), there may be an ambiguity on who is the true leader. Several robots may believe to be the leader, but this also comes with the awareness of the possibility of being wrong: these “undecided” robots will make some adjustment moves, which eventually result in a configuration where one robot is absolutely certain of being the true leader. The leader will then form a multiplicity point by moving to another robot, and finally all other robots will join them.

A conference version of this paper has appeared at DISC 2020 [17].

Related work

The relevant literature can be divided into (i) works that study the Gathering problem in the plane, (ii) works where robots are confined on a circle (or a polygon with holes) but use memory, randomness, or other forms of symmetry breaking (e.g., different speeds), and (iii) works that consider oblivious robots but a discrete space (i.e., a ring graph).

Gathering in the plane. Several papers studied the Gathering problem for oblivious robots in the plane: for recent surveys, see [18, 3]. In the following, we will focus only on the ones that limit the visibility of robots. In [2], a simple Gathering strategy is proposed for the FSYNCH setting, which consists in moving toward the center of the local smallest enclosing circle without losing vision of other robots (in SSYNCH, this only guarantees that all robots will converge to the same point). Interestingly, this strategy does not need chirality or any agreement on the robots’ local coordinate systems. Recently, it was shown that this algorithm terminates in a number of rounds that is quadratic in the diameter of the visibility graph of the initial configuration of the robots [4].

In [24], Gathering is solved in ASYNCH, assuming that all robots agree on the orientation of both coordinate axes. This induces an implicit agreement on a total order among all robots, and such an order is at the base of the algorithm: each robot moves to its rightmost neighbor; if none is visible, it moves to its topmost neighbor. In [37], the Gathering problem is solved in SSYNCH, assuming an eventual agreement on the North direction.

A recent paper, [30], investigated the assembly of robots with a “defective view”. In this model, the snapshot taken by a robot captures a subset of up to knk\leq n robots. Two defective models are discussed: an adversarial one, where the subset is chosen by an adversary, and a distance-based one, where the snapshot includes the kk nearest robots. The paper presents solution algorithms for k=n2k=n-2 in the adversarial setting (when n5n\geq 5) and for k=2k=2 and n=4n=4 in the distance-based setting. Additionally, the paper demonstrates the impossibility of solving the problem when k=1k=1 and n=3n=3 in both adversarial and distance-based models.

All the aforementioned works heavily rely on the ability to freely move within a plane or on agreements on at least one direction.

Gathering using memory, randomness, or different speeds. In [19], the Gathering problem on a circle is studied in the continuous model, where robots observe and update their movement direction at every instant. The paper assumes that robots have persistent memory and access to a randomness source; it also assumes that robots can only see other robots and communicate with them when they are co-located. To compensate for this limited visibility, it is assumed that the robots either know the length of the circle or have an upper bound on the total number of robots.

The proposed algorithms employ a strategy wherein a robot is first elected as a leader, who then gathers the remaining robots. It is worth noting that the reliance on randomness (where robots can flip random coins) and persistent memory means that the techniques used in this work are not applicable to our setting.

Other works that investigated Gathering on a circle in the continuous model are [27, 32]. However, the solutions proposed in these papers strongly rely on either randomness or different robot speeds, both of which are ways to break symmetry.

Finally, there is a series of papers [7, 8, 9] that solve a weaker version of Gathering, where robots are required to reach the same point, even if they are unaware of each other and do not stop at that point. In polygons with holes, however, these algorithms require persistent memory. An exception is [16], which studies a related problem for oblivious robots in a polygonal environment, and proposes a strategy to simulate persistent memory by carefully moving within a neighborhood of a polygon’s vertex.

Gathering in the discrete ring. A large body of works investigated Gathering in a ring graph [10, 11, 14, 29, 33], with the majority of papers assuming persistent memory [33], sometimes in the form of visible lights [29]. When oblivious agents are considered, and under the assumption of full visibility, the problem has been entirely characterized [10, 11, 31]. Some works explored oblivious agents that can only see their immediate neighborhood: in [28], a solution to the Gathering problem is given, assuming weak multiplicity detection and knowledge of the number of agents. On the other hand, the results in [26] imply that Gathering is impossible if the ring has an even number of nodes and the agents are not initially located on three consecutive nodes. We remark that the results for the discrete setting do not extend to our continuous circle.

2 Model definition and preliminaries

Measuring angles

Let C2C\subset\mathbb{R}^{2} be a circle, and let aa and bb be points of CC. The angular distance between aa and bb (with respect to CC) is the measure of the angle subtended at the center of CC by the shorter arc with endpoints aa and bb. It follows that the angular distance between two points is a real number in the interval [0,π][0,\pi], where angles are expressed in radians. Two points of CC are antipodal of each other if their angular distance is π\pi. The α\alpha-neighborhood of a point qCq\in C is the set of points of CC whose angular distance from qq is strictly smaller than α\alpha. The (π/2)(\pi/2)-neighborhood of qq is also called the open semicircle centered at qq.

Furthermore, if aa and bb are distinct points of CC, we define cw(a,b)cw(a,b) as the measure of the clockwise angle acb\angle acb, where cc is the center of CC. Note that the order of the two arguments matters, and so for instance cw(a,b)+cw(b,a)=2πcw(a,b)+cw(b,a)=2\pi. We also define cw(a,a)=0cw(a,a)=0 for every aa.

Rotational symmetry

Let SS be a finite multiset of points on a circle CC. We say that SS is rotationally symmetric if there is a non-identical rotation around the center of CC that leaves SS unchanged (also preserving multiplicities). It is easy to see that the angle of rotation must be 2π/k2\pi/k radians for some integer k>1k>1. If SS is not rotationally symmetric, it is said to be rotationally asymmetric.

We now present a sufficient condition for a set of points to be rotationally asymmetric. This will be used repeatedly in Section 3.

Proposition 2.1.

Let SS be a finite set of points on a circle. If there are exactly two points of SS whose antipodal points are not in SS, then SS is rotationally asymmetric.

Proof 2.2.

Let pp and pp^{\prime} be two distinct points of SS whose antipodal points are not in SS. Assume for the sake of contradiction that there is an integer k>1k>1 such that ρ(S)=S\rho(S)=S, where ρ\rho is the rotation by 2π/k2\pi/k radians around the center of the circle. Note that two points aa and bb on the circle are antipodal to each other if and only if ρ(a)\rho(a) and ρ(b)\rho(b) are antipodal to each other. It follows that ρ\rho must map a point whose antipodal is not in SS into another point whose antipodal is not in SS. Hence ρ(p)=p\rho(p)=p^{\prime} and ρ(p)=p\rho(p^{\prime})=p, implying that ρρ\rho\circ\rho is the identity map, and therefore k=2k=2. But this means that ρ\rho maps every point to its antipodal, and so pp and pp^{\prime} are antipodal to each other, which contradicts the fact that their antipodal points are not in SS.

Angle sequences

Let SS be a multiset of nn points on a circle CC, and let pSp\in S. Let p1p_{1}, p2p_{2}, …, pnp_{n} be the points of SS taken in clockwise order starting from p=p1p=p_{1} (coincident elements of SS are ordered arbitrarily). We define the angle sequence of pp (with respect to SS) as the nn-tuple (cw(p1,p2),cw(p2,p3),,cw(pn,p1))(cw(p_{1},p_{2}),cw(p_{2},p_{3}),\dots,cw(p_{n},p_{1})). The case where all the elements of SS are coincident is an exception, and in this case the angle sequence of the iith point of SS, with 1in1\leq i\leq n, is defined as the nn-tuple (0,0,,0,0,2π,0,0,,0,0)(0,0,\dots,0,0,2\pi,0,0,\dots,0,0), where the term 2π2\pi appears in the iith position. Note that, with this convention, the sum of the elements of any angle sequence is always 2π2\pi.

The next two propositions are fundamental results about angle sequences. Although they are easy observations, they will be used repeatedly in the rest of the paper.

Proposition 2.3.

A non-empty multiset of points on a circle is rotationally asymmetric if and only if all its points have distinct angle sequences.∎

With the above notation, let qCq\in C, and let jj, with 1jn1\leq j\leq n, be the unique index such that 0<cw(pj,q)cw(pj,pj+1)0<cw(p_{j},q)\leq cw(p_{j},p_{j+1}), with the convention that pn+1=p1p_{n+1}=p_{1} (i.e., qq lies on the clockwise arc pjpj+1p_{j}p_{j+1}, and qpjq\neq p_{j}). We say that the angle sequence of pp truncated at qq is the jj-tuple (cw(p1,p2),cw(p2,p3),,cw(pj1,pj),cw(pj,q))(cw(p_{1},p_{2}),cw(p_{2},p_{3}),\dots,cw(p_{j-1},p_{j}),cw(p_{j},q)).

If W1W_{1} and W2W_{2} are two (truncated) angle sequences, we write W1W2W_{1}\prec W_{2} if W1W_{1} is lexicographically smaller than W2W_{2} (if W1W_{1} and W2W_{2} do not have the same length, we first pad the shorter sequence at the end with enough zeros). We write W1W2W_{1}\preceq W_{2} to mean W1W2W_{1}\prec W_{2} or W1=W2W_{1}=W_{2}, and so on. Also, to denote the concatenation of two (truncated) angle sequences W1W_{1} and W2W_{2}, we write W1W2W_{1}W_{2}.

Proposition 2.4.

Let SS be a multiset of points on a circle CC, let p,pSp,p^{\prime}\in S, and let WW (respectively, WW^{\prime}) be the angle sequence of pp (respectively, pp^{\prime}). Let q,qCq,q^{\prime}\in C such that cw(p,q)=cw(p,q)cw(p,q)=cw(p^{\prime},q^{\prime}), and let ZZ (respectively, ZZ^{\prime}) be the angle sequence WW (respectively, WW^{\prime}) truncated at qq (respectively, qq^{\prime}). If WWW\preceq W^{\prime}, then ZZZ\preceq Z^{\prime}.∎

Mobile robots

Our model of mobile robots is among the standard ones defined in [21, 22]. A swarm of n>1n>1 robots is located on a circle C2C\subset\mathbb{R}^{2}, where each robot is a computational unit that occupies a point of CC (which may change over time) and operates in deterministic Look-Compute-Move cycles.

Time is discretized and subdivided into units, and at each time unit an adversarial (semi-synchronous) scheduler decides which robots are active and which are inactive. An inactive robot remains idle for that time unit, whereas an active robot takes a snapshot of its surroundings, consisting of an arc BCB\subseteq C and a list of points of BB that are currently occupied by robots, it computes a destination point in BB as a function of the snapshot, and it instantly moves to the destination point. The only restriction to the scheduler is that no robot should remain inactive for infinitely many consecutive time units.

Robots may have full visibility, in which case the arc BB defining a snapshot coincides with the entire circle CC, or they may have limited visibility, in which case the arc BB consists of the ϑ\vartheta-neighborhood of the current position of the robot taking the snapshot, where ϑ\vartheta is a positive constant called the visibility range of the robots.

Furthermore, each robot has its own local coordinate system, meaning that each snapshot it takes of an arc BCB\subseteq C is actually a roto-translated copy of BB and the positions of the robots within BB. Such a copy of BB has its midpoint at the origin of the coordinate system (this corresponds to the location of the robot taking the snapshot) and its endpoints have non-negative xx coordinate and the same yy coordinate.

Robots are also capable of weak multiplicity detection, meaning that the snapshots they take contain some information on how many robots occupy each location. Specifically, a robot can tell if a point in a snapshot contains no robots, exactly one robot, or more than one robot: no information on the precise number of robots is given if this number is greater than one. A point occupied by more than one robot is also called a multiplicity point.

In order to simplify our notation, when no confusion arises, we will often identify a robot with its position on the circle. So, we may improperly refer to a robot as a point pCp\in C or to a swarm of robots as a set SCS\subset C.

Gathering

A distributed algorithm is a function that maps a snapshot to a point within the snapshot itself. A robot executes a distributed algorithm AA if, whenever it is activated and takes a snapshot QQ, it moves to the destination point corresponding to A(Q)A(Q). In other words, at each time unit, an active robot chooses its destination point deterministically within its visibility range, based solely on the snapshot it currently has.

We stress that, as a consequence of the previous definitions, the robots in this model are oblivious (i.e., they have no memory of past observations), anonymous (i.e., a robot only identifies other robots by their positions in its local coordinate system, and not for instance by their IDs), silent (i.e., they cannot send messages to one another), deterministic (i.e., they cannot flip coins), rigid (i.e., they always reach the destination points they compute), they have chirality (i.e., they all agree on the clockwise direction on the circle), and they have no knowledge of nn (i.e., a robot can only see other robots within its visibility range, and it does not know whether there are further robots outside of it).

We say that a distributed algorithm AA solves the Gathering problem under condition PP if, whenever all the n>1n>1 robots of a swarm located on a circle execute AA, they eventually reach a configuration where all robots are in the same point of the circle and no robot ever moves again, provided that their initial configuration satisfies condition PP, and regardless of the activation choices of the adversarial scheduler. Equivalently, we say that AA is a Gathering algorithm under condition PP.

We remark that all the robots in the swarm must execute the same algorithm AA (i.e., robots are uniform), and the algorithm has to work for swarms of any size n>1n>1, where nn is not a parameter of AA. Also note that the robots’ positions should not simply converge to the same limit, but they must actually become coincident in a finite number of time units for Gathering to be achieved (albeit there is no bound on the number of time units this process may take).

Initial conditions

There are several meaningful options concerning our choice of the initial condition PP for the Gathering problem. A typical assumption is that the nn robots be initially located in nn distinct points of the circle: while not strictly necessary, this is a common requirement for the Gathering problem (e.g., [38, 5, 18]).

Another assumption that we may make is that the visibility graph of the robots be initially connected. By “visibility graph” we mean the graph whose nodes are the nn robots, where there is an edge between two robots if and only if they are mutually visible, i.e., if their angular distance is less than ϑ\vartheta. This assumption is another common one (e.g., [3, 2, 24, 37, 13]) and, although not strictly necessary, it is justified by the intuition that different connected components of the visibility graph may never become aware of each other, and therefore may fail to gather. We will make this assumption in Section 3 to strengthen our impossibility result, and we will not need to explicitly make it in Section 4, because it will come as a consequence of other assumptions.

An important mandatory condition is that the multiset of the robots’ positions on the circle should be rotationally asymmetric, due to the following.

Proposition 2.5.

Let SS be any rotationally symmetric multiset of n>1n>1 points on a circle. There is no Gathering algorithm under the initial condition that the multiset of robots’ positions is SS.

Proof 2.6.

Let SS have a kk-fold rotational symmetry, with k>1k>1. This means that a rotation by 2π/k2\pi/k radians around the center of the circle leaves SS unchanged. So, the swarm can be partitioned into n/kn/k classes, where each class consists of kk robots located at the vertices of a regular kk-gon.

It follows that, if the scheduler activates all robots in the swarm, then the kk robots in a same class get identical snapshots (regardless of the value of ϑ\vartheta), and therefore move to kk destination points that once again are the vertices of a regular kk-gon. Hence, the new configuration has a kk^{\prime}-fold rotational symmetry, with kkk^{\prime}\geq k.

So, if the scheduler keeps activating all robots at every time unit, no two robots in the same class will ever reach the same point, and the Gathering problem will never be solved.

Since the robots are oblivious, this condition should hold true not only at the beginning, but at all times during the execution of a Gathering algorithm: the robots should never “accidentally” form a rotationally symmetric multiset, or they will be unable to gather.

Corollary 2.7.

Throughout the execution of any Gathering algorithm, the robots’ positions must always form a rotationally asymmetric multiset.∎

3 Impossibility of Gathering for ϑπ/2\vartheta\leq\pi/2

Overview

In this section we prove that, if each robot can see at most an open semicircle (i.e., ϑπ/2\vartheta\leq\pi/2), then no distributed algorithm solves the Gathering problem, even under some strong assumptions on the initial configuration, and even if the robots know the size of the swarm.

Our technique is essentially probabilistic, and it starts by defining a set of perturbations of a regular configuration. Then, by analyzing the behavior of a generic distributed algorithm on all perturbations of a swarm that satisfy some initial conditions, we will show that the algorithm either (i) allows the construction of a rotationally asymmetric configuration that can evolve into a rotationally symmetric one (under a semi-synchronous scheduler) or (ii) leaves the configuration unchanged forever. In both cases, the algorithm does not solve the Gathering problem on some configurations.

Summary

We are interested in special types of perturbations of regular swarm configurations, depending on ϑ\vartheta. In Proposition 3.1, we show that the desired requirements of such perturbations can actually be satisfied by arbitrarily large swarms of robots. Proposition 3.3 demonstrates that these perturbations have good structural properties, such as preserving the visibility graph of swarm configurations (Corollary 3.5).

Leveraging the preceding statements, we provide strong constraints on how robots must behave under a Gathering algorithm. Essentially, we argue that at every step, all robots must move to locations already occupied by robots (Lemma 3.7). Furthermore, if a Gathering algorithm prescribes that in a given configuration, a robot rir_{i} moves to another robot rjr_{j}, perturbing rir_{i} will never cause it to move to the same robot rjr_{j} (Lemma 3.9).

With these lemmas in place, it is relatively easy to conclude that there is always a perturbation of the regular configuration that causes any given algorithm to fail to make all robots gather. We formally prove this in Theorem 3.13, making use of the technical result of Lemma 3.11.

Perturbations

For the rest of this section, we will denote by CC the unit circle centered at the origin. A finite set SCS\subset C is regular if (1,0)S(1,0)\in S and all points of SS have the same angle sequence. Hence, for every positive integer nn, there is a unique regular set of size nn: for n3n\geq 3, this is the set of vertices of the regular nn-gon centered at the origin and having a vertex in (1,0)(1,0).

Let SS be the regular set of size nn, and let p1p_{1}, p2p_{2}, …, pnp_{n} be the points of SS taken in clockwise order, starting from p1=(1,0)p_{1}=(1,0). Let ε\varepsilon\in\mathbb{R} with 0<ε<2π/n0<\varepsilon<2\pi/n, and let γ=(γ1,γ2,,γn)[0,1]nn\gamma=(\gamma_{1},\gamma_{2},\dots,\gamma_{n})\in[0,1]^{n}\subset\mathbb{R}^{n}. The ε\varepsilon-perturbation of SS with coefficients γ\gamma is the set SCS^{\prime}\subset C of size nn such that, for all 1in1\leq i\leq n, there is a (unique) point piSp^{\prime}_{i}\in S^{\prime} with cw(pi,pi)=γiεcw(p_{i},p^{\prime}_{i})=\gamma_{i}\cdot\varepsilon, called the perturbed copy of pip_{i}. So, any ε\varepsilon-perturbation of SS is obtained by rotating each point of SS clockwise around the origin by an angle in [0,ε][0,\varepsilon].

Furthermore, for 1in1\leq i\leq n, we say that two coefficient nn-tuples γ=(γ1,γ2,,γn)\gamma=(\gamma_{1},\gamma_{2},\dots,\gamma_{n}) and γ=(γ1,γ2,,γn)\gamma^{\prime}=(\gamma^{\prime}_{1},\gamma^{\prime}_{2},\dots,\gamma^{\prime}_{n}) are ii-related if and only if they differ at most by their iith terms, i.e., for all jij\neq i, we have γj=γj\gamma_{j}=\gamma^{\prime}_{j}. Note that the ii-relation is an equivalence relation on [0,1]n[0,1]^{n}. With the previous paragraph’s notation, we say that the set of all ε\varepsilon-perturbations of SS whose coefficients are in a same equivalence class of the ii-relation is a bundle of ε\varepsilon-perturbations of pip_{i}. Intuitively, a bundle of ε\varepsilon-perturbations of pip_{i} is obtained by first fixing a perturbation of all points of SS except pip_{i}, and then perturbing pip_{i} in all possible ways.

Size of the swarm

We will prove that Gathering is impossible for any given visibility range ϑπ/2\vartheta\leq\pi/2, provided that the size of the swarm nn is appropriate. Specifically, we say that a positive integer nn is compatible with ϑ\vartheta if three conditions hold on the regular set SS of size nn (refer to Figure 1):

  1. 1.

    For every pSp\in S, the open semicircle centered at pp contains exactly half of the points of SS.

  2. 2.

    No two points of SS have an angular distance of exactly ϑ\vartheta.

  3. 3.

    There are two distinct points of SS whose angular distance is smaller than ϑ\vartheta.

We can show that there are arbitrarily large such integers:

Proposition 3.1.

For any ϑπ/2\vartheta\leq\pi/2, there are arbitrarily large integers compatible with ϑ\vartheta.

Proof 3.2.

It is easy to see that the first condition is satisfied if and only if nn is of the form 4k+24k+2, for some non-negative integer kk.

Let us turn to the second condition. The angular distance between two points of SS is a number of the form a2π/na\cdot 2\pi/n, for some positive integer an/2a\leq n/2. So, the second condition is satisfied if and only if there is no aa such that a/n=ϑ/2πa/n=\vartheta/2\pi.

We will prove that, given any two integers of the form 4k+24k+2 and 4k+64k+6, i.e., two consecutive numbers satisfying the first condition, at least one of them satisfies the second condition: this will allow us to conclude that there are arbitrarily large integers that satisfy both conditions (Figure 1 shows an example for k=3k=3).

For the sake of contradiction, let us assume the opposite: there exists 1a2k+11\leq a\leq 2k+1 such that a/(4k+2)=ϑ/2πa/(4k+2)=\vartheta/2\pi, and there exists 1b2k+31\leq b\leq 2k+3 such that b/(4k+6)=ϑ/2πb/(4k+6)=\vartheta/2\pi. By combining the two equations, we have a/(4k+2)=b/(4k+6)a/(4k+2)=b/(4k+6), or equivalently a(2k+3)=b(2k+1)a(2k+3)=b(2k+1). The numbers 2k+12k+1 and 2k+32k+3 are two consecutive odd integers, and therefore they are relatively prime. It follows that 2k+12k+1 must be a divisor of aa, and so a=2k+1a=2k+1. This implies that ϑ=2π(2k+1)/(4k+2)=π\vartheta=2\pi\cdot(2k+1)/(4k+2)=\pi, contradicting the assumption that ϑπ/2\vartheta\leq\pi/2.

To satisfy the third condition, simply pick n>2π/ϑn>2\pi/\vartheta.

Refer to caption
Figure 1: (Left) n=14n=14 is not compatible with ϑ=2π/7\vartheta=2\pi/7 because it does not satisfy condition 2. (Right) n=18n=18 is compatible with ϑ=2π/7\vartheta=2\pi/7.

Choice of ε\varepsilon

For every integer nn compatible with ϑ\vartheta, we define a positive number εϑ,n\varepsilon_{\vartheta,n}, which will be used to construct perturbations of the regular set SS of size nn. We set εϑ,n=δ/2\varepsilon_{\vartheta,n}=\delta/2, where δ=min{|ϑ2πa/n|a, 0an}\delta=\min\{|\vartheta-2\pi a/n|\mid a\in\mathbb{N},\ 0\leq a\leq n\}.

Since nn is compatible with ϑ\vartheta, it easily follows that εϑ,n>0\varepsilon_{\vartheta,n}>0. Also, δ\delta is at most half the angular distance between two consecutive points of SS, and therefore εϑ,nπ/2n\varepsilon_{\vartheta,n}\leq\pi/2n. Moreover, our choice of εϑ,n\varepsilon_{\vartheta,n} has some other desirable properties:

Proposition 3.3.

Let nn be an integer compatible with ϑπ/2\vartheta\leq\pi/2, let SS be the regular set of size nn, and let SS^{\prime} be an εϑ,n\varepsilon_{\vartheta,n}-perturbation of SS. If pSp\in S, and pSp^{\prime}\in S^{\prime} is the perturbed copy of pp, the following hold:

  1. 1.

    The ϑ\vartheta-neighborhood of pp contains a point qSq\in S if and only if the ϑ\vartheta-neighborhood of pp^{\prime} contains the perturbed copy of qq in SS^{\prime}.

  2. 2.

    The open semicircle DD centered at pp contains exactly half of the points of SS^{\prime}, which are the perturbed copies of the points of SS contained in DD.

  3. 3.

    If DD^{\prime} is the open semicircle centered at pp^{\prime}, then SD=SDS^{\prime}\cap D=S^{\prime}\cap D^{\prime}, and hence DD^{\prime} contains exactly half of the points of SS^{\prime}.

Proof 3.4.

To prove the first statement, let BB and BB^{\prime} be the ϑ\vartheta-neighborhoods of pp and pp^{\prime}, respectively. Let aa and bb be the endpoints of BB, such that cw(a,b)=2ϑcw(a,b)=2\vartheta, and let aa^{\prime} and bb^{\prime} be the endpoints of BB^{\prime}, such that cw(a,b)=2ϑcw(a^{\prime},b^{\prime})=2\vartheta. We have cw(a,a)=cw(b,b)=cw(p,p)εϑ,ncw(a,a^{\prime})=cw(b,b^{\prime})=cw(p,p^{\prime})\leq\varepsilon_{\vartheta,n}. Also, by definition of εϑ,n\varepsilon_{\vartheta,n}, for every point qSq\in S, we have cw(q,a)2εϑ,ncw(q,a)\geq 2\varepsilon_{\vartheta,n}, cw(a,q)2εϑ,ncw(a,q)\geq 2\varepsilon_{\vartheta,n}, cw(q,b)2εϑ,ncw(q,b)\geq 2\varepsilon_{\vartheta,n}, and cw(b,q)2εϑ,ncw(b,q)\geq 2\varepsilon_{\vartheta,n}. Moreover, if qSq^{\prime}\in S^{\prime} is the perturbed copy of qq, we have cw(q,q)εϑ,ncw(q,q^{\prime})\leq\varepsilon_{\vartheta,n}.

Suppose now that qBq\in B, and so cw(a,q)[2εϑ,n, 2ϑ2εϑ,n]cw(a,q)\in[2\varepsilon_{\vartheta,n},\ 2\vartheta-2\varepsilon_{\vartheta,n}]. This means that cw(a,q)[εϑ,n, 2ϑ2εϑ,n]cw(a^{\prime},q)\in[\varepsilon_{\vartheta,n},\ 2\vartheta-2\varepsilon_{\vartheta,n}], and also that cw(a,q)[εϑ,n, 2ϑεϑ,n]cw(a^{\prime},q^{\prime})\in[\varepsilon_{\vartheta,n},\ 2\vartheta-\varepsilon_{\vartheta,n}], which in turn implies that qBq^{\prime}\in B^{\prime}. Conversely, if qBq\notin B, we have cw(b,q)[2εϑ,n, 2π2ϑ2εϑ,n]cw(b,q)\in[2\varepsilon_{\vartheta,n},\ 2\pi-2\vartheta-2\varepsilon_{\vartheta,n}], which leads to cw(b,q)[εϑ,n, 2π2ϑ2εϑ,n]cw(b^{\prime},q)\in[\varepsilon_{\vartheta,n},\ 2\pi-2\vartheta-2\varepsilon_{\vartheta,n}], and to cw(b,q)[εϑ,n, 2π2ϑεϑ,n]cw(b^{\prime},q^{\prime})\in[\varepsilon_{\vartheta,n},\ 2\pi-2\vartheta-\varepsilon_{\vartheta,n}], implying that qBq^{\prime}\notin B^{\prime}.

The second and third statements are proved in a similar way. Note that, since nn is compatible with ϑ\vartheta, DD contains exactly n/2n/2 points of SS. Recall from the proof of Proposition 3.1 that nn is of the form 4k+24k+2, and therefore the smallest angular distance between a point of SS and an endpoint of DD is π/n2εϑ,n\pi/n\geq 2\varepsilon_{\vartheta,n}. Now we can repeat the proof of the first statement verbatim, with DD and DD^{\prime} instead of BB and BB^{\prime}, to conclude that a point qSq\in S^{\prime} lies in DD if and only if it lies in DD^{\prime}, which is true if and only if qq is the perturbed copy of a point of SS that lies in DD. Since |S|=|S|=n|S^{\prime}|=|S|=n, both DD and DD^{\prime} contain exactly n/2n/2 points of SS^{\prime}.

Corollary 3.5.

Let nn be an integer compatible with ϑπ/2\vartheta\leq\pi/2, and let SS^{\prime} be an εϑ,n\varepsilon_{\vartheta,n}-perturbation of the regular set SS of size nn. If two swarms of robots form SS and SS^{\prime} respectively, their visibility graphs are isomorphic.

Proof 3.6.

The isomorphism is realized by mapping a robot in the first swarm, located in pSp\in S, to the robot in the second swarm located in the perturbed copy of pp. By the first statement of Proposition 3.3, there is an edge between two robots in the first swarm if and only if there is an edge between the corresponding robots in the second swarm.

Combining configurations

Next we will describe a way of combining two configurations of robots into a new one that takes an open semicircle from each. This operation will be used to construct configurations of robots where a given distributed algorithm fails to make the robots gather.

Let S1S_{1} and S2S_{2} be two subsets of CC, and let DD be an open semicircle. The DD-combination of S1S_{1} and S2S_{2} is defined as the set (S1D)ρ(S2D)(S_{1}\cap D)\cup\rho(S_{2}\cap D), where ρ\rho is the rotation of π\pi around the origin. In other words, this operation takes S1S_{1}, discards the points that do not lie in DD, and replaces them with the points of S2S_{2} that lie in DD, by mapping them to their antipodal points.

Preliminary lemmas

We are now ready to give our first two lemmas, which deal with swarms forming perturbations of a regular configuration, and analyze the distributed algorithms that make robots move in some ways. The first lemma states that, if an algorithm makes a robot move to a point not currently occupied by another robot, then the algorithm cannot solve the Gathering problem.

Lemma 3.7.

Let AA be a distributed algorithm, let nn be compatible with ϑπ/2\vartheta\leq\pi/2, and consider a swarm of robots that forms an εϑ,n\varepsilon_{\vartheta,n}-perturbation SS^{\prime} of the regular set of size nn. If there is a robot that, executing AA, moves to a point not in SS^{\prime}, then AA does not solve the Gathering problem, even under the condition that the swarm initially forms a rotationally asymmetric set of nn distinct points with a connected visibility graph.

Proof 3.8.

Let pSp^{\prime}\in S^{\prime}, and let DD be the open semicircle centered at pp^{\prime}. By the third statement of Proposition 3.3, |SD|=n/2|S^{\prime}\cap D|=n/2. Assume that, if the robot located in pSp^{\prime}\in S^{\prime} executes AA, it moves to a point qSq\notin S^{\prime} (see Figure 2 (left)). Let S′′=(S{p}){q}S^{\prime\prime}=(S^{\prime}\setminus\{p^{\prime}\})\cup\{q\}, and let QQ be the DD-combination of SS^{\prime} and S′′S^{\prime\prime}. Observe that, since ϑπ/2\vartheta\leq\pi/2, the ϑ\vartheta-neighborhood of pp^{\prime} is a subset of DD, and therefore qDq\in D. Hence, |S′′D|=|SD|=n/2|S^{\prime\prime}\cap D|=|S^{\prime}\cap D|=n/2, implying that |Q|=n|Q|=n.

Let qQq^{\prime}\in Q be the antipodal point of qq. Note that the only points of QQ whose antipodal points are not in QQ are pp^{\prime} and qq^{\prime}. So, QQ satisfies the hypotheses of Proposition 2.1, and therefore it is rotationally asymmetric.

Next we will prove that QQ has a connected visibility graph. Let p′′p^{\prime\prime} be the antipodal point of pp^{\prime}, let Q=(Q{q}){p′′}Q^{\prime}=(Q\setminus\{q^{\prime}\})\cup\{p^{\prime\prime}\}, and observe that QQ^{\prime} is an εϑ,n\varepsilon_{\vartheta,n}-perturbation of the regular set SS of size nn. Since nn is compatible with ϑ\vartheta, the ϑ\vartheta-neighborhood of any point of SS contains at least two more points of SS, one on each side of it. It follows that the visibility graph of SS has a Hamiltonian cycle, and so does the visibility graph of QQ^{\prime}, by Corollary 3.5. Hence, the visibility graph of Q{p′′}Q^{\prime}\setminus\{p^{\prime\prime}\} has a Hamiltonian path. By the first statement of Proposition 3.3, the ϑ\vartheta-neighborhood of any point of QQ^{\prime} contains two more points of QQ^{\prime}, one on each side of it. Therefore, each point of the circle CC lies in the ϑ\vartheta-neighborhood of at least two points of QQ^{\prime}. So, each point of CC lies in the ϑ\vartheta-neighborhood of at least one point of Q{p′′}Q^{\prime}\setminus\{p^{\prime\prime}\}. In particular, this is true of qq^{\prime}. We conclude that the visibility graph of (Q{p′′}){q}=Q(Q^{\prime}\setminus\{p^{\prime\prime}\})\cup\{q^{\prime}\}=Q contains a path PP connecting n1n-1 nodes (corresponding to Q{p′′}Q^{\prime}\setminus\{p^{\prime\prime}\}), plus a node (corresponding to qq^{\prime}) connected to some node of PP, implying that the whole graph is connected.

Now, consider a swarm initially forming QQ, which, as we recall, is a rotationally asymmetric set of nn distinct points with a connected visibility graph. Suppose that, in the first time unit, the scheduler activates only the robot in pp^{\prime}, which executes AA. Since the ϑ\vartheta-neighborhood of pp^{\prime} is contained in DD, the robot gets the same snapshot as it would if the swarm’s configuration were SS^{\prime}. Therefore the robot moves to qq, and the swarm’s new configuration is R=(Q{p}){q}R=(Q\setminus\{p^{\prime}\})\cup\{q\}. Observe that the antipodal of each point of RR is also in RR, and so any two antipodal points of RR have the same angle sequence. Due to Proposition 2.3, RR is rotationally symmetric, and hence AA is not a Gathering algorithm, by Corollary 2.7 (recall from Section 2 that, by definition, the existence of a single schedule that prevents the robots from gathering is sufficient to conclude that AA is not a Gathering algorithm).

Refer to caption
Figure 2: Illustrations of Lemma 3.7 (left) and Lemma 3.9 (right).

The second lemma states that, if a distributed algorithm makes a robot rr move on top of another robot rr^{\prime}, and there is a perturbation of rr such that the same algorithm makes rr move on top of the same robot rr^{\prime}, then the algorithm does not solve the Gathering problem.

Lemma 3.9.

Let AA be a distributed algorithm, let nn be compatible with ϑπ/2\vartheta\leq\pi/2, let SS be the regular set of size nn, and let SS^{\prime} and S′′S^{\prime\prime} be two distinct sets in the same bundle of εϑ,n\varepsilon_{\vartheta,n}-perturbations of pSp\in S, where pSp^{\prime}\in S^{\prime} and p′′S′′p^{\prime\prime}\in S^{\prime\prime} are the perturbed copies of pp. Assume that, if a swarm of robots forms SS^{\prime} and the robot in pp^{\prime} executes AA, it moves to another robot, located in qSq\in S^{\prime}. Also assume that, if a swarm of robots forms S′′S^{\prime\prime} and the robot in p′′p^{\prime\prime} executes AA, it moves to the same point qq. Then, AA does not solve the Gathering problem, even under the condition that the swarm initially forms a rotationally asymmetric set of nn distinct points with a connected visibility graph.

Proof 3.10.

Let DD be the open semicircle centered at pp, and let QQ be the DD-combination of SS^{\prime} and S′′S^{\prime\prime}. By the second statement of Proposition 3.3, |SD|=|S′′D|=n/2|S^{\prime}\cap D|=|S^{\prime\prime}\cap D|=n/2, and so |Q|=n|Q|=n.

Since nn is compatible with ε\varepsilon, the visibility graph of SS is connected. Observe that QQ is an εϑ,n\varepsilon_{\vartheta,n}-perturbation of SS, and so, by Corollary 3.5, its visibility graph is isomorphic to that of SS. This implies that the visibility graph of QQ is connected, as well.

Let p′′′Qp^{\prime\prime\prime}\in Q be the antipodal point of p′′p^{\prime\prime}. Since pp′′p^{\prime}\neq p^{\prime\prime}, it follows that pp^{\prime} and p′′′p^{\prime\prime\prime} are not antipodal to each other. Moreover, as SS^{\prime} and S′′S^{\prime\prime} are in the same bundle of εϑ,n\varepsilon_{\vartheta,n}-perturbations of pp, we have S{p}=S′′{p′′}S^{\prime}\setminus\{p^{\prime}\}=S^{\prime\prime}\setminus\{p^{\prime\prime}\}. As a consequence, the only points of QQ whose antipodal points are not in QQ are pp^{\prime} and p′′′p^{\prime\prime\prime}. So, QQ satisfies the hypotheses of Proposition 2.1, and therefore it is rotationally asymmetric.

Consider a swarm initially forming QQ, which, as we proved, is a rotationally asymmetric set of nn distinct points with a connected visibility graph. Suppose that, in the first time unit, the scheduler activates only the robots in pp^{\prime} and p′′′p^{\prime\prime\prime}, which execute AA.

By the third statement of Proposition 3.3 applied to SS^{\prime} and QQ (both of which are εϑ,n\varepsilon_{\vartheta,n}-perturbations of SS), and since the ϑ\vartheta-neighborhood of pp^{\prime} is contained in DD, the robot in pp^{\prime} gets the same snapshot as it would if the swarm’s configuration were SS^{\prime}. Hence, this robot moves to qq. Similarly, the robot in p′′′p^{\prime\prime\prime} gets the same snapshot that it would if it were in p′′p^{\prime\prime} and the swarm’s configuration were S′′S^{\prime\prime}. So, this robot moves to qq^{\prime}, the antipodal point of qq. Since qq and qq^{\prime} are antipodal to each other, the swarm’s new configuration is a rotationally symmetric multiset, because each robot has an antipodal one with the same angle sequence, and therefore Proposition 2.3 applies. We conclude that AA is not a Gathering algorithm, due to Corollary 2.7.

Probabilistic argument

Our concluding argument goes as follows. Suppose for a contradiction that there is a Gathering algorithm AA for some ϑπ/2\vartheta\leq\pi/2. Let nn be an arbitrarily large integer compatible with ϑ\vartheta, and let SS be the regular set of size nn. We will derive a contradiction by studying the behavior of AA on the swarms forming the εϑ,n\varepsilon_{\vartheta,n}-perturbations of SS. Specifically, let p1p_{1}, p2p_{2}, …, pnp_{n} be the points of SS taken in clockwise order, starting from p1=(1,0)p_{1}=(1,0). Suppose that a swarm of nn robots forms a generic εϑ,n\varepsilon_{\vartheta,n}-perturbations of SS, with robot rir_{i} occupying the perturbed copy of pip_{i}, and let all robots execute algorithm AA.

Let us first restrict ourselves to a bundle PP of εϑ,n\varepsilon_{\vartheta,n}-perturbations of some piSp_{i}\in S, and let us analyze the possible behaviors of the robot rir_{i}. Recall that, by definition of bundle, the perturbations in PP have fixed coefficients for all the points of SS except pip_{i}, and perturb pip_{i} in every possible way by varying the coefficient γi[0,1]\gamma_{i}\in[0,1]. Observe that, by Lemma 3.7, AA should never make rir_{i} move to some unoccupied location, or AA would not be a Gathering algorithm. Also, if two or more perturbations in the bundle PP made rir_{i} move to the same robot, then AA would not be a Gathering algorithm, due to Lemma 3.9. However, by the pigeonhole principle, if nn perturbations in PP made rir_{i} move to some other robot, then at least two of them would make it move to the same robot. It follows that at most n1n-1 perturbations in PP can make rir_{i} move at all. So, all perturbations in PP except a finite number of them must make rir_{i} stay still.

Now, let us pick an εϑ,n\varepsilon_{\vartheta,n}-perturbation of SS by choosing its coefficients γ[0,1]n\gamma\in[0,1]^{n} uniformly at random. Let us also define nn random variables Xi:[0,1]n{0,1}X_{i}\colon[0,1]^{n}\to\{0,1\}, with 1in1\leq i\leq n, such that Xi(γ)=0X_{i}(\gamma)=0 if and only if algorithm AA makes the robot rir_{i} stay still when the swarm’s configuration is the εϑ,n\varepsilon_{\vartheta,n}-perturbation of SS defined by the coefficients γ\gamma. By the above argument, for every bundle PP of εϑ,n\varepsilon_{\vartheta,n}-perturbations of pip_{i}, we have Pr[Xi(γ)=1γP]=0\Pr[X_{i}(\gamma)=1\mid\gamma\in P]=0. Thus, with the convention that γ=(γ1,γ2,,γn)\gamma=(\gamma_{1},\gamma_{2},\dots,\gamma_{n}), we have

Pr[Xi=1]=[0,1]nXi(γ)𝑑γ=0101Xi(γ)𝑑γ1𝑑γ2𝑑γn=0101Xi(γ)𝑑γi𝑑γ1𝑑γi1𝑑γi+1𝑑γn=01010𝑑γ1𝑑γi1𝑑γi+1𝑑γn=0.\begin{split}\Pr[X_{i}=1]&=\int_{[0,1]^{n}}X_{i}(\gamma)\,d\gamma=\int_{0}^{1}\cdots\int_{0}^{1}X_{i}(\gamma)\,d\gamma_{1}\,d\gamma_{2}\cdots d\gamma_{n}\\ &=\int_{0}^{1}\cdots\int_{0}^{1}X_{i}(\gamma)\,d\gamma_{i}\,d\gamma_{1}\cdots d\gamma_{i-1}\,d\gamma_{i+1}\cdots d\gamma_{n}\\ &=\int_{0}^{1}\cdots\int_{0}^{1}0\,d\gamma_{1}\cdots d\gamma_{i-1}\,d\gamma_{i+1}\cdots d\gamma_{n}=0.\end{split}

Hence, the probability that AA will make the robot rir_{i} stay still when the swarm’s configuration is picked at random among all εϑ,n\varepsilon_{\vartheta,n}-perturbations of SS is 11. Since this is true of all robots separately, it is also true of all robots collectively, by the inclusion-exclusion principle. In other words, with probability 11, on a random εϑ,n\varepsilon_{\vartheta,n}-perturbation of SS, no robot will be able to move, and therefore the robots will be unable to gather. Moreover, with probability 11, a random εϑ,n\varepsilon_{\vartheta,n}-perturbation of SS is rotationally asymmetric. As a consequence, there is at least one initial configuration (actually, a great deal of configurations) where the swarm forms a rotationally asymmetric set of nn distinct points with a connected visibility graph, and where no robot is able to move. We conclude that AA cannot be a Gathering algorithm, even under such strong conditions.

Technical obstacles

The probabilistic proof we outlined above is sound for the most part, but unfortunately making it rigorous is a delicate matter. The problem is that, in order for XiX_{i} to be a random variable, it has to be a measurable function. For this to be true, the set of coefficients corresponding to perturbations where algorithm AA makes the robot rir_{i} stay still should be a measurable subset of [0,1]n[0,1]^{n}. In turn, this requires some assumptions on the nature of AA, whereas we only defined AA as a generic function mapping a snapshot to a point.

However, since the function AA actually implements an algorithm, which typically is a finite sequence of operations that are well-behaved in an analytic sense, most reasonable assumptions on AA would rule out the pathological non-measurable cases, and would therefore make XiX_{i} a properly defined random variable, allowing the rest of the proof to go through.

Nonetheless, we choose to adopt a different approach, which is both less technical and more general in scope. Indeed, we will give a “derandomized” version of the above proof, which will not deal with probability spaces and random variables, and will not require a more restrictive re-definition of which functions are computable by mobile robots.

Derandomization

Next we will show how to complete the previous argument without the use of probability. Note that we do not need to prove that a random perturbation causes all robots to stay still with probability 11: we merely have to show that there is at least one perturbation with such a property. This is significantly easier, and is achieved by the next lemma, where XiX_{i} no longer denotes a random variable but simply a set of coefficients.

Lemma 3.11.

Let m,n+m,n\in\mathbb{N}^{+}, and let X1X_{1}, X2X_{2}, …, XnX_{n} be subsets of the unit hypercube [0,1]nn[0,1]^{n}\subset\mathbb{R}^{n} such that every line parallel to the iith coordinate axis intersects XiX_{i} in less than mm points, for all 1in1\leq i\leq n. Then, there is a point in [0,1]n[0,1]^{n} whose nn coordinates are all distinct that does not lie in any of the sets X1X_{1}, X2X_{2}, …, XnX_{n}.

Proof 3.12.

For 1in1\leq i\leq n, let ai=m2i1a_{i}=m^{2^{i-1}} and let si=jiajs_{i}=\sum_{j\leq i}a_{j}, with s0=0s_{0}=0. Now let Yi={j/snsi1<jsi}[0,1]Y_{i}=\{j/s_{n}\mid s_{i-1}<j\leq s_{i}\}\subset[0,1], and let Zi=Y1×Y2××Yi[0,1]iZ_{i}=Y_{1}\times Y_{2}\times\dots\times Y_{i}\subset[0,1]^{i}. Observe that the sets YiY_{i} are mutually disjoint, and therefore all the points of ZnZ_{n} have distinct coordinates. We claim that ZnZ_{n} contains a point that does not lie in any of the sets XiX_{i}.

We will prove by induction on ii that, for all x[0,1]nix\in[0,1]^{n-i}, the set Zi×{x}[0,1]nZ_{i}\times\{x\}\subset[0,1]^{n} contains a point that does not lie in jiXj\bigcup_{j\leq i}X_{j}. Thus, we will obtain our claim for i=ni=n.

To prove the base step, consider the set Z1×{x}Z_{1}\times\{x\}, with x[0,1]n1x\in[0,1]^{n-1}. This is a set of |Z1|=a1=m|Z_{1}|=a_{1}=m points lying on a line parallel to the first coordinate axis, and therefore it must contain a point that does not lie in X1X_{1}.

For the inductive step, let i>1i>1, and consider the set Zi×{x}Z_{i}\times\{x\}, with x[0,1]nix\in[0,1]^{n-i}. Since Zi=Zi1×YiZ_{i}=Z_{i-1}\times Y_{i}, we have Zi×{x}=yYiZi1×{y}×{x}Z_{i}\times\{x\}=\bigcup_{y\in Y_{i}}Z_{i-1}\times\{y\}\times\{x\}. By the induction hypothesis, each of the |Yi||Y_{i}| sets of the form Zi1×{y}×{x}Z_{i-1}\times\{y\}\times\{x\} with yYiy\in Y_{i} contains a point not in ji1Xj\bigcup_{j\leq i-1}X_{j}. In other words, for each yYiy\in Y_{i} there exists zZi1z\in Z_{i-1} such that the point {z}×{y}×{x}\{z\}\times\{y\}\times\{x\} is not in ji1Xj\bigcup_{j\leq i-1}X_{j}. Note that |Zi1|=ji1aj=ji1m2j1=m2i11=ai/m=|Yi|/m|Z_{i-1}|=\prod_{j\leq i-1}a_{j}=\prod_{j\leq i-1}m^{2^{j-1}}=m^{2^{i-1}-1}=a_{i}/m=|Y_{i}|/m, and hence |Yi|/|Zi1|=m|Y_{i}|/|Z_{i-1}|=m. So, by the pigeonhole principle, there exists zZi1z\in Z_{i-1} such that there are at least mm different choices of yYiy\in Y_{i} for which the point {z}×{y}×{x}\{z\}\times\{y\}\times\{x\} is not in ji1Xj\bigcup_{j\leq i-1}X_{j}. Since these are at least mm points lying on a line parallel to the iith coordinate axis, at least one of them does not lie in XiX_{i}. It follows that such a point is in Zi×{x}Z_{i}\times\{x\} and does not lie in jiXj\bigcup_{j\leq i}X_{j}.

We can now prove the main result of this section.

Theorem 3.13.

If ϑπ/2\vartheta\leq\pi/2, and for arbitrarily large nn, there is no Gathering algorithm under the condition that the swarm initially forms a rotationally asymmetric set of nn distinct points with a connected visibility graph.

Proof 3.14.

Let nn be an arbitrarily large integer compatible with ϑ\vartheta, which exists due to Proposition 3.1. Note that all εϑ,n\varepsilon_{\vartheta,n}-perturbations of the regular set of size SS have a connected visibility graph, by Corollary 3.5. As before, we assume for a contradiction that AA is a Gathering algorithm, and we consider a swarm of size nn where all robots execute AA, and each robot rir_{i} is initially located in the perturbed copy of point piSp_{i}\in S, for some εϑ,n\varepsilon_{\vartheta,n}-perturbation of SS.

For 1in1\leq i\leq n, let Xi[0,1]nX_{i}\subseteq[0,1]^{n} be the set of coefficients corresponding to perturbations where algorithm AA causes rir_{i} to make a non-null movement. As we already proved, due to Lemmas 3.7 and 3.9, in each bundle of εϑ,n\varepsilon_{\vartheta,n}-perturbations of pip_{i}, at most n1n-1 perturbations cause rir_{i} to move. Rephrased in geometric terms, every line in n\mathbb{R}^{n} parallel to the iith coordinate axis intersects XiX_{i} in less than nn points.

So, the sets X1X_{1}, X2X_{2}, …, XnX_{n} satisfy the hypotheses of Lemma 3.11 with m=nm=n. As a consequence, there exists γ=(γ1,γ2,,γn)[0,1]n\gamma=(\gamma_{1},\gamma_{2},\dots,\gamma_{n})\in[0,1]^{n}, where the coefficients γi\gamma_{i} are all distinct, such that, in the perturbation corresponding to γ\gamma, algorithm AA causes all robots to stay still, and therefore does not allow them to gather.

It remains to check that the perturbation SS^{\prime} corresponding to γ\gamma is rotationally asymmetric. Let p1p_{1}, p2p_{2}, …, pnp_{n} be the points of SS in clockwise order, and let piSp^{\prime}_{i}\in S^{\prime} be the perturbed copy of pip_{i}, for 1in1\leq i\leq n. Suppose for a contradiction that SS^{\prime} has a kk-fold rotational symmetry with k>1k>1, implying that the angular distance between p1p^{\prime}_{1} and pn/k+1p^{\prime}_{n/k+1} is α=2π/k\alpha=2\pi/k. Note that α\alpha is also the angular distance between p1p_{1} and pn/k+1p_{n/k+1}. Moreover, by definition of perturbation, α=cw(p1,pn/k+1)cw(p1,p1)+cw(pn/k+1,pn/k+1)=2π/kγ1εϑ,n+γn/k+1εϑ,n\alpha=cw(p_{1},p_{n/k+1})-cw(p_{1},p^{\prime}_{1})+cw(p_{n/k+1},p^{\prime}_{n/k+1})=2\pi/k-\gamma_{1}\cdot\varepsilon_{\vartheta,n}+\gamma_{n/k+1}\cdot\varepsilon_{\vartheta,n}. It follows that γ1=γn/k+1\gamma_{1}=\gamma_{n/k+1}, which contradicts the fact that the coefficients γi\gamma_{i} are all distinct (indeed, k2k\geq 2 implies that 1<n/k+1n1<n/k+1\leq n).

We remark that, throughout the proofs of Lemmas 3.7, 3.9 and 3.13, only swarms of the same size nn appear. It follows that our impossibility result holds even if all robots know the size of the swarm.

4 Gathering algorithm for ϑ=π\vartheta=\pi

Overview

In this section we give a Gathering algorithm for robots that can see the entire circle except their antipodal point (i.e., ϑ=π\vartheta=\pi), under the condition that the initial configuration is a rotationally asymmetric set with no multiplicity points.

First we will describe a simple Gathering algorithm for robots with full visibility, which already provides some useful ideas: elect a leader, form a unique multiplicity point, and gather there. We will then extend the same ideas to the limited-visibility case with ϑ=π\vartheta=\pi. There are some difficulties arising from the fact that not all robots will necessarily agree on the same leader, because they may have different views of the rest of the swarm. For instance, two antipodal robots will not see each other, and, if the configuration is rotationally asymmetric, they will obtain two non-isometric snapshots, which may cause them to elect two different leaders.

We will show how to cope with these difficulties. Essentially, based on what a robot rr knows, there are only two possibilities on who the “true” leader may be, depending on whether there is a robot antipodal to rr or not. If rr happens to be elected leader in both scenarios, then rr has no doubt of being the leader, and therefore behaves as in the full-visibility algorithm, creating a multiplicity point. In most cases, however, no robot will be so fortunate, but the swarm will still have to make some sort of progress toward gathering. So, the robots that see themselves as possible leaders (but could be wrong) make some preparatory moves that will ideally “strengthen their leadership” in the next turns. We will argue that, after a finite number of turns, one robot will become aware of being the leader and will create a multiplicity point, even under a semi-synchronous scheduler.

The design and analysis of our Gathering algorithm are further complicated by some undesirable special cases, where two distinct multiplicity points end up being created, or the multiplicity point is antipodal to some robot, and therefore invisible to it.

Summary

This section is structured as follows. We begin by describing a simple algorithm for the full-visibility case, then proceed to the scenario where ϑ=π\vartheta=\pi. In this context, we distinguish between the cognizant leader, i.e., a robot certain of its leadership, and the undecided leaders, i.e., robots that perceive themselves as leaders but are unsure due to incomplete information. Proposition 4.1 states that the true leader must belong to one of these two categories.

Next, we establish a technical result, Proposition 4.3, which supports the proof of the so-called point-addition lemma (Lemma 4.5). This crucial lemma describes a relationship between configurations that differ by only one robot; it leads to Corollary 4.7, which provides a non-trivial characterization of a cognizant leader.

These preliminary results pave the way for our Gathering algorithm, which consists of several numbered rules; any active robot applies a rule based on the configuration it observes. The rest of the section is dedicated to proving the correctness of this algorithm.

Lemma 4.9 establishes several constraints on which robots can execute certain rules and under what configurations. A notable implication of Lemma 4.9 is that only an undecided or cognizant leader may move (Corollary 4.11). Furthermore, Lemma 4.13 shows that at most two robots can move simultaneously, one of which is the true leader of the swarm.

These insights greatly simplify the analysis of potential executions of our Gathering algorithm. To begin with, it is relatively straightforward to prove that, if a multiplicity point is ever formed, the Gathering problem is eventually solved (Lemma 4.15). For all other scenarios, Lemma 4.17 shows that certain undesirable configurations do not occur as a result of executing the algorithm. Applying this knowledge, we establish that if a robot executes rule 3 or rule 4.a, the Gathering problem is eventually solved (Lemmas 4.19 and 4.21).

The rest of the analysis focuses on the remaining cases, where the only rules that are ever executed are rule 4.b and rule 4.c. Lemma 4.23 shows that under these rules, the configuration remains rotationally asymmetric without multiplicity points; Lemma 4.25 addresses the case where only the leader robot moves. Finally, Theorem 4.27 puts together all previous findings and concludes the proof of correctness.

Full visibility and leader election

We will describe a simple Gathering algorithm for the scenario where robots have full visibility.

Let SS be a rotationally asymmetric finite set of points on a circle. Recall from Proposition 2.3 that all points of SS have distinct angle sequences, and therefore there is a unique point pSp\in S with the lexicographically smallest angle sequence: pp is called the head of SS.

The Gathering algorithm uses the fact that all robots agree on where the head of the swarm is, and the robot located at the head is elected the leader. The algorithm makes the leader move clockwise to the next robot, while all other robots wait. As soon as there is a multiplicity point, the closest robot in the clockwise direction moves counterclockwise to the multiplicity point. The process continues until all robots have gathered.

Note that this algorithm also works in ASYNCH and with non-rigid robots (i.e., robots that can be stopped by an adversary before reaching their destination). Indeed, as the leader moves toward the next robot, its angle sequence remains the lexicographically smallest, and so it remains the leader. After a multiplicity point has been created, only one robot is allowed to move at any time, and therefore no other multiplicity points are accidentally formed.

Before delving into our main algorithm, we need definitions and lemmas that will justify some of our design choices.

Undecided leaders and cognizant leader

Let us now consider a swarm of robots with visibility range ϑ=π\vartheta=\pi forming a rotationally asymmetric set SS of nn distinct points. We say that the true leader of the swarm is the robot located at the head of SS.

For each robot rr, we define the visible configuration V(r)V(r) as the set of robots that are visible to rr, and the ghost configuration as G(r)=V(r){r}G(r)=V(r)\cup\{r^{\prime}\}, with rr^{\prime} antipodal to rr. Note that exactly one between V(r)V(r) and G(r)G(r) is isometric to the “real” configuration SS, and therefore at least one between V(r)V(r) and G(r)G(r) is rotationally asymmetric.

The visible head v(r)v(r) is defined as follows: if V(r)V(r) is rotationally asymmetric, v(r)v(r) is the head of V(r)V(r); otherwise, v(r)v(r) is the head of G(r)G(r). The ghost head g(r)g(r) is defined similarly: if G(r)G(r) is rotationally asymmetric, g(r)g(r) is the head of G(r)G(r); otherwise, g(r)g(r) is the head of V(r)V(r). Note that the true leader of the swarm must be either v(r)v(r) or g(r)g(r).

If v(r)g(r)v(r)\neq g(r), and either r=v(r)r=v(r) or r=g(r)r=g(r), then rr is said to be an undecided leader: a robot that is possibly the true leader, but does not know for sure. If r=v(r)=g(v)r=v(r)=g(v), then rr is a cognizant leader: a robot that is aware of being the true leader of the swarm.

Proposition 4.1.

In a rotationally asymmetric swarm with no multiplicity points, the true leader is either an undecided or a cognizant leader, and no robot other than the true leader can be a cognizant leader.

Proof 4.2.

Let the swarm form configuration SS, and let hh be the head of SS, i.e., the true leader. Either V(h)=SV(h)=S or G(h)=SG(h)=S, which means that either v(h)=hv(h)=h or g(h)=hg(h)=h: therefore, hh is an undecided or a cognizant leader.

Conversely, if a robot rr is a cognizant leader, then v(r)=g(r)=rv(r)=g(r)=r, implying that rr is the head of both V(r)V(r) and G(r)G(r). But either V(r)=SV(r)=S or G(r)=SG(r)=S, and hence rr must be the head of SS, i.e., the true leader.

Point-addition lemma

We will now present some technical results that have important implications on the design of our Gathering algorithm. Although these results logically belong before the description of the algorithm itself, they may be skipped on a first reading, as they may be better appreciated after becoming familiar with the algorithm.

Proposition 4.3.

Let SS be a rotationally asymmetric finite set of points on a circle CC, let a,bSa,b\in S, and let cCc\in C, such that 0<cw(a,b)=cw(b,c)<π0<cw(a,b)=cw(b,c)<\pi. If the angle sequence of aa truncated at bb is equal to the angle sequence of bb truncated at cc, then bb is not the head of SS.

Proof 4.4.

If xSx\in S and yCy\in C, we denote by W(x)W(x) the angle sequence of xx, and by W(x,y)W(x,y) the angle sequence of xx truncated at yy. Suppose for a contradiction that bb is the head of SS, and hence W(b)W(a)W(b)\prec W(a). Observe that cSc\in S, otherwise the hypotheses that W(a,b)=W(b,c)W(a,b)=W(b,c) and bSb\in S would imply that W(a)W(b)W(a)\prec W(b). As a consequence, the angle sequence W(c)W(c) is well defined, and so is W(c,y)W(c,y) for yCy\in C.

Note that the conditions on aa, bb, and cc imply that they are three distinct points, and that the clockwise arcs abab, bcbc, and caca are internally disjoint (refer to Figure 3 (left)). So, if we let X=W(a,b)=W(b,c)X=W(a,b)=W(b,c) and Y=W(c,a)Y=W(c,a), we obtain W(a)=XXYW(a)=XXY, W(b)=XYXW(b)=XYX, and W(c)=YXXW(c)=YXX. Since bb is the head of SS, we have XYX=W(b)W(a)=XXYXYX=W(b)\prec W(a)=XXY and XYX=W(b)W(c)=YXXXYX=W(b)\prec W(c)=YXX. From the first inequality we derive YXXYYX\prec XY, and from the second we derive XYYXXY\prec YX, a contradiction.

Refer to caption
Figure 3: Illustrations of Proposition 4.3 (left) and Lemma 4.5 (right).
Lemma 4.5.

Let SS be a finite non-empty set of points on a circle CC, and let S=S{p}S^{\prime}=S\cup\{p\}, where pCSp\in C\setminus S. Assume that SS and SS^{\prime} are rotationally asymmetric, and let hSh\in S be the head of SS and hSh^{\prime}\in S^{\prime} be the head of SS^{\prime}. Then, either h=hh=h^{\prime} or cw(h,p)>2cw(h,p)cw(h,p)>2\cdot cw(h^{\prime},p).

Proof 4.6.

Let mCm\in C be the midpoint of the clockwise arc hphp, i.e., cw(h,p)=2cw(h,m)cw(h,p)=2\cdot cw(h,m). Let B={xC0<cw(h,x)cw(h,m)}B=\{x\in C\mid 0<cw(h,x)\leq cw(h,m)\} and B={xC0<cw(p,x)<cw(p,h)}B^{\prime}=\{x\in C\mid 0<cw(p,x)<cw(p,h)\}. We have to prove that hBBh^{\prime}\notin B\cup B^{\prime}, as in Figure 3 (right). For the sake of contradiction, assume the contrary. Then, since h,pBBh,p\notin B\cup B^{\prime}, we have hhph\neq h^{\prime}\neq p, as well as php\neq h, because pSp\notin S. It follows that hSh^{\prime}\in S. Let W(x)W(x), with xSx\in S, be the angle sequence of xx with respect to SS, and let W(x)W^{\prime}(x), with xSx\in S^{\prime}, be the angle sequence of xx with respect to SS^{\prime}. If yCy\in C, we define W(x,y)W(x,y) (respectively, W(x,y)W^{\prime}(x,y)) as the angle sequence W(x)W(x) (respectively, W(x)W^{\prime}(x)) truncated at yy.

Suppose first that hBh^{\prime}\in B, and note that 0<cw(h,h)cw(h,m)=cw(h,p)/2<π0<cw(h,h^{\prime})\leq cw(h,m)=cw(h,p)/2<\pi. Let h′′Ch^{\prime\prime}\in C be such that cw(h,h)=cw(h,h′′)cw(h,h^{\prime})=cw(h^{\prime},h^{\prime\prime}), and observe that h′′h^{\prime\prime} lies on the clockwise arc hph^{\prime}p (possibly, h′′=ph^{\prime\prime}=p). Since W(h)W(h)W(h)\prec W(h^{\prime}), by Proposition 2.4 we have W(h,h)W(h,h′′)W(h,h^{\prime})\preceq W(h^{\prime},h^{\prime\prime}); similarly, since W(h)W(h)W^{\prime}(h^{\prime})\prec W^{\prime}(h), we have W(h,h′′)=W(h,h′′)W(h,h)=W(h,h)W(h^{\prime},h^{\prime\prime})=W^{\prime}(h^{\prime},h^{\prime\prime})\preceq W^{\prime}(h,h^{\prime})=W(h,h^{\prime}). Thus, W(h,h)=W(h,h′′)W^{\prime}(h,h^{\prime})=W^{\prime}(h^{\prime},h^{\prime\prime}). Observe that the hypotheses of Proposition 4.3 are satisfied by the set SS^{\prime}, with a=ha=h, b=hb=h^{\prime}, and c=h′′c=h^{\prime\prime}. We conclude that hh^{\prime} is not the head of SS^{\prime}, a contradiction.

Suppose now that hBh^{\prime}\in B^{\prime}. Let pCp^{\prime}\in C be such that cw(h,p)=cw(h,p)cw(h,p)=cw(h^{\prime},p^{\prime}), and observe that pp does not lie on the clockwise arc hph^{\prime}p^{\prime} (in particular, ppp\neq p^{\prime}). Since W(h)W(h)W(h)\prec W(h^{\prime}), by Proposition 2.4 we have W(h,p)W(h,p)W(h,p)\preceq W(h^{\prime},p^{\prime}); similarly, since W(h)W(h)W^{\prime}(h^{\prime})\prec W^{\prime}(h), we have W(h,p)=W(h,p)W(h,p)=W(h,p)W(h^{\prime},p^{\prime})=W^{\prime}(h^{\prime},p^{\prime})\preceq W^{\prime}(h,p)=W(h,p). Thus, W(h,p)=W(h,p)=W(h,p)=W(h,p)W(h,p)=W(h^{\prime},p^{\prime})=W^{\prime}(h,p)=W^{\prime}(h^{\prime},p^{\prime}). Since pSp\notin S, we must also have pSp^{\prime}\notin S, otherwise we would have W(h)W(h)W(h^{\prime})\prec W(h). Similarly, since pSp\in S^{\prime}, we must also have pSp^{\prime}\in S^{\prime}, otherwise we would have W(h)W(h)W^{\prime}(h)\prec W^{\prime}(h^{\prime}). So, pSSp^{\prime}\in S^{\prime}\setminus S, implying that p=pp^{\prime}=p, a contradiction.

Corollary 4.7.

In a rotationally asymmetric swarm with no multiplicity points, a robot rr is a cognizant leader if and only if r=g(r)r=g(r).

Proof 4.8.

If rr is a cognizant leader, then obviously r=g(r)r=g(r). For the converse, assume that r=g(r)r=g(r). If V(r)V(r) or G(r)G(r) is rotationally symmetric, then v(r)=g(r)v(r)=g(r) by definition, and therefore rr is a cognizant leader. If V(r)V(r) and G(r)G(r) are rotationally asymmetric, we can apply Lemma 4.5 with S=V(r)S=V(r) and S=G(r)=V(r){r}S^{\prime}=G(r)=V(r)\cup\{r^{\prime}\} (and hence h=v(r)h=v(r) and h=g(r)h^{\prime}=g(r)), obtaining either v(r)=g(r)v(r)=g(r) or cw(v(r),r)>2cw(g(r),r)cw(v(r),r^{\prime})>2\cdot cw(g(r),r^{\prime}). However, since r=g(r)r=g(r), the second condition is impossible, because it implies that cw(v(r),r)>2cw(r,r)=2πcw(v(r),r^{\prime})>2\cdot cw(r,r^{\prime})=2\pi. It follows that v(r)=g(r)=rv(r)=g(r)=r, and so rr is a cognizant leader.

Gathering algorithm

Listing 1: Gathering algorithm for ϑ=π\vartheta=\pi
The algorithm is executed by a generic robot rr.
Input: V(r)V(r), the set of points occupied by robots visible to rr
(expressed in rrs coordinate system), with weak multiplicity.
Output: a destination point for rr.
Let sV(r)s\in V(r) be such that cw(r,s)>0cw(r,s)>0 is minimum, if it exists
(ss is the visible robot closest to rr in the clockwise direction).
Let V(r)V^{\prime}(r) be the set of all the points in V(r)V(r) (without multiplicity)
plus their antipodal points.
Let δ\delta be the smallest cw(a,b)>0cw(a,b)>0 with a,bV(r)a,b\in V^{\prime}(r).
𝟏.\bf{1.} If rr sees some multiplicity points, then:
𝟏.𝐚.\bf{1.a.} If rr sees a unique multiplicity point, then rr moves to it.
𝟏.𝐛.\bf{1.b.} If rr sees two multiplicity points aa and bb with cw(a,b)>cw(b,a)cw(a,b)>cw(b,a),
then rr moves to aa.
𝟐.\bf{2.} Else, if rr sees no other robots, then rr moves clockwise by π/2\pi/2.
𝟑.\bf{3.} Else, if r=g(r)r=g(r), then rr moves to ss.
𝟒.\bf{4.} Else, if r=v(r)r=v(r), then:
𝟒.𝐚.\bf{4.a.} If g(r)g(r) is antipodal to rr, and ss has an antipodal robot,
then rr moves clockwise by cw(r,s)+δ/3cw(r,s)+\delta/3.
𝟒.𝐛.\bf{4.b.} Else, if there is a point mV(r)m\in V^{\prime}(r) such that cw(r,m)=cw(r,s)/2cw(r,m)=cw(r,s)/2,
then rr moves clockwise by cw(r,s)/2+δ/7cw(r,s)/2+\delta/7.
𝟒.𝐜.\bf{4.c.} Else, rr moves clockwise by cw(r,s)/2cw(r,s)/2.
𝟓.\bf{5.} Else, rr does not move.

Our Gathering algorithm for ϑ=π\vartheta=\pi is illustrated in Listings 1, 4 and 5. A robot rr executing the algorithm first checks if the current configuration falls under some special cases (which will be discussed later), and then it attempts to determine the true leader of the swarm. By Corollary 4.7, checking if r=g(r)r=g(r) is equivalent to checking if rr is a cognizant leader. In this case, by Proposition 4.1, rr is the true leader, and hence it behaves like in the full-visibility algorithm: it moves clockwise to the next robot, ss (rule 3).

If rr is not a cognizant leader, it checks if it is at least an undecided leader: r=v(r)r=v(r). In this case, rr cannot commit itself to moving to ss, because several robots may be undecided leaders, and this would create more than one multiplicity point. Instead, rr attempts to “strengthen its leadership” by moving halfway toward ss (rule 4.c): this ensures that, in the next turn, rr will have a lexicographically smaller angle sequence than it currently has (unless, of course, ss moves as well).

Refer to caption
Figure 4: Examples of rule 3 (left) and rule 4.c (right) of the Gathering algorithm in Listing 1. Black dots indicate robots that are visible to rr. A white dot indicates the point antipodal to rr, which may or may not be occupied by a robot.

Another goal of rr is to be able to see the entire swarm in the next turns. Therefore, if the midpoint of rr and ss happens to be antipodal to some robot qq, then rr moves a bit further past the midpoint (rule 4.b). This way, rr will be sure to see qq in the next turn (unless, of course, qq moves as well).

An exception to the above is when g(r)g(r) is antipodal to rr, and ss has an antipodal robot ss^{\prime}. In this situation, if rr had an antipodal robot rr^{\prime}, then rr^{\prime} would be the true leader, which would then either form a multiplicity point with ss^{\prime} (if rr^{\prime} is activated) or would become visible to rr (if rr is activated but not rr^{\prime}). However, if rr^{\prime} does not exist, then rr is the true leader, but rr may never find out: it may keep approaching ss without ever reaching it, and there may always be a ghost head antipodal to rr. For this reason, if rr detects this configuration, it moves slightly past ss (rule 4.a): this way, ss will be the new leader, and it will not be in the same undesirable configuration, because rr will not have an antipodal robot.

Refer to caption
Figure 5: Examples of rule 4.b (left) and rule 4.a (right) of the Gathering algorithm in Listing 1

Note that, when describing rule 4.a and rule 4.b, we mentioned some undefined “small” distances. According to Listing 1, these are respectively δ/3\delta/3 and δ/7\delta/7. In turn, δ\delta is defined as the smallest angular distance between two points in V(r)V^{\prime}(r), where V(r)V^{\prime}(r) is the set of all the points in V(r)V(r) plus their antipodal points. It is easy to see that all robots that are activated at the same time compute isometric sets VV^{\prime}, and therefore they implicitly agree on the value of δ\delta. The reason why the specific values δ/3\delta/3 and δ/7\delta/7 have been chosen will become apparent in the proof of correctness of the algorithm.

Finally, let us discuss the special cases, all of which arise when some multiplicity points have been created (due to a cognizant leader moving to some other robot). If only one multiplicity point is visible to rr, then rr simply moves to it, as in the full-visibility algorithm (rule 1.a). In some exceptional circumstances, two multiplicity points aa and bb may be created, but we will prove that aa and bb will not be antipodal to each other, and there will never be a third multiplicity point. In this case, there is an implicit order between aa and bb on which all robots agree, and so they will all move to the same multiplicity point, say aa (rule 1.b). The last special case is when all robots have gathered in a point, except a single robot rr located in the antipodal point. rr detects this situation because it sees no robots other than itself (and its current location is not a multiplicity point). So, rr just moves to another visible point, say, the one forming a clockwise angle of π/2\pi/2 with rr (rule 2). This ensures that rr will see the multiplicity point on its next turn.

Correctness

In the following, we will assume that all robots in a swarm of size n>1n>1 execute the algorithm in Listing 1 starting from a rotationally asymmetric initial configuration with no multiplicity points. We will prove that, no matter how the adversarial semi-synchronous scheduler activates them, all robots will eventually gather in a point and no longer move.

We say that, in a given configuration SS, a robot rr is able to apply rule jj if, assuming that rr is activated when the swarm forms SS, rr executes rule jj (and no other rule).

Lemma 4.9.

Assume that the swarm forms a rotationally asymmetric configuration with no multiplicity points, and let \ell be the true leader. Then:

  1. 1.

    No robot is able to apply rule 1 or rule 2.

  2. 2.

    At most one robot is able to apply rule 3: the true leader \ell.

  3. 3.

    At most one robot is able to apply rule 4.a: either the true leader \ell (if there is no robot antipodal to \ell) or the robot antipodal to \ell.

  4. 4.

    A robot rr\neq\ell is able to apply rule 4 only if π/2<cw(r,)π\pi/2<cw(r,\ell)\leq\pi, and only if there is a robot antipodal to rr.

Proof 4.10.

To prove the first statement, observe that rule 1 and rule 2 only apply when there are multiplicity points, with one exception: when the swarm consists of exactly two robots, which are antipodal to each other. However, such a configuration is rotationally symmetric.

For the second statement, note that a robot rr is able to apply rule 3 only if r=g(r)r=g(r), which, by Corollary 4.7, implies that rr is a cognizant leader. Therefore, by Proposition 4.1, r=r=\ell.

To prove the third statement, assume that robot rr is able to apply rule 4.a, which means that r=v(r)r=v(r) and g(r)g(r) is antipodal to rr. Recall that either =v(r)\ell=v(r) or =g(r)\ell=g(r). Specifically, if there is a robot in g(r)g(r), then this robot is \ell, and therefore rr is antipodal to \ell. Otherwise there is no robot in g(r)g(r), and so =v(r)=r\ell=v(r)=r.

Let us now prove the fourth statement, which is illustrated in Figure 6 (left). Assume that a robot rr\neq\ell is able to apply rule 4, which means that r=v(r)r=v(r), and therefore =g(r)\ell=g(r). Note that, since the true leader is g(r)g(r), the swarm’s configuration is G(r)G(r), and so there must be a robot rr^{\prime} antipodal to rr. Also, both V(r)V(r) and G(r)=V(r){r}G(r)=V(r)\cup\{r^{\prime}\} must be rotationally asymmetric, otherwise we would have v(r)=g(r)v(r)=g(r), by definition of visible and ghost head. Thus, we can apply Lemma 4.5 with S=V(r)S=V(r) and S=G(r)S^{\prime}=G(r) (hence p=rp=r^{\prime}, h=v(r)=rh=v(r)=r, and h=g(r)=h^{\prime}=g(r)=\ell) to conclude that either r=r=\ell (which is not the case) or cw(r,r)>2cw(,r)cw(r,r^{\prime})>2\cdot cw(\ell,r^{\prime}). Since cw(r,r)=πcw(r,r^{\prime})=\pi, we have cw(,r)<π/2cw(\ell,r^{\prime})<\pi/2. This inequality implies that \ell lies on the clockwise arc rrrr^{\prime}, and therefore cw(r,)+cw(,r)=cw(r,r)=πcw(r,\ell)+cw(\ell,r^{\prime})=cw(r,r^{\prime})=\pi, or equivalently, cw(,r)=πcw(r,)cw(\ell,r^{\prime})=\pi-cw(r,\ell). By plugging this into our last inequality, we obtain π/2<cw(r,)\pi/2<cw(r,\ell). Also, from the obvious fact that cw(,r)0cw(\ell,r^{\prime})\geq 0, we deduce that cw(r,)πcw(r,\ell)\leq\pi.

In light of Lemma 4.9, if the swarm forms a rotationally asymmetric configuration with no multiplicity points, we say that a robot is able to move if it is able to apply rule 3 or rule 4: indeed, these are the only rules that result in a non-null movement.

Corollary 4.11.

In any rotationally asymmetric configuration with no multiplicity points, a robot is able to move if and only if it is an undecided or a cognizant leader.

Proof 4.12.

By the first statement of Lemma 4.9, no robot is able to apply rule 1 or rule 2. Hence, a robot rr is able to apply rule 3 if and only if r=g(r)r=g(r), and it is able to apply rule 4 if and only if r=v(r)g(r)r=v(r)\neq g(r). By Corollary 4.7, r=g(r)r=g(r) if and only if rr is a cognizant leader, and so r=v(r)g(r)r=v(r)\neq g(r) if and only if rr is an undecided leader.

Refer to caption
Figure 6: Illustrations of the fourth statement of Lemma 4.9 (left) and Lemma 4.13 (right).
Lemma 4.13.

In any rotationally asymmetric configuration with no multiplicity points, at most two robots are able to move, and the true leader is always able to move.

Proof 4.14.

By Proposition 4.1, the true leader is either an undecided or a cognizant leader, and therefore, by Corollary 4.11, it is able to move.

Suppose for a contradiction that, in some rotationally asymmetric configuration with no multiplicity points, at least three distinct robots are able to move. One of these robots must be the true leader \ell, hence there are two robots aa and bb, distinct from \ell, that are able to move. Due to the second statement of Lemma 4.9, only \ell is able to apply rule 3, and therefore aa and bb are able to apply rule 4. By the fourth statement of Lemma 4.9, we have π/2<cw(a,)π\pi/2<cw(a,\ell)\leq\pi and π/2<cw(b,)π\pi/2<cw(b,\ell)\leq\pi. It follows that the angular distance between aa and bb must be less than π/2\pi/2, and so, without loss of generality, we may assume that 0<cw(a,b)<π/20<cw(a,b)<\pi/2. In particular, aa and bb see each other, i.e., aV(b)a\in V(b) and bV(a)b\in V(a). Refer to Figure 6 (right) for an example.

For any xV(a)x\in V(a) (respectively, xV(b)x\in V(b)) and any point yy on the circle, we let W(x,y)W(x,y) (respectively, W(x,y)W^{\prime}(x,y)) be the angle sequence of xx, with respect to V(a)V(a) (respectively, V(b)V(b)), truncated at yy. Let cc be the point on the circle such that cw(a,b)=cw(b,c)cw(a,b)=cw(b,c). Since aa is able to apply rule 4, we have a=v(a)g(a)a=v(a)\neq g(a), i.e., aa is the head of V(a)V(a). In particular, W(a)W(b)W(a)\prec W(b) and, by Proposition 2.4, W(a,b)W(b,c)W(a,b)\preceq W(b,c). By a similar chain of deductions, since bb is able to apply rule 4, we have W(b)W(a)W^{\prime}(b)\prec W^{\prime}(a) and W(b,c)W(a,b)W^{\prime}(b,c)\preceq W^{\prime}(a,b). Recall that cw(a,b)<π/2cw(a,b)<\pi/2, and therefore cw(a,c)<πcw(a,c)<\pi, which implies that the antipodal points of aa and bb lie outside of the clockwise arc acac. But V(a)V(a) and V(b)V(b) only differ by the antipodal points of aa and bb, and so W(a,b)=W(a,b)W(a,b)=W^{\prime}(a,b) and W(b,c)=W(b,c)W(b,c)=W^{\prime}(b,c). Thus, from W(a,b)W(b,c)W(a,b)\preceq W(b,c) we derive W(a,b)W(b,c)W^{\prime}(a,b)\preceq W^{\prime}(b,c), which, together with W(b,c)W(a,b)W^{\prime}(b,c)\preceq W^{\prime}(a,b), yields W(a,b)=W(b,c)W^{\prime}(a,b)=W^{\prime}(b,c). Since V(b)V(b) is rotationally asymmetric (or else we would have v(b)=g(b)v(b)=g(b)) and a,bV(b)a,b\in V(b), it follows that V(b)V(b) satisfies the hypotheses of Proposition 4.3. We conclude that bb is not the head of V(b)V(b), a contradiction.

Lemma 4.15.

If the swarm has a unique multiplicity point, then all robots eventually gather and no longer move.

Proof 4.16.

Let aa be the unique multiplicity point. Note that all robots are able to see aa and will move to it by rule 1.a when activated, except perhaps a single robot rr, antipodal to aa. If all robots except rr move to aa, while rr is not activated or only applies rule 5, then rr will eventually apply rule 2, moving to a different point. After that, rr will be able to see aa, and will move to it by rule 1.a.

Otherwise, if rr makes a move before all other robots are in aa, it does so by applying rule 3 or rule 4. If rr applies rule 4, then it will not create a new multiplicity point, all robots (including rr) will thus see the unique multiplicity point aa, and will gather in it.

If rr applies rule 3, it moves to another robot ss’s location. If ss is activated at the same turn, then ss moves to aa, no new multiplicity point is created, and all robots will eventually gather in aa. If ss is not activated at the same turn as rr, then rr will move to ss and create a new multiplicity point bb. Since rule 3 causes rr to move clockwise by an angle smaller than π\pi, we have cw(a,b)>π>cw(b,a)cw(a,b)>\pi>cw(b,a). Now all robots see aa and perhaps also bb: either way, they will apply rule 1.a or rule 1.b, both of which result in a move to aa.

Lemma 4.17.

Assume that the swarm forms a rotationally asymmetric configuration with no multiplicity points, and let rr be a robot that is able to move. Then:

  1. 1.

    If rr is activated and executes rule 4, then it moves by an angular distance strictly smaller than π\pi, and its destination point is not in V(r)V^{\prime}(r), as defined in Listing 1.

  2. 2.

    If rr is activated and executes rule 3, and rr^{\prime} is a robot that is able to move but is not activated, then rr does not move to rr^{\prime}.

  3. 3.

    If both rr and rr^{\prime} are activated and execute rule 4.b or rule 4.c, then rr and rr^{\prime} are not antipodal to each other, and their destination points are not antipodal to each other.

Proof 4.18.

Since rr is able to move, by Corollary 4.11, it is either an undecided or a cognizant leader, implying that rr is the head of V(r)V(r) or of G(r)G(r). Also, rr sees at least one other robot qrq\neq r, or else it would be able to apply rule 2. If there is no robot qq^{\prime} such that 0<cw(r,q)<π0<cw(r,q^{\prime})<\pi, then the first element in the angle sequence of rr with respect to both V(r)V(r) and G(r)G(r) is at least π\pi. However, this also means that 0<cw(q,r)<π0<cw(q,r)<\pi, and therefore qq has a lexicographically smaller angle sequence than rr with respect to both V(r)V(r) and G(r)G(r), contradicting the fact that rr is the head of one of them. It follows that there must be some robot qq with 0<cw(r,q)<π0<cw(r,q)<\pi. In particular, if ss is defined as in Listing 1, we have 0<cw(r,s)<π0<cw(r,s)<\pi.

Let us prove the first statement: assume that rr executes rule 4, and let pp be its destination point. According to Listing 1, if rr executes rule 4.c, then pV(r)p\notin V^{\prime}(r) and cw(r,p)=cw(r,s)/2cw(r,p)=cw(r,s)/2, implying that cw(r,p)<π/2<πcw(r,p)<\pi/2<\pi. If rr executes rule 4.b, then cw(r,p)=cw(r,s)/2+δ/7cw(r,p)=cw(r,s)/2+\delta/7. By definition of δ\delta, we have δcw(r,s)\delta\leq cw(r,s), and hence cw(r,p)cw(r,s)/2+cw(r,s)/7<cw(r,s)<πcw(r,p)\leq cw(r,s)/2+cw(r,s)/7<cw(r,s)<\pi. This rule is executed only if the midpoint of rr and ss is mV(r)m\in V^{\prime}(r). Since 0<cw(m,p)=δ/7<δ0<cw(m,p)=\delta/7<\delta, then pV(r)p\notin V^{\prime}(r), by definition of δ\delta. Finally, if rr executes rule 4.a, we have cw(r,p)=cw(r,s)+δ/3cw(r,p)=cw(r,s)+\delta/3. Let aV(r)a\in V^{\prime}(r) be the antipodal point of rr, and note that, by definition of δ\delta, we have δcw(s,a)\delta\leq cw(s,a). It follows that cw(r,p)=cw(r,s)+δ/3<cw(r,s)+δcw(r,s)+cw(s,a)=cw(r,a)=πcw(r,p)=cw(r,s)+\delta/3<cw(r,s)+\delta\leq cw(r,s)+cw(s,a)=cw(r,a)=\pi (note that we can write cw(r,s)+cw(s,a)=cw(r,a)cw(r,s)+cw(s,a)=cw(r,a) because ss is on the clockwise arc rara). Moreover, since 0<cw(s,p)=δ/3<δ0<cw(s,p)=\delta/3<\delta and sV(r)s\in V^{\prime}(r), then we have pV(r)p\notin V^{\prime}(r), by definition of δ\delta.

Let us prove the second statement, which is illustrated in Figure 7 (left). By repeating the above reasoning with rr^{\prime}, we infer that its next robot in the clockwise direction, ss^{\prime}, satisfies 0<cw(r,s)<π0<cw(r^{\prime},s^{\prime})<\pi. If rr executes rule 3, then rr is the true leader, and cw(r,r)πcw(r^{\prime},r)\leq\pi, by Lemma 4.9. Thus, cw(r,r)πcw(r,r^{\prime})\geq\pi, implying that rr^{\prime} is distinct from the destination point ss of rr, because cw(r,s)<πcw(r,s)<\pi. We conclude that rr does not move to rr^{\prime}.

Let us now prove the third statement. Since both rr and rr^{\prime} are able to move, due to Lemma 4.13, one of them must be the true leader, say rr. By the fourth statement of Lemma 4.9, cw(r,r)πcw(r^{\prime},r)\leq\pi, and rr^{\prime} has an antipodal robot. Assume for a contradiction that rr is antipodal to rr^{\prime}. This means that G(r)G(r) coincides with the current configuration, and hence rr is the head of G(r)G(r), i.e., r=g(r)r=g(r). So, rr is able to apply rule 3, which contradicts the fact that it executes rule 4.b or rule 4.c. We have established that rr has no antipodal robot, and the robot antipodal to rr^{\prime} is ara\neq r (refer to Figure 7 (right)). Also, because cw(r,r)πcw(r^{\prime},r)\leq\pi, the robot rr is located in the interior of the clockwise arc rar^{\prime}a. If ss is defined as in Listing 1, and pp is the destination point of rr, according to rule 4.b and rule 4.c, we have cw(r,p)<cw(r,s)cw(r,a)cw(r,p)<cw(r,s)\leq cw(r,a). So, the angular distance between rr and pp is smaller than cw(r,a)cw(r,a). On the other hand, if pp^{\prime} is the destination point of rr^{\prime}, and ss^{\prime} is defined as above, we have 0<cw(r,p)<cw(r,s)cw(r,r)0<cw(r^{\prime},p^{\prime})<cw(r^{\prime},s^{\prime})\leq cw(r^{\prime},r). Hence, the angular distance between rr and pp^{\prime} is smaller than cw(r,r)cw(r^{\prime},r). By the triangle inequality, the angular distance between pp and pp^{\prime} is smaller than cw(r,r)+cw(r,a)=cw(r,a)=πcw(r^{\prime},r)+cw(r,a)=cw(r^{\prime},a)=\pi, implying that pp and pp^{\prime} are not antipodal to each other.

Refer to caption
Figure 7: Illustrations of the second statement (left) and the third statement (right) of Lemma 4.17.
Lemma 4.19.

If the swarm forms a rotationally asymmetric configuration with no multiplicity points and an active robot executes rule 3, then all robots eventually gather in a point and no longer move.

Proof 4.20.

By Lemma 4.9, the robot that executes rule 3 must be the true leader \ell, and any robot rr\neq\ell that moves at the same time as \ell executes rule 4. Moreover, by Lemma 4.13, if such a robot rr exists, it is unique. According to rule 3, the destination point of \ell is the location of another robot ss. So, if only \ell moves, a unique multiplicity point is created on ss, and Lemma 4.15 allows us to conclude the proof.

Otherwise, assume that rr exists and moves at the same time as \ell. By the second statement of Lemma 4.17, srs\neq r, and so \ell still creates a multiplicity point on ss. On the other hand, by the first statement of Lemma 4.17, rr does not create a multiplicity point distinct from ss. Again, there is a unique multiplicity point, and we can apply Lemma 4.15.

Lemma 4.21.

If the swarm forms a rotationally asymmetric configuration with no multiplicity points and an active robot executes rule 4.a, then all robots eventually gather in a point and no longer move.

Proof 4.22.

Let tt be the time at which some robot executes rule 4.a. By the third statement of Lemma 4.9, such a robot must be either the true leader \ell or the robot \ell^{\prime} antipodal to \ell. If it is \ell^{\prime}, we know by Lemma 4.13 that only \ell and \ell^{\prime} are able to move at time tt. However, in this case, \ell is necessarily able to apply rule 3 at time tt: indeed, since \ell has an antipodal robot, the current configuration coincides with G()G(\ell), and therefore \ell is the head of G()G(\ell), i.e., =g()\ell=g(\ell). Thus, if \ell is activated at time tt, it executes rule 3, and we conclude the proof by Lemma 4.19. So, if \ell^{\prime} executes rule 4.a at time tt, we may assume that no other robot moves at the same time. On the other hand, if \ell executes rule 4.a at time tt, by Lemmas 4.9 and 4.13 there is at most one other robot aa that is able to move at time tt. Such a robot aa is not antipodal to \ell (otherwise \ell would be able to execute rule 3, not rule 4.a), it is not able to execute rule 4.a (only \ell or the robot antipodal to \ell could), it has an antipodal robot aa^{\prime}, and π/2<cw(a,)π\pi/2<cw(a,\ell)\leq\pi.

In any case, we have the following situation at time tt (illustrated in Figure 8): a robot rr that executes rule 4.a (it does not matter if r=r=\ell or r=r=\ell^{\prime}), and possibly another robot aa that executes rule 4.b or rule 4.c, with an antipodal robot ara^{\prime}\neq r, and such that π/2<cw(a,r)<π\pi/2<cw(a,r)<\pi (since aa is not antipodal to rr). Let ss be the robot next to rr in the clockwise direction, and let α=cw(r,s)\alpha=cw(r,s). According to Listing 1, r=v(r)r=v(r), there is a robot ss^{\prime} antipodal to ss, and r=g(r)r^{\prime}=g(r), with rr^{\prime} antipodal to rr. Note that there is no robot xrx\neq r^{\prime} such that cw(x,r)<αcw(x,r^{\prime})<\alpha, or else rg(r)r^{\prime}\neq g(r). We conclude that, whether rr^{\prime} is occupied by a robot or not, α\alpha is the minimum angular distance between any two robots at time tt. Therefore, if qq is the robot next to aa in the clockwise direction, and β=cw(a,q)\beta=cw(a,q), we have cw(a,r)cw(a,q)=βαcw(a,r)\geq cw(a,q)=\beta\geq\alpha. On the other hand, we have cw(r,a)cw(r,s)cw(r,a^{\prime})\geq cw(r,s) by definition of ss. Let δ\delta be computed as in Listing 1, and recall that all robots that are active at the same time agree on the same δ\delta. Note that δα\delta\leq\alpha and δβ\delta\leq\beta. We distinguish three cases: (i) a=sa=s^{\prime}, (ii) asa\neq s^{\prime}, and (iii) aa does not exist.

(i) Let us first assume that a=sa=s^{\prime} at time tt (refer to Figure 8 (left)). Let us examine the configuration at time t+1t+1 (hence, where referring to rr, we mean the position of rr at time t+1t+1, etc.). According to Listing 1, cw(s,r)=δ/3cw(s,r)=\delta/3 (rule 4.a), and either cw(a,q)=β/2δ/7δ/2δ/7>δ/3cw(a,q)=\beta/2-\delta/7\geq\delta/2-\delta/7>\delta/3 (rule 4.b) or cw(a,q)=β/2δ/2cw(a,q)=\beta/2\geq\delta/2 (rule 4.c). The only exceptional case is q=rq=r, which implies that cw(a,q)>αδcw(a,q)>\alpha\geq\delta. In all cases, we have cw(a,q)>δ/3=cw(s,r)cw(a,q)>\delta/3=cw(s,r). Observe that ss no longer has an antipodal robot, and aa has moved by at least β/2δ/2>δ/3\beta/2\geq\delta/2>\delta/3. It follows that aa is not antipodal to rr, and therefore rr has no antipodal robot, either. Moreover, cw(a,q)>δ/3cw(a,q)>\delta/3 implies that the angular distance between ss and rr is strictly smaller than any other, and in particular the configuration at time t+1t+1 is still rotationally asymmetric, and ss is the new true leader. Also, all robots see both ss and rr (because ss and rr have no antipodal robots). So, the only robot xx such that x=v(x)x=v(x) is x=sx=s, and therefore no robot other than ss is able to move at time t+1t+1 (recall that, due to the second statement of Lemma 4.9, if a robot other than the true leader is able to move, it must be able to apply rule 4). Moreover, the angular distance between the point antipodal to ss and the next robot in the clockwise direction, i.e., aa, is at least β/2>δ/3\beta/2>\delta/3, which implies that s=g(s)s=g(s). It follows that ss is able to apply rule 3 at time t+1t+1. So, the configuration will not change as long as ss is not activated, and eventually the semi-synchronous scheduler will activate ss. At that point, ss will execute rule 3, and Lemma 4.19 applies.

(ii) Let us now assume that asa\neq s^{\prime} at time tt (refer to Figure 8 (right)). From cw(a,r)>π/2cw(a,r)>\pi/2, we get cw(r,a)<π/2cw(r,a^{\prime})<\pi/2, and so απ/2\alpha\leq\pi/2 (recall that α\alpha is the minimum angular distance between any two robots at time tt). Also, since a=v(a)a=v(a) at time tt (or else aa would not be able to apply rule 4), and since aa sees both rr and ss, we have that cw(a,q)=αcw(a,q)=\alpha (or else aa would not be the head of V(a)V(a)). Hence, cw(a,q)=απ/2<cw(a,r)cw(a,q)=\alpha\leq\pi/2<cw(a,r), implying that qrq\neq r, and therefore qq does not move at time tt. Le us analyze the configuration at time t+1t+1. As in case (i), once again we have cw(s,r)=δ/3cw(s,r)=\delta/3, and we can prove that the angular distance between ss and rr is strictly smaller than any other. In particular, the configuration at time t+1t+1 is still rotationally asymmetric, and ss is the new true leader. Also, no robot other than aa can be antipodal to rr, by definition of VV^{\prime} and δ\delta. But aa cannot be antipodal to rr either, because the point rr^{\prime} antipodal to rr satisfies cw(s,r)=δ/3cw(s^{\prime},r^{\prime})=\delta/3, while cw(s,a)>α/2δ/2cw(s^{\prime},a)>\alpha/2\geq\delta/2. So, rr has no antipodal robots at time t+1t+1. However, unlike in case (i), ss still has an antipodal robot ss^{\prime}. Note that ss is able to apply rule 3, because cw(s,a)>cw(s,r)cw(s^{\prime},a)>cw(s,r), and so s=g(s)s=g(s). All robots other that ss^{\prime} see both ss and rr, and are therefore unable to move at time t+1t+1. If ss^{\prime} is unable to move or is not activated before ss, then ss executes rule 3, and Lemma 4.19 applies.

So, we may assume that ss^{\prime} is the only robot to move, say, at time tt+1t^{\prime}\geq t+1, when the configuration is still the same as at time t+1t+1. By the second statement of Lemma 4.9, ss^{\prime} must execute rule 4, and so s=v(s)s^{\prime}=v(s^{\prime}) at time tt^{\prime}. Let us prove that ss^{\prime} cannot apply rule 4.a. Assume the opposite, and let uu be the robot next to ss^{\prime} in the clockwise direction. According to Listing 1, uu must have an antipodal robot uu^{\prime}, and uru^{\prime}\neq r, because rr does not have an antipodal robot. Also, since there are no robots between ss and rr, we have cw(r,u)<cw(s,u)=cw(s,u)cw(r,u^{\prime})<cw(s,u^{\prime})=cw(s^{\prime},u). It follows that ss^{\prime} cannot be the head of V(s)V(s^{\prime}), because it sees both rr and uu^{\prime}, and so rr has a lexicographically smaller angle sequence than ss^{\prime} with respect to V(s)V(s^{\prime}). So, ss^{\prime} must execute either rule 4.b or rule 4.c at time tt^{\prime}, with δcw(s,r)=δ/3<δ\delta^{\prime}\leq cw(s,r)=\delta/3<\delta. Let us consider the configuration at time t+1t^{\prime}+1. This is a situation analogous to case (i) at time t+1t+1: rr has executed rule 4.a with some δ\delta, and ss^{\prime} has executed rule 4.b or rule 4.c with some δ<δ\delta^{\prime}<\delta. At this point, our previous argument repeats almost verbatim, with ss^{\prime} instead of aa and uu instead of qq: indeed, the only difference is that the inequality δ/2δ/7>δ/3\delta/2-\delta/7>\delta/3 becomes δ/2δ/7>δ/2δ/7>δ/3\delta/2-\delta^{\prime}/7>\delta/2-\delta/7>\delta/3.

(iii) Finally, let us assume that aa does not exist. At time t+1t+1, we have cw(r,s)=δ/3cw(r,s)=\delta/3, and no robot other than rr has moved. This is analogous to the situation of case (ii) at time t+1t+1: indeed, the angular distance between ss and rr is the smallest, so the configuration is rotationally asymmetric, and ss is the true leader. Also, ss has an antipodal robot ss^{\prime}, and rr has no antipodal robot. From here, the proof proceeds verbatim as in case (ii).

Refer to caption
Figure 8: Illustrations of Lemma 4.21.
Lemma 4.23.

Assume that, at time tt, the swarm forms a rotationally asymmetric configuration with no multiplicity points, and all the robots that move at time tt execute rule 4.b or rule 4.c. Then, at time t+1t+1, the swarm still forms a rotationally asymmetric configuration with no multiplicity points.

Proof 4.24.

Due to Lemma 4.13, at most two robots rr and rr^{\prime} may move at time tt. If no robot moves at time tt, the configuration does not change, and there is nothing to prove. So, we have two cases: (i) only rr moves at time tt, and (ii) both rr and rr^{\prime} move at time tt.

(i) Suppose that only rr moves at time tt. Let ss be the next robot in the clockwise direction, and let pp be the destination point of rr. According to Listing 1, pp is in the interior of the clockwise arc rsrs, and hence there are no multiplicity points at time t+1t+1.

Assume for a contradiction that the configuration at time t+1t+1 has a kk-fold rotational symmetry, with k>1k>1. According to Listing 1, r=v(r)r=v(r) at time tt, which implies that cw(r,s)cw(r,s) is the minimum angular distance between any two robots in V(r)V(r) at time tt. If no robot is antipodal to rr at time tt, then no two robots are closer than rr and ss. In this case, at time t+1t+1, rr and ss are strictly closer than any other pair of robots, which implies that k=1k=1, a contradiction.

So, we may assume that rr has an antipodal robot bb at time tt. Let aa (respectively, cc) be the robot next to bb in the counterclockwise (respectively, clockwise) direction. Note that V(r)V(r) at time tt includes all robots except bb. So, at time t+1t+1, cw(r,s)cw(r,s) is strictly smaller than the angular distance between any two robots, except perhaps aa and bb or bb and cc.

Let us discuss all possibilities for x=cw(r,s)x=cw(r,s), y=cw(a,b)y=cw(a,b), and z=cw(b,c)z=cw(b,c) at time t+1t+1 (refer to Figure 9 (left)). If one among xx, yy, or zz is smaller than the other two, then there is a unique pair of robots that is strictly closer than any other pair, which implies that k=1k=1, a contradiction. If x=y=zx=y=z, then there are exactly three pairs of robots that are closest to each other, and therefore k=3k=3. This means that the rotational symmetry maps rr to aa, aa to bb, and bb to rr. In particular, we have cw(r,a)=cw(b,r)cw(r,a)=cw(b,r) at time t+1t+1, which contradicts the fact that cw(r,a)<πcw(r,a)<\pi and cw(b,r)>πcw(b,r)>\pi.

Finally, if two among xx, yy, and zz are equal and the third one is greater, then there are exactly two pairs of robots that are closest to each other, and therefore k=2k=2, i.e., the rotational symmetry exchanges the two pairs. If x=y<zx=y<z, the rotational symmetry should map ss to bb, which is impossible because ss and bb are not antipodal to each other. If y=z<xy=z<x, the rotational symmetry maps aa to bb, contradicting the fact that they are not antipodal to each other. Similarly, if z=x<yz=x<y, the rotational symmetry maps rr to bb, which is impossible because they are not antipodal to each other at time t+1t+1.

(ii) Assume that both rr and rr^{\prime} move at time tt, as in Figure 9 (right). By Lemma 4.13, one of the two robots, say rr, is the true leader. So, if ss is the robot next to rr in the clockwise direction, then cw(r,s)cw(r,s) is the minimum angular distance between any two robots at time tt. By the fourth statement of Lemma 4.9, we have cw(r,r)πcw(r^{\prime},r)\leq\pi. On the other hand, by the third statement of Lemma 4.17, rr and rr^{\prime} are not antipodal to each other, and so cw(r,r)<πcw(r,r^{\prime})<\pi. It follows that srs\neq r^{\prime}, or else rr^{\prime} would have an angle sequence lexicographically smaller than rr, contradicting the fact that rr is the true leader.

Let pp and pp^{\prime} be the destination points of rr and rr^{\prime}, respectively. According to Listing 1, pp is in the interior of the clockwise arc rsrs, and pp^{\prime} is in the interior of the clockwise arc rsr^{\prime}s^{\prime}, where ss^{\prime} is the robot next to rr^{\prime} in the clockwise direction. Since the two arcs are internally disjoint, we have ppp\neq p^{\prime}, and therefore there are no multiplicity points at time t+1t+1.

Assume for a contradiction that the configuration at time t+1t+1 has a kk-fold rotational symmetry, with k>1k>1. Note that, since srs\neq r^{\prime}, the robot ss does not move at time tt. Therefore, at time t+1t+1, cw(r,s)cw(r,s) is strictly smaller than the angular distance between any two robots, except perhaps rr^{\prime} and ss^{\prime}. If cw(r,s)<cw(rs)cw(r,s)<cw(r^{\prime}s^{\prime}) at time t+1t+1, then rr and ss are strictly closer than any other pair of robots, implying that k=1k=1, a contradiction. Similarly, if cw(r,s)>cw(rs)cw(r,s)>cw(r^{\prime}s^{\prime}) at time t+1t+1, then rr^{\prime} and ss^{\prime} are strictly closer than any other pair of robots, and once again we have k=1k=1. On the other hand, if cw(r,s)=cw(rs)cw(r,s)=cw(r^{\prime}s^{\prime}) at time t+1t+1, then there are exactly two pairs of robots that are closest to each other, and therefore k=2k=2, i.e., the rotational symmetry exchanges the two pairs. We conclude that rr and rr^{\prime} are antipodal to each other at time t+1t+1, or, equivalently, pp and pp^{\prime} are antipodal to each other. However, since both rr and rr^{\prime} executed rule 4.b or rule 4.c at time tt, this contradicts the third statement of Lemma 4.17.

Refer to caption
Figure 9: Illustrations of Lemma 4.23.
Lemma 4.25.

Assume that, at time tt, the swarm forms a rotationally asymmetric configuration with no multiplicity points. If, at all times ttt^{\prime}\geq t, no robot other than the true leader moves (either because it is unable to move or because it is not activated), then all robots eventually gather in a point and no longer move.

Proof 4.26.

By Lemma 4.13, the true leader \ell must be able to move at time tt. Let ss be the robot next to \ell in the clockwise direction, and observe that the angular distance between \ell and ss at time tt is not greater than the angular distance between any two robots in the swarm (or else, \ell would not have the lexicographically smallest angle sequence). As long as \ell is not activated, the configuration will remain the same, and \ell will remain the true leader. The semi-synchronous scheduler will eventually activate \ell, say at time t0tt_{0}\geq t, and hence \ell will execute either rule 3 (in which case we conclude the proof by Lemma 4.19) or rule 4.a (in which case we conclude the proof by Lemma 4.21), or rule 4.b or rule 4.c. In the latter two cases, the angular distance between \ell and ss is reduced by at least one half, and so it becomes strictly smaller than the angular distance between any other pair of robots. It follows that the configuration at time t0+1t_{0}+1 is still rotationally asymmetric, and \ell is still the true leader.

By inductively applying the same reasoning as above, we argue that either all robots gather in a point and no longer move, or there is an increasing sequence (ti)i0(t_{i})_{i\geq 0} such that, for every i0i\geq 0, at time tit_{i} the robot \ell executes rule 4.b or rule 4.c, the angular distance between \ell and ss is reduced by at least one half, and \ell remains the true leader. So, if αi\alpha_{i} is the value of cw(,s)cw(\ell,s) at time tit_{i}, we have 0<αiα0/2i0<\alpha_{i}\leq\alpha_{0}/2^{i}, that is, \ell keeps approaching ss indefinitely.

Let MM be a large-enough index such that, at time tMt_{M}, the angle αM\alpha_{M} is strictly smaller than half the angular distance between any robot other than \ell and its next robot clockwise. Let SS be the set G()G(\ell) at time tMt_{M}. If SS is rotationally symmetric, then \ell is a cognizant leader at time tMt_{M} (by definition of v()v(\ell) and g()g(\ell)), and therefore it executes rule 3, due to Corollary 4.7. In this case we can apply Lemma 4.19, so we may assume that SS is rotationally asymmetric, and therefore it has a head hSh\in S. Since both \ell and ss are in SS, there must be a point hSh^{\prime}\in S such that cw(h,h)αMcw(h,h^{\prime})\leq\alpha_{M}. So, there are only two possibilities for the location of hh: either \ell or the point antipodal to \ell (in which case hh^{\prime} must be the point antipodal to ss). If \ell is the head of SS, then at time tMt_{M} it executes rule 3, and we can apply Lemma 4.19. Otherwise, if the point antipodal to \ell is the head of SS, it means that ss has an antipodal robot. So, \ell executes rule 4.a at time tMt_{M}, and we conclude the proof by Lemma 4.21.

We are now ready to prove the main result of this section.

Theorem 4.27.

If ϑ=π\vartheta=\pi, there is a Gathering algorithm under the condition that the swarm initially forms a rotationally asymmetric configuration with no multiplicity points.

Proof 4.28.

We will prove that the distributed algorithm in Listing 1 solves the Gathering problem under the condition that the swarm initially forms a rotationally asymmetric configuration with no multiplicity points. By the first statement of Lemma 4.9, whenever the swarm forms a rotationally asymmetric configuration with no multiplicity points, any robot that is activated and moves executes either rule 3 (in which case we conclude the proof by Lemma 4.19), or rule 4.a (in which case we conclude the proof by Lemma 4.21), or rule 4.b, or rule 4.c. In the latter two cases, by Lemma 4.23, the resulting configuration is still rotationally asymmetric and with no multiplicity points. By inductively repeating this argument, we may assume, without loss of generality, that the swarm forms a rotationally asymmetric configuration with no multiplicity points at all times, and all robots that are activated and move execute rule 4.b or rule 4.c.

By Lemma 4.13, at a generic time tt, at least one robot rr and at most one other robot rrr^{\prime}\neq r are allowed to move. The semi-synchronous scheduler will activate each of them infinitely often, so let ttt^{\prime}\geq t be the first time at least one of them is activated. Assume that one robot, say rr^{\prime}, is not activated at time tt^{\prime}, and therefore rr is. Then, rr does not have an antipodal robot at time t+1t^{\prime}+1, due to the first statement of Lemma 4.17. Similarly, if both rr and rr^{\prime} are activated at time tt^{\prime}, none of them has an antipodal robot at time t+1t^{\prime}+1, by the first and third statements of Lemma 4.17.

In summary, if a robot is activated and moves at a generic time tt, it no longer has antipodal robots at any time after tt. Since the robots are finitely many, eventually, say after time t′′t^{\prime\prime}, only robots without an antipodal robot will move. However, by the fourth statement of Lemma 4.9, a robot that moves must have an antipodal robot, unless it is the current true leader. So, at all times after t′′t^{\prime\prime}, no robot other than the current true leader will move. Therefore, Lemma 4.25 allows us to conclude the proof.

5 Conclusions

Summary

We gave a deterministic distributed algorithm to solve the Gathering problem on a circle for semi-synchronous rigid mobile robots with chirality (under the necessary condition that the initial configuration is rotationally asymmetric), assuming that each robot can see the entire circle except its antipodal point, i.e., for ϑ=π\vartheta=\pi. On the other hand, we proved that no such algorithm exists if ϑπ/2\vartheta\leq\pi/2, even if the robots know the size of the swarm, and even if the initial configuration is rotationally asymmetric and has a connected visibility graph. We remark that the latter impossibility result is not limited to the Gathering problem, but extends to all Pattern Formation problems where the pattern is rotationally asymmetric.

Open problems

By inspecting the proof of correctness of our Gathering algorithm for ϑ=π\vartheta=\pi, it is easy to see that its running time is O(n)O(n) epochs, where nn is the total number of robots, and an “epoch” is defined as a minimal timespan where every robot is activated at least once. Indeed, the only step that may take a non-constant number of epochs is discussed in the proof of Theorem 4.27, where a termination condition occurs as soon as a multiplicity point appears or no robots are antipodal to each other. In principle, this could take O(n)O(n) epochs in the worst case, but we do not have a concrete example where it actually takes that long. In fact, we believe that our algorithm terminates in O(1)O(1) epochs, but a deeper analysis is needed to confirm this conjecture.

Note that the technique of our impossibility proof is ineffective when π/2<ϑ<π\pi/2<\vartheta<\pi, because it relies on the fact that a robot’s snapshot is contained in an open semicircle, which in turn enables combining snapshots as a means to construct configurations where Gathering is impossible. We leave the design of Gathering algorithms or proofs of impossibility for these remaining cases as an open problem.

Other natural open problems concern the relaxation of some of our assumptions concerning the capabilities of the robots and the scheduler. For instance, we can prove that, under an asynchronous scheduler, the algorithm in Listing 1 may cause the swarm to partition into two antipodal multiplicity points: a configuration from which Gathering cannot be achieved. Our question is whether a Gathering algorithm exists for an asynchronous scheduler if ϑ=π\vartheta=\pi.

Similarly, removing the rigidity condition may cause the formation of two antipodal multiplicity points. For example, a robot rr executing rule 4.a may end up stopping on the next robot ss instead of slightly past it. If rr has an antipodal robot rr^{\prime}, then rr^{\prime} will move to the next robot ss^{\prime}, creating two antipodal multiplicity points at ss and ss^{\prime}. It is an open problem whether non-rigid robots can solve the Gathering problem with ϑ=π\vartheta=\pi. A related question is whether the chirality assumption can be removed.

Another interesting problem concerns the necessity of (weak) multiplicity detection. It is not clear if the Gathering problem can be solved at all by robots with no multiplicity detection. On the other hand, assuming that the initial configuration has no multiplicity points essentially serves to prevent the occurrence of antipodal multiplicity points. It is an open problem whether this condition can be relaxed somehow.

Conversely, there are open problems arising from robot models with additional capabilities. For example, we may wonder if a fully synchronous scheduler (which activates all robots at all times) allows for simpler or improved Gathering algorithms. Another intriguing question is whether the knowledge of the size of the swarm and stronger multiplicity detection would help in the design of a Gathering algorithm for a large-enough ϑ<π\vartheta<\pi.

Finally, the presence of colored lights is a feature that is worth investigating. In this model, each robot is able to signal information (usually only a few bits) to all visible robots by means of a colored light. Since our impossibility result does not hold in this model, we wonder if colored lights may allow robots to gather when their visibility range is shorter than π\pi, or even shorter than π/2\pi/2. Colored lights may also be traded with chirality, rigidity, or synchrony.

References

  • [1] N. Agmon and D. Peleg. Fault-tolerant gathering algorithms for autonomous mobile robots. SIAM Journal on Computing, 36(1):56–82, 2006.
  • [2] H. Ando, Y. Oasa, I. Suzuki, and M. Yamashita. Distributed memoryless point convergence algorithm for mobile robots with limited visibility. IEEE Transactions on Robotics and Automation, 15(5):818–838, 1999.
  • [3] S. Bhagat, K. Mukhopadhyaya, and S. Mukhopadhyaya. Computation under restricted visibility. In Distributed Computing by Mobile Entities: Current Research in Moving and Computing, pages 134–183. Springer, 2019.
  • [4] J. Castenow, J. Harbig, D. Jung, P. Kling, T. Knollmann, and M. Meyer auf der Heide. A unifying approach to efficient (near)-gathering of disoriented robots with limited visibility. In 26th International Conference on Principles of Distributed Systems,, pages 15:1–15:25, 2022.
  • [5] M. Cieliebak, P. Flocchini, G. Prencipe, and N. Santoro. Distributed computing by mobile robots: gathering. SIAM Journal on Computing, 41(2):829–879, 2012.
  • [6] P. Courtieu, L. Rieg, S. Tixeuil, and X. Urbain. Impossibility of gathering, a certification. Information Processing Letters, 115(3):447–452, 2015.
  • [7] J. Czyzowicz, D. Ilcinkas, A. Labourel, and A. Pelc. Asynchronous deterministic rendezvous in bounded terrains. In 17th International Colloquium on Structural Information and Communication Complexity, pages 72–85, 2010.
  • [8] J. Czyzowicz, A. Kosowski, and A. Pelc. Deterministic rendezvous of asynchronous bounded-memory agents in polygonal terrains. Theory of Computing Systems, 52(2):179–199, 2013.
  • [9] J. Czyzowicz, A. Pelc, and A. Labourel. How to meet asynchronously (almost) everywhere. ACM Transactions on Algorithms, 8(4):231–261, 2012.
  • [10] G. D’Angelo, G. Di Stefano, and A. Navarra. Gathering on rings under the Look–Compute–Move model. Distributed Computing, 27(4):255–285, 2014.
  • [11] G. D’Angelo, A. Navarra, and N. Nisse. A unified approach for gathering and exclusive searching on rings under weak assumptions. Distributed Computing, 30(1):17–48, 2017.
  • [12] X. Défago, M. Gradinariu, S. Messika, P. Raipin-Parvédy, and S. Dolev. Fault-tolerant and self-stabilizing mobile robots gathering. In 20th International Symposium on Distributed Computing, pages 46–60, 2006.
  • [13] B. Degener, B. Kempkes, P. Kling, F. Meyer auf der Heide, P. Pietrzyk, and R. Wattenhofer. A tight runtime bound for synchronous gathering of autonomous robots with limited visibility. In 23rd ACM Symposium on Parallelism in Algorithms and Architectures, pages 139–148, 2011.
  • [14] G.A. Di Luna, P. Flocchini, L. Pagli, G. Prencipe, N. Santoro, and G. Viglietta. Gathering in dynamic rings. Theoretical Computer Science, 811:79–98, 2020.
  • [15] G.A. Di Luna, P. Flocchini, N. Santoro, and G. Viglietta. TuringMobile: a turing machine of oblivious mobile robots with limited visibility and its applications. In 32nd International Symposium on Distributed Computing, pages 19:1–19:18, 2018.
  • [16] G.A. Di Luna, P. Flocchini, N. Santoro, G. Viglietta, and M. Yamashita. Meeting in a polygon by anonymous oblivious robots. In 31st International Symposium on Distributed Computing, pages 14:1–14:15, 2017.
  • [17] G.A. Di Luna, R. Uehara, G. Viglietta, and Y. Yamauchi. Gathering on a circle with limited visibility by anonymous oblivious robots. In 34th International Symposium on Distributed Computing, pages 12:1–12:17, 2020.
  • [18] P. Flocchini. Gathering. In Distributed Computing by Mobile Entities: Current Research in Moving and Computing, pages 63–82. Springer, 2019.
  • [19] P. Flocchini, R. Killick, E. Kranakis, N. Santoro, and M. Yamashita. Gathering and election by mobile robots in a continuous cycle. In 30th International Symposium on Algorithms and Computation, pages 8:1–8:19, 2019.
  • [20] P. Flocchini, G. Prencipe, and N. Santoro. Self-deployment of mobile sensors on a ring. Theoretical Computer Science, 402(1):67–80, 2008.
  • [21] P. Flocchini, G. Prencipe, and N. Santoro. Distributed Computing by Oblivious Mobile Robots. Morgan & Claypool, 2012.
  • [22] P. Flocchini, G. Prencipe, and N. Santoro, editors. Distributed Computing by Mobile Entities, Current Research in Moving and Computing. Springer, 2019.
  • [23] P. Flocchini, G. Prencipe, N. Santoro, and G. Viglietta. Distributed computing by mobile robots: uniform circle formation. Distributed Computing, 30(6):413–457, 2017.
  • [24] P. Flocchini, G. Prencipe, N. Santoro, and P. Widmayer. Gathering of asynchronous robots with limited visibility. Theoretical Computer Science, 337(1–3):147–168, 2005.
  • [25] N. Fujinaga, Y. Yamauchi, S. Kijima, and M. Yamahista. Pattern formation by oblivious asynchronous mobile robots. SIAM Journal on Computing, 44(3):740–785, 2015.
  • [26] S. Guilbault and A. Pelc. Gathering asynchronous oblivious agents with local vision in regular bipartite graphs. Theoretical Computer Science, 509:86–96, 2013.
  • [27] E. Huus and E. Kranakis. Rendezvous of many agents with different speeds in a cycle. In 14th International Conference on Ad-Hoc, Mobile, and Wireless Networks, pages 195–209, 2015.
  • [28] S. Kamei, A. Lamani, and F. Ooshita. Asynchronous ring gathering by oblivious robots with limited vision. In 33rd International Symposium on Reliable Distributed Systems, pages 46–49, 2014.
  • [29] S. Kamei, A. Lamani, F. Ooshita, S. Tixeuil, and K. Wada. Gathering on rings for myopic asynchronous robots with lights. In 23rd International Conference on Principles of Distributed Systems, pages 27:1–27:17, 2019.
  • [30] Y. Kim, M. Shibata, Y. Sudo, J. Nakamura, Y. Katayama, and T. Masuzawa. Gathering of mobile robots with defected views. In 26th International Conference on Principles of Distributed Systems,, pages 14:1–14:18, 2022.
  • [31] R. Klasing, E. Markou, and A. Pelc. Gathering asynchronous oblivious mobile robots in a ring. Theoretical Computer Science, 390(1):27–39, 2008.
  • [32] E. Kranakis, D. Krizanc, F. MacQuarrie, and S.M. Shende. Randomized rendezvous algorithms for agents on a ring with different speeds. In 16th International Conference on Distributed Computing and Networking, pages 9:1–9:10, 2015.
  • [33] E. Kranakis, D. Krizanc, and E. Markou. The Mobile Agent Rendezvous Problem in the Ring. Morgan and Claypool, 2010.
  • [34] A. Monde, Y. Yamauchi, S. Kijima, and M. Yamashita. Self-stabilizing localization of the middle point of a line segment by an oblivious robot with limited visibility. In 19th International Symposium on Stabilization, Safety, and Security of Distributed Systems, pages 172–186, 2017.
  • [35] L. Pagli, G. Prencipe, and G. Viglietta. Getting close without touching: near-gathering for autonomous mobile robots. Distributed Computing, 28(5):333–349, 2015.
  • [36] P. Poudel and G. Sharma. Universally optimal gathering under limited visibility. In 19th International Symposium on Stabilization, Safety, and Security of Distributed Systems, pages 323–340, 2017.
  • [37] S. Souissi, X. Défago, and M. Yamashita. Using eventually consistent compasses to gather memory-less mobile robots with limited visibility. ACM Transactions on Autonomous and Adaptive Systems, 4(1):9:1–9:27, 2009.
  • [38] I. Suzuki and M. Yamashita. Distributed anonymous mobile robots: formation of geometric patterns. SIAM Journal on Computing, 28(4):1347–1363, 1999.
  • [39] Y. Yamauchi. Symmetry of anonymous robots. In Distributed Computing by Mobile Entities, Current Research in Moving and Computing, pages 109–133. Springer, 2019.
  • [40] Y. Yamauchi, T. Uehara, S. Kijima, and M. Yamashita. Plane formation by synchronous mobile robots in the three-dimensional euclidean space. Journal of the ACM, 64(3):16:1–16:43, 2017.
  • [41] Y. Yamauchi and M. Yamashita. Pattern formation by mobile robots with limited visibility. In 20th International Colloquium on Structural Information and Communication Complexity, pages 201–212, 2013.