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

A Characterization of Semi-Synchrony for Asynchronous Robots with Limited Visibility, and its Application to Luminous Synchronizer Design

Paola Flocchini University of Ottawa, Canada. E-mail: [email protected]    Nicola Santoro Carleton University, Canada. E-mail. [email protected]    Masafumi Yamashita Kyushu University, Japan. E-mail. [email protected]    Yukiko Yamauchi Kyushu University, Japan. E-mail. [email protected]
Abstract

A mobile robot system consists of anonymous mobile robots, each of which autonomously performs sensing, computation, and movement according to a common algorithm, so that the robots collectively achieve a given task. There are two main models of time and activation of the robots. In the semi-synchronous model (SSYNC), the robots share a common notion of time; at each time unit, a subset of the robots is activated, and each performs all three actions (sensing, computation, and movement) in that time unit. In the asynchronous model (ASYNC), there is no common notion of time, the robots are activated at arbitrary times, and the duration of each action is arbitrary but finite.

In this paper, we investigate the problem of synchronizing ASNYC robots with limited sensing range, i.e., limited visibility. We first present a sufficient condition for an ASYNC execution of a common algorithm 𝒜\mathcal{A} to have a corresponding SSYNC execution of 𝒜\mathcal{A}; our condition imposes timing constraints on the activation schedule of the robots and visibility constraints during movement. Then, we prove that this condition is necessary (with probability 11) under a randomized ASYNC adversary. Finally, we present a synchronization algorithm for luminous ASYNC robots with limited visibility, each equipped with a light that can take a constant number of colors. Our algorithm enables luminous ASYNC robots to simulate any algorithm 𝒜\mathcal{A}, designed for the (non-luminous) SSYNC robots and satisfying visibility constraints.

Keywords.  mobile robots, synchronization, limited visibility, light.

1 Introduction

Distributed computing by mobile computing entities has attracted much attention in the past two decades and many distributed system models have been considered, for example, the autonomous mobile robot system [17] modeled after cheap hardware robots with very weak capabilities, the population protocol model [1] motivated by delay tolerant networks, the programmable particle model [4] inspired by movement of amoebae, and the metamorphic robotic system [9, 10] considering modular robots. The computational power of these distributed systems has been investigated in distributed computing theory and many fundamental problems have been proposed that require a degree of agreement among the mobile computing entities. Typical problems are leader election [5, 8], which requires the entities to agree on a single entity, gathering [2, 11, 17], which requires the entities to gather at a point not known apriori, and shape formation [7, 9, 15, 17, 19, 20] (also called the transformability problem), which requires the entities to form a specified shape. These results are considered as theoretical foundations in several related areas like ad-hoc networks, sensor networks, robotics, molecular computing, chemical reaction circuits, and so on.

In this paper, we focus on the autonomous mobile robot system. Let ={r1,r2,,rn}\mathcal{R}=\{r_{1},r_{2},\ldots,r_{n}\} be a set of nn robots. Each robot is an anonymous (indistinguishable) point moving in the 2D space. The robots are silent (communication-less) and do not have access to a global coordinate system. A robot’s behavior is a repetition of Look-Compute-Move cycles: in the Look phase, it observes the positions of the other robots within its visibility range; in the Compute phase, it computes its next position and a continuous route to the next position with a common deterministic algorithm; in the Move phase, it moves to the computed position along the computed route. The essential properties of mobile robot systems are the visibility range, obliviousness, and the timing and activation models. A robot rir_{i} is equipped with its own local coordinate system 𝒵i\mathcal{Z}_{i}, which is a right-handed xx-yy coordinate system. The origin of 𝒵i\mathcal{Z}_{i} is always the current position of rir_{i}, while the unit distance and the directions and orientations of the xx and yy axes are arbitrary. The observation at rir_{i} is a snapshot in 𝒵i\mathcal{Z}_{i} containing no additional information other than the positions of the robots. If the visibility range of a robot is unlimited, it can observe all robots, otherwise it can observe the robots within its visibility. In Compute, when the input to the common algorithm is the snapshot taken in the preceding Look, we say the robots are oblivious. When the input includes past observations and computations, we say the robots are non-oblivious. In Move, the movement of a robot is rigid when the robot always reaches the next position, and non-rigid when the robot may stop en route after moving a minimum distance δ\delta (in 𝒵0\mathcal{Z}_{0}) (if the length of the route to the destination is smaller than δ\delta, the destination is reached).

Three different types of timing and activation models have been proposed: In the fully-synchronous model (FSYNC), at each discrete time t=0,1,2,t=0,1,2,\ldots, all robots execute a Look-Compute-Move cycle with each of the Look, Compute, and Move completely synchronized. In the semi-synchronous model (SSYNC), at each discrete time t=0,1,2,t=0,1,2,\ldots, a non-empty subset of robots are activated and execute a Look-Compute-Move cycle with each of the Look, Compute, and Move completely synchronized. For fairness, we assume that each robot executes infinitely many cycles. In the asynchronous model (ASYNC), the robots do not have a common notion of time and the length of each cycle is arbitrary but finite. We also assume fairness in ASYNC. The main difference between SSYNC (thus, FSYNC) and ASYNC is that in SSYNC, all robots simultaneously take a snapshot in Look, while in ASYNC a robot may observe moving robots although the robot cannot recognize which robots are moving.

The effect of obliviousness, asynchrony, and visibility on the computational power of autonomous mobile robot systems has been extensively investigated [8, 12, 15, 17, 19]. Since the only output by the oblivious robots is their geometric positions, a fundamental problem is the pattern formation problem, that requires the robots to form a target pattern from an initial configuration. Existing literature [15, 17, 19]111 An erratum of [15] is available at [16]. showed that the initial symmetry among the anonymous robots determines the set of formable patterns, irrespective of obliviousness and asynchrony. The only exception is the point formation problem of two robots, also called the rendezvous problem. In fact, Suzuki and Yamashita have shown that the rendezvous problem is solved by oblivious FSYNC robots, but cannot be solved by oblivious SSYNC robots [17]. In other words, the rendezvous problem demonstrates the difference between FSYNC and SSYNC (thus, ASYNC). These results consider the robots with unlimited visibility. Yamauchi and Yamashita have shown that limited visibility substantially shrinks the set of formable patterns by oblivious ASYNC robots because the robots do not know their global symmetry [20].

The robots can overcome the limits by distributed coordination or additional capabilities. Di Luna et al. have shown that a constant number of oblivious ASYNC robots can simulate a single non-oblivious ASYNC robot by encoding the memory contents to the geometric positions of the robots [6]. Das et al. have shown that oblivious ASYNC robots with lights can simulate oblivious SSYNC robots [3]. A luminous robot is equipped with a light whose color is changed in every Look-Compute-Move cycle at the end of Compute and observed by other robots. The authors showed that luminous ASYNC robots with a constant number of colors can simulate an algorithm 𝒜\mathcal{A} designed for oblivious SSYNC robots. They presented a synchronizer that makes an activated robot accept or reject the current cycle so that the snapshot of an accepted cycle does not contain any moving robot. In an accepted cycle, the robot changes the color of its light to “moving” and moves to the next position computed by 𝒜\mathcal{A}. The synchronizer guarantees fairness by making all robots wait with the “waiting” color after it accepts a cycle until all the other robots accept a cycle. All these techniques are heavily based on the fact that robots have unlimited visibility.

In this paper, we investigate synchronization by oblivious ASYNC robots with limited visibility and we make some fundamental contributions.

We start with a formal definition of simulation by mobile robots. A configuration is the set of positions of the robots in 𝒵0\mathcal{Z}_{0} and an execution of algorithm 𝒜\mathcal{A} from an initial configuration II is an infinite sequence of configurations. In SSYNC, an execution is a sequence of configurations C0(=I),C1,C2,C_{0}(=I),C_{1},C_{2},\ldots, where CtC_{t} is the configuration at time tt. An ASYNC execution is the sequence of configurations Ct0(=I),Ct1,Ct2,C_{t_{0}}(=I),C_{t_{1}},C_{t_{2}},\ldots where at least one robot takes a snapshot, with ti<ti+1t_{i}<t_{i+1} for all i=1,2,i=1,2,\ldots. Then, the footprint of a robot is the sequence of the positions of the robot in each configuration. We say that two executions EE and EE^{\prime} (possibly in different timing and activation models) are similar when the footprints and local observations at the robots are identical.

We then present a sufficient condition for an ASYNC execution to have a similar SSYNC execution, and we also show that the condition is necessary with probability 11 under a randomized ASYNC adversary. The randomized impossibility result is novel, based on a Borel probability measure space for non-rigid movement and asynchronous observations, and it provides a stronger argument than a worst-case (deterministic) analysis. Our condition not only requires snapshots of static robots but also considers a chain of concurrent observations, that cannot be treated separately in a SSYNC execution. The transitive closure with respect to the concurrent observations forms an equivalence relation and cycles of the ASYNC execution are decomposed into equivalence classes. We then introduce a “happened-before” relation among the equivalence classes based on the local happened-before relation at a single robot or a pair of visible robots. Our condition also requires the happened-before relation to form a directed acyclic graph so that we construct a similar SSYNC execution by applying the equivalence classes one by one in the order of one of their topological sort.

We then present a synchronizer for oblivious ASYNC luminous robots to simulate an execution of an algorithm for oblivious (non- luminous) SSYNC robots satisfying those conditions, as well as some limitations of synchronizers that make use of visible lights.

Related work.  Existing literature established a rich class of distributed problems for mobile robot systems. The pattern formation problem [17] is one of the most important static problems, that is, the robots stop moving once they reach a terminal configuration. Suzuki and Yamashita showed the oblivious FSYNC robots can solve the rendezvous problem, while the oblivious SSYNC robots cannot [17]. Flocchini et al. further discussed the rendezvous problem to show the power of lights. A robot with externally visible light can change but cannot see the color of its own light, while the other robots can observe it. A robot with internally visible light can change and see the color of its own light, while the other robots cannot observe it. They showed that the ASYNC robots with externally visible lights can solve the rendezvous problem, while the SSYNC robots with internally visible lights cannot [13]. To demonstrate computational power of the luminous robots, many dynamic problems has been proposed. Das et al. proposed the oscillating points problem, that requires the robots to alternately come closer and go farther from each other [3]. This problem shows the difference between luminous ASYNC robots and (non-luminous) FSYNC robots. Flocchini et al. examined the power of internally visible lights and that of externally visible lights in FSYNC and SSYNC with a variety of static problems such as triangle rotation, center of gravity expansion, and dynamic problems such as the perpetual center of gravity expansion and shrinking rotation [14].

Synchronization was first presented in [3] to overcome the limit of the ASYNC robots with unlimited visibility. In this paper, we further investigate synchronization to demonstrate the difference between ASYNC and SSYNC with limited visibility.

Organization.  We provide detailed definitions of ASYNC and SSYNC executions and the similarity between two executions in Section 2. We then provide a sufficient condition for an ASYNC execution to have a similar SSYNC execution, and investigate its necessity under a randomized ASYNC adversary in Section 3. Section 4 provides a synchronizer algorithm for oblivious luminous ASYNC robots that satisfy the necessary and sufficient conditions. We conclude our paper in Section 5.

2 Preliminary

We investigate a system \mathcal{R} of nn anonymous oblivious mobile robots {r1,r2,,rn}\{r_{1},r_{2},\ldots,r_{n}\} in the 2D space. We use rir_{i} just for notation. We assume that at most one robot can occupy any given position at any time.222 We can remove this assumption with multiplicity detection capability.

We consider SSYNC and ASYNC as the semi-synchronous scheduler 𝒮𝒮𝒴𝒩𝒞\cal{SSYNC} and the asynchronous scheduler 𝒜𝒮𝒴𝒩𝒞\cal{ASYNC}, respectively. We regard a scheduler as a set of schedules that it can produce. Consider an infinite execution EE of a deterministic algorithm 𝒜\mathcal{A} from an initial configuration II under 𝒜𝒮𝒴𝒩𝒞\cal{ASYNC}. Independently of 𝒜\mathcal{A} and II,333 Thus, ASYNCASYNC produces any schedule including the worst-case schedule for 𝒜\mathcal{A} and II. 𝒜𝒮𝒴𝒩𝒞\cal{ASYNC} nondeterministically produces a schedule Ω\Omega, which specifies for each rir_{i} when it is activated and executes Look-Compute-Move cycles.

Formally, Ω\Omega is a set of schedules Ωi\Omega_{i} for each robot rir_{i}, where Ωi\Omega_{i} is an infinite sequence of Look-Compute-Move cycles. The jjth cycle ωi(j)\omega_{i}(j) of Ωi\Omega_{i} is denoted by a triple (oi(j),si(j),fi(j))(o_{i}(j),s_{i}(j),f_{i}(j)), where oi(j)o_{i}(j), si(j)s_{i}(j), and fi(j)f_{i}(j) are the time instants that rir_{i} takes a snapshot in the Look, starts and ends the Move, respectively. We assume that the time interval assigned to ωi(j)\omega_{i}(j) is [oi(j),fi(j)][o_{i}(j),f_{i}(j)], and oi(j)<si(j)<fi(j)<oi(j+1)o_{i}(j)<s_{i}(j)<f_{i}(j)<o_{i}(j+1) for all j=1,2,j=1,2,\ldots. Scheduler Ω\Omega is fair in the sense that each Ωi\Omega_{i} satisfies that, for any t𝐑+t\in\mathbf{R}^{+}, there is a j𝐍j\in\mathbf{N} such that oi(j)>to_{i}(j)>t, where 𝐑+\mathbf{R}^{+} and 𝐍\mathbf{N} are the sets of positive real numbers and non-negative integers, respectively. The execution is not uniquely determined by II, 𝒜\mathcal{A}, and Ω\Omega, due to the only source of non-determinism, that is, non-rigid movement of robots. The set of possible executions of \mathcal{R} given II, 𝒜\mathcal{A}, and Ω\Omega is denoted by (Ω,𝒜,I)\mathcal{E}(\Omega,\mathcal{A},I).

The visibility range of each robot is the unit distance of the global coordinate system 𝒵0\mathcal{Z}_{0}.444The common visibility range does not promise common unit distance among the robots. The snapshot Pi(j)P_{i}(j) taken by rir_{i} at oi(j)o_{i}(j) in ωi(j)\omega_{i}(j) is the set of positions of robots in 𝒵i\mathcal{Z}_{i} visible from rir_{i} at oi(j)o_{i}(j). Pi(j)P_{i}(j) always contains its origin, because it is the position of rir_{i} in 𝒵i\mathcal{Z}_{i}. The number of robots visible from rir_{i} at oi(i)o_{i}(i) is denoted by |Pi(j)||P_{i}(j)|. Let Pi(E)={Pi(j)j𝐍}P_{i}(E)=\{P_{i}(j)\mid j\in{\mathbf{N}}\} and P(E)={Pi(E)ri}P(E)=\{P_{i}(E)\mid r_{i}\in\mathcal{R}\}.

The position of rir_{i} at oi(j)o_{i}(j) in the global coordinate system 𝒵0\mathcal{Z}_{0} is denoted by πi(j)\pi_{i}(j). Note that rir_{i} cannot recognize its position πi(j)\pi_{i}(j). The footprint of rir_{i} in EE is Πi(E)={πi(j)j𝐍}\Pi_{i}(E)=\{\pi_{i}(j)\mid j\in{\mathbf{N}}\} and let Π(E)={Πi(E)ri}\Pi(E)=\{\Pi_{i}(E)\mid r_{i}\in\mathcal{R}\} be the set of footprints of all robots of \mathcal{R}. Since the system is not rigid, πi(j+1)\pi_{i}(j+1) is not uniquely determined by πi(j)\pi_{i}(j), Pi(j)P_{i}(j), 𝒵i\mathcal{Z}_{i}, 𝒜\mathcal{A}, and II.

Let E(Ω,𝒜,I)E\in\mathcal{E}(\Omega,\mathcal{A},I) and E~(Ω~,𝒜,I)\tilde{E}\in\mathcal{E}(\tilde{\Omega},\mathcal{A},I). If the system is rigid, Π(E)=Π(E~)\Pi(E)=\Pi(\tilde{E}) if P(E)=P(E~)P(E)=P(\tilde{E}). Otherwise, for some Ω\Omega, 𝒜\mathcal{A}, and II, there are executions E,E~(Ω,𝒜,I)E,\tilde{E}\in\mathcal{E}(\Omega,\mathcal{A},I) such that P(E)=P(E~)P(E)=P(\tilde{E}) and Π(E)Π(E~)\Pi(E)\neq\Pi(\tilde{E}).

Example 1

When n=1n=1, no matter where r1r_{1} goes, P1(j)={(0,0)}P_{1}(j)=\{(0,0)\}. When n=2n=2, suppose that r1r_{1} and r2r_{2} are initially at (0,0)(0,0) and (0,1)(0,1), respectively, and synchronously move in parallel along the xx-axis of 𝒵0\mathcal{Z}_{0} at the same speed. As long as their tracks are truncated at the same xx-coordinate, independently of where they are truncated, Pi(j)=Pi(j)P_{i}(j)=P_{i}(j^{\prime}) for all i{1,2}i\in\{1,2\} and i,j𝐍i,j^{\prime}\in\mathbf{N}.

We say two executions E(Ω,𝒜,I)E\in\mathcal{E}(\Omega,\mathcal{A},I) and E~(Ω,𝒜,I)\tilde{E}\in\mathcal{E}(\Omega,\mathcal{A},I) are similar, denoted by EE~E\sim\tilde{E}, if P(E)=P(E~)P(E)=P(\tilde{E}) and Π(E)=Π(E~)\Pi(E)=\Pi(\tilde{E}).

Without loss of generality, we assume that 𝒮𝒮𝒴𝒩𝒞\cal{SSYNC} produces a schedule Ω\Omega such that every cycle ωi(j)\omega_{i}(j) has a form (t,t+1/4,t+3/4)(t,t+1/4,t+3/4) for some t𝐍t\in\mathbf{N}.

3 ASYNC execution with a similar SSYNC execution

We provide a necessary and sufficient condition for an ASYNC execution E(Ω,𝒜,I)E\in\mathcal{E}(\Omega,\mathcal{A},I) to have an SSYNC execution E~(Ω~,𝒜,I)\tilde{E}\in\mathcal{E}(\tilde{\Omega},\mathcal{A},I) such that P(E)=P(E~)P(E)=P(\tilde{E}) and Π(E)=Π(E~)\Pi(E)=\Pi(\tilde{E}) for some Ω~𝒮𝒮𝒴𝒩𝒞\tilde{\Omega}\in\cal{SSYNC}.

3.1 Sufficiency

In an SSYNC execution, at each discrete time t=0,1,2,t=0,1,2,\ldots the activated robots execute a Look-Compute-Move cycle with each of the three phases completely synchronized. From this definition, we directly obtain the following three assumptions on an ASYNC execution to have a corresponding SSYNC execution. (i) No robot observes other robots moving. (ii) When two robots observe each other, they are activated at the same time in a SSYNC execution. (iii) Due to limited visibility, the above “mutually observed” relationship is transitive. We formally describe these assumptions.

