Gathering with extremely restricted visibility
Rachid Guerraoui, Alexandre Maurer

TL;DR
This paper investigates the feasibility of gathering mobile processes with extremely limited visibility, where each process can only see its closest neighbor, and explores solutions and limitations in this constrained setting.
Contribution
It introduces a new model with minimal visibility, analyzes the solvability of gathering and convergence, and proposes conditions under which these problems can be solved.
Findings
Gathering is possible for up to 5 processes without additional assumptions.
Adding an order-based rule for selecting neighbors enables gathering for any number of processes.
The convergence problem can tolerate up to one crash failure.
Abstract
We consider the classical problem of making mobile processes gather or converge at a same position (as performed by swarms of animals in Nature). Existing works assume that each process can see all other processes, or all processes within a certain radius. In this paper, we introduce a new model with an extremely restricted visibility: each process can only see one other process (its closest neighbor). Our goal is to see if (and to what extent) the gathering and convergence problems can be solved in this setting. We first show that, surprisingly, the problem can be solved for a small number of processes (at most 5), but not beyond. This is due to indeterminacy in the case where there are several closest neighbors for a same process. By removing this indeterminacy with an additional hypothesis (choosing the closest neighbor according to an order on the positions of processes), we then…
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
Gathering with extremely restricted visibility
Rachid Guerraoui and Alexandre Maurer
EPFL
Abstract
We consider the classical problem of making mobile processes gather or converge at a same position (as performed by swarms of animals in Nature). Existing works assume that each process can see all other processes, or all processes within a certain radius.
In this paper, we introduce a new model with an extremely restricted visibility: each process can only see one other process (its closest neighbor). Our goal is to see if (and to what extent) the gathering and convergence problems can be solved in this setting. We first show that, surprisingly, the problem can be solved for a small number of processes (at most 5), but not beyond. This is due to indeterminacy in the case where there are several “closest neighbors” for a same process. By removing this indeterminacy with an additional hypothesis (choosing the closest neighbor according to an order on the positions of processes), we then show that the problem can be solved for any number of processes. We also show that up to one crash failure can be tolerated for the convergence problem.
1 Introduction
An interesting natural phenomenon is the ability of swarms of simple individuals to form complex and very regular patterns: swarms of fishes [15], birds [9], ants [10]… They do so in a totally distributed manner, without any centralized or irreplaceable leader. Such behaviors are a great source of inspiration for distributed computing.
Problems of pattern formation have been extensively studied by the distributed computing community [13, 14, 5, 1]. In order to prove mathematical results, the model is of course simplified: the individuals (processes) are usually geometric points in a Euclidean space. A famous example is the circle formation algorithm by Suzuki and Yamashita [14].
In particular, a pattern formation problem which has been extensively studied is the gathering problem [2, 6, 7, 11, 12]: processes must gather at a same point in a finite time. This apparently simple problem can become surprisingly complex, depending on the model and hypotheses: scheduler, symmetry, computational power, memory, orientation… When gathering is impossible, a close problem is the convergence problem [8, 3]: processes must get always closer to a same point.
One of these hypotheses is visibility. Most pattern formation papers assume unlimited visibility [16, 2, 6, 7, 8, 13, 14]: processes have a global view of the position of other processes. Some papers assume a limited visibility [11, 3, 4, 12]: processes can only see other processes within a certain radius.
However, even with a limited visibility, each process is supposed to analyze the position of several neighbor processes at each computing step. This leads us to the following question: what is the simplest hypothesis we could make on visibility?
In this paper, we assume that each process can only see its closest neighbor (i.e., the closest other process), and ignores the total number of processes. To our knowledge, no paper has yet considered such a minimalist setting. We then study to what extent the gathering and convergence problems can be solved in this setting. We assume a synchronous scheduler and memoryless processes that cannot communicate with messages.
There is an indeterminacy in the case where there are several “closest neighbors” (i.e., two or more processes at the same distance of a given process). We first assume that, in this situation, the closest neighbor is arbitrarily chosen by an external adversary (worst-case scenario).
In this scenario, we show that, surprisingly, the problems can only be solved for a small number of processes. More precisely, if is the number of processes and is the number of dimensions of the Euclidean space, then the gathering (resp. convergence) problem can be solved if and only if or (resp. or ). Indeed, for larger values of , there exists initial configurations from which gathering or convergence is impossible, due to symmetry. The proof is constructive: for the small values of , we provide an algorithm solving the problems. The proof is non-trivial for and , as several families of cases need to be considered.
Therefore, to solve the problems for larger values of , one additional hypothesis must necessarily be added. We remove the aforementioned indeterminacy by making the choice of the closest neighbor (when there is more than one) deterministic instead of arbitrary (according to an order on the positions of processes). Then, we show that the gathering problem is always solved in at most steps by a simple “Move to the Middle” (MM) algorithm.
We finally consider the case of crash failures, where at most processes lose the ability to move. We show that the gathering (resp. convergence) problem can only be solved when (resp. ). When the convergence problem can be solved, the MM algorithm solves it.
Beyond this first work, we believe that this minimalist model can be the ground for many other interesting results.
The paper is organized as follows. In Section 2, we define the model and the problems. In Section 3, we characterize the class of algorithms allowed by our model, and define a simple algorithm to prove the positive results. In Section 4, we prove the aforementioned lower bounds. In Section 5, we remove indeterminacy and show that the gathering problem can be solved for any . In Section 6, we consider the case of crash failures. We conclude in Section 7.
2 Model and problems
Model.
We consider a Euclidean space of dimension (). The position of each point of is described by coordinates in a Cartesian system. For two points and of coordinates and , let be the distance between and .
Let be a set of processes. , let be the position of in . Let be the set of positions occupied by the processes of . As several processes can share the same position, . The time is divided in discrete steps .
If , the processes are gathered (they all have the same position). If , , let , and let be the set of processes such that . At a given time , the closest neighbor of a process is a process of arbitrarily chosen by an external adversary. We denote it by .
We consider a synchronous execution model. At a given time , a process can only see and (without global orientation), and use these two points to compute a new position . Then, the position of at time is .
The processes are oblivious (they have no memory), mute (they cannot communicate) and anonymous (they cannot distinguish each other with identifiers). Note that this model does not assume multiplicity detection (the ability to count the processes at a same position). The processes do not know . At , the processes can have any arbitrary positions.
Problems.
For a given point and a given constant , we say that the processes are -gathered if, , .
An algorithm solves the convergence problem if, for any initial configuration, there exists a point such that, , there exists a time such that the processes are -gathered .
An algorithm solves the gathering problem if, for any initial configuration, there exists a point and a time such that the processes are -gathered .
3 Algorithm
In this section, we describe all possible algorithms that our model allows. Doing so enables us to show lower bounds further – that is, showing that no algorithm can solve some problems in our model. This is not to confuse with the algorithm (a particular case, defined below), which is only used to prove positive results.
Here, an algorithm consists in determining, for any process , the position of at the next step, as a function of and .
First, let us notice that, if the processes are gathered (), the processes have no interest in moving anymore. This corresponds to the case where each process cannot see any “closest neighbor”. Thus, we assume that any algorithm is such that, when a process cannot see any closest neighbor, does not move.
Now, consider the case where the processes are not gathered . Let be the current process, let , and let be the unit vector () directed from to . There are possible cases.
Case 1: .
The next position of is , where is an arbitrary function.
Case 2: .
Let be the axis defined by and . If , as there is no global orientation of processes ( can only position itself relatively to ), the next position of can only be determined by (1) its position on axis and (2) its distance to . The difference here is that, for two given parameters (1) and (2), there are several possible positions ( positions for , an infinity of positions for ). Thus, we assume that the next position (among these possible positions) is arbitrarily chosen by an external adversary.
More formally, the next position of is , where and are arbitrary functions, and where is a vector orthogonal to which is arbitrarily chosen by an external adversary.
Move to the Middle (MM) algorithm.
We finally define one particular algorithm to show some upper bounds. The Move to the Middle (MM) algorithm consists, for each process and at each step, in moving to the middle of the segment defined by and .
More formally, if , the MM algorithm is defined by . If , the MM algorithm is defined by and .
4 Lower bounds
In this section, we show the two following results.
Theorem 1**.**
The gathering problem can be solved if and only if or . When it can be solved, the MM algorithm solves it.
Theorem 2**.**
The convergence problem can be solved if and only if or . When it can be solved, the MM algorithm solves it.
4.1 Gathering problem
Let us prove Theorem 1.
Lemma 1**.**
If , the MM algorithm solves the gathering problem.
Proof.
Let us show that, if , then decreases at the next step.
As , let be the coordinate of point . Let be the points of ranked such that . , let . Then, according to the MM algorithm, the possible positions at the next step are: (at most positions). Thus, decreases at the next step. Therefore, after at most steps, we have , and the gathering problem is solved.∎
Lemma 2**.**
If and , the gathering problem is impossible to solve.
Proof.
First, consider the case . Consider an initial configuration where contains three distinct points , and such that .
Let be the gravity center of the triangle . Let , and . , let and be the two half-planes delimited by the axis , such that belongs to . Let be the unit vector orthogonal to such that the point belongs to . Let if , and otherwise.
Let be a process, and let be such that . The external adversary can choose a closest neighbor and a vector such that and .
Thus, at the next step, it is always possible that contains three distinct points also forming an equilateral triangle. The choice of vectors prevents the particular case where all processes are gathered in point . We can repeat this reasoning endlessly. Thus, the gathering problem cannot be solved if .
Now, consider the case . The external adversary can choose the vectors such that the points of always remain in the same plane, and their behavior is the same as for . Thus, the gathering problem cannot be solved if . ∎
Theorem 1. The gathering problem can be solved if and only if or . When it can be solved, the MM algorithm solves it.
Proof.
If , according to Lemma 1, the MM algorithm solves the gathering problem. If , the gathering problem is already solved by definition. If , the MM algorithm solves the gathering problem in at most one step. Otherwise, if and , according to Lemma 2, the gathering problem cannot be solved. ∎
4.2 Convergence problem
Let us prove Theorem 2.
We first introduce some definitions. For a given set of points , let . Let be the set at time .
Let and . Let be the middle of segment [AB]. Let . Let (the radius of the smallest enclosing ball of all processes’ positions). Let be the smallest coordinate of a point of . We say that a proposition is true infinitely often if, for any time , there exists a time such that is true.
Lemma 3**.**
If there exists a time such that , the MM algorithm solves the convergence problem.
Proof.
If , the processes are and remain gathered. If , then .
If , consider the following proposition : there exists such that . If is true, the gathering (and thus, convergence) problem is solved. Now, consider the case where is false.
Let . Then, as , . The center of gravity of the triangle formed by the three points of always remains the same, and is divided by two at each step. Thus, , there exists a time such that the processes are -gathered .∎
Lemma 4**.**
Let . If , then .
Proof.
If the processes move according to the MM algorithm, then . Let be such that, , . Let and be two points of such that and (two such points and exist, as ). Let . Then, , . Thus, .
Let , and . Then, and . As , and . Thus, . ∎
Lemma 5**.**
Let , , , and be five points (some of them may be identical). Let . Assume , , and . Let and . Then, .
Proof.
As , .
Let , and . We have and . The maximal value of is reached when and . In this case, with the Pythagorean theorem, we have , and thus .
Thus, . Now, suppose that . Let and . This would imply that there exists such that either or , and thus, that either or , which is not the case. Thus, .∎
Lemma 6**.**
*Let be a given time. If and , then one of the following propositions is true:
(1)
(2)
(3) *
Proof.
Suppose that (1) and (2) are false. According to Lemma 4, (2) being false implies that . Let and be two points of such that . As , it implies that the processes at and did not both move to . Therefore, there is a point of such that or . If , let and . Otherwise, let and .
As , there exists a point of such that . Let be the fifth point of . If , let and . Otherwise, let and .
Finally, let . Thus, we have , and . If , then the processes at positions and both move to , and : contradiction. Thus, . Let , and let . Then, according to Lemma 5,
.
As the processes move according to the MM algorithm, , and . Thus, (3) is true.
Therefore, either (1) or (2) are true, or (3) is true.∎
Lemma 7**.**
*Let be a given time. If , then one of the following propositions is true:
(1)
(2)
(3) *
Proof.
Suppose that (1) and (2) are false. According to Lemma 4, (2) being false implies that . Let and be two points of such that .
As , there exists a point of such that . Let be the fourth point of . If , let and . Otherwise, let and .
Let and . Thus, we have , and . If , then the processes at and (resp. and ) both move to (resp. ), and : contradiction. Thus, .
Let , and let . Then, according to Lemma 5, .
As the processes move according to the MM algorithm, , and . Thus, (3) is true.
Therefore, either (1) or (2) are true, or (3) is true.∎
Lemma 8**.**
At any time , .
Proof.
Suppose the opposite: . Let be a point such that, , . If, , , then we do not have . Thus, there exists a point of such that . Let be the previous position of processes at position . As the processes at position moved to , according to the MM algorithm, there exists a point of such that . As and , we have . Thus, there exists a point of such that : contradiction. ∎
Lemma 9**.**
At any time , .
Proof.
Suppose the opposite: . Let and be two points of such that . According to the MM algorithm, there exists four points , , and of such that and .
Let be the line containing and . Let (resp. , and ) be the projection of (resp. , and ) on . Then, there exists and such that . Thus, : contradiction.
∎
Lemma 10**.**
Let . Let (resp. ) be the following proposition: (resp. ). Let . If, for any time , , then is true infinitely often.
Proof.
Let be the following proposition: “” is true infinitely often.
If is false, there exists a time such that , . Thus, the result follows, according to Lemma 6. If is true, there exists an infinite set such that , . Then, according to Lemma 7, is true . Thus, the result follows. ∎
Lemma 11**.**
Let . Suppose that, for any time , . Then, for any time , there exists a time such that .
Proof.
Suppose the opposite: there exists a time such that, , .
Consider the propositions and of Lemma 10. Then, , is false. Thus, according to Lemma 10, it implies that is true infinitely often.
Let be such that, between time and time , is true at least times. According to Lemma 9, for any time , we have . Thus, . For any time , and . Thus, : contradiction. Thus, the result follows. ∎
Lemma 12**.**
Let be a point such that, , . Then, , .
Proof.
Suppose the opposite: there exists a point of such that . According to the MM algorithm, there exists two points and of such that . Then, as , either or : contradiction. Thus, the result follows. ∎
Lemma 13**.**
* and for any two instants and , .*
Proof.
For any point , let be the coordinate of . Let be a point such as described in Lemma 12. According to Lemma 12, , . By induction, and , . In particular, and . Thus, . ∎
Lemma 14**.**
Let be a sequence, Let and let be an integer. If , , then converges.
Proof.
As , converges. Let . Let Then, .
Let and let .
Thus, is a Cauchy sequence and it converges.∎
Lemma 15**.**
Let . If, for any time , there exists a time such that , then the MM algorithm solves the convergence problem.
Proof.
Let be an arbitrary time. , we define as the first time such that . By induction, , .
Let . According to Lemma 13, , we have . , let . Then, , .
According to Lemma 14, the sequence converges and so does . Let be the limit of , and let be the point of coordinates .
decreases exponentially with . Then, , there exists an integer such that . According to Lemma 8, , . Therefore, the processes are -gathered , and the convergence problem is solved.∎
Lemma 16**.**
If or , the MM algorithm solves the convergence problem.
Proof.
If , according to Lemma 1, the MM algorithm solves the gathering problem, and thus the convergence problem. Now, suppose that .
Suppose that, for any time , . Then, according to Lemma 11 and Lemma 15, the MM algorithm solves the convergence problem. Otherwise, i.e., if , then according to Lemma 3, the MM algorithm solves the convergence problem. ∎
Lemma 17**.**
If and , the convergence problem is impossible to solve.
Proof.
Assume the opposite: there exists an algorithm that always solves the convergence problem for and .
First, assume that contains points such as described in the proof of Lemma 2. Consider the infinite execution described in the proof of Lemma 2. Let be the barycenter of these points.
Let be the following proposition: there exists a constant such that the distance between and any of the points of is at most .
If is false, then by definition, the convergence problem cannot be solved. We now consider the case where is true.
If is true, then consider the following case: contains points , , , , and . , and are arranged such as described in the proof of Lemma 2, and so are , and . Let (resp ) be the barycenter of the triangle formed by , and (resp. , and ). Assume that .
Now, assume that the points of the two triangles respectively follow the infinite execution described in the proof of Lemma 2. Then, the distance between any two of the points is always at least , and the convergence problem cannot be solved.∎
Theorem 2. The convergence problem can be solved if and only if or . When it can be solved, the MM algorithm solves it.
Proof.
The result follows from Lemma 16 and Lemma 17. ∎
5 Breaking symmetry
We showed that the problems were impossible to solve for . This is due to particular configurations where a process has several “closest neighbors” (i.e., ). Until now, we assumed that the actual closest neighbor of was chosen in by an external adversary.
We now assume that, whenever , is chosen deterministically, according to an order on the positions of processes. Namely, we assume that there exists an order “” such that any set of distinct points can be ordered from “smallest” to “largest” ().
Let be the largest element of , that is: , . We now assume that, for any process , . With this new hypothesis, we show the following result.
Theorem 3**.**
, the MM algorithm solves the gathering problem in steps, and no algorithm can solve the gathering problem in less that steps.
Proof
Lemma 18**.**
, no algorithm can solve the gathering problem in less than steps.
Proof.
Suppose the opposite: there exists an algorithm solving the gathering problem in less than steps.
First, consider a case with two processes, initially at two distinct positions. Then, eventually, the two processes are gathered. Let be the first time where the two processes are gathered. Let and be their position at time , and let . By symmetry, the two processes should move to at time . Thus, with algorithm , whenever a process is such that , moves to at the next step.
Let be the point of coordinates . Now consider processes, a set , and an order such that, , .111As this is a lower bound proof, our goal here is to exhibit one particular situation where no algorithm can solve the problem in less than steps. Thus, we choose a worst-case configuration with a worst-case order.
Let us prove the following property by induction, :
- •
is true, as .
- •
Suppose that is true for . Then, according to algorithm , the processes at position moves to , and , the processes at position move to . Thus, is true.
Therefore, , , and the processes are not gathered: contradiction. Thus, the result follows.∎
We now assume that the processes move according to the MM algorithm.
Lemma 19**.**
Let and be two processes. If there exists a time where , then at any time , .
Proof.
Consider the configuration at time . According to our new hypothesis, . Let . According to the MM algorithm, and both move to . Thus, at time , we still have . Thus, by induction, the result.∎
Lemma 20**.**
At any time , if the processes are not gathered, there exists two processes and such that , and .
Proof.
Let . Let be the set of processes such that . Let .
Let be the point of such that, , . Let be a process at position .
Let be the largest element of , that is: , . By definition, . Thus, according to our new hypothesis, .
Then, note that is also the largest element of : , . Thus, . Thus, the result follows. ∎
Lemma 21**.**
At any time , if the processes are not gathered, then .
Proof.
Let and be the processes described in Lemma 20. Let . Then, according to Lemma 20, the processes at position and both move to position . Let . According to Lemma 19, the processes occupying the positions of cannot move to more than new positions. Thus, is at most . Thus, the result follows.∎
Lemma 22**.**
, the MM algorithm solves the gathering problem in at most steps.
Proof.
According to Lemma 21, there exists a time such that . Let be the only point of . Then, according to the MM algorithm, the processes do not move from position in the following steps. Thus, the result follows. ∎
Theorem 3. , the MM algorithm solves the gathering problem in steps, and no algorithm can solve the gathering problem in less that steps.
Proof.
The result follows from Lemma 18 and Lemma 22. ∎
6 Fault tolerance
We now consider the case of crash failures: some processes may lose the ability to move, without the others knowing it. Let be the set of crashed processes (the other processes are called “correct”), and let (i.e., the set of positions occupied by crashed processes). Let .
We prove the two following results.
Theorem 4**.**
The gathering problem can only be solved when .
Theorem 5**.**
The convergence problem can be solved if and only if . When , the MM algorithm solves it.
Proof
We say that a process is attracted if there exists a sequence of processes such that , , and , . A loop is a sequence of correct processes such that and, , . A pair is a loop with processes. Let (i.e., the set of positions occupied by correct processes). Let be the state of at time .
Lemma 23**.**
Consider an algorithm for which there exists such that and . Then, this algorithm cannot solve the gathering nor the convergence problem.
Proof.
Assume the opposite. Consider a situation where , with . Then, according to the algorithm, the processes at position and switch their positions endlessly, and neither converge nor gather: contradiction. Thus, the result follows. ∎
Theorem 4. The gathering problem can only be solved when .
Proof.
If , by definition, the processes cannot be gathered. Now, suppose .
Suppose the opposite of the claim: there exists an algorithm solving the gathering problem when . Let be the following proposition: there exists two points and such that all crashed processes are in position , and all correct processes are in position .
Consider an initial configuration where is true. As the algorithm solves the gathering problem, according to Lemma 23, the next position of correct processes cannot be . Thus, is still true at the next time step, with a different point .
Therefore, by induction, is always true, and the processes are never gathered: contradiction. Thus, the result follows. ∎
Lemma 24**.**
If there exists a process which is not attracted, then there exists a loop.
Proof.
Suppose the opposite: there is no loop. Let . , let .
We prove the following property by induction, : are distinct processes.
- •
is true.
- •
Suppose that is true for some . As there is no loop, we cannot have . Thus, is true.
Thus, is true, and there are distinct processes: contradiction. Thus, the result follows.∎
Lemma 25**.**
All loops are pairs.
Proof.
Let be a loop. Let . Let be the set of processes of such that . Let .
Let be the process such that, such that , . Let . As is the closest neighbor of , . Then, according to the definition of , .
Therefore, is either or . Thus, the result follows. ∎
Lemma 26**.**
If there exists a pair, then .
Proof.
According to the algorithm, two processes at the same position at time are at the same position at time . Let be a pair. Then, according to the algorithm, the processes at positions and move to , and . ∎
Lemma 27**.**
There exists a time such that, for any time , all correct processes are attracted.
Proof.
Suppose the opposite. Then, after a finite number of time steps, at least one correct process is not attracted. Thus, according to Lemma 24, there exists a loop. According to Lemma 25, this loop is a pair. Then, according to Lemma 26, decreases.
We can repeat this reasoning times, and we then have : contradiction. Thus, the result follows. ∎
Lemma 28**.**
Suppose . Let be an attracted process, and let be the distance between and the crashed processes. Then, .
Proof.
Suppose the opposite: . As is attracted, there exists a sequence of processes such that , , and , .
, we have
. Indeed, suppose the opposite. Then, , , and is not a closest neighbor of : contradiction. Thus, .
Thus, , . Therefore, : contradiction. Thus, the result follows. ∎
Lemma 29**.**
Let , and let be the position of crashed processes. Let . Let be the value of at time . Suppose that all correct processes are attracted. Then, for any time , , where .
Proof.
At time , let be a process such that . Let be the position of at . Then, according to the algorithm, at time , there exists two processes and at position and such that .
Let . Let be such that . Then, according to Lemma 28, . Let be the other process of . Then, the position of maximizing is such that .
Therefore, according to the Pythagorean theorem, is at most , and . Thus, the result follows. ∎
Lemma 30**.**
If , the MM algorithm solves the convergence problem.
Proof.
According to Lemma 27, there exists a time after which all correct processes are attracted. We now suppose that .
Let . Let be the position of crashed processes, and let . As
, let be such that . Then, according to Lemma 29, at time , all processes are at distance at most from . Thus, the result follows. ∎
Theorem 5. The convergence problem can be solved if and only if . When , the MM algorithm solves it.
Proof.
When , there exists at least two crashed processes that will stay at the same position forever. Thus, the convergence problem cannot be solved.
When , according to Lemma 30, the MM algorithm solves the convergence problem. Thus, the result follows. ∎
7 Conclusion
In this paper, we revisited the gathering and convergence problems with a minimalist hypothesis on visibility. We showed that this model only allows a small number of processes to converge, but requires an additional symmetry-breaking hypothesis to gather an arbitrarily large number of processes. For the convergence problem, up to one crash failure can be tolerated.
This first work can be the basis for many extensions. For instance, we could consider a more general scheduler (e.g. asynchronous). We could investigate how resilient this model is to crash or Byzantine failures. We could also consider the case of voluminous processes, that cannot be reduced to one geometrical point.
Acknowledgments
This work has been supported by the Swiss National Science Foundation (Grant 200021_169588 TARBDA).
The reference list from the paper itself. Each links out to its DOI / PubMed record.
- 1[1] Yehuda Afek, Noga Alon, Omer Barad, Eran Hornstein, Naama Barkai, and Ziv Bar-Joseph. A biological solution to a fundamental distributed computing problem. Science , 331(6014):183–185, 2011.
- 2[2] Noa Agmon and David Peleg. Fault-tolerant gathering algorithms for autonomous mobile robots. In Proceedings of the Fifteenth Annual ACM-SIAM Symposium on Discrete Algorithms, SODA 2004, New Orleans, Louisiana, USA, January 11-14, 2004 , pages 1070–1078, 2004.
- 3[3] Hideki Ando, Yoshinobu Oasa, Ichiro Suzuki, and Masafumi Yamashita. Distributed memoryless point convergence algorithm for mobile robots with limited visibility. IEEE Trans. Robotics and Automation , 15(5):818–828, 1999.
- 4[4] Hideki Ando, Ichiro Suzuki, and Masafumi Yamashita. Formation and agreement problems for synchronous mobile robots with limited visibility, 09 1995.
- 5[5] Ozalp Babaoglu, Geoffrey Canright, Andreas Deutsch, Gianni A. Di Caro, Frederick Ducatelle, Luca M. Gambardella, Niloy Ganguly, Márk Jelasity, Roberto Montemanni, Alberto Montresor, and Tore Urnes. Design patterns from biology for distributed computing. ACM Trans. Auton. Adapt. Syst. , 1(1):26–66, September 2006.
- 6[6] Mark Cieliebak, Paola Flocchini, Giuseppe Prencipe, and Nicola Santoro. Solving the robots gathering problem. In Automata, Languages and Programming, 30th International Colloquium, ICALP 2003, Eindhoven, The Netherlands, June 30 - July 4, 2003. Proceedings , pages 1181–1196, 2003.
- 7[7] Mark Cieliebak and Giuseppe Prencipe. Gathering autonomous mobile robots. In SIROCCO 9, Proceedings of the 9th International Colloquium on Structural Information and Communication Complexity, Andros, Greece, June 10-12, 2002 , pages 57–72, 2002.
- 8[8] Reuven Cohen and David Peleg. Robot convergence via center-of-gravity algorithms. In Structural Information and Communication Complexity, 11th International Colloquium , SIROCCO 2004, Smolenice Castle, Slowakia, June 21-23, 2004, Proceedings , pages 79–88, 2004.
