Asynchronous Scattering
Ulysse L\'echine, S\'ebastien Tixeuil

TL;DR
This paper demonstrates that asynchronous scattering of mobile robots is achievable under certain sensing capabilities, providing a constructive probabilistic approach and identifying key limitations when sensors are absent.
Contribution
It introduces a constructive, probabilistic protocol for asynchronous scattering with vision and multiplicity detection, and establishes impossibility results without these features.
Findings
Asynchronous scattering is solvable with vision and multiplicity detection.
Scattering remains unsolvable without either vision or multiplicity detection in certain cases.
A new proof technique for probabilistic robot protocols is presented.
Abstract
In this paper, we consider the problem of scattering a swarm of mobile oblivious robots in a continuous space. We consider the fully asynchronous setting where robots may base their computation on past observations, or may be observed by other robots while moving. It turns out that asynchronous scattering is solvable in the most general case when both vision (the ability to see others robots positions) and weak local multiplicity detection are available. In the case of a bidimensional Euclidean space, ASYNC scattering is also solvable with blind robots if moves are rigid. Our approach is constructive and modular, as we present a proof technique for probabilistic robot protocols that is of independent interest and can be reused for other purposes. On the negative side, we show that when robots are both blind and have no multiplicity detection, the problem is unsolvable, and when only…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsOptimization and Search Problems · Distributed Control Multi-Agent Systems · Modular Robots and Swarm Intelligence
Asynchronous Scattering
Ulysse Léchine1,2, Sébastien Tixeuil2
- École Normale Supérieure de Lyon, Lyon, France
ulysse.lechine [at] ens-lyon.fr
- Sorbonne Université, CNRS, LIP6, FR-75005, Paris, France
Abstract
In this paper, we consider the problem of scattering a swarm of mobile oblivious robots in a continuous space. We consider the fully asynchronous setting where robots may base their computation on past observations, or may be observed by other robots while moving.
It turns out that asynchronous scattering is solvable in the most general case when both vision (the ability to see others robots positions) and weak local multiplicity detection are available. In the case of a bidimensional Euclidean space, ASYNC scattering is also solvable with blind robots if moves are rigid. Our approach is constructive and modular, as we present a proof technique for probabilistic robot protocols that is of independent interest and can be reused for other purposes.
On the negative side, we show that when robots are both blind and have no multiplicity detection, the problem is unsolvable, and when only one of those is available, the problem remains unsolvable on the line.
1 Introduction
We consider mobile oblivious robots that evolve in a bidimensional Euclidean space [8, 4]. Those robots are modeled as dimensionless points and repeatedly execute cycles that consist of Look-Compute-Move phases: they first obtain a snapshot of their environment using visual sensors (Look), then compute their next tentative location (Compute), and finally move toward their computed destination (Move). After a Look-Compute-Move cycle is complete, the local memory of a robot is erased before starts a new cycle (the robot is said oblivious). In the semi-synchronous model (SSYNC in the current terminology [8, 4]), a non-empty subset of robots is chosen by the scheduler (considered as an adversary) to simultaneously and atomically execute a Look-Compute-Move cycle. An even more restricted model is the fully synchronous model (FSYNC [8, 4]), where the subset of scheduled robots is the full set of robots. While SSYNC and FSYNC model make it easier to write and prove robot protocols, they do not represent well the asynchronous behavior of actual robotic entities. For that purpose, the asynchronous model (ASYNC [5, 4]) has been introduced: in that model, each phase of the Look-Compute-Move cycle of a robot may occur at any time. In particular, the following events may occur: When a robot executes a Look phase, the other robots are not necessarily still; also, a robot follows a straight path to reach its destination, but not necessarily at a constant speed (though it cannot move back).
The visual sensors of a robot output information about the ’s environment in an ego-centered coordinate system (which we denote in the sequel as frame). It is generally assumed that robots’ coordinate systems do not share a common direction (same ”North-South axis”), a common orientation (same ”North”), a common chirality (same handedness), or even a common unit distance. In this ego-centered coordinate system, the output of the visual sensors consists in (possibly partial) information about the positions of the other robots (the current robot always being at the origin of the coordinate system). A first criterium to classify vision sensors is its range [5]: how far can it see other robots positions? In this paper we consider two kinds of robots: perceptive robots can see every location occupied by at least one robot, while blind robots cannot see any other location than the origin of the coordinate system. A second criterium for vision sensors is its ability to detect multiple robots placed at the exact same location [7]: strong multiplicity detection returns the exact number of robots placed on a given location, weak multiplicity detection returns true if a location hosts at least two robots, and false if it contains exactly one robot, while no multiplicity detection returns no information about a position other than whether it contains at least one robot. Multiplicity detection is local if it can only be used on the observing robot’s location, and is global if it can be used on every occupied location within the range of the vision sensor (and this range is greater than [math]).
During the move phase, the move of the robot is either rigid or flexible [6]. If robot moves are considered rigid, a robot always reaches its computed destination (possibly after some unbounded time in the ASYNC model). If robot moves are flexible, then the scheduler can interrupt a robot before it reaches its destination. Then starts a new Look-Compute-Move cycle. In the classical model [8], the scheduler may not stop before it moves at least some distance (unknown to ) unless target destination is closer than (in that case, reaches its destination). In this paper, we instead consider a more extreme case where robot moves can be infinitesimal: each robot can be interrupted after it moves some distance , for any such .
The problem we consider is that of scattering: from any initial situation where robots may occupy the same locations, any execution of a scattering protocol ends up in a situation where all robots occupy distinct positions. Termination (that is, reaching a fixed global state where all robots remain still) is not required, as long as robots remain at distinct locations. A deterministic scattering protocol for oblivious mobile robots is feasible if and only if there does not exists clone robots [8]: two robots are clones if they start at the same position, are given the same coordinate system, and are always activated simultaneously by the scheduler. Two deterministic clone robots never separate. By contrast, a robot with no clone can simply move ”North” by one distance unit when activated by the scheduler to separate from another robot initially located at the same position. As clone robots cannot be avoided in general, most subsequent work studied probabilistic protocols. The first probabilistic scattering for the SSYNC model is due to Dieudonné and Petit [3]: anytime a robot is activated, it tosses a coin, if the coin is [math], the robot stays in place, otherwise it moves arbitrarily within its Voronoï cell. Then, Clément et al. [2] proposed an expected constant time scattering protocol for the SSYNC model: assuming knowledge of , the number of robots, anytime a robot is activated, it chooses a destination randomly among ones, still within its Voronoï cell. Recently, Bramas and Tixeuil [1] considered the random bit complexity of mobile robot scattering in the SSYNC model: anytime a robot is activated, it chooses randomly among destinations ( depends on the observed configuration, so no knowledge of is assumed) within its Voronoï cell. Bramas and Tixeuil [1] show that their solution is the best possible in SSYNC (both in terms of coin tossing and round complexity) when is not known. Overall, it turns out that the scattering problem for oblivious mobile robots was only investigated in the SSYNC model. The reason is that for all aforementioned protocols, the core proof argument relies on the fact that once two robots separate, they never occupy the same position ever again, hence the number of robots on a given multiplicity point always decreases. In the ASYNC model, this property is no longer guaranteed using previous approaches. For example, consider the protocol of Dieudonné and Petit [3], and two stacks of and robots, respectively. First the stack of two robots is activated: one robot chooses to move to destination and the other chooses to stay, but the moving robot, called , is put on hold. Then the stack of robots is activated, of those robots, say and decide to move, and the other one decides to stay. Now is activated again, but its observation of other positions is updated (and so is its Voronoï cell). So, it may turn out that chooses as its destination. Now, both and move to , creating a new multiplicity point. So, solving the problem in ASYNC requires a fresh approach, at least with respect to the proof techniques.
We investigate the possibility of asynchronous scattering in various settings. In particular, we consider both perceptive and blind robots, both weak local multiplicity detection and no multiplicity detection, and both rigid and flexible moves. It turns out that ASYNC scattering is solvable in the most general case when both vision and weak local multiplicity detection are available. In the case of a bidimensional Euclidean space, ASYNC scattering is also solvable with blind robots if moves are rigid. Our approach is constructive and modular, as we present a proof technique for probabilistic robot protocols that is of independent interest and can be reused for other purposes. On the negative side, we show that when robots are both blind and have no multiplicity detection, the problem is unsolvable, and when only one of those is available, the problem remains unsolvable on the line. Unlike previous approaches [3, 2, 1], we consider the fully realistic ASYNC model, and unlike Clement et al. [2], we do not consider that robots are aware of . Our positive result do not assume that robots share the same chirality, while impossibility results remain valid if robots share a common chirality.
The remaining of the paper is structured as follows. Section 2 details the mathematical framework we work with. Section 3 features a general result, which we believe is of independent interest, that is later used to prove our results about scattering in Section 4 and 5. Section 6 presents preliminary complexity results, while Section 7 takes a computability perspective. Finally, Section 8 provides some concluding remarks.
2 Framework
2.1 Notations
denotes the set of real numbers, the set of rational numbers, and the set of natural numbers. The set of natural numbers except 0 is denoted by . Let f be a function, we can also denote it as . denotes the standard euclidean norm over , and denotes the standard scalar product over . Let be a set, then denotes the set of all finite sequences of elements of , denotes the set of all sequences over , and the set of infinite sequences . Let let and be the two elements such that , then and , we generalize this notation to the case where is composed of more than two elements.
2.2 Execution Model
We consider the oblivious Look-Compute-Move model (a.k.a. the model) in an asynchronous setting.
The current state of a robot is modelled as a 6-tuple such that:
is the current location of the robot, 2. 2.
is the destination of the robot, 3. 3.
is if the robot is activated and [math] otherwise, 4. 4.
is the scale of the referential of the robot (the size of the unit distance), 5. 5.
is the angle of the referential of the robot (where is the north), 6. 6.
is if the robot is right-handed and [math] otherwise.
We define the set of configurations as the set of combinations of the local states of the robots where at most one robot is activated in each configuration: . We say that the -th robot is activated if and only if , otherwise it’s inactivated. Having a single robot activated at any time does not weaken the ASYNC model as it still allows to simulate simultaneous executions, yet it permits to simplify notations in the sequel.
Let be the set of configurations such that there is no location occupied by two or more robots, and every robot is immobile (its destination and its location are equal): — .
Let be the algorithm all robots execute. We consider two settings for visual sensors:
- •
If vision is assumed receives as inputs the set of points where there is at least one robot. Said differently given a point in robots know if there is at least one robot there but not how many. If vision is not assumed the robot is said to be blind
- •
If local weak multiplicity is assumed, receives as input a bit indicating if there is another robot on the same position as the robot running .
An execution is an element of such that every transition is valid. Now, is a valid transition for if and only if there exists a unique such that (i.e. only one robot did something) and all of the following properties are satisfied:
- •
At least one of the following conditions is true:
- –
choice of frame and : the scheduler assigns a frame to robot ,
- –
computation and : the robot computes its destination using ,
- –
ready to move where and : robot is about to move,
- –
move where and where : robot moves towards its destination,
- –
move and interrupt where and where : robot moves towards its destination, but may be interrupted prematurely by the scheduler.
- •
If more than one condition is true, then computation, move, and move and interrupt transitions have priority over the other two.
Notice that transitions are of two types, the ones that inactivate robot (computation, move, move and interrupt), and the ones that activate it (choice of frame, ready to move). Due to the higher priority of the former set of transitions, the property that at most one robot is activated in any configuration is preserved throughout the execution. Starting from configuration , if is deterministic, then there is at most one reachable configuration. If is a probabilistic algorithm, then there can be more than one reachable configurations. An execution is fair if all robots perform the computation transition infinitely many times. Given an algorithm , we denote by the set of executions conforming to .
Let us now define schedulers. Intuitively the scheduler chooses when robots are activated, by how much they move when the movement is not rigid, etc. Let be an algorithm, let be a function. If is a valid transition for , then is said to be a scheduler for . This ensures that all executions conform to .
Given an initial configuration , we define execution as the execution starting from according to scheduler , and is the set of all possible executions. If is deterministic, then , and . If is probabilistic, then is a random variable defined the same way as in the deterministic case, and is a probabilistic function, that is to say it returns its output according to a certain distribution law given by the algorithm for the transitions of the kind computation.
In the deterministic setting, is a fair scheduler if is a scheduler and is fair. In the probabilistic setting, is fair if . Given Algorithm , the set of all possible schedulers conforming to is noted . If the algorithm is implied, we simply write . If a scheduler never chooses a move and interrupt transition, the movements are called rigid.
The fine grained approach we used for transitions permits to simulate an arbitrary number of robots running simultaneously (even when other are moving). Two concurrent robots and could first sequentially execute choice of frame and computation, and at a later time execute (again sequentially) ready to move and move. A robot can be seen while moving by robot interleaving move by , computation by , and ready to move by . However, our modeling with at most one robot activated in any configuration permits to simplify proof notations.
3 Theorem of Choice
Definition 1** (Safe Zone).**
Let be an algorithm, let , is called a safe zone for if valid transistions only lead to configurations of . Formally: .
Lemma 1**.**
Let and be an algorithm. If there exists a positive probability such that, starting from any configuration and for any scheduler, every execution reaches a configuration in , then configurations in are reached with probability . Formally: .
Proof.
Let be a positive real number. For all , we have that:
[TABLE]
This implies that for all :
[TABLE]
For each configuration and scheduler , we can thus define as the smallest integer such that: \mathds{P}(\text{from C\sigmaFN-th transition})\geq\frac{p}{2}.
We now prove the lemma. Let be a configuration and a scheduler. With execution and , we define as . To simplify notations, denotes in the sequel.
Let be a random execution starting from . We define and as , , and , and . Now, from , following , we run transitions so that is reached with probability . If we did reach we stop. Otherwise, from , following , we run transitions so that is reached with probability . If we did reach , we stop. Otherwise we repeat the process. Overall the probability that is never reached is:
[TABLE]
∎
The following theorem is a direct corollary of Lemma 1 using the closure property of a safe zone.
Theorem 1** (Choice).**
Let be an algorithm, let be a safe zone for , if , then
So, if be a safe zone, if there is a positive probability , such that for any scheduler and any reachable configuration , any execution from that follows reaches a configuration in with probability , then is reached with probability 1. A reachable configuration is a configuration with a positive probability of occurring in the execution. Note that the converse is also true: If is reached with probability , then starting from any reachable configuration and following any scheduler, is reached with probability .
While Theorem 1 is very general, we mostly use it for the purpose of scattering robots: our safe zone is a set of configurations where robots remain separated whatever the subsequent execution, and we want that starting from any initial configuration (possibly with already moving robots) and following any scheduler , algorithm reaches with probability . Then, using Theorem 1, it becomes sufficient to exhibit a pattern of random bits used by so that the robots reach with probability , and prove that is independent of and .
4 Blind Rigid ASYNC Scattering in
In this section, we consider the rigid setting when all robots are blind but are endowed with weak local multiplicity detection.
4.1 Algorithm
The pseudo-code for our algorithm is presented as Algorithm 1. Lines and use the rbit() function that returns a or a [math] with equal probability. The while loop is used to select a random natural number such that value is obtained with probability . The keyword move to takes as input an element of and updates the destination of the robot. Finally, is a computable sequence of points in such that there exists a circle containing all , and (such a sequence does exist).
4.2 Proof of correctness
Lemma 2**.**
* is a safe zone for Algorithm 1.*
Proof.
Starting from a configuration in , a robot does nothing when there is no other robot at its position (Line 2). ∎
Lemma 3**.**
With , and Algorithm 1, the conditions of Lemma 1 are satisfied.
Proof.
Let . Step by step, we construct a sequence of positions that reach with probability , independently of and . We denote by the positions occupied by the robots at step , and the positions the robots want to go to at step . Initially, we define:
- •
- •
Suppose at step , the current configuration is , when the scheduler selects a computation transition from to for a robot on a multiplicity point, the robot chooses its destination for step , and we define:
- •
- •
There is a probability that . We call this event the event. This events means that the robot chose a destination that is not on another robot’s path (), and that does not make the robot cross another robot’s destination (). As there are at most points that can be selected by and do not satisfy these two properties (see Figure 2), there is a probability at least of choosing a point that does satisfy those two conditions.
Assume that at each step happens then we claim that we do at most steps. Indeed if we do steps then it means that a robot computed twice whilst not alone (from now on we only consider the computation the robot did ”whilst not alone”), let us say it is the -th robot who is the first robot to compute twice. If the robot computes twice then it means that at the time of its second computation it is not alone on its position, the h-th robot is also there. Let us call q the current position of the two robots (notice that q was also the result of the first computation of k), p the position where k was when it did its first computation, p’ the position where h was when k did its first computation. Let be the destination of h when k does its second computation. There are two possibilities : either the robot h had in mind before the first computation of k or it had it after.
- •
if had it before: then when did its first computation, it got , which is impossible by assumption (by the condition ),
- •
if had it after: then did a computation while at position and chose as a destination, with , which is impossible by assumption (by the condition ).
Since has probability at least of occurring, it has probability at least of occurring times in a row (notice that this probability is independent of and ). Now, if it occurs times in a row, then is reached. Therefore has a probability at least of being reached from , following . ∎
Theorem 2**.**
Algorithm 1 solves the asynchronous rigid scattering problem in .
Proof.
The proof is a direct application of theorem of choice to the result of Lemma 3 ∎
One remaining interesting question is a necessary and sufficient condition about such that Algorithm 1 solves the ASYNC blind rigid scattering problem (see Figure 3). One may think that the following property is true: ”Algorithm 1 solves ASYNC blind rigid scattering if and only if spans ”. While it is necessary (Algorithm 1 does not solve scattering when all are on the same line), it is not sufficient. Indeed, if , Algorithm 1 does not solve scattering (see Figure 4), yet is a base of . Instead, we propose the following conjecture:
Conjecture 1**.**
The permit Algorithm 1 to solve ASYNC blind rigid scattering if and only if there exists no finite set of points such that from any points of there is a way for the scheduler to choose a frame that makes every coincide with points of .
5 Flexible Scattering in ASYNC
In this section, we consider the more difficult case of flexible (a.k.a. non rigid) moves, where the scheduler may stop the robot before it reaches its destination (but not before the robot moves by some distance ). The previous blind solution (Algorithm 1) may no longer be valid as the condition for not ending up in the same location now requires that robot trajectories do not cross. So, the constant probability (from any configuration) of not reaching another robot’s location is not guaranteed, and so neither is scattering. As a result, we devise new algorithms for this setting that are not blind, first in the unidimensional case (Section 5.1), and then in the bidimensional case (Section 5.2).
5.1 Flexible ASYNC scattering in
The pseudocode for our solution is presented as Algorithm 2. The term ”unit distance” found in Line 6 refers to the one given by the scheduler. Figure 5 presents the two possible locations a robot located in may chose as a target destination when occupied locations are only , , and .
Lemma 4**.**
* is a safe zone for algorithm 2.*
Proof.
Starting from a configuration in , a robot does nothing when there is no other robot at its position (Line 2). ∎
Theorem 3**.**
Algorithm 2 solves the ASYNC flexible scattering problem in .
Proof.
Our strategy is to increase by at least one the number of isolated (and hence immobile) robots at each step of the proof. We first fix a left-right orientation (unknown to the robots), and number the robots from to . Let be a scheduler and a configuration. For the first step, we devise a strategy to put one robot to the right of every other robot (and it remains so forever): if a robot located at the rightmost position (called ”rightmost robot”) is requested to make a choice, then if no other rightmost robot already goes to the right, go to the right; otherwise, go to the left. We refer to this event as (). We now assume that event () always happens when it can, i.e. our strategy occurs.
This strategy occurs with probability at least . Indeed, if a rightmost robot decides to go left once, it is never considered again as it cannot become a rightmost robot again. In more details, Algorithm 2 requires that for a robot to cross a robot to the right, should go to the left. With our strategy, at least one rightmost robot goes right or stays still. It follows that the number of times we need to repeat the strategy is at most , as at most rightmost robots may be requested to go to the left (and if a rightmost robot goes to the left it must be that a rightmost robot has chosen to go to the right). Then, we need each robot on the rightmost position stack to make the right choice between left and right, each one has a probability of making this right choice. So, the strategy is followed with probability at least . 2. 2.
There is a time after which no robot wants to go further to the right of or at the same position as the rightmost robot, and the rightmost robot does not want to move to the left. Said differently there is a time after which the rightmost robot remains the rightmost robot forever (we call this property ). This is entailed by two facts: (i), () can occur at most times (see above) and if () occurs finitely many times, then property is satisfied. It is easy to be convinced of this claim if one notices that a non-rightmost robot cannot become a rightmost robot via a computation (unless the rightmost robots all move left). Next, because we follow the strategy, the rightmost robots cannot go left (except maybe at the beginning).
We now give the technical proof : Assuming the robots follow our strategy, there is a time after which no one wants to go further to the right of or at the same position as the rightmost robot and the rightmost robot does not want to move to the left, as a result the rightmost robot will remain the rightmost robot forever (we call this property P).
We will prove it by induction on the number of robots who may become the rightmost robot at least once.
Firstly it is easy to be convinced there is a time after which the position of the rightmost robot can only increase.
Secondly if at a time a robot is still (its position and its destination is the same) and is not one of the rightmost robots, it can never become one of the rightmost robot. We call this property S.
Let us now prove property P : by contradiction, let us assume that ”who the rightmost robot” is changes an infinite amount of time, let us place ourselves after () does not happen anymore. Since we assume () happens whenever it can happen then it means that there is no situation, after some time , where one of the rightmost robot is asked to compute.
We say that a robot is in the race for rightmost status if there is a scheduler such that following this scheduler and our strategy there is a non-zero probability that this robot becomes, at least for some time, the rightmost robot. In other words a robot is in the race for rightmost status if there is a way for this robot to become one of the rightmost robots at some point.
We place ourselves at time t, we number from 1 to r the robots in the race for rightmost status. There is a time t’ where the rightmost robot is crossed by the robot k (by assumption). There is a time t” at which k stops (either because the scheduler interrupted him or because k reached its destination) at this point k’s position and k’s destination are the same. If k never moves again it is removed from the race. If k moves once again then it means there is a time where another robot q which goes on top of it and k performs a computation. If at time k is not the rightmost robot then it is removed from the race (by property S). But k is not the rightmost robot at time because , and by definition of t the rightmost robot cannot compute after t. Therefore k is removed from the race. By induction this proves claim P (P is equivalent to having only one robot in the race for rightmost status). 3. 3.
After long enough the rightmost robot does not want to move : by the last point there is a time at which there the rightmost robot does not move or moves to the right by fairness of the scheduler it will eventually reach its destination or be interrupted and never be reached by another robot (by the previous point)
The set of configurations were a single rightmost robot does not want to move, and every other robot does not want to cross it is safe (by points 2 and 3 above). Moreover from any starting configuration and for any scheduler , there is a probability at least to reach this set. By theorem of choice, is thus reached with probability .
For the next step of the strategy, we assume that there exists some integer such that the following property holds: ”the set of configuration where the rightmost robots are lonely and do not want to move, and every other robot does not want to cross the leftmost of those rightmost robots is safe”. If a configuration is in , We call the set of robots minus the single rightmost robots. Then, we use a strategy similar to the base case of the induction: if you are a rightmost robot of and you are required to make a choice, if no other robots at your current location is already going to the right, then go to the right, otherwise, go to the left. By a similar set of arguments as for the base case, after long enough, a configuration in is reached, and this configuration is safe.
Step by step, we conclude that we eventually reach a configuration in , and this configuration is safe. Obviously, satisfies . ∎
5.2 Flexible ASYNC Scattering in
The pseudo-code for algorithm scattering is given as Algorithm 3. The smallest enclosing polygon (line 10) is also known as the convex hull. Cardinal directions (Line 7) are given by the scheduler, while the vector (Line 14) denotes the first axis of the frame given by the scheduler to the robot.
When we write ”move alongside ”, where is an angle, we mean that the robot should move in the direction given by the vector , of size one and where . An illustration of the algorithm is given in Figure 6.
Lemma 5**.**
* is a safe zone for Algorithm 3.*
Proof.
Starting from a configuration in , a robot does nothing when there is no other robot at its position (Line 2). ∎
Theorem 4**.**
Algorithm 3 solves the flexible ASYNC scattering problem in .
Proof.
The proof for the case follows the same pattern as the one for . However, it is now more ambiguous to talk about ”farthest” robots. We use the smallest enclosing polygon to define the set of farthest robots, but instead of two directions (left and right) in the case of , we now have multiple angles to distinguish between farthest robots. In more details,let us denote by the first coordinate vector of , let be a finite set of points in , let be a number in , is one of the -furthest points if where is the vector of length 1 and such that (see figure 7)
We number robots from 1 to . Let be a scheduler and a configuration.
For the first step, we choose an angle arbitrarily, and we devise a strategy to put a robot the farthest along (called -farthest). The strategy to follow is: if a robot is one of the -furthest robots and is required to make a choice, if no other robot on the same location is already going -further, pick a direction that makes it go -further, otherwise picks a direction that does the opposite (that is, makes go -closer). This event is called (). Note that it is always possible to comply with the instructions because among the 4 directions robot can go to, at least one is making go -further.
- •
this strategy happens with a probability at least . Indeed, if at some point decides to go -closer, never applies the strategy again because cannot become a -farthest robot again (by construction of the algorithm and the strategy). Therefore the event () happens at most times, since there are 4 equally likely destinations and that at least one goes -farther, we get .
- •
After long enough, no robot wants to go -further or equally -far as the -furthest robots (there can eventually be multiple farthest robots) : the proof is similar to the uni-dimensional case. Assuming the robots follow our strategy there is a time after which the set of -farthest robots never change anymore. We call this property P.
Firstly is it easy to be convinced that there is a time after which the value of the projection of the position of the -farthest robots over the vector only increases.
Secondly if at a time a robot is still (its position and its destination is the same) and is not one of the -farthest robots, it can never become one of the -farthest robots. This is because, in the algorithm, the robot can move a distance which is strictly inferior to the distance to the closest enclosing polygon. We call this property S.
Let us now prove property P : by contradiction, let us assume that the set of -farthest robots changes an infinite amount of time, let us place ourselves after () does not happen anymore. Since we assume () happens whenever it can happen then it means that there is no situation, after some time t ¿ , where one of the -farthest robot is asked to compute. We say that a robot is in the race for -farthest status if there is a scheduler such that following this scheduler and our strategy there is a non-zero probability that this robot becomes, at least for some time, the -farthest robot.
We place ourselves at time t, we number from 1 to r the robots in the race for -farthest status. Since the set of -farthest robot always change by assumption, there is a time t’ where robot k becomes a -farthest robot (and it was not just before that). There is a time t” at which k stops (either because the scheduler interrupted him or because k reached its destination) at this point k’s position and k’s destination are the same. If k never moves again there are two possibilities
- –
there is a point after which it is not a part of the set -farthest robots and it is removed from the race (since it will never move)
- –
or it will always be a part of the set of -farthest robots.
If k moves once again then it means there is a time where another robot q which goes on top of it and k performs a computation. If at time k is not the -farthest robot then it is removed from the race (by property S). But k cannot be -farthest robot at time because (and no robot -farthest robot can compute after time t). Therefore robot k is removed from the race. By induction this proves claim P because each time we either discard a robot from ever being in the set of -farthest robots or we put a robot in this set forever, at some point the set of -farthest robot will never change anymore (which is property P).
- •
After long enough, the -furthest robots do not want to move anymore. Once the situation described in the previous bullet case is reached, we just wait for the furthest robots to reach their destination (or be stopped by the scheduler, for what matters).
After events listed in the above point have happened, the set of -farthest robots remains the same forever.
Next steps of the strategy :
A polygon (or shell) is said stable if all robots on the border of the polygon are standing still and no one inside this polygon wants to go outside or on the border of the polygon. We successively apply the strategy we used for a specific to all . For a given it can be we are already at a point where the set of -farthest robots will always stay the same and we have nothing to do. The cases where we do have something to do occur at most n times. Once the strategy has been applied for all the outer shell (or convex hull) of the robots is stable. Just like in the uni-dimensional case we then apply the same strategy to the robots strictly inside the stable shell. We simply change in the reasoning ”-furthest” by ”-furthest among the robots that are not part of a stable shell”.
At the end, by application of the theorem of choice we reach .
∎
Observe that Algorithm 3 very easily extends to higher dimension.
6 Complexity
The notion of complexity can be studied in two variants: the expected number of coin tosses until scattering, and the expected number of rounds until scattering. A round is a smallest fragment of an execution during which all robots execute each at least one Look-Compute-Move cycle.
Theorem 5**.**
Algorithm 1 achieves scattering of robots in expected rounds.
Proof.
Let be the expected number of rounds it takes to scatter the robots. There is a probability that is reached in one round (see the proof of Lemma 3). Therefore, ∎
Theorem 6**.**
Algorithm 1 uses expected coin tosses.
Proof.
The proof is similar to the last theorem. ∎
By tweaking the algorithm 3, we can get a better bound of . For this change, the probability of picking the -th direction to instead of .
We know that in the SSYNC setting, scattering can be achieved in coin throws on average. In the ASYNC setting, assuming a robot throws a coin anytime it chooses a new destination, it turns out that coin tosses are needed for flexible scattering in .
Theorem 7**.**
Assuming robots are not blind and have weak local multiplicity detection, any algorithm that solves flexible ASYNC scattering in and makes a robot throw at least one coin anytime it chooses a new destination requires coin tosses.
Proof.
At step , suppose every robot is at the same position (at the origin of the coordinate system). At step , every robot computes. There is thus a point (denoted by a red cross on Figure 8) on the left or on the right such that at least robots wish to cross . Out of these robots, we disseminate along the path to by prematurely stopping them. The other robots are put on hold. At step , we choose one of the robots that were put on hold at step , and call it . We now make move toward in an multi-stop fashion: anytime crosses one of the disseminated robots, say , ’s movement is suspended, and computes a new destination (since and occupy the same location at this moment). When reaches , the scheduler stops it.
Each of the has made a computation transition (and hence a coin toss). The scheduler now moves and interrupts each of those in such a way that they remain between the origin and . The process is then repeated with every remaining robots that were put on hold. As a result, each of the disseminated robots computes times, yielding a number of coin tosses. ∎
Our assumption that a robot tosses a coin anytime it chooses a new destination is justified by the following observation: in our schedule, the scheduler only selects for computation robots that are on a multiplicity point; now if a robot on a multiplicity point does not perform a coin toss, its behavior may be identical to that of other robots on the same multiplicity point, delaying scattering.
7 Necessary and Sufficient conditions for ASYNC scattering
In this section, we consider necessary and sufficient conditions for the solvability of ASYNC scattering depending on system hypotheses: rigidity of moves, dimensionality of the locations space, vision, and availability of weak local multiplicity detection. The summary of our results is presented in Table 1.
Theorem 8**.**
Rigid ASYNC scattering in is impossible if the robots are blind, even with weak local multiplicity detection.
Proof.
Consider three robots , , and that are still and is on the left of , while shares ’s position. Let be a positive distance. Then, for any , the scheduler can force a robot that computes a new destination to compute a distance at least with probability (indeed, the scheduler can change the scale of the coordinate system at every Look-Compute-Move cycle). We now construct a schedule such that there is a positive probability that the robots never reach . We define routine(i) as ”Assume there are exactly two robots and sharing the same location and at least one of them, , is still, while the third robot is called . We also assume that is not going toward . If at least one of the assumptions is false, the routine aborts, otherwise, the scheduler does the following:
- •
If is still, the scheduler makes compute and ensures it chooses a destination that is farther than with probability . If chooses to go towards , the scheduler makes it move to the exact location of , from which we execute routine(i+1). Otherwise, the scheduler simply executes routine(i+1).
- •
If is not still, the scheduler makes compute and ensures it chooses a destination that is farther than with probability . If goes towards , the scheduler makes it move to the exact location of and executes routine(i+1). If goes farther than , the scheduler makes go to its destination, then makes move to the location of , and finally execute routine(i+1). If goes further than , the scheduler makes go to its destination, then makes move to the location of and execute routine(i+1).”
Now, with the initial configuration we considered, let the scheduler execute routine(0). As we request the scheduler to ensure a certain moving distance with a certain probability, for any integer , the routine(i) never aborts, and the robots never reach . The probability that this execution occurs is . ∎
Theorem 9**.**
Rigid ASYNC scattering in is impossible if robots have no multiplicity detection, even with full vision.
Proof.
Let us first consider a network of three robots , , and such that is on the left, and and occupy the same location on the right. All robots are still. Now, when is activated, there must be a positive probability that computes a new position. Suppose only selects one direction: opposite to . Then, the same holds for , as the algorithm is uniform for all robots. The scheduler then uses the following schedule: (i) activate until decides to move to the right by some distance , then (ii) activate until decides to move to the right by some distance , then (iii.a) if , move until it reaches its destination, move until it reaches , activate until it decides to go right again by some distance , then repeat the process until , or (iii.b) if , move until it reaches its destination, move until it reaches , activate until it decides to go right again by some distance , then repeat the process until . This schedule yields an execution such that robots and occupy the same position infinitely often, hence scattering is never achieved. This implies that robots and must run an algorithm such that there exists a positive probability to move to the left (that is, toward ).
Now, consider a network of two robots and initially separated and still (hence satisfying ), where is on the right. Since has exactly the same vision as in the previous situation (it has no multiplicity detection), there is a positive probability that goes to the left (toward ). By symmetry, there is also a positive probability that goes to the right (that is, toward ). Now, the distance can be oblivious of the distance between and (that is, an absolute value based on the unit distance given by the scheduler) or a function of the distance between and (since the scale is given by the scheduler, the perceived distance can be always one unit, so this equates to a fraction of the distance). In the case of absolute value, the scheduler simply chooses the distance between and , so that they occupy the same position again, invalidating safety. In the case of a fraction, say (see Figure 9, the same number is chosen by both and with probability since they have the same view. Then computes a right target with probability but does not move, then computes and move four times in a row, hence, with probability , and occupy the same position again, hence is not safe. If the fraction is , for some integer , the overall probability of a meeting of and becomes dependent of , but remains positive.
∎
One may wonder if it is possible to scatter robots that are blind and have no weak local multiplicity detection (even in ). The following theorem show that it is not the case.
Theorem 10**.**
Rigid ASYNC scattering in is impossible if robots are blind and have no weak local multiplicity detection.
Proof.
Since the robots do not have weak local multiplicity detection and are blind, there exists probability that the robots move, otherwise they would never separate if placed on the same location. Let be a position, since the robots are blind by adjusting the scale and orientation of their referential the scheduler can take the robot to position with probability . Let us suppose we have robots in that execute a scattering algorithm. Let us also suppose those robots are in a configuration that satisfies . We now show that it is possible that two robots meet with positive probability. Let be the position of robot number , the scheduler activates robot number such that robot has a probability of choosing as a destination. If robot chooses then we have reached a configuration not in with probability . If robot does not choose , the scheduler makes robot move to its destination and once arrived, activates it again so that it chooses with probability . By doing this repeatedly, we eventually reach a conifguration not in .
Admittedly, a fairness issue may arise, if robot is not activated fairly. However, the arguments remains the same if robot is activated and moves every (for some integer ) activations of robot , as the probability is independent of the position of robot . ∎
The first unresolved case in this table is whether it is possible to scatter blind robots in with flexible moves. We conjecture the answer is yes and that Algorithm 1 is a solution. However, the proof argument is expected to be more involved than the one we provided. The second unresolved case is whether it is possible to scatter robots without weak local multiplicity detection in (be it rigid or flexible moves). We also conjecture the answer to this question is yes, but different algorithmic techniques from the ones we provided are expected to be necessary.
8 Concluding Remarks
We presented the first solutions to the oblivious mobile robots asynchronous scattering problem. Contrary to previous work, we do not assume that the configuration observed by the robots is always up to date or does not features moving robots. It turns out that the problem can be solved in the most general case when robots are able to see other occupied location, and can determine whether more than one robot occupies their current location. Our positive results are constructive, and a byproduct of our approach is a new proof technique that could reveal useful for other oblivious mobile robot problems requiring randomization. Perhaps surprisingly, it remains possible to solve the problem when robots are blind (they cannot see other occupied locations) in a bidimensional Euclidean space. Releasing both assumptions (vision and weak local multiplicity detection) yields immediate impossibility, while removing one of them yields impossibility in the case of line. Some cases remain open and most likely require new proof arguments.
While our approach was mostly driven by a computability perspective, our positive result command a thorough complexity analysis of the problem. Preliminary results we obtained show that, under a reasonable assumption, a lower bound of coin tosses is necessary to scatter robots in ASYNC. This contrasts with the weaker SSYNC model where coin tosses are tight. We leave this path of research as a future work.
The reference list from the paper itself. Each links out to its DOI / PubMed record.
- 1[1] Quentin Bramas and Sébastien Tixeuil. The random bit complexity of mobile robots scattering. Int. J. Found. Comput. Sci. , 28(2):111–134, 2017.
- 2[2] Julien Clément, Xavier Défago, Maria Gradinariu Potop-Butucaru, Taisuke Izumi, and Stéphane Messika. The cost of probabilistic agreement in oblivious robot networks. Inf. Process. Lett. , 110(11):431–438, 2010.
- 3[3] Yoann Dieudonné and Franck Petit. Scatter of robots. Parallel Processing Letters , 19(1):175–184, 2009.
- 4[4] Paola Flocchini, Giuseppe Prencipe, and Nicola Santoro, editors. Distributed Computing by Mobile Entities, Current Research in Moving and Computing , volume 11340 of Lecture Notes in Computer Science . Springer, 2019.
- 5[5] Paola Flocchini, Giuseppe Prencipe, Nicola Santoro, and Peter Widmayer. Gathering of asynchronous robots with limited visibility. Theor. Comput. Sci. , 337(1-3):147–168, 2005.
- 6[6] Paola Flocchini, Nicola Santoro, Giovanni Viglietta, and Masafumi Yamashita. Rendezvous with constant memory. Theor. Comput. Sci. , 621:57–72, 2016.
- 7[7] Taisuke Izumi, Tomoko Izumi, Sayaka Kamei, and Fukuhito Ooshita. Feasibility of polynomial-time randomized gathering for oblivious mobile robots. IEEE Trans. Parallel Distrib. Syst. , 24(4):716–723, 2013.
- 8[8] Ichiro Suzuki and Masafumi Yamashita. Distributed anonymous mobile robots: Formation of geometric patterns. SIAM J. Comput. , 28(4):1347–1363, 1999.