Let Si(j)S_{i}(j) be the set of robots visible from rir_{i} at time oi(j)o_{i}(j). Then, |Si(j)|=|Pi(j)||S_{i}(j)|=|P_{i}(j)| and riSi(j)r_{i}\in S_{i}(j). Recall that rir_{i} cannot recognize the correspondence between Si(j)S_{i}(j) and Pi(j)P_{i}(j). We say that EE is stationary, if every snapshot Pi(j)P_{i}(j) in EE is “stationary” in the sense that rir_{i} does not observe another robot rir_{i^{\prime}} in its move phase. Formally, E(Ω,𝒜,I)E\in\mathcal{E}(\Omega,\mathcal{A},I) is stationary if oi(j)(si(j),fi(j))o_{i}(j)\not\in(s_{i^{\prime}}(j^{\prime}),f_{i^{\prime}}(j^{\prime})) holds for any pair of cycles ωi(j)\omega_{i}(j) and ωi(j)Ω\omega_{i^{\prime}}(j^{\prime})\in\Omega such that riSi(j)r_{i^{\prime}}\in S_{i}(j).555We exclude si(j)s_{i^{\prime}}(j^{\prime}) and fi(j)f_{i^{\prime}}(j^{\prime}), because rir_{i^{\prime}} is not moving at these time instants.

Assumption 1

We assume that EE is stationary.

Let ωi(j)\omega_{i}(j) and ωi(j)Ω\omega_{i^{\prime}}(j^{\prime})\in\Omega be two cycles such that iii\neq i^{\prime} and oi(j)oi(j)o_{i}(j)\leq o_{i^{\prime}}(j^{\prime}). If [oi(j),fi(j)][oi(j),fi(j)][o_{i}(j),f_{i}(j)]\cap[o_{i^{\prime}}(j^{\prime}),f_{i^{\prime}}(j^{\prime})]\neq\emptyset and riSi(j)r_{i}\in S_{i^{\prime}}(j^{\prime}), we say that ωi(j)\omega_{i}(j) and ωi(j)\omega_{i^{\prime}}(j^{\prime}) overlap each other.

We say ωi(j)\omega_{i}(j) and ωi(j)\omega_{i^{\prime}}(j^{\prime}) are concurrent, denoted by ωi(j)ωi(j)\omega_{i}(j)\parallel\omega_{i^{\prime}}(j^{\prime}), if one of the following conditions holds:

  1. 1.

    i=ii=i^{\prime} and j=jj=j^{\prime}.

  2. 2.

    iii\neq i^{\prime}, oi(j)(fi(j1),oi(j)]o_{i}(j)\in(f_{i^{\prime}}(j^{\prime}-1),o_{i^{\prime}}(j^{\prime})], oi(j)[oi(j),si(j)]o_{i^{\prime}}(j^{\prime})\in[o_{i}(j),s_{i}(j)], and riSi(j)r_{i^{\prime}}\in S_{i}(j) (thus, riSi(j)r_{i}\in S_{i^{\prime}}(j^{\prime})).

  3. 3.

    iii\neq i^{\prime}, oi(j)(fi(j1),oi(j)]o_{i^{\prime}}(j^{\prime})\in(f_{i}(j-1),o_{i}(j)], oi(j)[oi(j),si(j)]o_{i}(j)\in[o_{i^{\prime}}(j^{\prime}),s_{i^{\prime}}(j^{\prime})], and riSi(j)r_{i}\in S_{i^{\prime}}(j^{\prime}) (thus, riSi(j)r_{i^{\prime}}\in S_{i}(j)).

The concurrency relation \parallel is symmetric and reflexive, but is not always transitive. By definition, we have the following proposition.

Proposition 1

For any ii, jj, and jj^{\prime}, ωi(j)ωi(j)\omega_{i}(j)\parallel\omega_{i}(j^{\prime}) if and only if j=jj=j^{\prime}.

If iii\neq i^{\prime} and ωi(j)\omega_{i}(j) and ωi(j)\omega_{i^{\prime}}(j^{\prime}) are concurrent, then they overlap each other. Moreover, both rir_{i} and rjr_{j} observe each other in ωi(j)\omega_{i}(j) and ωi(j)\omega_{i^{\prime}}(j^{\prime}), respectively. If ωi(j)\omega_{i}(j) and ωi(j)\omega_{i^{\prime}}(j^{\prime}) overlap each other, the two robots do not always observe each other. However, at least one of them observes the other.

We say that EE is pairwise aligned, if two cycles ωi(j)\omega_{i}(j) and ωi(j)\omega_{i^{\prime}}(j^{\prime}) that overlap each other are always concurrent.

Assumption 2

We assume that EE is pairwise aligned.

Let \stackrel{{\scriptstyle*}}{{\parallel}} be the transitive closure of \parallel, that is an equivalence relation on Ω\Omega. We abuse the term so that ωi(j)\omega_{i}(j) and ωi(j)\omega_{i^{\prime}}(j^{\prime}) are concurrent if ωi(j)ωi(j)\omega_{i}(j)\stackrel{{\scriptstyle*}}{{\parallel}}\omega_{i^{\prime}}(j^{\prime}). Since \parallel is not always transitive, \parallel\neq\stackrel{{\scriptstyle*}}{{\parallel}} may hold. Let Ω=Ω0,Ω1,Ω2,\Omega=\Omega_{0},\Omega_{1},\Omega_{2},\ldots be the equivalence class partition of Ω\Omega with respect to \stackrel{{\scriptstyle*}}{{\parallel}}. Intuitively, the cycles in each Ωi\Omega_{i} must be executed at the same time in the corresponding SSYNC execution. However, because \stackrel{{\scriptstyle*}}{{\parallel}} is transitive, we need to consider observations, i.e., Si(j)S_{i}(j) and Si(j)S_{i^{\prime}}(j^{\prime}) for each ωi(j),ωi(j)Ωi\omega_{i}(j),\omega_{i^{\prime}}(j^{\prime})\in\Omega_{i}.

Let dist(p,q)dist(p,q) denote the Euclidean distance between two points pp and qq in 𝒵0\mathcal{Z}_{0}. We say that EE is consistent, if the following conditions hold for any pair of cycles ωi(j)\omega_{i}(j) and ωi(j)\omega_{i^{\prime}}(j^{\prime}) such that ωi(j)ωi(j)\omega_{i}(j)\stackrel{{\scriptstyle*}}{{\parallel}}\omega_{i^{\prime}}(j^{\prime}):

  1. 1.

    riSi(j)r_{i^{\prime}}\in S_{i}(j) if and only if riSi(j)r_{i}\in S_{i^{\prime}}(j^{\prime}).

  2. 2.

    If riSi(j)r_{i^{\prime}}\in S_{i}(j), or equivalently riSi(j)r_{i}\in S_{i^{\prime}}(j^{\prime}), ωi(j)ωi(j)\omega_{i}(j)\parallel\omega_{i^{\prime}}(j^{\prime}).

  3. 3.

    If riSi(j)r_{i^{\prime}}\not\in S_{i}(j), or equivalently riSi(j)r_{i}\not\in S_{i^{\prime}}(j^{\prime}), dist(πi(j),πi(j))>1dist(\pi_{i}(j),\pi_{i^{\prime}}(j^{\prime}))>1.

Assumption 3

We assume that EE is consistent.

The following proposition is an extension of Proposition 1.

Proposition 2

Suppose that EE is stationary, pairwise aligned, and consistent. For any ii, jj, and jj^{\prime}, ωi(j)ωi(j)\omega_{i}(j)\stackrel{{\scriptstyle*}}{{\parallel}}\omega_{i}(j^{\prime}) if and only if j=jj=j^{\prime}.

Proof. If j=jj=j^{\prime}, ωi(j)ωi(j)\omega_{i}(j)\stackrel{{\scriptstyle*}}{{\parallel}}\omega_{i}(j^{\prime}) for any ii. Otherwise, suppose that ωi(j)ωi(j)\omega_{i}(j)\stackrel{{\scriptstyle*}}{{\parallel}}\omega_{i}(j^{\prime}) holds. Since riSi(j)r_{i}\in S_{i}(j^{\prime}) for any ii and jj^{\prime}, ωi(j)ωi(j)\omega_{i}(j)\parallel\omega_{i}(j^{\prime}) by the consistency, which is a contradiction by Proposition 1. Thus, if jjj\neq j^{\prime}, then ωi(j)ωi(j)\omega_{i}(j)\not\stackrel{{\scriptstyle*}}{{\parallel}}\omega_{i}(j^{\prime}). \Box

Let ωi(j),ωi(j)Ω\omega_{i}(j),\omega_{i^{\prime}}(j^{\prime})\in\Omega be two cycles. We say that ωi(j)\omega_{i}(j) happens immediately before ωi(j)\omega_{i^{\prime}}(j^{\prime}), denoted by ωi(j)ωi(j)\omega_{i}(j)\rightarrow\omega_{i^{\prime}}(j^{\prime}), if one of the following conditions holds:

  1. 1.

    i=ii^{\prime}=i and j=j+1j^{\prime}=j+1.

  2. 2.

    iii^{\prime}\neq i, riSi(j)r_{i}\in S_{i^{\prime}}(j^{\prime}) and oi(j)(fi(j),si(j+1)]o_{i^{\prime}}(j^{\prime})\in(f_{i}(j),s_{i}(j+1)].

  3. 3.

    iii^{\prime}\neq i, riSi(j)r_{i^{\prime}}\in S_{i}(j) and fi(j1)<oi(j)<fi(j)<oi(j)f_{i^{\prime}}(j^{\prime}-1)<o_{i}(j)<f_{i}(j)<o_{i^{\prime}}(j^{\prime}).

We may call \rightarrow a “happened-before” relation on Ω\Omega, because ωi(j)ωi(j)\omega_{i}(j)\rightarrow\omega_{i^{\prime}}(j^{\prime}) denotes the fact that ωi(j)\omega_{i}(j) happens before ωi(j)\omega_{i^{\prime}}(j^{\prime}). Thus, \rightarrow is neither reflexive nor symmetric. It is worth emphasizing that in general, \rightarrow is not transitive either, because it is defined based on the visibility relation between robots like \parallel.

Note that if ωi(j)ωi(j)\omega_{i}(j)\rightarrow\omega_{i^{\prime}}(j^{\prime}), then ωi(j)∦ωi(j)\omega_{i}(j)\not\parallel\omega_{i^{\prime}}(j^{\prime}), because they do not overlap each other. Note also that either riSi(j)r_{i}\in S_{i^{\prime}}(j^{\prime}) or riSi(j)r_{i^{\prime}}\in S_{i}(j) holds, but generally not both.

Proposition 3

Suppose that EE is stationary, pairwise aligned, and consistent. No equivalence class Ωk\Omega_{k} of Ω\Omega contains cycles ωi(j)\omega_{i}(j) and ωi(j)\omega_{i^{\prime}}(j^{\prime}) such that ωi(j)ωi(j)\omega_{i}(j)\rightarrow\omega_{i^{\prime}}(j^{\prime}).

Proof. Let ωi(j)\omega_{i}(j) and ωi(j)\omega_{i^{\prime}}(j^{\prime}) be any cycles in Ωk\Omega_{k}, i.e., ωi(j)ωi(j)\omega_{i}(j)\stackrel{{\scriptstyle*}}{{\parallel}}\omega_{i^{\prime}}(j^{\prime}). We assume that ωi(j)ωi(j)\omega_{i}(j)\rightarrow\omega_{i^{\prime}}(j^{\prime}).

If i=ii^{\prime}=i, then j=jj^{\prime}=j by Proposition 2, which is a contradiction. Thus, iii^{\prime}\neq i. Since ωi(j)ωi(j)\omega_{i}(j)\rightarrow\omega_{i^{\prime}}(j^{\prime}), either riSi(j)r_{i}\in S_{i^{\prime}}(j^{\prime}) or riSi(j)r_{i^{\prime}}\in S_{i}(j) holds. This implies ωi(j)ωi(j)\omega_{i}(j)\parallel\omega_{i^{\prime}}(j^{\prime}) by the consistency. This is a contradiction. \Box

Let Ωk\Omega_{k} and Ωk\Omega_{k^{\prime}} be two equivalence classes of Ω\Omega. If there are cycles ωi(j)Ωk\omega_{i}(j)\in\Omega_{k} and ωi(j)Ωk\omega_{i^{\prime}}(j^{\prime})\in\Omega_{k^{\prime}} such that ωi(j)ωi(j)\omega_{i}(j)\rightarrow\omega_{i^{\prime}}(j^{\prime}), we use the notation ΩkΩk\Omega_{k}\Rightarrow\Omega_{k^{\prime}}. By Proposition 3, binary relation \Rightarrow is not reflexive. We say that EE is serializable if the infinite graph 𝒢=({Ω0,Ω1,Ω2,},)\mathcal{G}=(\{\Omega_{0},\Omega_{1},\Omega_{2},\ldots\},\Rightarrow) is acyclic.

Assumption 4

We assume that EE is serializable.

While \rightarrow can be considered as a “happened-before” relation on cycles, it is not adequate to consider \Rightarrow as a “happened-before” relation on the equivalence classes. There can be cycles ωi(j)Ωk\omega_{i}(j)\in\Omega_{k} and ωi(j)Ωk\omega_{i^{\prime}}(j^{\prime})\in\Omega_{k^{\prime}} such that fi(j)<oi(j)f_{i^{\prime}}(j^{\prime})<o_{i}(j) even if ΩkΩk\Omega_{k}\Rightarrow\Omega_{k^{\prime}}. In fact, ΩkΩk\Omega_{k}\Rightarrow\Omega_{k^{\prime}} and ΩkΩk\Omega_{k}\Leftarrow\Omega_{k^{\prime}} may hold at the same time. There is a stationary, pairwise aligned, and consistent execution which is not serializable.

The following proposition is clear by definition.

Proposition 4

Suppose that EE is stationary, pairwise aligned, consistent, and serializable. If ωi(j)\omega_{i}(j) and ωi(j)\omega_{i}(j^{\prime}) are in an equivalence class Ωk\Omega_{k} for some ii, jj, and jj^{\prime}, then j=jj=j^{\prime}. That is, each Ωk\Omega_{k} contains at most one cycle for every robot rir_{i}.

Let E(Ω,𝒜,I)E\in\mathcal{E}(\Omega,\mathcal{A},I) be an execution of algorithm 𝒜\mathcal{A} from initial configuration II under a schedule Ω𝒜𝒮𝒴𝒩𝒞\Omega\in\cal{ASYNC} and assume that EE is stationary, pairwise aligned, consistent, and serializable. Let 𝒢=({Ω0,Ω1,Ω2,},)\mathcal{G}=(\{\Omega_{0},\Omega_{1},\Omega_{2},\ldots\},\Rightarrow) be the acyclic graph obtained from EE. Without loss of generality, let T=(Ω0,Ω1,Ω2,)T=(\Omega_{0},\Omega_{1},\Omega_{2},\ldots) be a topological sort of 𝒢\mathcal{G}. Let Ak={riωi(j)Ωkfor some j}A_{k}=\{r_{i}\mid\omega_{i}(j)\in\Omega_{k}\ \text{for some $j$}\}, keeping in mind that ωi(j)\omega_{i}(j) is unique for each riAkr_{i}\in A_{k} by Proposition 4.

We construct a schedule Ω~𝒮𝒮𝒴𝒩𝒞\tilde{\Omega}\in\cal{SSYNC} from TT. Intuitively, Ω~\tilde{\Omega} activates all robots in AkA_{k} at time kk for all k𝐍k\in\mathbf{N}. Formally, Ω~={ω~i(j)i=1,2,,n,j𝐍}\tilde{\Omega}=\{\tilde{\omega}_{i}(j)\mid i=1,2,\ldots,n,\ j\in\mathbf{N}\}, where ω~i(j)=(o~i(j),s~i(j),f~i(j))=(k,k+1/4,k+3/4)\tilde{\omega}_{i}(j)=(\tilde{o}_{i}(j),\tilde{s}_{i}(j),\tilde{f}_{i}(j))=(k,k+1/4,k+3/4) if ωi(j)Ωk\omega_{i}(j)\in\Omega_{k} for k𝐍k\in\mathbf{N}. Obviously, Ω~\tilde{\Omega} is well-defined and Ω~𝒮𝒮𝒴𝒩𝒞\tilde{\Omega}\in\cal{SSYNC}.

Consider E~(Ω~,𝒜,I)\tilde{E}\in\mathcal{E}(\tilde{\Omega},\mathcal{A},I). Let S~i(j)\tilde{S}_{i}(j) and P~i(j)\tilde{P}_{i}(j) be the set of robots visible from rir_{i} at o~i(j)\tilde{o}_{i}(j) and the snapshot that rir_{i} takes at o~i(j)\tilde{o}_{i}(j), respectively. Then, P(E~)={P~i(j)i=1,2,,n,andj𝐍}P(\tilde{E})=\{\tilde{P}_{i}(j)\mid i=1,2,\ldots,n,\ \text{and}\ j\in\mathbf{N}\}. Let π~i(j)\tilde{\pi}_{i}(j) be the position of rir_{i} in 𝒵0\mathcal{Z}_{0} at o~i(j)\tilde{o}_{i}(j). Then, Π(E~)={π~i(j)i=1,2,,n,andj𝐍}\Pi(\tilde{E})=\{\tilde{\pi}_{i}(j)\mid i=1,2,\ldots,n,\ \text{and}\ j\in{\mathbf{N}}\}.

Finally, we need to examine each pair of cycles ωi(j)\omega_{i}(j) and ωi(j)\omega_{i^{\prime}}(j^{\prime}) assigned to different discrete time in Ω~\tilde{\Omega}. Thus, ωi(j)ωi(j)\omega_{i}(j)\not\stackrel{{\scriptstyle*}}{{\parallel}}\omega_{i^{\prime}}(j^{\prime}). Consider the case where ωi(j)Ωk\omega_{i}(j)\in\Omega_{k} and ωi(j)Ωk′′\omega_{i^{\prime}}(j^{\prime})\in\Omega_{k^{\prime\prime}} for k<k′′k<k^{\prime\prime} and rir_{i^{\prime}} executes no cycle during Ωk,Ωk+1,,Ωk′′1\Omega_{k},\Omega_{k+1},\ldots,\Omega_{k^{\prime\prime}-1}. Thus, rir_{i^{\prime}} does not move during the time period [k,k′′1][k,k^{\prime\prime}-1] in Ω~\tilde{\Omega}. If rir_{i} observes rir_{i^{\prime}} in ωi(j)\omega_{i}(j), ωi(j)\omega_{i}(j) and ωi(j)\omega_{i^{\prime}}(j^{\prime}) do not overlap each other. Otherwise, Ωk\Omega_{k} contains ωi(j)\omega_{i^{\prime}}(j^{\prime}). If rir_{i} does not observe rir_{i^{\prime}} in ωi(j)\omega_{i}(j), dist(πi(j),πi(j))>1dist(\pi_{i}(j),\pi_{i^{\prime}}(j^{\prime}))>1. Otherwise, rir_{i^{\prime}} need to move during the time period [k,k′′1][k,k^{\prime\prime}-1] in Ω~\tilde{\Omega}. We describe this situation with the notion of naturality.

For any ωi(j)\omega_{i}(j) and i(i)i^{\prime}(\neq i), there is a jj^{\prime} such that kk<k′′k^{\prime}\leq k<k^{\prime\prime}, where ωi(j)Ωk\omega_{i}(j)\in\Omega_{k}, ωi(j1)Ωk\omega_{i^{\prime}}(j^{\prime}-1)\in\Omega_{k}^{\prime}, and ωi(j)Ωk′′\omega_{i^{\prime}}(j^{\prime})\in\Omega_{k^{\prime\prime}}.666We consider k=1k^{\prime}=-1 if j=1j^{\prime}=1 and ωi(j)\omega_{i^{\prime}}(j^{\prime}) is not defined. A topological sort T=(Ω0,Ω1,Ω2,)T=(\Omega_{0},\Omega_{1},\Omega_{2},\ldots) is natural if the following conditions hold for any pair of such cycles ωi(j)\omega_{i}(j) and ωi(j)\omega_{i^{\prime}}(j^{\prime}):

  1. 1.

    Suppose that riSi(j)r_{i^{\prime}}\in S_{i}(j). Thus ωi(j)\omega_{i}(j) and ωi(j)\omega_{i^{\prime}}(j^{\prime}) do not overlap each other. Then oi(j)<oi(j)o_{i}(j)<o_{i^{\prime}}(j^{\prime}).

  2. 2.

    Suppose that riSi(j)r_{i^{\prime}}\not\in S_{i}(j). Then dist(πi(j),πi(j))>1dist(\pi_{i}(j),\pi_{i^{\prime}}(j^{\prime}))>1.

We say that EE is natural if EE has a natural topological sort.

Assumption 5

We assume that EE is natural.

Theorem 1

If an execution E(Ω,𝒜,I)E\in\mathcal{E}(\Omega,\mathcal{A},I) satisfies Assumptions 1, 2, 3, 4, 5, there is an execution E~(Ω~,𝒜,I)\tilde{E}\in\mathcal{E}(\tilde{\Omega},\mathcal{A},I) for some Ω~𝒮𝒮𝒴𝒩𝒞\tilde{\Omega}\in\cal{SSYNC} such that EE~E\sim\tilde{E}, i.e., P(E)=P(E~)P(E)=P(\tilde{E}) and Π(E)=Π(E~)\Pi(E)=\Pi(\tilde{E}).

Proof. We construct an execution E~(Ω~,𝒜,I)\tilde{E}\in\mathcal{E}(\tilde{\Omega},\mathcal{A},I) as follows: If rir_{i} moves in ωi(j)\omega_{i}(j) from πi(j)\pi_{i}(j) to πi(j+1)\pi_{i}(j+1) in EE, we move rir_{i} in ω~i(j)\tilde{\omega}_{i}(j) from πi(j)\pi_{i}(j) to πi(j+1)\pi_{i}(j+1) to construct E~\tilde{E} that satisfies the conditions. We guarantee its feasibility by showing that Pi(j)=P~i(j)P_{i}(j)=\tilde{P}_{i}(j) and πi(j)=π~i(j)\pi_{i}(j)=\tilde{\pi}_{i}(j). Indeed, if Pi(j)=P~i(j)P_{i}(j)=\tilde{P}_{i}(j), πi(j)=π~i(j)\pi_{i}(j)=\tilde{\pi}_{i}(j), and rir_{i} can move from πi(j)\pi_{i}(j) to πi(j+1)\pi_{i}(j+1) during ωi(j)\omega_{i}(j) in EE, then it can move to the same position in ω~i(j)\tilde{\omega}_{i}(j).

Suppose that a topological sort T=(Ω0,Ω1,Ω2,)T=(\Omega_{0},\Omega_{1},\Omega_{2},\ldots) is natural. It suffices to show the following claim for all k=0,1,2,k=0,1,2,\ldots: For any robot riAkr_{i}\in A_{k}, Si(j)=S~i(j)S_{i}(j)=\tilde{S}_{i}(j), Pi(j)=P~i(j)P_{i}(j)=\tilde{P}_{i}(j), πi(j)=π~i(j)\pi_{i}(j)=\tilde{\pi}_{i}(j), and πi(j+1)=π~i(j+1)\pi_{i}(j+1)=\tilde{\pi}_{i}(j+1) hold. The proof is by induction on kk.

Base case (k=0k=0).  Let riA0r_{i}\in A_{0} be any robot. Then, ωi(j)Ω0\omega_{i}(j)\in\Omega_{0} holds for some jj and obviously j=1j=1. We show that Si(1)=S~i(1)S_{i}(1)=\tilde{S}_{i}(1). Recall that o~i(j)=0\tilde{o}_{i}(j)=0.

Let rir_{i^{\prime}} be any robot. Suppose that riA0r_{i^{\prime}}\in A_{0}, i.e., ωi(1)Ω0\omega_{i^{\prime}}(1)\in\Omega_{0} and ωi(1)ωi(1)\omega_{i}(1)\stackrel{{\scriptstyle*}}{{\parallel}}\omega_{i^{\prime}}(1). If riSi(1)r_{i^{\prime}}\in S_{i}(1), then ωi(1)ωi(1)\omega_{i}(1)\parallel\omega_{i^{\prime}}(1) by the consistency, which implies riS~i(1)r_{i^{\prime}}\in\tilde{S}_{i}(1). Otherwise, i.e., riSi(1)r_{i^{\prime}}\not\in S_{i}(1), riSi(1)r_{i}\not\in S_{i^{\prime}}(1), and thus dist(πi(1),πi(1))>1dist(\pi_{i}(1),\pi_{i^{\prime}}(1))>1 by the consistency. Thus, riS~i(1)r_{i^{\prime}}\not\in\tilde{S}_{i}(1).

Next, suppose that riA0r_{i^{\prime}}\not\in A_{0}. Then, ωi(1)Ωk\omega_{i^{\prime}}(1)\in\Omega_{k^{\prime}} for some k>0k^{\prime}>0. If riSi(1)r_{i^{\prime}}\in S_{i}(1), then oi(1)<oi(1)o_{i}(1)<o_{i^{\prime}}(1) by the naturality. Since rir_{i} and rir_{i^{\prime}} do not move until oi(1)o_{i}(1), riS~i(1)r_{i^{\prime}}\in\tilde{S}_{i}(1). Otherwise, i.e., riSi(1)r_{i^{\prime}}\not\in S_{i}(1), dist(πi(1),πi(1))>1dist(\pi_{i}(1),\pi_{i^{\prime}}(1))>1 by the naturality. Thus, riS~i(1)r_{i^{\prime}}\not\in\tilde{S}_{i}(1).

Since EE and E~\tilde{E} start with the same initial configuration II, for any riA0r_{i}\in A_{0}, πi(1)=π~i(1)\pi_{i}(1)=\tilde{\pi}_{i}(1), and hence Pi(1)=P~i(1)P_{i}(1)=\tilde{P}_{i}(1) since Si(1)=S~i(1)S_{i}(1)=\tilde{S}_{i}(1). Since πi(2)\pi_{i}(2) is reachable from πi(1)\pi_{i}(1) by algorithm 𝒜\mathcal{A} when the snapshot is Pi(1)P_{i}(1), π~i(2)(=πi(2))\tilde{\pi}_{i}(2)(=\pi_{i}(2)) is reachable from π~i(1)(=πi(1))\tilde{\pi}_{i}(1)(=\pi_{i}(1)) by algorithm 𝒜\mathcal{A} when the snap shot is P~i(1)(=Pi(1))\tilde{P}_{i}(1)(=P_{i}(1)). Thus, to construct E~\tilde{E}, we move rir_{i} to π~i(2)(=πi(2))\tilde{\pi}_{i}(2)(=\pi_{i}(2)) from π~i(1)(=πi(1))\tilde{\pi}_{i}(1)(=\pi_{i}(1)) in ωi~(1)\tilde{\omega_{i}}(1).

Induction step.  Assume that the claim holds for all 0k<K0\leq k<K, and we show that the claim folds for k=Kk=K. Let riAkr_{i}\in A_{k} be any robot such that ωi(j)ΩK\omega_{i}(j)\in\Omega_{K}.

If ωi(j1)Ωk\omega_{i}(j-1)\in\Omega_{k}, then k<Kk<K and πi(j)=π~i(j)\pi_{i}(j)=\tilde{\pi}_{i}(j) by the induction hypothesis. Indeed, for all ii^{\prime} and jj^{\prime}, if ωi(j)Ωk\omega_{i^{\prime}}(j^{\prime})\in\Omega_{k} for some kKk\leq K, πi(j)=π~i(j)\pi_{i^{\prime}}(j^{\prime})=\tilde{\pi}_{i^{\prime}}(j^{\prime}) by the induction hypothesis.

Consider any robot riSi(j)r_{i^{\prime}}\in S_{i}(j). Since EE is stationary, rir_{i^{\prime}} is not in move phase at oi(j)o_{i}(j). Suppose oi(j)(fi(j),oi(j+1))o_{i}(j)\in(f_{i^{\prime}}(j^{\prime}),o_{i^{\prime}}(j^{\prime}+1)) for some jj^{\prime}. Then, ωi(j)ωi(j)\omega_{i^{\prime}}(j^{\prime})\rightarrow\omega_{i}(j) and ΩKΩK\Omega_{K^{\prime}}\Rightarrow\Omega_{K}, where ωi(j)ΩK\omega_{i^{\prime}}(j^{\prime})\in\Omega_{K^{\prime}} for some K<KK^{\prime}<K. Since (i) πi(j)=π~i(j)\pi_{i}(j)=\tilde{\pi}_{i}(j), (ii) πi(j+1)=π~i(j+1)\pi_{i^{\prime}}(j^{\prime}+1)=\tilde{\pi}_{i^{\prime}}(j^{\prime}+1) because K<KK^{\prime}<K, and (iii) the position of rir_{i^{\prime}} (in 𝒵0\mathcal{Z}_{0}) at oi(j)o_{i}(j) is πi(j+1)\pi_{i^{\prime}}(j^{\prime}+1), we have riS~i(j)r_{i^{\prime}}\in\tilde{S}_{i}(j) and pi=p~ip_{i^{\prime}}=\tilde{p}_{i^{\prime}}, where pip_{i^{\prime}} and p~i\tilde{p}_{i^{\prime}} are positions of rir_{i^{\prime}} (in 𝒵i\mathcal{Z}_{i}) in Pi(j)P_{i}(j) and Pi(j)~\tilde{P_{i}(j)}, respectively. Here we use the fact that either ωi(j)ωi(j+1)\omega_{i}(j)\parallel\omega_{i^{\prime}}(j^{\prime}+1) or ωi(j)ωi(j+1)\omega_{i}(j)\rightarrow\omega_{i^{\prime}}(j^{\prime}+1) holds, and KK′′K\leq K^{\prime\prime} holds, where ωi(j+1)ΩK′′\omega_{i^{\prime}}(j^{\prime}+1)\in\Omega_{K^{\prime\prime}}.

Suppose otherwise oi(j)[oi(j),si(j)]o_{i}(j)\in[o_{i^{\prime}}(j^{\prime}),s_{i^{\prime}}(j^{\prime})] for some jj^{\prime}. Then ωi(j)ωi(j)\omega_{i}(j)\parallel\omega_{i^{\prime}}(j^{\prime}) and ωi(j)ΩK\omega_{i^{\prime}}(j^{\prime})\in\Omega_{K}. Let ωi(j1)Ωk\omega_{i}(j-1)\in\Omega_{k} and ωi(j1)Ωk\omega_{i^{\prime}}(j^{\prime}-1)\in\Omega_{k^{\prime}}. Then, k,k<Kk,k^{\prime}<K. Thus, πi(j)=π~i(j)\pi_{i^{\prime}}(j^{\prime})=\tilde{\pi}_{i}(j) by the induction hypothesis. Since πi(j)\pi_{i^{\prime}}(j^{\prime}) is the position of rir_{i^{\prime}} at oi(j)o_{i}(j) and πi(j)=π~i(j)\pi_{i}(j)=\tilde{\pi}_{i}(j), riS~i(j)r_{i^{\prime}}\in\tilde{S}_{i^{\prime}}(j^{\prime}), and pi=p~ip_{i^{\prime}}=\tilde{p}_{i^{\prime}}.

Finally, consider any robot riS~i(j)r_{i^{\prime}}\in\tilde{S}_{i}(j) to confirm Si(j)=S~i(j)S_{i}(j)=\tilde{S}_{i}(j). If there is a jj^{\prime} such that ωi(j)ωi(j)\omega_{i}(j)\stackrel{{\scriptstyle*}}{{\parallel}}\omega_{i^{\prime}}(j^{\prime}), dist(πi(j),πi(j))>1dist(\pi_{i}(j),\pi_{i^{\prime}}(j^{\prime}))>1 by the consistency. This implies that riS~i(j)r_{i^{\prime}}\not\in\tilde{S}_{i}(j) by the induction hypothesis.

Otherwise, ωi(j)ωi()\omega_{i}(j)\not\stackrel{{\scriptstyle*}}{{\parallel}}\omega_{i^{\prime}}(\ell) for all 𝐍\ell\in\mathbf{N}. Let jj^{\prime} be an integer such that K<K<K′′K^{\prime}<K<K^{\prime\prime}, where ωi(j)ΩK\omega_{i}(j)\in\Omega_{K}, ωi(j1)ΩK\omega_{i^{\prime}}(j^{\prime}-1)\in\Omega_{K^{\prime}}, and ωi(j)ΩK′′\omega_{i^{\prime}}(j^{\prime})\in\Omega_{K^{\prime\prime}}. By the naturality, dist(πi(j),πi(j))>1dist(\pi_{i}(j),\pi_{i^{\prime}}(j^{\prime}))>1, which implies that riSi(j)r_{i^{\prime}}\not\in S_{i}(j) by the induction hypothesis.

Since πi(j)=π~i(j)\pi_{i}(j)=\tilde{\pi}_{i}(j), the position of rir_{i^{\prime}} in P~i(j)\tilde{P}_{i}(j) and P~i(j)\tilde{P}_{i}(j) (both in 𝒵i\mathcal{Z}_{i}) are the same, i.e., Pi(j)=P~i(j)P_{i}(j)=\tilde{P}_{i}(j). By the same reason as the base case, to construct E~\tilde{E}, we move rir_{i} to π~(j+1)(=πi(j+1))\tilde{\pi}(j+1)(=\pi_{i}(j+1)) from π~i(j)(=πi(j))\tilde{\pi}_{i}(j)(=\pi_{i}(j)) in ω~i(j)\tilde{\omega}_{i}(j). \Box

3.2 Necessity

The conjunction of conditions in Assumptions 1, 2, 3, 4, and 5 is a sufficient condition for an ASYNC execution E(Ω,𝒜,I)E\in\mathcal{E}(\Omega,\mathcal{A},I) to have a similar SSYNC execution for some Ω~𝒮𝒮𝒴𝒩𝒞\tilde{\Omega}\in\cal{SSYNC}. However, it is not necessary in general. Suppose that 𝒜\mathcal{A} does not move any robot. Then, the robot system is at its initial configuration II forever, and every execution EE has a similar SSYNC execution E~\tilde{E}, regardless of whether or not EE satisfies each of the five assumptions. We will show the necessity of the five assumptions assuming a randomized adversary that determines rigid movement and when moving robots are observed.

Let τi(j)\tau_{i}(j) in 𝒵0\mathcal{Z}_{0} be the route of rir_{i} computed by 𝒜\mathcal{A} in ωi(j)\omega_{i}(j) given snapshot Pi(j)P_{i}(j) in 𝒵i\mathcal{Z}_{i} as input. We assume that τi(j)\tau_{i}(j) is a simple curve such that |τi(j)|>δ|\tau_{i}(j)|>\delta, where a curve is said to be simple if it does not contain an intersection. Recall that rir_{i} never stops en route if |τi(j)|δ|\tau_{i}(j)|\leq\delta. Otherwise, rir_{i} travels an arbitrary initial part τ^i(j)\hat{\tau}_{i}(j) of τi(j)\tau_{i}(j) such that |τ^i(j)|>δ|\hat{\tau}_{i}(j)|>\delta at an arbitrary (possibly variable) speed during Move in ωi(j)\omega_{i}(j). Thus, another robot rir_{i^{\prime}} can observe rir_{i} at any position yy in τ^i(j)\hat{\tau}_{i}(j) (thus, τi(j)\tau_{i}(j)) at oi(j)o_{i^{\prime}}(j^{\prime}) if riSi(j)r_{i}\in S_{i^{\prime}}(j^{\prime}) and oi(j)(si(j),fi(j))o_{i^{\prime}}(j^{\prime})\in(s_{i}(j),f_{i}(j)).

Intuitively, we assume that τ^i(j)\hat{\tau}_{i}(j) satisfying |τ^i(j)|>δ|\hat{\tau}_{i}(j)|>\delta is chosen “uniformly at random” and that yy is chosen “uniformly at random” from τi(j)\tau_{i}(j) (provided that τ^i(j)=τi(j)\hat{\tau}_{i}(j)=\tau_{i}(j)). Then, we show that if an execution E(Ω,𝒜,I)E\in\mathcal{E}(\Omega,\mathcal{A},I) has a similar execution E~(Ω~,𝒜,I)\tilde{E}\in\mathcal{E}(\tilde{\Omega},\mathcal{A},I) for some Ω~𝒮𝒮𝒴𝒩𝒞\tilde{\Omega}\in\cal{SSYNC}, then EE satisfies each of the five conditions in Assumptions 1, 2, 3, 4, and 5 with “probability” 11.

3.2.1 Stationarity

For a fixed algorithm 𝒜\mathcal{A} and initial configuration II, we show that the stationarity is necessary. To make the argument simple, we assume that the system is rigid. Then, E(Ω,𝒜,I)E\in\mathcal{E}(\Omega,\mathcal{A},I) is uniquely determined by Ω𝒜𝒮𝒴𝒩𝒞\Omega\in\cal{ASYNC} if EE is stationary.

Consider any schedule Ω𝒜𝒮𝒴𝒩𝒞\Omega\in\cal{ASYNC} that contains a unique pair of cycles ωi(j)\omega_{i}(j) and ωi(j)\omega_{i^{\prime}}(j^{\prime}) such that oi(j)(si(j),fi(j))o_{i}(j)\in(s_{i^{\prime}}(j^{\prime}),f_{i^{\prime}}(j^{\prime})). Let τi(j)\tau_{i^{\prime}}(j^{\prime}) be the route (in 𝒵0\mathcal{Z}_{0}) that 𝒜\mathcal{A} at rir_{i^{\prime}} computes given Pi(j)P_{i^{\prime}}(j^{\prime}) (in 𝒵i\mathcal{Z}_{i^{\prime}}). Then, E(Ω,𝒜,I)E\in\mathcal{E}(\Omega,\mathcal{A},I) is uniquely determined by the position yτi(j)y\in\tau_{i^{\prime}}(j^{\prime}) of rir_{i^{\prime}} at oi(j)o_{i}(j) (regardless of whether or not yy is visible from rir_{i} at oi(j)o_{i}(j)). We normalize yy by z=|τ^i(j)|/|τi(j)|[0,1]z=|\hat{\tau}_{i^{\prime}}(j^{\prime})|/|\tau_{i^{\prime}}(j^{\prime})|\in[0,1], where τ^i(j)\hat{\tau}_{i^{\prime}}(j^{\prime}) is the prefix of τi(j)\tau_{i^{\prime}}(j^{\prime}) before (and including) yy. Then, there is a one-to-one correspondence between yτi(j)y\in\tau_{i^{\prime}}(j^{\prime}) and z[0,1]z\in[0,1], because τi(j)\tau_{i^{\prime}}(j^{\prime}) is a simple curve. We use the notation E(z)E(z) to emphasize that EE is determined by zz.

We use a Borel measurable space ([0,1],([0,1]))([0,1],\mathcal{B}([0,1])), where ([0,1])\mathcal{B}([0,1]) is the Borel σ\sigma-algebra on [0,1][0,1], i.e., the smallest σ\sigma-algebra containing all open intervals in [0,1][0,1]. Then, the probability measure λ()\lambda(\cdot) for each element of ([0,1])\mathcal{B}([0,1]) is the (1-dimensional) Lebesgue probability measure on [0,1][0,1], that satisfies, for all intervals (a,b)(a,b) where 0a<b10\leq a<b\leq 1, λ((a,b))=ba\lambda({(a,b)})=b-a. Thus, {[a,a]}\{[a,a]\} and {[a,a],[b,b]}\{[a,a],[b,b]\} are λ\lambda-null sets. In the following, we consider a probability space ([0,1],([0,1]),λ)([0,1],\mathcal{B}([0,1]),\lambda).

Let 𝒴={yτi(j)dist(y,πi(j))1}\mathcal{Y}=\{y\in\tau_{i^{\prime}}(j^{\prime})\mid dist(y,\pi_{i}(j))\leq 1\} be the set of positions yy in τi(j)\tau_{i^{\prime}}(j^{\prime}) visible from rir_{i} at oi(j)o_{i}(j), and let 𝒟\mathcal{D} be the set of zz^{\prime}s corresponding to the yy’s in 𝒴\mathcal{Y}. Then, E(z)E(z) is not stationary if and only if z𝒟z\in\mathcal{D}. Since τi(j)\tau_{i^{\prime}}(j^{\prime}) is continuous, 𝒟([0,1])\mathcal{D}\in\mathcal{B}([0,1]). We assume that the probability that z𝒟z\in\mathcal{D} is λ(𝒟)\lambda(\mathcal{D}). Thus λ(𝒟)=0\lambda(\mathcal{D})=0 means that rir_{i^{\prime}} is not visible from rir_{i} at oi(j)o_{i}(j) and hence the stationarity is not violated with probability 1 (since we assume that the value of zz is chosen uniformly at random from [0,1][0,1]). Here and in the rest of this section, whenever we say that an execution violates a condition, we assume that the condition is violated with positive probability. That is, we assume here that λ(𝒟)>0\lambda(\mathcal{D})>0; the violation occurs with a positive probability.

Lemma 2

Suppose that λ(𝒟)>0\lambda(\mathcal{D})>0. Then, E(z)≁E~(Ω~,𝒜,I)E(z)\not\sim\tilde{E}\in\mathcal{E}(\tilde{\Omega},\mathcal{A},I) for any Ω~𝒮𝒮𝒴𝒩𝒞\tilde{\Omega}\in\cal{SSYNC} λ\lambda-almost everywhere on 𝒟\mathcal{D}, i.e., E(z)E(z) does not have a similar SSYNC execution E~\tilde{E} for all z𝒟z\in\mathcal{D}, except for a countable number of exceptions.

Proof. Clearly, E(z)≁E(z)E(z)\not\sim E(z^{\prime}) if zzz\neq z^{\prime} provided z,z𝒟z,z^{\prime}\in\mathcal{D}. Thus, {E(z)z𝒟}\{E(z)\mid z\in\mathcal{D}\} is uncountable since λ(𝒟)>0\lambda(\mathcal{D})>0.

On the other hand, 𝒮𝒮𝒴𝒩𝒞\cal{SSYNC} is a countable set. Since the system is rigid, E~(Ω~,𝒜,I)\tilde{E}\in\mathcal{E}(\tilde{\Omega},\mathcal{A},I) is uniquely determined by Ω~𝒮𝒮𝒴𝒩𝒞\tilde{\Omega}\in\cal{SSYNC} (because 𝒜\mathcal{A} and II are fixed), {E~(Ω~,𝒜,I)Ω~𝒮𝒮𝒴𝒩𝒞}\{\tilde{E}\in\mathcal{E}(\tilde{\Omega},\mathcal{A},I)\mid\tilde{\Omega}\in\cal{SSYNC}\} is countable. Thus, only for a countable number of executions E(z)E(z), there are similar SSYNC executions E~\tilde{E}. \Box

The above lemma states the following: If the probability that rir_{i^{\prime}} is visible from rir_{i} at oi(j)o_{i}(j) is not 0, then the probability that EE has a similar SSYNC execution E~\tilde{E} is 0, under the condition that rir_{i^{\prime}} is indeed visible from rir_{i} at oi(j)o_{i}(j) and the stationarity is indeed violated.

We extend Lemma 2 to the case in which Ω\Omega contains more than one pair of cycles ωi(j)\omega_{i}(j) and ωi(j)\omega_{i^{\prime}}(j^{\prime}) such that oi(j)(si(j),fi(j))o_{i}(j)\in(s_{i^{\prime}}(j^{\prime}),f_{i^{\prime}}(j^{\prime})). We order the pairs Wh=(ωi(j),ωi(j))W_{h}=(\omega_{i}(j),\omega_{i^{\prime}}(j^{\prime})) of cycles in the increasing order of oi(j)o_{i}(j), where a tie is resolved arbitrarily. We use the concepts and notations above, let yhy_{h} and zhz_{h} be the position of rir_{i^{\prime}} in τi(j)\tau_{i^{\prime}}(j^{\prime}) at oi(j)o_{i}(j) and its normalization, respectively. Let 𝒟h\mathcal{D}_{h} be the set of zhz_{h}’s such that yhy_{h} is visible from πi(j)\pi_{i}(j), i.e., rir_{i^{\prime}} is visible from rir_{i} at oi(j)o_{i}(j). Note that 𝒟h\mathcal{D}_{h} depends on some of z1,z2,,zh1z_{1},z_{2},\ldots,z_{h-1} in general. Since the system is rigid, E(Ω,𝒜,I)E\in\mathcal{E}(\Omega,\mathcal{A},I) is uniquely determined by Z=(z1,z2,)Z=(z_{1},z_{2},\ldots). We use the notation E(Z)E(Z) to emphasize this fact.

Suppose that λ(𝒟h)>0\lambda(\mathcal{D}_{h})>0 in E(Z)E(Z) when zi=aiz_{i}=a_{i} for i=1,2,,h1i=1,2,\ldots,h-1. By assumption the value of zhz_{h} is chosen uniformly at random from [0,1][0,1]. If zhz_{h} randomly chooses a value in 𝒟h\mathcal{D}_{h}, by Lemma 2, regardless of the values chosen for zh+1,zh+2,z_{h+1},z_{h+2},\ldots, E(Z)≁E~(Ω~,𝒜,I)E(Z)\not\sim\tilde{E}\in\mathcal{E}(\tilde{\Omega},\mathcal{A},I) for any Ω~𝒮𝒮𝒴𝒩𝒞\tilde{\Omega}\in\cal{SSYNC} λ\lambda-almost everywhere on 𝒟h\mathcal{D}_{h}, i.e., E(Z)E(Z) does not have a similar SSYNC execution E~\tilde{E} for all zh𝒟z_{h}\in\mathcal{D}, except for a countable number of exceptions.

Thus, if EE violates the stationarity, it is unlikely that EE has a similar SSYNC execution (even under rigid system). In the following, we then assume that EE is stationary, and investigate the non-rigid system.

3.2.2 Pairwise alignment

To treat the non-rigid system, we use an infinite product measure space ([0,1],([0,1]),λ)([0,1]^{\infty},\mathcal{B}^{\infty}([0,1]),\lambda^{\infty}). Here [0,1][0,1]^{\infty} is the Cartesian product of a countable infinity of copies of [0,1][0,1]. The family of events ([0,1])\mathcal{B}^{\infty}([0,1]) is the Cartesian product of a countable infinity of copies of the Borel σ\sigma-field ([0,1])\mathcal{B}([0,1]), which is the σ\sigma-algebra generated by all sets in [0,1][0,1]^{\infty} represented by a finite union of cylinders, where a cylinder is a set in [0,1][0,1]^{\infty} with a form B1×B2×Bni=n+1[0,1]B_{1}\times B_{2}\times\ldots B_{n}\prod_{i=n+1}^{\infty}[0,1] for some natural number nn and Bi([0,1])B_{i}\in\mathcal{B}([0,1]) for all i=1,2,ni=1,2,\ldots n. Finally λ()\lambda^{\infty}(\cdot) is the product measure on ([0,1],([0,1]))([0,1]^{\infty},\mathcal{B}^{\infty}([0,1])), which is defined by λ(B)=i=1λ(Bi)\lambda^{\infty}(B)=\prod_{i=1}^{\infty}\lambda(B_{i}), for all B=B1×B2×([0,1])B=B_{1}\times B_{2}\times\ldots\in\mathcal{B}^{\infty}([0,1]).777 We can construct λ\lambda^{\infty} by the Kolmogorov extension theorem in the same manner as Theorem 2.4.4 of the book [18] by Tao.

Let Φ\Phi be a property (i.e., predicate) on [0,1][0,1]^{\infty} and let Γ={XΦ(X)is true}([0,1])\Gamma=\{X\mid\Phi(X)\ \text{is true}\}\in\mathcal{B}^{\infty}([0,1]). If 𝒟Γ\mathcal{D}\setminus\Gamma is a λ\lambda^{\infty}-null set for 𝒟([0,1])\mathcal{D}\in\mathcal{B}^{\infty}([0,1]), we say that Φ\Phi holds λ\lambda^{\infty}-almost everywhere on 𝒟\mathcal{D}, which means that Φ\Phi holds with probability 11 under λ\lambda^{\infty} on 𝒟\mathcal{D}.

We associate a random variable ymy_{m} with the mmth dimension of [0,1][0,1]^{\infty}. If in 𝒟([0,1])\mathcal{D}\in\mathcal{B}^{\infty}([0,1]), there is a finite set {i1,i2,,ik}𝐍\{i_{1},i_{2},\ldots,i_{k}\}\subset{\mathbf{N}} such that yiky_{i_{k}} is uniquely determined by yi1,yi2,,yik1y_{i_{1}},y_{i_{2}},\ldots,y_{i_{k}-1}, then λ(𝒟)=0\lambda^{\infty}(\mathcal{D})=0.

Let Ω𝒜𝒮𝒴𝒩𝒞\Omega\in\cal{ASYNC} be any schedule and consider E(Ω,𝒜,I)E\in\mathcal{E}(\Omega,\mathcal{A},I). Suppose that in cycle ωi(j)\omega_{i}(j), a robot rir_{i}, which is located at πi(j)\pi_{i}(j) (in 𝒵0\mathcal{Z}_{0}) at time oi(j)o_{i}(j), takes a snapshot Pi(j)P_{i}(j) (in 𝒵i\mathcal{Z}_{i}), computes a route τi(j)\tau_{i}(j) (in 𝒵0\mathcal{Z}_{0}) by 𝒜\mathcal{A}, and moves along τi(j)\tau_{i}(j) in its Move. Since the system is not rigid, it may stop en route after tracing an initial part τ^i(j)\hat{\tau}_{i}(j) of τi(j)\tau_{i}(j) such that |τ^i(j)|δ|\hat{\tau}_{i}(j)|\geq\delta. Then, the end point of τ^i(j)\hat{\tau}_{i}(j) is πi(j+1)\pi_{i}(j+1) of rir_{i} when ωi(j+1)\omega_{i}(j+1) starts. Thus, τ^i(j)\hat{\tau}_{i}(j) may affect the rest of execution including πi(j+1)\pi_{i}(j+1) and τi(j+1)\tau_{i}(j+1).

The initial part τ^i(j)\hat{\tau}_{i}(j) can be denoted by a real number zi(j)[0,1]z_{i}(j)\in[0,1], i.e., zi(j)z_{i}(j) represents τ^i(j)\hat{\tau}_{i}(j) such that |τ^i(j)|=|τi(j)|zi(j)δ(zi(j)1)|\hat{\tau}_{i}(j)|=|\tau_{i}(j)|z_{i}(j)-\delta(z_{i}(j)-1). Here zi(j)z_{i}(j) is well-defined, since τi(j)\tau_{i}(j) is a simple curve and |τi(j)|>δ|\tau_{i}(j)|>\delta. Since the system is non-rigid, any value zi(j)[0,1]z_{i}(j)\in[0,1] can occur, as assumed. More carefully, each of zi(j)z_{i}(j)’s takes a value in [0,1][0,1] uniformly at random, and the probability that zi(j)Bz_{i}(j)\in B is λ(B)\lambda(B) for any B([0,1])B\in\mathcal{B}([0,1]).

We order zi(j)z_{i}(j) in the increasing order of oi(j)o_{i}(j), where a tie is broken arbitrarily, and fix the ordering. By associating the mmth zi(j)z_{i}(j) with the mmth variable z(m)z^{(m)}, we identify Z={zi(j)ri,j𝐍}Z=\{z_{i}(j)\mid r_{i}\in\mathcal{R},j\in{\mathbf{N}}\} with an infinite vector (z(1),z(2),)[0,1](z^{(1)},z^{(2)},\ldots)\in[0,1]^{\infty}. Then, EE is determined uniquely by Z[0,1]Z\in[0,1]^{\infty} since EE is stationary. We use notation E(Z)E(Z) to emphasize that EE is determined by ZZ. It is easy to observe that Z=ZZ=Z^{\prime} if and only if E(Z)E(Z)E(Z)\sim E(Z^{\prime}).

Suppose that E(Z)(Ω,𝒜,I)E(Z)\in\mathcal{E}(\Omega,\mathcal{A},I) contains a unique triple of cycles ωi(j)\omega_{i}(j), ωi(j)\omega_{i^{\prime}}(j^{\prime}), and ωi(j+1)\omega_{i^{\prime}}(j^{\prime}+1) such that ωi(j)\omega_{i}(j) and ωi(j+)\omega_{i^{\prime}}(j^{\prime}+\ell) overlap each other and rir_{i} and rir_{i^{\prime}} are mutually visible for =0,1\ell=0,1. Thus, E(Z)E(Z) does not satisfy the pairwise alignment condition. Let 𝒟\mathcal{D} be the set of ZZ’s such that E(Z)E(Z) does not satisfy the pairwise alignment condition. We assume λ(𝒟)>0\lambda^{\infty}(\mathcal{D})>0 by the same reason we mentioned immediately above Lemma 2.

Lemma 3

Suppose that λ(𝒟)>0\lambda^{\infty}(\mathcal{D})>0. Then, E(Z)E(Z) does not have a similar execution E~(Ω~,𝒜,I)\tilde{E}\in\mathcal{E}(\tilde{\Omega},\mathcal{A},I) for any Ω𝒮𝒮𝒴𝒩𝒞\Omega\in\cal{SSYNC} λ\lambda^{\infty}-almost everywhere on 𝒟\mathcal{D}.

Proof. Let Γ\Gamma be the set of vectors Z𝒟Z\in\mathcal{D} such that E(Z)E(Z) has a similar SSYNC execution E~\tilde{E}. We show that λ(Γ)=0\lambda^{\infty}(\Gamma)=0.

Suppose that E(Z)E(Z) has a similar SSYNC execution E~(Ω~,𝒜,I)\tilde{E}\in\mathcal{E}(\tilde{\Omega},\mathcal{A},I) for some Ω~𝒮𝒮𝒴𝒩𝒞\tilde{\Omega}\in\cal{SSYNC}. Let k=o~i(j)k=\tilde{o}_{i}(j), k=o~i(j)k^{\prime}=\tilde{o}_{i^{\prime}}(j^{\prime}), and k′′=o~i(j+1)k^{\prime\prime}=\tilde{o}_{i^{\prime}}(j^{\prime}+1), where k<k′′k^{\prime}<k^{\prime\prime}. We have the following four cases: (i) k<kk′′k^{\prime}<k\leq k^{\prime\prime}, (ii) kk<k′′k^{\prime}\leq k<k^{\prime\prime}, (iii) k<k′′<kk^{\prime}<k^{\prime\prime}<k, and (iv) k<k<k′′k<k^{\prime}<k^{\prime\prime}.

When k<kk′′k^{\prime}<k\leq k^{\prime\prime} At oi(j)o_{i}(j), rir_{i} is at πi(j)\pi_{i}(j) and rir_{i^{\prime}} is at πi(j)\pi_{i^{\prime}}(j^{\prime}) in E(Z)E(Z), and at k=o~i(j)k=\tilde{o}_{i}(j), rir_{i} is at π~i(j)(=πi(j))\tilde{\pi}_{i}(j)(=\pi_{i}(j)) and rir_{i^{\prime}} is at π~i(j+1)(=πi(j+1))\tilde{\pi}_{i^{\prime}}(j^{\prime}+1)(=\pi_{i^{\prime}}(j^{\prime}+1)) in E~(Z)\tilde{E}(Z). Since Pi(j)=P~i(j)P_{i}(j)=\tilde{P}_{i}(j), πi(j)πi(j+1)\pi_{i^{\prime}}(j^{\prime})\neq\pi_{i^{\prime}}(j^{\prime}+1), E(Z)E(Z) does not have a similar SSYNC execution EE, since rir_{i^{\prime}} moves at least distance δ\delta and τi(j)\tau_{i^{\prime}}(j^{\prime}) is simple.

When kk<k′′k^{\prime}\leq k<k^{\prime\prime} By the argument above, E(Z)E(Z) does not have a similar SSYNC execution E~\tilde{E} unless k=kk^{\prime}=k. Let 1\ell\geq 1 be the minimum integer such that o~i(j+)k′′\tilde{o}_{i}(j+\ell)\geq k^{\prime\prime}. At oi(j+1)o_{i^{\prime}}(j^{\prime}+1), rir_{i} is at πi(j)\pi_{i}(j) and rir_{i^{\prime}} is at πi(j+1)\pi_{i^{\prime}}(j^{\prime}+1) in E(Z)E(Z), and at k′′=o~i(j+1)k^{\prime\prime}=\tilde{o}_{i^{\prime}}(j^{\prime}+1), rir_{i} is at π~i(j+)(=πi(j+))\tilde{\pi}_{i}(j+\ell)(=\pi_{i}(j+\ell)) and rir_{i^{\prime}} is at π~i(j+1)(=πi(j+1))\tilde{\pi}_{i^{\prime}}(j^{\prime}+1)(=\pi_{i^{\prime}}(j^{\prime}+1)) in E(Z)E(Z). Since Pi(j+1)=P~i(j+1)P_{i^{\prime}}(j^{\prime}+1)=\tilde{P}_{i^{\prime}}(j^{\prime}+1), πi(j)=πi(j+)\pi_{i}(j)=\pi_{i}(j+\ell). That is, zi(j+1)z_{i}(j+\ell-1) is uniquely determined by πi(j+1)\pi_{i}(j+\ell-1). (If there is no such zi(j+1)z_{i}(j+\ell-1), E(Z)E(Z) does not have a similar SSYNC execution E~\tilde{E}.) Thus, λ(Γ)=0\lambda^{\infty}(\Gamma)=0.

When k<k′′<kk^{\prime}<k^{\prime\prime}<k Let \ell be the minimum integer such that o~i(j+1+)k\tilde{o}_{i^{\prime}}(j^{\prime}+1+\ell)\geq k. By the same argument above, we have πi(j)=πi(j+1+)\pi_{i^{\prime}}(j^{\prime})=\pi_{i^{\prime}}(j^{\prime}+1+\ell). That is, zi(j+)z_{i^{\prime}}(j^{\prime}+\ell) must be uniquely determined by πi(j+)\pi_{i^{\prime}}(j^{\prime}+\ell). (If there is no such zi(j+)z_{i^{\prime}}(j^{\prime}+\ell), E(Z)E(Z) does not have a similar SSYNC execution E~\tilde{E}.) Thus, λ(Γ)=0\lambda^{\infty}(\Gamma)=0.

When k<k<k′′k<k^{\prime}<k^{\prime\prime} By the same argument above, we have λ(Γ)=0\lambda^{\infty}(\Gamma)=0.

Thus, the proof completes. \Box

In order for ZZ to be in 𝒟\mathcal{D}, E(Z)E(Z) needs to satisfy both riSi(j)r_{i^{\prime}}\in S_{i}(j) and riSi(j+1)r_{i}\in S_{i^{\prime}}(j^{\prime}+1), or equivalently, dist(πi(j),πi(j))1dist(\pi_{i}(j),\pi_{i^{\prime}}(j^{\prime}))\leq 1 and dist(πi(j),πi(j+1))1dist(\pi_{i}(j),\pi_{i^{\prime}}(j^{\prime}+1))\leq 1. However, unlike the proof for stationarity, λ(𝒟)>0\lambda^{\infty}(\mathcal{D})>0 does not follow in general, since there may be a pair of an algorithm 𝒜\mathcal{A} and an initial configuration II such that for any Z[0,1]Z\in[0,1]^{\infty}, in E(Z)E(Z), either riSi(j)r_{i^{\prime}}\not\in S_{i}(j) or riSi(j+1)r_{i}\not\in S_{i^{\prime}}(j^{\prime}+1) holds. If λ(𝒟)=0\lambda^{\infty}(\mathcal{D})=0, E(Z)E(Z) satisfies the pairwise alignment condition with probability 11, and we do not consider (Ω,𝒜,I)\mathcal{E}(\Omega,\mathcal{A},I) as an instance that does not satisfy the pairwise alignment condition, even though there is a Z[0,1]Z\in[0,1]^{\infty} such that riSi(j)r_{i^{\prime}}\in S_{i(j)} and riSi(j+1)r_{i}\in S_{i^{\prime}}(j^{\prime}+1) in E(Z)E(Z).

Note that the same claim as Lemma 3 holds for E(Z)E(Z) such that there are more than one triple ωi(j)\omega_{i}(j), ωi(j)\omega_{i^{\prime}}(j^{\prime}), and ωi(j+1)\omega_{i^{\prime}}(j^{\prime}+1) that violates the pairwise alignment condition. Suppose that E(Z)(Ω,𝒜,I)E(Z)\in\mathcal{E}(\Omega,\mathcal{A},I) contains a pair of cycles ωi(j)\omega_{i}(j) and ωi(j)\omega_{i^{\prime}}(j^{\prime}) such that ωi(j)ωi(j)\omega_{i}(j)\parallel\omega_{i^{\prime}}(j^{\prime}). Let 𝒟\mathcal{D} be the set of ZZ’s such that E(Z)E(Z) satisfies this condition.

Proposition 5

Suppose that λ(𝒟)>0\lambda^{\infty}(\mathcal{D})>0. If E(Z)E(Z) has a similar execution E~(Ω,𝒜,I)\tilde{E}\in\mathcal{E}(\Omega,\mathcal{A},I) for some Ω~𝒮𝒮𝒴𝒩𝒞\tilde{\Omega}\in\cal{SSYNC}, then o~i(j)=o~i(j)\tilde{o}_{i}(j)=\tilde{o}_{i^{\prime}}(j^{\prime}) λ\lambda^{\infty}-almost everywhere on 𝒟\mathcal{D}.

Proof. Let Γ\Gamma be the set of vectors Z𝒟Z\in\mathcal{D} such that there is a Ω~𝒮𝒮𝒴𝒩𝒞\tilde{\Omega}\in\cal{SSYNC} satisfying

  1. 1.

    o~i(j)o~i(j)\tilde{o}_{i}(j)\neq\tilde{o}_{i^{\prime}}(j^{\prime}), and

  2. 2.

    E(Z)E~(Ω,𝒜,I)E(Z)\sim\tilde{E}\in\mathcal{E}(\Omega,\mathcal{A},I).

Then, by the same argument in the proof of Lemma 3, we have λ(Γ)=0\lambda^{\infty}(\Gamma)=0. \Box

3.2.3 Consistency

Throughout this section, we assume that E(Z)(Ω,𝒜,I)E(Z)\in\mathcal{E}(\Omega,\mathcal{A},I) contains a pair of cycles ωi(j)\omega_{i}(j) and ωi(j)\omega_{i^{\prime}}(j^{\prime}) such that ωi(j)ωi(j)\omega_{i}(j)\stackrel{{\scriptstyle*}}{{\parallel}}\omega_{i^{\prime}}(j^{\prime}), and that E(Z)E(Z) has a similar execution E~(Ω~,𝒜,I)\tilde{E}\in\mathcal{E}(\tilde{\Omega},\mathcal{A},I) for some Ω~𝒮𝒮𝒴𝒩𝒞\tilde{\Omega}\in\cal{SSYNC}. Let 𝒟\mathcal{D} be the set of ZZ’s such that E(Z)E(Z) satisfies this condition.

Lemma 4

Suppose that λ(𝒟)>0\lambda^{\infty}(\mathcal{D})>0. If E(Z)(Ω,𝒜,I)E(Z)\in\mathcal{E}(\Omega,\mathcal{A},I) which contains a pair of cycles ωi(j)\omega_{i}(j) and ωi(j)\omega_{i^{\prime}}(j^{\prime}) such that ωi(j)ωi(j)\omega_{i}(j)\stackrel{{\scriptstyle*}}{{\parallel}}\omega_{i^{\prime}}(j^{\prime}) holds has a similar execution E~(Ω~,𝒜,I)\tilde{E}\in\mathcal{E}(\tilde{\Omega},\mathcal{A},I) for some Ω~𝒮𝒮𝒴𝒩𝒞\tilde{\Omega}\in\cal{SSYNC}, then o~i(j)=o~i(j)\tilde{o}_{i}(j)=\tilde{o}_{i^{\prime}}(j^{\prime}) λ\lambda^{\infty}-almost everywhere on 𝒟\mathcal{D}.

Proof. Since ωi(j)ωi(j)\omega_{i}(j)\stackrel{{\scriptstyle*}}{{\parallel}}\omega_{i^{\prime}}(j^{\prime}), there are cycles ωi(j)\omega_{i_{\ell}}(j_{\ell}) (=0,1,,m\ell=0,1,\ldots,m) such that (i0,j0)=(i,j)(i_{0},j_{0})=(i,j) and (im,jm)=(i,j)(i_{m},j_{m})=(i^{\prime},j^{\prime}), and ωi1(j1)ωi(j)\omega_{i_{\ell-1}}(j_{\ell-1})\parallel\omega_{i_{\ell}}(j_{\ell}) for all =1,2,,m\ell=1,2,\ldots,m. By Proposition 5, if E(Z)E(Z) has a similar SSYNC execution E~\tilde{E}, then, for =1,2,,m\ell=1,2,\ldots,m, o~i1(j1)=o~i(j)\tilde{o}_{i_{\ell-1}}(j_{\ell-1})=\tilde{o}_{i_{\ell}}(j_{\ell}) λ\lambda^{\infty}-almost everywhere on 𝒟\mathcal{D}, which implies that o~i(j)=o~i(j)\tilde{o}_{i}(j)=\tilde{o}_{i^{\prime}}(j^{\prime}) λ\lambda^{\infty}-almost everywhere on 𝒟\mathcal{D}. \Box

Lemma 5

Suppose that λ(𝒟)>0\lambda^{\infty}(\mathcal{D})>0. If E(Z)E(Z) has a similar execution E~(Ω~,𝒜,I)\tilde{E}\in\mathcal{E}(\tilde{\Omega},\mathcal{A},I) for some Ω~𝒮𝒮𝒴𝒩𝒞\tilde{\Omega}\in\cal{SSYNC}, then riSi(j)r_{i^{\prime}}\in S_{i}(j) if and only if riSi(j)r_{i}\in S_{i^{\prime}}(j^{\prime}), λ\lambda^{\infty}-almost everywhere on 𝒟\mathcal{D}.

Proof. Since λ(𝒟)>0\lambda^{\infty}(\mathcal{D})>0, E(Z)E(Z) has a similar execution E~(Ω~,𝒜,I)\tilde{E}\in\mathcal{E}(\tilde{\Omega},\mathcal{A},I) for some Ω~𝒮𝒮𝒴𝒩𝒞\tilde{\Omega}\in\cal{SSYNC} such that o~i(j)=o~i(j)\tilde{o}_{i}(j)=\tilde{o}_{i^{\prime}}(j^{\prime}) λ\lambda^{\infty}-almost everywhere on 𝒟\mathcal{D} by Lemma 4.

Suppose that oi(j)<oi(j)o_{i^{\prime}}(j^{\prime})<o_{i}(j). Let ωi(j+1)\omega_{i^{\prime}}(j^{\prime}+\ell^{\prime}-1) (resp. ωi(j1)\omega_{i}(j-\ell-1)) be the cycle of rir_{i^{\prime}} (resp. rir_{i}) such that πi(j+)\pi_{i^{\prime}}(j^{\prime}+\ell^{\prime}) (resp. πi(j+)\pi_{i}(j+\ell)) be the position of rir_{i^{\prime}} (resp. rir_{i}) at oi(j)o_{i}(j) (resp. oi(j)o_{i^{\prime}}(j^{\prime})). Since πi(j)=π~i(j)\pi_{i}(j)=\tilde{\pi}_{i}(j), πi(j)=π~i(j)\pi_{i}(j-\ell)=\tilde{\pi}_{i}(j-\ell), πi(j)=π~i(j)\pi_{i^{\prime}}(j^{\prime})=\tilde{\pi}_{i^{\prime}}(j^{\prime}), πi(j+)=π~i(j+)\pi_{i^{\prime}}(j^{\prime}+\ell)=\tilde{\pi}_{i^{\prime}}(j^{\prime}+\ell), πi(j)=π~i(j)\pi_{i}(j)=\tilde{\pi}_{i}(j-\ell), and πi(j)=π~i(j+)\pi_{i^{\prime}}(j^{\prime})=\tilde{\pi}_{i^{\prime}}(j^{\prime}+\ell), provided that o~i(j)=o~i(j)\tilde{o}_{i}(j)=\tilde{o}_{i^{\prime}}(j^{\prime}). Obviously, the set of Z𝒟Z\in\mathcal{D} satisfying πi(j)=πi(j)\pi_{i}(j)=\pi_{i}(j-\ell) (resp. πi(j)=πi(j+)\pi_{i^{\prime}}(j^{\prime})=\pi_{i^{\prime}}(j^{\prime}+\ell^{\prime})) is the λ\lambda^{\infty}-null set when >0\ell>0 (resp. >0\ell^{\prime}>0). Thus, riSi(j)r_{i^{\prime}}\in S_{i}(j) if and only if riSi(j)r_{i}\in S_{i^{\prime}}(j^{\prime}) λ\lambda^{\infty}-almost everywhere on 𝒟\mathcal{D}.

The case oi(j)>oi(j)o_{i^{\prime}}(j^{\prime})>o_{i}(j) is analogous and the case oi(j)=oi(j)o_{i^{\prime}}(j^{\prime})=o_{i}(j) is trivial. \Box

By the proof of above lemma, we have the following corollary.

Corollary 1

Suppose that λ(𝒟)>0\lambda^{\infty}(\mathcal{D})>0. If E(Z)E(Z) has a similar execution E~(Ω~,𝒜,I)\tilde{E}\in\mathcal{E}(\tilde{\Omega},\mathcal{A},I) for some Ω~𝒮𝒮𝒴𝒩𝒞\tilde{\Omega}\in\cal{SSYNC}, and riSi(j)r_{i^{\prime}}\in S_{i}(j) and riSi(j)r_{i}\in S_{i^{\prime}}(j^{\prime}) hold, then ωi(j)ωi(j)\omega_{i}(j)\parallel\omega_{i^{\prime}}(j^{\prime}) λ\lambda^{\infty}-almost everywhere on 𝒟\mathcal{D}.

Lemma 6

Suppose that λ(𝒟)>0\lambda^{\infty}(\mathcal{D})>0. If E(Z)E(Z) has a similar execution E~(Ω~,𝒜,I)\tilde{E}\in\mathcal{E}(\tilde{\Omega},\mathcal{A},I) for some Ω~𝒮𝒮𝒴𝒩𝒞\tilde{\Omega}\in\cal{SSYNC}, and riSi(j)r_{i^{\prime}}\not\in S_{i}(j) and riSi(j)r_{i}\not\in S_{i^{\prime}}(j^{\prime}) hold, then dist(πi(j),πi(j))>1dist(\pi_{i}(j),\pi_{i^{\prime}}(j^{\prime}))>1 λ\lambda^{\infty}-almost everywhere on 𝒟\mathcal{D}.

Proof. Since λ(𝒟)>0\lambda^{\infty}(\mathcal{D})>0, E(Z)E(Z) has a similar execution E~(Ω~,𝒜,I)\tilde{E}\in\mathcal{E}(\tilde{\Omega},\mathcal{A},I) for some Ω~𝒮𝒮𝒴𝒩𝒞\tilde{\Omega}\in\cal{SSYNC}, such that o~i(j)=o~i(j)\tilde{o}_{i}(j)=\tilde{o}_{i^{\prime}}(j^{\prime}) λ\lambda^{\infty}-almost everywhere on 𝒟\mathcal{D} by Lemma 4.

If dist(πi(j),πi(j))1dist(\pi_{i}(j),\pi_{i^{\prime}}(j^{\prime}))\leq 1, since πi(j)=π~i(j)\pi_{i}(j)=\tilde{\pi}_{i}(j), πi(j)=π~i(j)\pi_{i^{\prime}}(j^{\prime})=\tilde{\pi}_{i^{\prime}}(j^{\prime}), and o~i(j)=o~i(j)\tilde{o}_{i}(j)=\tilde{o}_{i^{\prime}}(j^{\prime}) λ\lambda^{\infty}-almost everywhere on 𝒟\mathcal{D}, there is a robot ri′′r_{i^{\prime\prime}} and cycle ωi′′(j′′)\omega_{i^{\prime\prime}}(j^{\prime\prime}) such that ri′′r_{i^{\prime\prime}} is at position πi(j)\pi_{i^{\prime}}(j^{\prime}) at time oi(j)o_{i}(j), since Pi(j)=P~i(j)P_{i}(j)=\tilde{P}_{i}(j). Such event does not occur λ\lambda^{\infty}-almost everywhere on 𝒟\mathcal{D}. Thus, dist(πi(j),πi(j))>1dist(\pi_{i}(j),\pi_{i^{\prime}}(j^{\prime}))>1 λ\lambda^{\infty}-almost everywhere on 𝒟\mathcal{D}. \Box

3.2.4 Serializability

Lemma 7

If E(Z)(Ω,𝒜,I)E(Z)\in\mathcal{E}(\Omega,\mathcal{A},I) which contains a pair of cycles ωi(j)\omega_{i}(j) and ωi(j)\omega_{i^{\prime}}(j^{\prime}) such that ωi(j)ωi(j)\omega_{i}(j)\rightarrow\omega_{i^{\prime}}(j^{\prime}) holds has a similar execution E~(Ω,𝒜,I)\tilde{E}\in\mathcal{E}(\Omega,\mathcal{A},I) for some Ω~𝒮𝒮𝒴𝒩𝒞\tilde{\Omega}\in\cal{SSYNC}, then o~i(j)<o~i(j)\tilde{o}_{i}(j)<\tilde{o}_{i^{\prime}}(j^{\prime}) λ\lambda^{\infty}-almost everywhere on 𝒟\mathcal{D}.

Proof. If i=ii=i^{\prime}, since j<jj<j^{\prime}, o~i(j)<o~i(j)\tilde{o}_{i}(j)<\tilde{o}_{i^{\prime}}(j^{\prime}) by definition.

Suppose that iii\neq i^{\prime}. Then, riSi(j)r_{i}\in S_{i^{\prime}}(j^{\prime}) and oi(j)(fi(j),oi(j+1))o_{i^{\prime}}(j^{\prime})\in(f_{i}(j),o_{i}(j+1)). Then, by a similar argument in the proof of Lemma 3, E(Z)E(Z) does not have a similar execution E~(Ω,𝒜,I)\tilde{E}\in\mathcal{E}(\Omega,\mathcal{A},I) for any Ω~𝒮𝒮𝒴𝒩𝒞\tilde{\Omega}\in\cal{SSYNC} such that o~i(j)>o~i(j)\tilde{o}_{i}(j)>\tilde{o}_{i^{\prime}}(j^{\prime}) λ\lambda^{\infty}-almost everywhere on 𝒟\mathcal{D}. \Box

The following corollary immediately holds by Lemma 4 and Lemma 7.

Corollary 2

If E(Z)E(Z) does not satisfy the serializability, then E(Z)E(Z) does not have a similar execution E~(Ω~,𝒜,I)\tilde{E}\in\mathcal{E}(\tilde{\Omega},\mathcal{A},I) for any Ω~𝒮𝒮𝒴𝒩𝒞\tilde{\Omega}\in\cal{SSYNC} λ\lambda^{\infty}-almost everywhere on 𝒟\mathcal{D}.

3.2.5 Naturality

Recall that 𝒢=({Ω0,Ω1,},)\mathcal{G}=(\{\Omega_{0},\Omega_{1},\ldots\},\Rightarrow) and the set 𝒯\mathcal{T} of topological sorts of 𝒢\mathcal{G} are determined by execution E(Z)(Ω,𝒜,I)E(Z)\in\mathcal{E}(\Omega,\mathcal{A},I). We sometimes associate E(Z)E(Z) with 𝒢\mathcal{G} and 𝒯\mathcal{T} to emphasize that they are uniquely determined by E(Z)E(Z). Let 𝒯𝒮(E(Z))(𝒮𝒮𝒴𝒩𝒞)\mathcal{TS}(E(Z))(\subset\cal{SSYNC}) be the set of schedules constructed from topological sorts in 𝒯(E(Z))\mathcal{T}(E(Z)). By Lemma 4 and Lemma 7, if E~(Ω~,𝒜,I)\tilde{E}\in\mathcal{E}(\tilde{\Omega},\mathcal{A},I) is similar to E(Z)(Ω,𝒜,I)E(Z)\in\mathcal{E}(\Omega,\mathcal{A},I), then Ω~𝒯𝒮(E(Z))\tilde{\Omega}\in\mathcal{TS}(E(Z)) λ\lambda^{\infty}-almost everywhere on 𝒟\mathcal{D}, provided that λ(𝒟)>0\lambda^{\infty}(\mathcal{D})>0. Here 𝒟\mathcal{D} is the set of U[0,1]U\in[0,1]^{\infty} such that 𝒢(E(U))=𝒢(E(Z))\mathcal{G}(E(U))=\mathcal{G}(E(Z)).

Consider any schedule Ω~𝒯𝒮(E(Z))\tilde{\Omega}\in\mathcal{TS}(E(Z)). Suppose that there is a pair of cycles ωi(j)\omega_{i}(j) and ωi(j)\omega_{i^{\prime}}(j^{\prime}) such that kk<k′′k^{\prime}\leq k<k^{\prime\prime}, where, under Ω~\tilde{\Omega}, o~i(j)=k\tilde{o}_{i}(j)=k, o~i(j1)=k\tilde{o}_{i^{\prime}}(j^{\prime}-1)=k^{\prime}, and o~i(j)=k′′\tilde{o}_{i^{\prime}}(j^{\prime})=k^{\prime\prime}. Obviously, ωi(j)ωi(j)\omega_{i}(j)\not\stackrel{{\scriptstyle*}}{{\parallel}}\omega_{i^{\prime}}(j^{\prime}).

First assume that riSi(j)r_{i^{\prime}}\in S_{i}(j) in E(Z)E(Z), and let 𝒟𝒟\mathcal{D^{\prime}}\subseteq\mathcal{D} be the set of Z𝒟Z\in\mathcal{D} such that E(Z)E(Z) satisfies this condition.

Lemma 8

Suppose that λ(𝒟)>0\lambda^{\infty}(\mathcal{D^{\prime}})>0. If E(Z)E(Z) has a similar execution E~(Ω,𝒜,I)\tilde{E}\in\mathcal{E}(\Omega,\mathcal{A},I), then oi(j)<oi(j)o_{i}(j)<o_{i^{\prime}}(j^{\prime}) λ\lambda^{\infty}-almost everywhere on 𝒟\mathcal{D^{\prime}}.

Proof. By definition, rir_{i^{\prime}} is at position π~i(j)\tilde{\pi}_{i^{\prime}}(j^{\prime}) at time o~i(j)=k\tilde{o}_{i}(j)=k in E~\tilde{E}. Since ωi(j)ωi(j)\omega_{i}(j)\not\stackrel{{\scriptstyle*}}{{\parallel}}\omega_{i^{\prime}}(j^{\prime}), oi(j)oi(j)o_{i}(j)\neq o_{i^{\prime}}(j^{\prime}). Suppose that oi(j)>oi(j)o_{i}(j)>o_{i^{\prime}}(j^{\prime}). There is a cycle ωi(j+)\omega_{i^{\prime}}(j^{\prime}+\ell^{\prime}) such that rir_{i^{\prime}} is at πi(j+)\pi_{i^{\prime}}(j^{\prime}+\ell^{\prime}) at oi(j)o_{i}(j) for some 1\ell^{\prime}\geq 1. Since πi(j)=π~i(j)\pi_{i}(j)=\tilde{\pi}_{i}(j), Pi(j)=P~i(j)P_{i}(j)=\tilde{P}_{i}(j), and riSi(j)r_{i^{\prime}}\in S_{i}(j), there is a robot ri′′r_{i^{\prime\prime}} (which may be rir_{i^{\prime}}) and a cycle ωi′′(j′′)\omega_{i^{\prime\prime}}(j^{\prime\prime}) such that π~i′′(j′′)=πi(j+)\tilde{\pi}_{i^{\prime\prime}}(j^{\prime\prime})=\pi_{i^{\prime}}(j^{\prime}+\ell^{\prime}). Thus, E(Z)E(Z) does not have a similar execution E~(Ω~,𝒜,I)\tilde{E}\in\mathcal{E}(\tilde{\Omega},\mathcal{A},I) λ\lambda^{\infty}-almost everywhere on 𝒟\mathcal{D^{\prime}}. \Box

Next assume that riSi(j)r_{i^{\prime}}\not\in S_{i}(j) in E(Z)E(Z), and let 𝒟′′𝒟\mathcal{D}^{\prime\prime}\subseteq\mathcal{D} be the set of Z𝒟Z\in\mathcal{D} such that E(Z)E(Z) satisfies this condition.

Lemma 9

Suppose that λ(𝒟′′)>0\lambda^{\infty}(\mathcal{D^{\prime\prime}})>0. If E(Z)E(Z) has a similar execution E~(Ω,𝒜,I)\tilde{E}\in\mathcal{E}(\Omega,\mathcal{A},I), then dist(πi(j),πi(j))>1dist(\pi_{i}(j),\pi_{i^{\prime}}(j^{\prime}))>1 λ\lambda^{\infty}-almost everywhere on 𝒟′′\mathcal{D^{\prime\prime}}.

Proof. Suppose that dist(πi(j),πi(j))1dist(\pi_{i}(j),\pi_{i^{\prime}}(j^{\prime}))\leq 1. Since rir_{i^{\prime}} is at π~i(j)\tilde{\pi}_{i^{\prime}}(j^{\prime}) at o~i(j)=k\tilde{o}_{i}(j)=k in E~\tilde{E}, π~i(j)=πi(j)\tilde{\pi}_{i^{\prime}}(j^{\prime})=\pi_{i^{\prime}}(j^{\prime}) and π~i(j)=πi(j)\tilde{\pi}_{i}(j)=\pi_{i}(j), riS~i(j)r_{i^{\prime}}\in\tilde{S}_{i}(j). There is a robot ri′′r_{i^{\prime\prime}} for some i′′(i)i^{\prime\prime}(\neq i) and a cycle ωi′′(j′′)\omega_{i^{\prime\prime}}(j^{\prime\prime}) such that ri′′r_{i^{\prime\prime}} is at πi(j)\pi_{i^{\prime}}(j^{\prime}) at oi(j)o_{i}(j) in E(Z)E(Z), since P~i(j)=Pi(j)\tilde{P}_{i}(j)=P_{i}(j). Thus, E(Z)E(Z) does not have a similar execution E~(Ω~,𝒜,I)\tilde{E}\in\mathcal{E}(\tilde{\Omega},\mathcal{A},I) λ\lambda^{\infty}-almost everywhere on 𝒟′′\mathcal{D^{\prime\prime}}. \Box

Consequently, we have the following theorem.

Theorem 10

Each of the five properties, stationarity, pairwise alignment, consistency, serializability, and naturality is necessary for an execution E(Z)(Ω,𝒜,I)E(Z)\in\mathcal{E}(\Omega,\mathcal{A},I) to have a similar execution E~(Ω~,𝒜,I)\tilde{E}\in\mathcal{E}(\tilde{\Omega},\mathcal{A},I) for some schedule Ω~𝒮𝒮𝒴𝒩𝒞\tilde{\Omega}\in\cal{SSYNC} with probability 11.

4 Luminous synchronizer for ASYNC robots

In this section, we present a synchronizer for oblivious luminous ASYNC robots, that produces ASYNC executions satisfying Assumptions 1, 2, 3, 4, and 5. When the robots are not equipped with lights, each robot cannot recognize which robots are moving. We compensate for this weak capability by a single light at each robot.888 Remember that the color of a light is changed at the end of a Compute, and it is kept until the end of the Compute of the next cycle.

Let CC be the set of colors that a light can take. Each light initially takes Black (BkCBk\in C). When robot rir_{i} takes a snapshot QiQ_{i} at time tt, QiQ_{i} is the set of pairs (pi,ci)(p_{i^{\prime}},c_{i^{\prime}}) for each rir_{i^{\prime}} visible for rir_{i} at tt, where pip_{i^{\prime}} is the the position of rir_{i^{\prime}} at tt in 𝒵i\mathcal{Z}_{i} and cic_{i^{\prime}} is the color of rir_{i^{\prime}}’s light at tt. Let P(Qi)={pi(pi,ci)Qi}P(Q_{i})=\{p_{i^{\prime}}\mid(p_{i^{\prime}},c_{i^{\prime}})\in Q_{i}\}, and C(Qi)={ci(pi,ci)Qi}C(Q_{i})=\{c_{i^{\prime}}\mid(p_{i^{\prime}},c_{i^{\prime}})\in Q_{i}\}. That is, P(Qi)P(Q_{i}) is the set of positions occupied by robots visible for rir_{i} in 𝒵i\mathcal{Z}_{i}, and C(Qi)C(Q_{i}) is the set of colors visible for rir_{i}. Recall that rir_{i} is aware of its color, i.e., the color of its light cic_{i} since pi=(0,0)p_{i}=(0,0) and the robots occupy distinct points.

For an initial configuration II of the system of non-luminous robots, let I^={(p,Bk)pI}\hat{I}=\{(p,Bk)\mid p\in I\} be an initial configuration of the system of luminous robots. By definition, P(I^)=IP(\hat{I})=I and C(I^)={Bk}C(\hat{I})=\{Bk\}.

We now define a luminous synchronizer 𝒮\mathcal{S} on a robot rir_{i} under any schedule Ω𝒜𝒮𝒴𝒩𝒞\Omega\in\cal{ASYNC}. Given any algorithm 𝒜\mathcal{A} and initial configuration II for non-luminous robots, the initial configuration for 𝒮\mathcal{S} is the corresponding configuration I^\hat{I}. Luminous synchronizer 𝒮\mathcal{S} on rir_{i} inhibits on-the-fly rir_{i}’s motion in some cycle so that the resulting execution have a similar SSYNC execution. Precisely, 𝒮\mathcal{S} works as follows: In a cycle ω=(o,s,f)\omega=(o,s,f) of robot rr, rr takes a snapshot QQ at time oo in Look. In Compute, depending on QQ, 𝒮\mathcal{S} on rr first decides whether or not it “accepts” ω\omega, and then computes a move route τ\tau. If it accepts ω\omega, τ\tau is the one that 𝒜\mathcal{A} computes given P(Q)P(Q); otherwise, if it “rejects” ω\omega, τ\tau is the point (0,0)(0,0). Finally, it decides a color cCc\in C and the color of rir_{i}’s light is changed to cc at the end of Compute. Thus, the color cc is visible from other robots at ss and thereafter. In Move, rr traces τ\tau but it may stop en route after moving distance δ\delta.

The set of executions FF of 𝒮\mathcal{S} for 𝒜\mathcal{A} and II under scheduler Ω\Omega is denoted by (Ω,𝒮(𝒜),I^)\mathcal{E}(\Omega,\mathcal{S}(\mathcal{A}),\hat{I}). Let Λ\Lambda be the set of cycles accepted by 𝒮\mathcal{S} in FF. Note that Λ\Lambda depends on FF. From FF (and Λ\Lambda), we can construct an execution Fˇ(Λ,𝒜,I)\check{F}\in\mathcal{E}(\Lambda,\mathcal{A},I) for non-luminous robots by first extracting the behaviors of the robots for cycles in Λ\Lambda and then ignoring the colors of lights. Since the next position is computed from P(Q)P(Q) (not from QQ) and the robots do not change their positions in rejected cycles, indeed Fˇ(Λ,𝒜,I)\check{F}\in\mathcal{E}(\Lambda,\mathcal{A},I).

We say that luminous synchronizer 𝒮\mathcal{S} is correct if the following conditions hold for any Ω\Omega, 𝒜\mathcal{A}, II, and F(Ω,𝒮(𝒜),I^)F\in\mathcal{E}(\Omega,\mathcal{S}(\mathcal{A}),\hat{I}).

  1. 1.

    Λ\Lambda is fair.

  2. 2.

    Fˇ\check{F} satisfies Assumptions 1, 2, 3, 4, and 5, which implies that Fˇ(Λ,𝒜,I)\check{F}\in\mathcal{E}(\Lambda,\mathcal{A},I) has a similar execution E~(Λ~,𝒜,I)\tilde{E}\in\mathcal{E}(\tilde{\Lambda},\mathcal{A},I) for some Λ~𝒮𝒮𝒴𝒩𝒞\tilde{\Lambda}\in\cal{SSYNC}.

4.1 Limit of color-based synchronizer

The visibility graph of a configuration of the robots consists of a set of vertices corresponding to the robots and a set of edges between any pair of robots within distance 11 (in 𝒵0\mathcal{Z}_{0}). A visibility preserving algorithm guarantees that the visibility graph does not change in any execution. Formally, an execution E(Ω,𝒜,I)E\in\mathcal{E}(\Omega,\mathcal{A},I) for non-luminous robots is visibility preserving, if the following condition holds: For any rir_{i} and rir_{i^{\prime}}, and for any time t𝐑+t\in{\mathbf{R}}^{+}, dist(pi(t),pi(t))1dist(p_{i}(t),p_{i^{\prime}}(t))\leq 1 if and only if dist(pi(0),pi(0))1dist(p_{i}(0),p_{i^{\prime}}(0))\leq 1, where pj(u)p_{j}(u) is the position of rjr_{j} at time uu in 𝒵0\mathcal{Z}_{0}. We say that an algorithm 𝒜\mathcal{A} is visibility preserving, if every execution E(Ω,𝒜,I)E\in\mathcal{E}(\Omega,\mathcal{A},I) is visibility preserving for any Ω𝒮𝒮𝒴𝒩𝒞\Omega\in\cal{SSYNC} and II.

Let Qi(j)={(pi,ci)riSi(j)}Q_{i}(j)=\{(p_{i^{\prime}},c_{i^{\prime}})\mid r_{i^{\prime}}\in S_{i}(j)\} be the snapshot taken by a robot rir_{i} at oi(j)o_{i}(j) in ωi(j)\omega_{i}(j). Clearly, pi=(0,0)p_{i}=(0,0). Let Xi(j)={ciii,riSi(j)}X_{i}(j)=\{c_{i^{\prime}}\mid i^{\prime}\neq i,r_{i^{\prime}}\in S_{i}(j)\}. In general, a luminous synchronizer on rir_{i} can use the full information on Qi(j)Q_{i}(j) to decide whether it accepts ωi(j)\omega_{i}(j) or not. A luminous synchronizer 𝒮\mathcal{S} is color-based if it uses cic_{i} and Xi(j)X_{i}(j) for the selection. A color-based synchronizer 𝒮\mathcal{S} is greedy if it accepts ωi(j)\omega_{i}(j) if and only if C(Qi(j))={Bk}C(Q_{i}(j))=\{Bk\}, i.e., ci=Bkc_{i}=Bk and Xi(j)X_{i}(j) is either {Bk}\{Bk\} or \emptyset. We show that any greedy synchronizer is not powerful enough in general.

Lemma 11

There exists a rigid system of five luminous robots such that for any greedy synchronizer 𝒮\mathcal{S}, there is a triple (Ω,𝒜,I)(\Omega,\mathcal{A},I) such that, for some execution F(Ω,𝒮(𝒜),I^)F\in\mathcal{E}(\Omega,\mathcal{S}(\mathcal{A}),\hat{I}), Fˇ\check{F} is not consistent.

Proof. Consider a system of five luminous robots. We illustrate an initial part of an execution F(Ω,𝒮(𝒜),I)F\in\mathcal{E}(\Omega,\mathcal{S}(\mathcal{A}),I). Initially, r1,r2,,r5r_{1},r_{2},\ldots,r_{5} are at (0,0)(0,0), (0,1)(0,1), (1,1)(1,1), (1,0)(1,0), and (2,0)(2,0), respectively in 𝒵0\mathcal{Z}_{0}. Thus, I^={((0,0),Bk),((0,1),Bk),((1,1),Bk),((1,0),Bk),((2,0),Bk)}\hat{I}=\{((0,0),Bk),((0,1),Bk),((1,1),Bk),((1,0),Bk),((2,0),Bk)\}. Since the visibility range is 11, r2r_{2} and r4r_{4} are visible from r1r_{1}, but r5r_{5} and r3r_{3} are not visible from r1r_{1}. The first cycles in Ω\Omega are ω1(1)=(0,3/4,1)\omega_{1}(1)=(0,3/4,1), ω2(1)=(1/2,5/4,3/2)\omega_{2}(1)=(1/2,5/4,3/2), ω3(1)=(1,7/4,2)\omega_{3}(1)=(1,7/4,2), ω4(1)=(3/2,9/4,5/2)\omega_{4}(1)=(3/2,9/4,5/2), and ω5(1)=(3,15/4,4)\omega_{5}(1)=(3,15/4,4). Recall that the initial color of light is BkBk. Since 𝒮\mathcal{S} is greedy, it accepts ω1(1)\omega_{1}(1), ω2(1)\omega_{2}(1), and ω3(1)\omega_{3}(1).

Suppose that 𝒜\mathcal{A} moves r1r_{1} to (0,3/4)(0,3/4) in ω1(1)\omega_{1}(1). Then, at time 3/23/2, r1r_{1} is not visible from r4r_{4}. Thus, all robots visible from r4r_{4} is still have color BkBk, and 𝒮\mathcal{S} on r4r_{4} accepts ω4(1)\omega_{4}(1).

Observe that ω1(1)ω4(1)\omega_{1}(1)\stackrel{{\scriptstyle*}}{{\parallel}}\omega_{4}(1). Then, Fˇ\check{F} is not consistent regardless of the rest of FF, because r4S1(1)r_{4}\in S_{1}(1) but r1S4(1)r_{1}\not\in S_{4}(1). \Box

We extend Lemma 11 to the color-based synchronizer. A fully synchronous scheduler 𝒮𝒴𝒩𝒞\cal{FSYNC} produces a schedule Ω\Omega such that ωi(j)=(j1,j3/4,j1/4)\omega_{i}(j)=(j-1,j-3/4,j-1/4) for all ii and jj. Thus, 𝒮𝒴𝒩𝒞𝒮𝒮𝒴𝒩𝒞\cal{FSYNC}\subset\cal{SSYNC} in the sense that if Ω𝒮𝒴𝒩𝒞\Omega\in\cal{FSYNC}, Ω𝒮𝒮𝒴𝒩𝒞\Omega\in\cal{SSYNC} holds.

Theorem 12

There exists a rigid system of five luminous robots such that for any color-based synchronizer 𝒮\mathcal{S}, there is a triple (Ω,𝒜,I)(\Omega,\mathcal{A},I) such that, for some execution F(Ω,𝒮(𝒜),I^)F\in\mathcal{E}(\Omega,\mathcal{S}(\mathcal{A}),\hat{I}), Fˇ\check{F} is not consistent.

Proof. Remember the execution F(Ω,𝒮(𝒜),I)F\in\mathcal{E}(\Omega,\mathcal{S}(\mathcal{A}),I) for five luminous robots in the proof of Lemma 11. The counter example relies on the assumptions that 𝒮\mathcal{S} is greedy and that the initial color of each robot is BkBk. We show that there is a Λ\Lambda which changes the configuration to a one such that 𝒮\mathcal{S} on each robot accepts the current cycle.

Consider an execution F(Λ,𝒮(𝒜),I^)F\in\mathcal{E}(\Lambda,\mathcal{S}(\mathcal{A}),\hat{I}), where Λ𝒮𝒴𝒩𝒞\Lambda\in\cal{FSYNC}. Then, all lights have the same color cjc_{j} when the robots simultaneously start their jjth cycles for any j𝐍j\in{\mathbf{N}} since 𝒮\mathcal{S} is color-based. Hence, there is a j0j_{0} such that each robot rir_{i} accepts ωi(j0)\omega_{i}(j_{0}) since 𝒮\mathcal{S} is fair. That is, 𝒮\mathcal{S} on each robot rir_{i} accepts ωi(j0)\omega_{i}(j_{0}), since it accepts a cycle when c=cj01c=c_{j_{0}-1} and X={Cj01}X=\{C_{j_{0}-1}\}. We assume without loss of generality that ωi(j0)\omega_{i}(j_{0}) is the first cycle accepted by 𝒮\mathcal{S}.

Now the configuration is {(p,cj01)(p,Bk)I^}\{(p,c_{j_{0}-1})\mid(p,Bk)\in\hat{I}\} immediately before the j0j_{0}th cycle starts at time j01j_{0}-1. We replace ωi(j0)\omega_{i}(j_{0}) for each riΛr_{i}\in\Lambda with

  • ω1(j0)=(j01,(j01)+3/4,(j01)+1)\omega_{1}(j_{0})=(j_{0}-1,(j_{0}-1)+3/4,(j_{0}-1)+1),

  • ω2(j0)=((j01)+1/2,(j01)+5/4,(j01)+3/2)\omega_{2}(j_{0})=((j_{0}-1)+1/2,(j_{0}-1)+5/4,(j_{0}-1)+3/2),

  • ω3(j0)=((j01)+1,(j01)+7/4,(j01)+2)\omega_{3}(j_{0})=((j_{0}-1)+1,(j_{0}-1)+7/4,(j_{0}-1)+2),

  • ω4(j0)=((j01)+3/2,(j01)+9/4,(j01)+5/2)\omega_{4}(j_{0})=((j_{0}-1)+3/2,(j_{0}-1)+9/4,(j_{0}-1)+5/2), and

  • ω2(j0)=((j01)+3,(j01)+15/4,(j01)+4)\omega_{2}(j_{0})=((j_{0}-1)+3,(j_{0}-1)+15/4,(j_{0}-1)+4).

Then, the same argument as the proof of Lemma 11 concludes the theorem. \Box

The above example shows that there exists no color-based synchronizer that works correctly if the algorithm is not visibility preserving.

4.2 Color-based synchronizer for vicinity preserving algorithms

Lemma 11 and Theorem 12 demonstrate that there is no color-based synchronizer for an arbitrary visibility preserving algorithm. Moreover, it is difficult for oblivious luminous robots to satisfy the second condition of naturality, because it requires remembering the positions of other robots. In this section, we consider algorithms with more restricted changes in the visibility graph and propose a color-based synchronizer for such algorithms.

An execution E(Ω,𝒜,I)E\in\mathcal{E}(\Omega,\mathcal{A},I) for non-luminous robots is vicinity preserving, if the following condition holds: For any rir_{i}, rir_{i^{\prime}}, and for any time t,t𝐑+t,t^{\prime}\in{\mathbf{R}}^{+}, dist(pi(t),pi(t))1dist(p_{i}(t),p_{i^{\prime}}(t^{\prime}))\leq 1 if and only if dist(pi(0),pi(0))1dist(p_{i}(0),p_{i^{\prime}}(0))\leq 1. In other words, rir_{i} has to stay in the vicinity of its initial position. We say that an algorithm 𝒜\mathcal{A} is vicinity preserving, if every execution E(Ω,𝒜,I)E\in\mathcal{E}(\Omega,\mathcal{A},I) is vicinity preserving for any Ω𝒮𝒮𝒴𝒩𝒞\Omega\in\cal{SSYNC} and II. In this section, we propose a color-based synchronizer 𝒮VP\mathcal{S}_{VP} that uses a set C={Bk,R,B,G,W}C=\{Bk,R,B,G,W\} of colors and show its correctness provided that 𝒜\mathcal{A} is vicinity preserving and designed for non-luminous SSYNC robots. We describe 𝒮VP\mathcal{S}_{VP} as a finite-state machine with a state set CC, an input alphabet 2C2^{C}, and an output alphabet {accept,reject}\{\text{accept},\text{reject}\}. When 𝒮VP\mathcal{S}_{VP} is executed on rir_{i}, the sate of rir_{i} is the color (of the light) of rir_{i} and the input is the set XX of colors of the robots visible from rir_{i}, excluding rir_{i}’s color. Table 1 shows the transition function and the output function of 𝒮VP\mathcal{S}_{VP}, where

  • c\exists c means any XX such that cXc\in X,

  • (c1,c2,,ck)\forall(c_{1},c_{2},\ldots,c_{k}) means any XX such that X{c1,c2,,ck}X\subseteq\{c_{1},c_{2},\ldots,c_{k}\}, and

  • c(c1,c2,,ck)\exists c\ \wedge\ \forall(c_{1},c_{2},\ldots,c_{k}) means any XX such that cXc\in X and X{c1,c2,,ck}X\subseteq\{c_{1},c_{2},\ldots,c_{k}\}.

The initial state of each robots is BkBk. We assume that without loss of generality, the visibility graph of the initial configuration II is connected. Since 𝒜\mathcal{A} is vicinity preserving, let SiS_{i} be the set of neighbors of rir_{i} in the visibility graph which is defined by II.

Table 1: Finite-state machine 𝒮VP\mathcal{S}_{VP}.
Current state Input Next state Output
Bk (Bk,B,W)\forall(Bk,B,W) RR accept
R(Bk,R,B,W)\exists R\wedge\forall(Bk,R,B,W) WW reject
R (R,B,W)\forall(R,B,W) BB reject
B (B,G)\forall(B,G) GG reject
G (Bk,G)\forall(Bk,G) BkBk reject
W (B,W)\forall(B,W) BkBk reject

Robot rir_{i} is waiting when its state is BkBk (Black) and moving when its state is RR (Red). It rejects the current cycle when its state is BkBk and observes another robot in state RR, and changes its state to WW (White). It changes its state from WW to BkBk when it does not observe any robot in state RR. Robot rir_{i} has finished moving when its state is BB (Blue) and it changes its state to GG (Green) when the states of robots in SiS_{i} are BB and GG. Finally, it changes its state to BkBk when the states of robots in SiS_{i} are GG and BkBk.

Let F(Ω,𝒮VP(𝒜),I^)F\in\mathcal{E}(\Omega,\mathcal{S}_{VP}(\mathcal{A}),\hat{I}) be any execution of 𝒮VP\mathcal{S}_{VP} for a vicinity preserving algorithm 𝒜\mathcal{A}, and let ΛΩ\Lambda\subseteq\Omega be the set of accepted cycles (which depends on FF). Then, Fˇ(Λ,𝒜,I)\check{F}\in\mathcal{E}(\Lambda,\mathcal{A},I) is an execution of non-luminous robots. We will show that Fˇ\check{F} has a corresponding SSYNC execution for non-luminous robots. We demonstrate that (i) Λ\Lambda is fair, (ii) Fˇ\check{F} satisfies stationarity, pairwise alignment, consistency, serializability, and naturality.

Lemma 13

Λ\Lambda is fair.

Proof. We show that every robot reaches state RR infinitely many times in FF. We first regard three states BkBk, WW, and RR as a virtual state YY. Every robot starts with state YY. When the state of a robot rir_{i} is YY (i.e., RR) and the sate of each robot riSir_{i^{\prime}}\in S_{i} is either YY (i.e., RR or WW) or BB, then it can change its state to BB. When the state of rir_{i} is GG and the state of each robot riSir_{i^{\prime}}\in S_{i} is either GG or YY (i.e., BkBk), then it can change its state to YY (i.e., BkBk). For the time being, we assume that if the state of rir_{i} is BkBk, then it will eventually change its state to RR. We show that every robot rir_{i} reaches state YY infinitely many times in FF. This implies that it reaches state RR infinitely many times. Then, we can conclude that Fˇ\check{F} is fair, because rir_{i} changes its color to RR in ωi(j)\omega_{i}(j) if and only if ωi(j)\omega_{i}(j) is accepted by 𝒮VP\mathcal{S}_{VP}.

Consider any robot rir_{i}. Let Ψi=(ψi(1),ψi(2),)Ωi\Psi_{i}=(\psi_{i}(1),\psi_{i}(2),\ldots)\subseteq\Omega_{i}, where ψi(j)\psi_{i}(j) is the cycle of rir_{i} in which it changes its state for the jjth time. The state of rir_{i} changes from state YY to BB in ψi(1)\psi_{i}(1), from state BB to GG in ψi(2)\psi_{i}(2), from state GG to YY in ψi(3)\psi_{i}(3), ans so on. For each C{Y,B,G}C\in\{Y,B,G\}, C(k)C^{(k)} denotes the the state that rir_{i} takes CC for the kkth time. Thus, the state of rir_{i} changes from state Y(1)Y^{(1)} to B(1)B^{(1)} in ψi(1)\psi_{i}(1), from state B(1)B^{(1)} to G(1)G^{(1)} in ψi(2)\psi_{i}(2), from state G(1)G^{(1)} to Y(2)Y^{(2)} in ψi(3)\psi_{i}(3), and so on. Independently of ii, in ψi(j)\psi_{i}(j), rir_{i} changes its state from c(j)c(j) to c(j+1)c(j+1), where c(j)=Y(j/3+1)c(j)=Y^{(\lfloor j/3\rfloor+1)} if j(mod3)=1j\pmod{3}=1, c(j)=B(j/3+1)c(j)=B^{(\lfloor j/3\rfloor+1)} if j(mod3)=2j\pmod{3}=2, and c(j)=G(j/3)c(j)=G^{(\lfloor j/3\rfloor)} if j(mod3)=0j\pmod{3}=0.

Let ψi(j)=(oi(j),si(j),fi(j))\psi_{i}(j)=(o_{i}(j),s_{i}(j),f_{i}(j)). Then, rir_{i} takes a snapshot at oi(j)o_{i}(j) and changes the color of its light (i.e., its state) by si(j)s_{i}(j). The new color becomes visible from other robots at si(j)s_{i}(j). Thus, the state of rir_{i} at oi(j)o_{i}(j) is c(j)c(j) and is c(j+1)c(j+1) at si(j)s_{i}(j).

For any robot rr_{\ell}, let σ(t)\sigma_{\ell}(t) be the sate of rr_{\ell} at time t𝐑+t\in{\mathbf{R}}^{+}. Thus, σi(oi(j))=c(j)\sigma_{i}(o_{i}(j))=c(j) and σi(si(j))=c(j+1)\sigma_{i}(s_{i}(j))=c(j+1). We first claim that for any j𝐍j\in{\mathbf{N}}, σi(oi(j))\sigma_{i^{\prime}}(o_{i}(j)) is either c(j)c(j) or c(j+1)c(j+1) for any robot riSir_{i^{\prime}}\in S_{i}. The proof is by induction on jj.

When j=1j=1, ci(oi(1))=c(1)=Y(1)c_{i}(o_{i}(1))=c(1)=Y^{(1)}. Suppose that σi(oi(j))=c(j)\sigma_{i^{\prime}}(o_{i}(j))=c(j^{\prime}) for some j3j^{\prime}\geq 3. Then rir_{i^{\prime}} changes its state from B(1)B^{(1)} to G(1)G^{(1)} in ψi(2)\psi_{i^{\prime}}(2) and oi(2)<oi(1)o_{i^{\prime}}(2)<o_{i}(1). It is a contradiction, because riSir_{i}\in S_{i^{\prime}} and σi(oi(2))=Y(1)\sigma_{i}(o_{i^{\prime}}(2))=Y^{(1)}. Thus, σi(oi(1))\sigma_{i^{\prime}}(o_{i}(1)) is either c(1)(=Y(1))c(1)(=Y^{(1)}) or c(2)(=B(1))c(2)(=B^{(1)}).

Provided that σi(oi(j))\sigma_{i^{\prime}}(o_{i}(j)) is either c(j)c(j) or c(j+1)c(j+1), we show that σi(oi(j+1))\sigma_{i^{\prime}}(o_{i}(j+1)) is either c(j+1)c(j+1) or c(j+2)c(j+2) . By definition, if σi(oi(j+1))=c()\sigma_{i^{\prime}}(o_{i}(j+1))=c(\ell), then j\ell\geq j. If =j\ell=j, then rir_{i} cannot change its state from c(j+1)c(j+1) to c(j+2)c(j+2) in ψi(j+1)\psi_{i}(j+1). Thus, j+1\ell\geq j+1. Suppose that j+3\ell\geq j+3. In time interval [oi(j),si(j))[o_{i}(j),s_{i}(j)), the state of rir_{i} is still ci(j)c_{i}(j). During this interval, the state of rir_{i}^{\prime} is either c(j)c(j) or c(j+1)c(j+1). Thus, by the same argument as the base case for ψi(j+2)\psi_{i^{\prime}}(j+2), a contradiction is derived.

To show that Ψi\Psi_{i} is an infinite sequence, we assume that it is a finite sequence and derive a contradiction. Let hh be the length of Ψi\Psi_{i}, i.e., ψi(h)\psi_{i}(h) is the last cycle of Ψi\Psi_{i}. By the claim above, Ψk\Psi_{k} is finite for any kk. Without loss of generality, we assume that Ψi\Psi_{i} is the shortest one. By the claim, the length of Ψi\Psi_{i^{\prime}} is either hh or h+1h+1, if riSir_{i^{\prime}}\in S_{i}. Let tt^{*} be a time instant that rir_{i} and all riSir_{i^{\prime}}\in S_{i} have finished their last cycles in Ψ\Psi. Since Ω\Omega is fair, there is a cycle ω=(o,s,f)Ωi\omega=(o,s,f)\in\Omega_{i} such that t<ot^{*}<o. The state of rir_{i} is c(h+1)c(h+1) at oo, and the state of each riSir_{i^{\prime}}\in S_{i} is either ci(h+1)c_{i}(h+1) or ci(h+2)c_{i}(h+2) at oo. Thus, the state of rir_{i} changes in ω\omega, and hence ωΨi\omega\in\Psi_{i}. It is a contradiction.

We next show that, for all k𝐍k\in{\mathbf{N}}, if the state of a robot rir_{i} is BkBk, then it will eventually change its state to RR in Y(k)Y^{(k)} for any k𝐍k\in{\mathbf{N}}. The proof is by induction on kk.

Base Case (when k=1k=1):  Let riSir_{i^{\prime}}\in S_{i}. The state of rir_{i^{\prime}} is either Y(1)Y^{(1)} or B(1)B^{(1)} (and not G(1)G^{(1)}) as long as the state of rir_{i} is Y(1)Y^{(1)} (i.e., either BkBk, RR, or WW). Recall the notation ωi(j)=(oi(j),si(j),fi(j))\omega_{i}(j)=(o_{i}(j),s_{i}(j),f_{i}(j)) for all ii and jj.

By 𝒮VP\mathcal{S}_{VP}, if σi(oi(j))=Bk\sigma_{i}(o_{i}(j))=Bk, then it changes its state either WW or RR in ωi(j)\omega_{i}(j). It changes its state to WW if there is an riSir_{i^{\prime}}\in S_{i} such that σi(oi(1))=R\sigma_{i^{\prime}}(o_{i}(1))=R, otherwise it changes its state to RR.

Suppose that σi(oi(j))=R\sigma_{i}(o_{i}(j))=R. If σi(oi(j)){R,B,W}\sigma_{i^{\prime}}(o_{i}(j))\in\{R,B,W\} for each riSir_{i^{\prime}}\in S_{i}, since the state of rir_{i} is Y(1)Y^{(1)} then rir_{i} changes its state to BB in ωi(j)\omega_{i}(j). Otherwise, if there is an riSir_{i^{\prime}}\in S_{i} such that σi(oi(j))=Bk\sigma_{i^{\prime}}(o_{i}(j))=Bk, by the observation above, rir_{i^{\prime}} changes its state to RR or WW in ωi(j)\omega_{i^{\prime}}(j^{\prime}), where jj^{\prime} satisfies oi(j1)<oi(j)oi(j)o_{i^{\prime}}(j^{\prime}-1)<o_{i}(j)\leq o_{i^{\prime}}(j^{\prime}). Furthermore, if rir_{i^{\prime}} changes its state state to WW, it maintains the state as long as the state of rir_{i} is RR. Thus, rir_{i} eventually changes its state to BB.

We show that rir_{i} whose state is BkBk will eventually change its state to RR after repeating the loop between BkBk and WW a finite number of times. Suppose that σi(oi(j))=Bk\sigma_{i}(o_{i}(j))=Bk, and let Ri(j)R_{i}(j) be the set of riSir_{i^{\prime}}\in S_{i} such that σi(oi(j))=R\sigma_{i^{\prime}}(o_{i}(j))=R. Robot rir_{i} changes its state to WW in ωi(j)\omega_{i}(j) if and only if Ri(j)=R_{i}(j)=\emptyset. Since |Si|<n|S_{i}|<n, rir_{i} will eventually change its state to RR after repeating the loop at most n1n-1 times, since any robot riSir_{i^{\prime}}\in S_{i} with state BB will never return to BkBk as long as the state of rir_{i} is X(1)X^{(1)}.

Finally, we show that rir_{i} whose state is WW will eventually change its state to BkBk. Suppose that σi(oi(j))=W\sigma_{i}(o_{i}(j))=W. If σi(oi(j)){B,W}\sigma_{i^{\prime}}(o_{i}(j))\in\{B,W\} for each riSir_{i^{\prime}}\in S_{i}, then rir_{i} changes its state to BkBk in ωi(j)\omega_{i}(j). Otherwise, if there is an riSir_{i^{\prime}}\in S_{i} such that σi(oi(j)){Bk,R}\sigma_{i^{\prime}}(o_{i}(j))\in\{Bk,R\}, it does not change its state in ωi(j)\omega_{i}(j). If σi(oi(j))=R\sigma_{i^{\prime}}(o_{i}(j))=R, then rir_{i^{\prime}} will eventually change its state to BB.

If σi(oi(j))=Bk\sigma_{i^{\prime}}(o_{i}(j))=Bk, then rir_{i^{\prime}} changes its state to WW in ωi(j)\omega_{i^{\prime}}(j^{\prime}), where jj^{\prime} satisfies oi(j)<oi(j)oi(j+1)o_{i^{\prime}}(j^{\prime})<o_{i}(j)\leq o_{i^{\prime}}(j^{\prime}+1). Thus, there is a rkSi{ri}r_{k}\in S_{i}\cup\{r_{i}\} and 𝐍\ell\in{\mathbf{N}} such that oi(j)<ok()o_{i}(j)<o_{k}(\ell) such that rkr_{k} changes its state from WW to BkBk in ωk()\omega_{k}(\ell). Since the total number of times that robots other than rir_{i} repeat the loops is bounded by (n1)2(n-1)^{2}, rir_{i} will eventually change its state from WW to BkBk. The proof of the base case completes.

Induction Step:  Suppose that σi(oi(j))=G(k1)\sigma_{i}(o_{i}(j))=G^{(k-1)} and σi(oi(j)){Bk,G(k1)}\sigma_{i^{\prime}}(o_{i}(j))\in\{Bk,G^{(k-1)}\} for all riSir_{i^{\prime}}\in S_{i}. Then, rir_{i} changes its state from Gk1G^{k-1} to BkBk in ωi(j)\omega_{i}(j). The state of rir_{i} is BkBk as long as there is an riSir_{i^{\prime}}\in S_{i} such that σi(oi(j))=G(k1)\sigma_{i^{\prime}}(o_{i}(j))=G^{(k-1)}. We show that rir_{i^{\prime}} will eventually change its state from G(k1)G^{(k-1)} to BkBk. If rir_{i^{\prime}} cannot change its state from G(k1)G^{(k-1)}, then there is an ri′′Sir_{i^{\prime\prime}}\in S_{i^{\prime}} whose state is neither BkBk nor G(k1)G^{(k-1)}. If the state of ri′′r_{i^{\prime\prime}} is B(k1)B^{(k-1)}, then it will eventually change its state to G(k1)G^{(k-1)}. If it is WW or RR, we can derive a contradiction, because ri′′r_{i^{\prime\prime}} can change its state to WW or RR when the state of rir_{i} is G(k1)G^{(k-1)}. Thus, we can apply the proof for the base case to complete the induction step. \Box

Lemma 14

Fˇ\check{F} is stationary.

Proof. A robot rir_{i} can move in ωi(j)\omega_{i}(j) if the cycle is accepted. If ωi(j)\omega_{i}(j) is accepted, the state of rir_{i} is RR during the interval [si(j),fi(j)][s_{i}(j),f_{i}(j)]. If a cycle ωi(j)\omega_{i^{\prime}}(j^{\prime}) of a robot riSir_{i^{\prime}}\in S_{i} satisfies that σi(oi(j))=R\sigma_{i}(o_{i^{\prime}}(j^{\prime}))=R, then ωi(j)\omega_{i^{\prime}}(j^{\prime}) is rejected. Thus, ωi(j)\omega_{i^{\prime}}(j^{\prime}) is accepted, only if oi(j)[si(j),fi(j)]o_{i^{\prime}}(j^{\prime})\not\in[s_{i}(j),f_{i}(j)]. \Box

Lemma 15

Fˇ\check{F} is pairwise aligned.

Proof. Suppose that Fˇ\check{F} is not pairwise aligned. In Λ\Lambda, there are cycles ωi(j)\omega_{i}(j), ωi(j)\omega_{i^{\prime}}(j^{\prime}), and ωi(j+)\omega_{i^{\prime}}(j^{\prime}+\ell) satisfying the following conditions:

  • riSir_{i^{\prime}}\in S_{i} (thus, riSir_{i}\in S_{i^{\prime}}),

  • ωi(j)\omega_{i}(j) and ωi(j)\omega_{i^{\prime}}(j^{\prime}) overlap each other,

  • ωi(j)\omega_{i}(j) and ωi(j+)\omega_{i^{\prime}}(j^{\prime}+\ell) overlap each other, and

  • ωi(j+1),ωi(j+2),,ωi(j+1)\omega_{i^{\prime}}(j^{\prime}+1),\omega_{i^{\prime}}(j^{\prime}+2),\ldots,\omega_{i^{\prime}}(j^{\prime}+\ell-1) are not accepted (hence, they are not the elements of Λ\Lambda).

Since Fˇ\check{F} is stationary, we have

oi(j)oi(j)<si(j)<fi(j)<oi(j+)<si(j).o_{i^{\prime}}(j^{\prime})\leq o_{i}(j)<s_{i^{\prime}}(j^{\prime})<f_{i^{\prime}}(j^{\prime})<o_{i^{\prime}}(j^{\prime}+\ell)<s_{i}(j).

Then, for some 0<k<0<k<\ell, there is a cycle ωi(j+k)\omega_{i^{\prime}}(j^{\prime}+k) where rir_{i^{\prime}} changes its state from BB to GG. It is a contradiction since σi(oi(j)+k)=Bk\sigma_{i}(o_{i^{\prime}}(j^{\prime})+k)=Bk. \Box

Recall that Ψi=(ψi(1),ψi(2),)Ωi\Psi_{i}=(\psi_{i}(1),\psi_{i}(2),\ldots)\subseteq\Omega_{i}, where ψi(j)\psi_{i}(j) is the cycle of rir_{i} in which it changes its state for the jjth time. Scheduler 𝒮VP\mathcal{S}_{VP} accepts every cycle ψiΨi\psi_{i}\in\Psi_{i} in which rir_{i} changes its state from BkBk to RR and accepts no other cycles.

Proposition 6

Suppose that 𝒜\mathcal{A} is vicinity preserving. Then if any pair of cycles ψi(j)\psi_{i}(j) and ψi(j)\psi_{i^{\prime}}(j^{\prime}) in Λ\Lambda such that (in Fˇ\check{F}) riSir_{i^{\prime}}\in S_{i} and ψi(j)ψi(j)\psi_{i}(j)\stackrel{{\scriptstyle*}}{{\parallel}}\psi_{i^{\prime}}(j^{\prime}) satisfies that ψi(j)ψi(j)\psi_{i}(j)\parallel\psi_{i^{\prime}}(j^{\prime}), then Fˇ\check{F} is consistent.

Proof. Since 𝒜\mathcal{A} is vicinity preserving, riSir_{i^{\prime}}\in S_{i} if and only if riSir_{i}\in S_{i^{\prime}} and dist(πi(j),πi(j))>1dist(\pi_{i}(j),\pi_{i^{\prime}}(j^{\prime}))>1 if riSir_{i^{\prime}}\not\in S_{i}. \Box

Lemma 16

Fˇ\check{F} is consistent.

Proof. Assume that there are two cycles ψi(j)\psi_{i}(j) and ψi(j)\psi_{i^{\prime}}(j) in Λ\Lambda such that (in Fˇ\check{F}) ψi(j)ψi(j)\psi_{i}(j)\stackrel{{\scriptstyle*}}{{\parallel}}\psi_{i^{\prime}}(j^{\prime}), riSir_{i}\in S_{i^{\prime}}, and ψi(j)∦ψi(j)\psi_{i}(j)\not\parallel\psi_{i^{\prime}}(j^{\prime}), to derive a contradiction. Let ψi(j)=(oi(j),si(j),fi(j))\psi_{i}(j)=(o_{i}(j),s_{i}(j),f_{i}(j)).

Since ψi(j)ψi(j)\psi_{i}(j)\stackrel{{\scriptstyle*}}{{\parallel}}\psi_{i^{\prime}}(j^{\prime}), there are cycles ψih(jh)\psi_{i_{h}}(j_{h}) such that ψih(jh)ψjh+1(jh+1)\psi_{i_{h}}(j_{h})\parallel\psi_{j_{h+1}}(j_{h+1}) for all h=1,2,,1h=1,2,\ldots,\ell-1, where (i1,j1)=(i,j)(i_{1},j_{1})=(i,j) and (i,j)=(i,j)(i_{\ell},j_{\ell})=(i^{\prime},j^{\prime}). Note that in cycle ψih(jh)\psi_{i_{h}}(j_{h}), rihr_{i_{h}} changes its state from BkBk to RR. Recall that in the proof of Lemma 13, we showed that σi(oi(j))\sigma_{i^{\prime}}(o_{i}(j)) is either c(j)c(j) or c(j+1)c(j+1). Then in cycles ψi1(j1)\psi_{i_{1}}(j_{1}) and ψi2(j2)\psi_{i_{2}}(j_{2}), ri1r_{i_{1}} and ri2r_{i_{2}} change their states to he same state RR for the kkth time for some kk, since ψi1(j1)ψi2(j2)\psi_{i_{1}}(j_{1})\parallel\psi_{i_{2}}(j_{2}). Thus, in ψi1(j1)\psi_{i_{1}}(j_{1}) and ψi(j)\psi_{i_{\ell}}(j_{\ell}), rir_{i} and rir_{i_{\ell}} change their states to RR for the kkth time.

Since riSi1r_{i_{\ell}}\in S_{i_{1}} and ψi1(j1)∦ψi(j)\psi_{i_{1}}(j_{1})\not\parallel\psi_{i_{\ell}}(j_{\ell}), we assume that fi1(j1)<oi(j)f_{i_{1}}(j_{1})<o_{i_{\ell}}(j_{\ell}) by the stationarity. Since ψiΛ\psi_{i_{\ell}}\in\Lambda, σi1(oi(j))R\sigma_{i_{1}}(o_{i_{\ell}}(j_{\ell}))\neq R, which means that there is a cycle ψi1(h1)\psi_{i_{1}}(h_{1}) for some h1>j1h_{1}>j_{1}, in which ri1r_{i_{1}} changes its state from RR to BB. Obviously, si1(h1)<oi(j)s_{i_{1}}(h_{1})<o_{i_{\ell}}(j_{\ell}).

Consider c=σi(oi1(h1))c_{\ell}=\sigma_{i_{\ell}}(o_{i_{1}}(h_{1})). By definition, c{W,R,B}c_{\ell}\in\{W,R,B\}. Observe that c=Rc_{\ell}=R means that c=R(k)c_{\ell}=R^{(k)} and c=Bc_{\ell}=B means that c=B(k)c_{\ell}=B^{(k)}. Thus, c=Wc_{\ell}=W, because rir_{i_{\ell}} changes its state to R(k)R^{(k)} in ϕi(j)\phi_{i_{\ell}}(j_{\ell}). Then, there is a cycle ψi(h)\psi_{i_{\ell}}(h_{\ell}) such that oi1(h1)<oi(h)o_{i_{1}}(h_{1})<o_{i_{\ell}}(h_{\ell}) and h<jh_{\ell}<j_{\ell}, and rir_{i_{\ell}} changes its state from WW to BkBk in ψi(h)\psi_{i_{\ell}}(h_{\ell}).

Consider c1=σi1(oi(h))c_{\ell-1}=\sigma_{i_{\ell-1}}(o_{i_{\ell}}(h_{\ell})). By the same argument above, c1=Wc_{\ell-1}=W. Thus, ch=Wc_{h}=W or all 1h1\leq h\leq\ell. It is a contradiction, since ri1r_{i_{1}} changes its state to WW (in Y(k)Y^{(k)}) from R(k)R^{(k)} after ψi1(h1)\psi_{i_{1}}(h_{1}). \Box

Lemma 17

Fˇ\check{F} is serializable.

Proof. Let 𝒢=({Λ0,Λ1,,},)\mathcal{G}=(\{\Lambda_{0},\Lambda_{1},\ldots,\},\Rightarrow), where Λ0,Λ1,\Lambda_{0},\Lambda_{1},\ldots is the equivalence classes of Λ\Lambda with respect to \stackrel{{\scriptstyle*}}{{\parallel}}.

If two cycles ωi(j)\omega_{i}(j) and ωi(j)\omega_{i^{\prime}}(j^{\prime}) are in the same class Λm\Lambda_{m}, i.e., ωi(j)ωi(j)\omega_{i}(j)\stackrel{{\scriptstyle*}}{{\parallel}}\omega_{i^{\prime}}(j^{\prime}), as we showed in the proof of Lemma 15, rir_{i} and rir_{i^{\prime}} change their states to the same state R(k)R^{(k)} for some kk.

Suppose that ωi(j)ωi(j)\omega_{i}(j)\rightarrow\omega_{i^{\prime}}(j^{\prime}). Then, in ωi(j)\omega_{i}(j), rir_{i} changes its state to R(k)R^{(k)} for some kk, and in ωi(j)\omega_{i^{\prime}}(j^{\prime}), rir_{i^{\prime}} changes its state to R(k)R^{(k^{\prime})} for some kk^{\prime}. By definition, σi(oi(j))R\sigma_{i}(o_{i^{\prime}}(j^{\prime}))\neq R, which implies k<kk<k^{\prime}.

If Fˇ\check{F} is not serializable, there is a loop in 𝒢\mathcal{G}, which is a contradiction. \Box

Lemma 18

Suppose that 𝒜\mathcal{A} is vicinity preserving. Fˇ\check{F} is natural.

Proof. Let T=(Λ0,Λ1,Λ2,)T=(\Lambda_{0},\Lambda_{1},\Lambda_{2},\ldots) be any topological sort of 𝒢\mathcal{G}. Consider any pair of cycles ψi(j)\psi_{i}(j) and ψi(j)\psi_{i^{\prime}}(j^{\prime}) in Λ\Lambda such that (in Fˇ\check{F}) kk<k′′k^{\prime}\leq k<k^{\prime\prime}, where ψi(j)Λk\psi_{i}(j)\in\Lambda_{k}, ψi(j1)Λk\psi_{i^{\prime}}(j^{\prime}-1)\in\Lambda_{k^{\prime}}, and ψi(j)Λk′′\psi_{i^{\prime}}(j^{\prime})\in\Lambda_{k^{\prime\prime}}. (We assume that k=1k^{\prime}=-1 when j=1j^{\prime}=1 for the consistency.)

If riSi(j)r_{i^{\prime}}\not\in S_{i}(j), then dist(πi(j),πi(j))>0dist(\pi_{i}(j),\pi_{i^{\prime}}(j^{\prime}))>0 since 𝒜\mathcal{A} is vicinity preserving.

Suppose that riSi(j)r_{i^{\prime}}\in S_{i}(j). If oi(j)oi(j)o_{i}(j)\geq o_{i^{\prime}}(j^{\prime}), since ωi(j)∦ωi(j)\omega_{i}(j)\not\parallel\omega_{i^{\prime}}(j^{\prime}), ωi(j)ωi(j)\omega_{i^{\prime}}(j^{\prime})\rightarrow\omega_{i}(j), which is a contradiction since k<kk<k^{\prime}. Thus, oi(j)<oi(j)o_{i}(j)<o_{i^{\prime}}(j^{\prime}). \Box

By Lemmas 13, 14, 15, 16, 17, and 18, we have the following theorem.

Theorem 19

For any vicinity preserving algorithm 𝒜\mathcal{A} for non-luminous SSYNC mobile robots, color-based synchronizer 𝒮VP\mathcal{S}_{VP} is correct.

5 Conclusion

In this paper, we investigated synchronization by ASYNC robots with limited visibility. We started with a sufficient condition for an ASYNC execution to have a similar SSYNC execution. Our condition consists of stationarity, pairwise alignment, consistency, serializability, and naturality on the timing of Look-Compute-Move cycles and visibility relation among the robots. We then showed the necessity of the five properties under a randomized adversary that selects non-rigid movement and asynchronous observations of the robots. Our randomized impossibility argument is a novel and stronger technique than a worst-case (deterministic) analysis. Finally, we presented a color-based synchronizer for luminous ASYNC robots together with the limit of color-based synchronizers. We showed that there exists an algorithm for which no color-based synchronizer can guarantee the five properties, if the algorithm is not visibility preserving. Then, we provided a color-based synchronizer that, for a given vicinity preserving algorithm 𝒜\mathcal{A}, produces an ASYNC execution that satisfies the five properties. Thus, luminous ASYNC robots can simulate vicinity preserving algorithms designed for (non-luminous) SSYNC robots. There are important open problems about a necessary and sufficient condition for an algorithm to have a luminous synchronizer. The requirement of our color-based synchronizer is that an algorithm 𝒜\mathcal{A} is vicinity preserving. It is open whether there exists a color-based synchronizer and a general luminous synchronizer that works for visibility preserving algorithms.

Acknowledgment

The authors would like to thank Prof. Toshio Nakata for his precious comments on the infinite product of a Borel probability measure space and Prof. Giovanni Viglietta for precious discussion in University of Ottawa.

References

  • [1] Dana Angluin, James Aspnes, Zoë Diamadi, Michael J. Fischer, and René Peralta. Computation in networks of passively mobile finite-state sensors. Distributed Computing, 18(4):235–253, 2006.
  • [2] Mark Cieliebak, Paola Flocchini, Giuseppe Prencipe, and Nicola Santoro. Distributed computing by mobile robots: gathering. SIAM Journal on Computing, 41(4):829–879, 2012.
  • [3] Shantanu Das, Paola Flocchini, Giuseppe Prencipe, Nicola Santoro, and Masafumi Yamashita. Autonomous mobile robots with lights. Theoretical Computer Science, 609:171–184, 2016.
  • [4] Zahra Derakhshandeh, Shlomi Dolev, Robert Gmyr, Andréa W. Richa, Christian Scheideler, and Thim Strothmann. Brief announcement: Amoebot – a new model for programmable matter. In Proceedings of the 26th ACM Symposium on Parallelism in Algorithms and Architectures (SPAA 2014), pages 220–222, 2014.
  • [5] Zahra Derakhshandeh, Robert Gmyr, Thim Strothmann, Rida Bazzi, Andréa W. Richa, and Christian Scheideler. Leader election and shape formation with self-organizing programmable matter. In Proceedings of the 21st DNA Computing and Molecular Programming, pages 117–132, 2015.
  • [6] Giuseppe A. Di Luna, Paola Flocchini, Nicola Santoro, and Giovanni Viglietta. Turingmobile: A turing machine of oblivious mobile robots with limited visibility and its applications. In Proceedings of the 32nd International Symposium on Distributed Computing (DISC 2018), pages 19:1–19:18, 2018.
  • [7] Giuseppe A. Di Luna, Paola Flocchini, Nicola Santoro, Giovanni Viglietta, and Yukiko Yamauchi. Shape formation by programmable particles. Distributed Computing, 33:69––101, 2020.
  • [8] Yoann Dieudonné, Franck Petit, and Vincent Villain. Leader election problem versus pattern formation problem. In Proceedings of the 24th International Symposium on Distributed Computing (DISC2010), pages 267–281. Springer Berlin Heidelberg, 2010.
  • [9] Adrian Dumitrescu, Ichiro Suzuki, and Masafumi Yamashita. Formations for fast locomotion of metamorphic robotic systems. The International Journal of Robotics Research, 23(6):583–593, 2004.
  • [10] Adrian Dumitrescu, Ichiro Suzuki, and Masafumi Yamashita. Motion planning for metamorphic systems: feasibility, decidability, and distributed reconfiguration. IEEE Transactions on Robotics and Automation, 20:409–418, 2004.
  • [11] Paola Flocchini, Giuseppe Prencipe, Nicola Santoro, and Peter Widmayer. Gathering of asynchronous robots with limited visibility. Theoretical Computer Science, 337:147–168, 2005.
  • [12] Paola Flocchini, Giuseppe Prencipe, Nicola Santoro, and Peter Widmayer. Arbitrary pattern formation by asynchronous, anonymous, oblivious robots. Theoretical Computer Science, 407:412–447, 2008.
  • [13] Paola Flocchini, Nicola Santoro, Giovanni Viglietta, and Masafumi Yamashita. Rendezvous with constant memory. Theoretical Computer Science, 621:57––72, 2016.
  • [14] Paola Flocchini, Nicola Santoro, and Koichi Wada. On memory, communication, and synchronous schedulers when moving and computing. In Proceedings of the 23rd International Conference on Principles of Distributed Systems (OPODIS 2019), pages 25:1–25:17, 2020.
  • [15] Nao Fujinaga, Yukiko Yamauchi, Hirotaka Ono, Shuji Kijima, and Masafumi Yamashita. Pattern formation by oblivious asynchronous mobile robots. SIAM Journal on Computing, 44(3):740–785, 2015.
  • [16] Nao Fujinaga, Yukiko Yamauchi, Hirotaka Ono, Shuji Kijima, and Masafumi Yamashita. Erratum: Pattern formation by oblivious asynchronous mobile robots, 2017. http://tcs.inf.kyushu-u.ac.jp/ yamauchi/publications.html.
  • [17] Ichiro Suzuki and Masafumi Yamashita. Distributed anonymous mobile robots: Formation of geometric patterns. SIAM Journal on Computing, 28(4):1347–1363, 1999.
  • [18] Terence Tao. An Introduction to Measure Theory. American Mathematical Society, 2011.
  • [19] Masafumi Yamashita and Ichiro Suzuki. Characterizing geometric patterns formable by oblivious anonymous mobile robots. Theoretical Computer Science, 411:2433–2453, 2010.
  • [20] Yukiko Yamauchi and Masafumi Yamashita. Pattern formation by mobile robots with limited visibility. In Proceedings of the 20th International Colloquium on Structural Information and Communication Complexity (SIROCCO 2013), pages 201–212. Springer International Publishing, 2013.