Gathering Anonymous, Oblivious Robots on a Grid
[Full Version]
University of Paderborn (Germany)
Fürstenallee 11, 33102 Paderborn
{mafi,daniel.jung,fmadh}@unipaderborn.de
Abstract
We consider a swarm of autonomous mobile robots, distributed on a 2dimensional grid. A basic task for such a swarm is the gathering process: All robots have to gather at one (not predefined) place. A common local model for extremely simple robots is the following: The robots do not have a common compass, only have a constant viewing radius, are autonomous and indistinguishable, can move at most a constant distance in each step, cannot communicate, are oblivious and do not have flags or states. The only gathering algorithm under this robot model, with known runtime bounds, needs rounds and works in the Euclidean plane. The underlying time model for the algorithm is the fully synchronous model. On the other side, in the case of the 2dimensional grid, the only known gathering algorithms for the same time and a similar local model additionally require a constant memory, states and “flags” to communicate these states to neighbors in viewing range. They gather in time .
In this paper we contribute the (to the best of our knowledge) first gathering algorithm on the grid that works under the same simple local model as the above mentioned Euclidean plane strategy, i.e., without memory (oblivious), “flags” and states. We prove its correctness and an time bound in the fully synchronous time model. This time bound matches the time bound of the best known algorithm for the Euclidean plane mentioned above. We say gathering is done if all robots are located within a square, because in such configurations cannot be solved.
Keywords: gathering problem, autonomous robots, distributed algorithms, local algorithms, mobile agents, runtime bound, swarm formation problems
1 Introduction
Swarm robotics considers large swarms of relatively simple mobile robots deployed to some two or threedimensional area. These robots have very limited sensor capabilities; typically they can only observe aspects of their local environment. The objective of swarm robotics is to understand which global behavior of a swarm is induced by local strategies, simultaneously executed by the individual robots. Typically, the decisions of the individual robots are based on local information only.
In order to formally argue about the impact of such local decisions of the robots on the overall behavior of the swarm, many simple models of robots, their local algorithms, the space they live in, and underlying time models are proposed. For a survey see the book [FPS12] by Flocchini, Prencipe, and Santoro.
A basic desired global behavior of such a swarm is the gathering process: All robots have to gather at one (not predefined) place. Local algorithms for this process are defined and analysed for a variety of models [DKL11, DKM10, FPS12, CFPS03, CFJM16, ACF16].
A common local model for extremely simple robots is the following: There is no global coordinate system. The robots do not have a common compass, only have a constant viewing radius, are autonomous and indistinguishable, can move at most a constant distance in each step, cannot communicate, are fully oblivious and do not have flags or lights to communicate a state to others. In this very restricted robot model, a robot’s decision about its next action can only be based on the current relative positions of the otherwise indistinguishable other robots in its constant sized viewing range, and independent on past decisions or information (oblivious).
The only gathering algorithm under this robot model, with known runtime bounds, needs rounds and works in the Euclidean plane. The underlying time model for the algorithm is the fully synchronous model (see [ASY95, FPS12]). In , all robots are always active and do everything synchronously. Time is subdivided into equally sized rounds of constant lengths. In every round all robots simultaneously execute their operations in the common lookcomputemove model [CP04] (Section 3).
In the discretization of the Euclidean plane, the twodimensional grid, under the same time and robot model, no runtime bounds for gathering are known. The concept of the Euclidean algorithm [DKL11] cannot be transferred to the grid, because it must be able to compute the center of the minimum enclosing circle of the robots in its viewing range (and then move to this position) and furthermore move arbitrary small distances. This clearly is impossible on the grid. Instead, completely different approaches are needed.
In the only known gathering algorithms on the grid under the same time and a similar robot model, the robots need states (socalled runs) and flags to communicate these states to neighbors, and have to be able to memorize a fixed number of steps [CFJM16, ACF16]. There, a robot with an active run state can further move this state to a neighboring robot. This allows coordinated robot operations over several consecutive rounds. In [CFJM16, ACF16], these operations are crucial for total running time proof ( rounds).
In the current submission, we drop the additional robot capabilities memory and flags or lights to communicate a state to others. Then, analogously to the Euclidean strategy [DKL11], explained above, a robot’s decision about its next action can only be based on the current relative positions of the otherwise indistinguishable other robots in its constant sized viewing range, and independent on past decisions or information (oblivious). Especially coordinated robot operations over several consecutive rounds that are used in [CFJM16, ACF16] cannot be performed under this more restricted model.
To the best of our knowledge we present the first strategy under this restricted model on the grid and prove a total running time of rounds which complies with the best known running time for the Euclidean strategies in this model [DKL11]. More precisely, the running time of our strategy depends quadratically on the outer boundary length of the swarm. The outer boundary is the seamless sequence of neighboring robots that encloses all the others robots inside.
We conjecture that is a lower bound for the number of rounds needed for our algorithm and, more generally, even for any algorithm within our restricted model. At least for our algorithm, we conjecture that a worst case instance is a configuration with robots on the boundary of an axisparallel square. Experiments support this conjecture. Our paper has been accepted for ALGOSENSORS 2017 [FJMadH17].
2 Related Work
There is vast literature on robot problems researching how specific coordination problems can be solved by a swarm of robots given a certain limited set of abilities. The robots are usually pointshaped (hence collisions are neglected) and positioned in the Euclidean plane. They can be equipped with a memory or are oblivious, i.e., the robots do not remember anything from the past and perform their actions only on their current views. If robots are anonymous, they do not carry any IDs and cannot be distinguished by their neighbors. Another type of constraint is the compass model: If all robots have the same coordinate system, some tasks are easier to solve than if all robots’ coordinate systems are distorted. In [KTI07, ISK12] a classification of these two and also of dynamically changing compass models is considered, as well as their effects regarding the gathering problem in the Euclidean plane. The operation of a robot is considered in the lookcomputemove model [CP04]. How the steps of several robots are aligned is given by the time model, which can range from an asynchronous model (e.g., see [CP04]), where even the single steps of the robots’ steps may be interleaved, to a fully synchronous model (e.g., see [ASY95]), where all steps are performed simultaneously. A collection of recent algorithmic results concerning distributed solving of basic problems like gathering and pattern formation, using robots with very limited capabilities, can be found in the book [FPS12] by Flocchini et al.
One of the most natural problems is to gather a swarm of robots in a single point. Usually, the swarm consists of pointshaped, oblivious, and anonymous robots. The problem is widely studied in the Euclidean plane. Having pointshaped robots, collisions are understood as merges/fusions of robots and interpreted as gathering progress [DKM10, DKL11, CFJM16]. In [CFPS03] the first gathering algorithm for the time model with multiplicity detection (i.e., when a robot can detect if other robots are also located at its own position) and global views is provided. Gathering in the local setting was studied in [ASY95]. In [Pre07] situations when no gathering is possible are studied. The question of gathering on graphs instead of gathering in the plane was considered in [Mar09, DFKP06, KMP08]. In [SN13] the authors assume global vision, the time model and furthermore allow unbounded (finite) movements. They show optimal bounds concerning the number of robot movements for special graph topologies such as trees and rings.
Concerning the gathering on grids, in [DDSKN12] it is shown that multiplicity detection is not needed and the authors further provide a characterization of solvable gathering configurations on finite grids. In [SN14], these results are extended to infinite grids, assuming global vision. The authors characterize gatherable grid configurations concerning exact gathering in a single point. Under their robot model and the time model, the authors present an algorithm which gathers gatherable configurations optimally concerning the total number of movements.
Assuming only local capabilities of the robots, esp. only local vision and no compass, makes gathering challenging. For example, a given global vision, the robots could compute the center of the globally smallest enclosing square or circle and just move to this point. For gathering with presence of a global compass, the authors in [SMM16] provide a simple gathering algorithm: The robots from the left and right swarm boundaries keep moving towards the swarm’s inside. In some kind of degenerated cases, instead the robots on the top and bottom boundaries do this.
In the time model, the total running time is a quality measure of an algorithm. In this time model there exist several results that prove runtime bounds [DKL11, KM09, DKLMadH06, ACF16, CFJM16]. For local robot models, the locality strongly restricts the robot capabilities: no global control, no unique IDs, no compass, only local vision (i.e., they can only see other robots up to a constant distance) and no (global) communication. But even under this strongly local model, the presence of remaining local capabilities such as allowing a constant number of states, constant memory or locally visible states (flags, lights), can drastically change running times by even more than the factor [KM09, ACF16, CFJM16]. The price for this improvement then is many more complicated strategies.
One example are strategies that maintain and shorten a communication chain between an explorer and a base camp. The Hopper and Manhattan Hopper strategies [KM09] solve this problem in time , in the Euclidean plane and on the grid, respectively, using robots with a constant number of states, a constant memory and the capability to communicate states to local neighbors (flags, lights). Without these additional robot capabilities, the simple Euclidean GoToTheMiddle strategy [DKLMadH06] needs notably more time for solving the same problem. Concerning the gathering under this restricted model, the simple, Euclidean GoToTheCenter strategy [DKL11] needs time . (A faster strategy for the Euclidean plane does not exist, yet, and it is still unknown if this bound is tight.) On the grid, two asymptotically optimal strategies exist that, solve the gathering of an arbitrary connected swarm [CFJM16] and the gathering of a closed chain of robots [ACF16], respectively. Like the above communication chain strategies, they require more complex robots with a const. number of states, a const. memory and the capability to communicate states to local neighbors (flags, lights). Strategies without these additional capabilities do not exist, yet.
In the present paper, we deliver such an algorithm that uses the same strongly restricted model as the Euclidean GoToTheCenter gathering strategy [DKL11]. Our strategy gathers in time , where denotes the length of the swarm’s outer boundary (cf. Figure 5.) which naturally is . This is comparable to the bound for the Euclidean gathering [DKL11]. We conjecture that is also tight on the grid.
3 Our Local Model
Our mobile robots need very few and simple capabilities: A robot moves on a twodimensional grid and can change its position to one of its eight horizontal, vertical or diagonal neighboring grid cells. It can see other robots only within a constant viewing radius of 7 (measured in distance). We call the range of visible robots the viewing range. Within this viewing range, a robot can only see the relative positions of the viewable robots. The robots have no compass, no global control, and no IDs. They cannot communicate, do not have any states (no flags, lights) and are oblivious.
Our algorithm uses the fully synchronous time model , in that all robots are always active and do everything synchronously. Time is subdivided into equally sized rounds of constant lengths. In every round all robots simultaneously execute their operations in the common lookcomputemove model [CP04], which divides one operation into three steps. Every round contains only one cycle of these steps: In the look step, the robot gets a snapshot of the current scenario from its own perspective, restricted to its constantsized viewing range. During the compute step, the robot computes its action, and eventually performs it in the move step. If a robot has moved to an occupied grid cell, the robots from then on behave like one robot. We say they merge and remove one of them.
We say gathering is done if all robots are located within a square, because such configurations cannot be solved in our time model.
The swarm must be connected. In our model, two robots are connected if they are located in horizontal or vertical neighboring grid cells. The operations of our algorithm do not destroy this connectivity.
4 The Algorithm
A robot decides to hop on one of its neighboring grid cells only dependent on the current robot positions within its viewing range. We distinguish diagonal (Subsection 4.1) and horizontal/vertical (Subsection 4.2) hops. The hops are intended to achieve the gathering progress by modifying the swarm’s outer boundary. Figure 5. defines the swarm’s boundaries: Black and hatched robots are boundary robots. The boundary on which the black robots are located borders the swarm and is called the swarm’s outer boundary. In the figure, all other robots are colored grey. White cells are empty.
4.1 Diagonal hops
If a robot (marked black in Fig. 1/2) checks whether it can execute a diagonal hop, it compares the patterns of Figure 1 and 2 to the robot positions in its viewing range: Robot checks if one of the Diag Hop patterns matches the current scenario from its own perspective. Patterns that are created by an arbitrary horizontal and vertical mirroring and an arbitrary 90 degree rotation of the three patterns of Figure 1 are also valid and have to be checked.
Depending on the matching Hop pattern the robot does the following:

If a Diag pattern matches, then robot checks if, using the same rotation and mirroring, any of the Inhibit patterns match the upperright area of its viewing range. If at least one Inhibit pattern matches, then the Diag hop of robot is not executed. Otherwise, if none of the Inhibit patterns match, the robot hops according to the matching Diag pattern.

If the Diag pattern matches, then the robot checks if, using the same rotation and mirroring, also any of the Inhibit patterns match the upperright area and the lowerleft area of its viewing range. However, in case of the lowerleft area, the Inhibit pattern has to be mirrored at the diagonal mirroring axis shown in Figure 1.. If for both areas matching Inhibit patterns have been found, then the Diag hop of robot is not executed. Otherwise the robot hops according to the matching Diag pattern.
4.2 Horizontal and vertical hops (HV hops)
Robots can also hop in vertical or horizontal direction (HV hop). We allow these hops for length 1 and 2 (cf. Figure 3). For length 2, horizontal or vertical hops, respectively, are a joint operation of two neighbouring robots. If for a robot a horizontal and a vertical HV hop apply at the same time (see of Fig. 3), then it instead performs a diagonal hop as shown in the figure.
After a HV hop, every target cell contains at least two robots. We let these robots merge: i.e., we remove all but one of the robots at the according cell.
Diag and HV hops are executed simultaneously in the same step of the algorithm. In summary, all robots synchronously execute the algorithm, shown in Figure 4.
5 Measuring the Gathering Progress
The gathering progress measures that we will use for the analysis of our strategy are heavily dependent on the length and shape of the swarm’s outer boundary. In order to analyze these measures, we need the terms boundary, outer boundary, length, as well as convex and concave vertices.
Swarm’s boundary.
The swarm’s boundary is the set of all robots that have at least one empty adjacent cell in a horizontal, vertical, or diagonal direction. Figure 5. shows an example: Black and hatched robots are boundary robots. The empty cells contain no robot and are colored in white. When speaking about a subboundary, we mean a connected sequence of robots of some boundary.
Swarm’s outer boundary.
The swarm’s outer boundary is the boundary that borders on the outside of the swarm. In Figure 5. the black robots belong to outer boundary. All other robots are not part of the boundaries, i.e., they have an adjacent robot in all directions (horizontal, vertical, and diagonal). In Figure 5. they are colored grey.
Outer boundary’s length.
We measure the outer boundary’s length as follows: We start at a cell of the outer boundary and perform a complete walk along this boundary while we define the length as the total number of steps that we performed during this walk. This means that if the swarm is hourglass or crossshaped, for example, some robots are counted multiple (up to four) times (cf. Figure 5.). Furthermore, robots on which a turn by is performed during the walk are counted twice (cf. Figure 5.). We denote this length by .
Convex and concave vertices.
On the boundary we further distinguish convex and concave vertices. A vertex of the boundary is a robot that looks like a corner. In Figure 5. fat curves mark convex vertices of the swarm’s outer boundary, while the thin curves mark the concave vertices of the swarm’s outer boundary.
Outline of the running time proof — How we get gathering progress.
We distinguish three kinds of progress measures that help us to prove the quadratic running time. Boundary: Length of the swarm’s outer boundary. Convex: Difference between the number of convex vertices on the swarm’s outer boundary and its maximum value. Area: Included area. We have designed the hops in such a way that the length of the outer boundary (Boundary) never increases. But it can remain unchanged over several rounds. Then, instead, we measure the progress by Convex. As we draw robots as squares, the total number of convex vertices on the swarms’ outer boundary is naturally upper bounded by its maximum value . Convex is the difference between this maximum value and the actual number of convex vertices on the outer boundary. We will show that also Convex never increases.
In rounds in which both Boundary and Convex do not achieve progress, we instead measure the gathering progress by Area. We measure Area as the number of robots on the swarm’s outer boundary plus the number of inside cells (occupied as well as empty ones). In contrast to the other progress measures, Area does not decrease monotonically in general, but we show that it decreases monotonically in rounds without Boundary and Convex progress. We upper bound the size by that the Area can instead be increased during other rounds and show that this makes the total running time worse at most by a constant factor.
All three measures depend only on the length of the swarm’s outer boundary. While Boundary and Convex are linear, Area is quadratic.
This then leads us to a total running time .
6 Correctness & Running Time
In this section, we formally prove the correctness of the progress measures and finally the total running time (Theorem 1).
6.1 Progress Measure Boundary
Lemma 1.
During the whole gathering, Boundary is monotonically decreasing.
Proof.
As the definition of HV hops requires that the robots hop onto occupied cells, such hops naturally cannot increase the number of robots on the outer boundary. So we consider Diag hops in which robots hop towards the swarm’s outside. In order to increase the number of robots on the outer boundary, the target cell of such hops must be empty. But then, the hopped robot has also been part of the outer boundary before the hop, so that the boundary length did not increase. ∎
6.2 Impact of Inhibit Patterns: Collisions
For the proofs of the progress measures Convex and Area, we need a deeper insight why certain robot hops are inhibited by Inhibit patterns (cf. Figure 2). When proving that the Convex progress is monotonically decreasing (Lemma 2), we analyze the change of the total number of convex vertices that is induced by the robot hops. This is only possible if certain simultaneously hopping robots are not too close together. Inhibit patterns ensure this minimum distance.
Cf. Figure 1 and 2. From a more global point of view, the Inhibit patterns ensure that the black robot only performs its Diag or Diag hop, respectively, if the next robot(s) at distance along the boundary does (do) not perform a hop in the opposite direction. If the hop of the black robot is blocked by Inhibit patterns, we will say the robots collide. This will be used in the proofs of our progress measures. Figure 6 shows significant collision examples: : For both, and Diag matches. Without inhibition patterns, would hop to the lower right, while would hop in the opposite direction to the upper left. But the Inhibit 1 pattern inhibits the hop of : collides with . Analogously also the hop of can be inhibited. : If Diag matches for , then the hop is inhibited if concerning both and an inhibition pattern matches. In this example, for a Diag pattern and for a Diag pattern could else enable hops in the opposite direction than the hop of , but the matching Inhibit 1 and 2 patterns inhibit the hop of : collides with . A more detailed analysis of collisions is provided in the proofs for Lemma 3.
6.3 Progress measure Convex
Lemma 2.
During the whole gathering, Convex is monotonically decreasing.
Proof.
If we say “convex/concave vertices”, we consider only the outer boundary. First, we analyze the HV hops. Here, a HV hop can reduce the number of convex vertices by at most 2. At the same time, the outer boundary becomes shorter by at least 2. Then, Convex either remains unchanged or decreases.
Concerning the Diag hops, we look at Figure 7:
The figure shows how the diagonal hops can (locally) change the number of convex vertices on the outer boundary. (In the figure, shows the hops from , but for switched INSIDE and OUTSIDE.) In all cases, the Inhibit patterns ensure that the robots do not move (cf. Subsection 6.2). In the figure, we distinguish Diag and Diag hops, while refer to Diag and to Diag. We distinguish the case that the robot does not hop () and the other case, that it performs a hop (). The result of the case distinction is that in column the number of convex vertices never decreases. In column , this is also the case if the white marked cells are empty.
If instead not all of are empty, the number of convex vertices might also become smaller. But even in this case, still Convex progress does not increase: We now show that then also outer boundary becomes smaller as well as the maximum value for the total number of convex vertices, so that by definition Convex progress is not increased, i.e., it still behaves monotonically:
Figure 8 shows the relevant cases. With reference to Figure 7., all hops are performed towards the swarms’ outside. In column , only the cell contains a robot. There we see, that in all cases the outer boundary becomes shorter by at least 2. In case of , this can be even more than for the case that after the hop the cell below (in Figure 7., this was the cell ) also contains a robot. Column shows the cases where cell is (also) occupied. Because the swarm is always connected, the hatched robot must be connected to the rest of the swarm. This can be either via the subboundary or . The hop shortens the outer boundary by forming inner bubbles (Figure 5.). ∎
6.4 Progress measure Area
The third progress measure Area does not behave monotonically. It can be increased during rounds where we get Boundary or Convex progress. But we use it for estimating the number of the remaining rounds (Lemma 3). And in the proof of Theorem 1 we show that the increased amount of the Area progress measure does not worsen the asymptotic running time.
Lemma 3.
If in a step of the gathering process neither Boundary nor Convex has progress, then instead Area has progress by at least .
6.5 Total running time
Now we can combine all three progress measures Boundary, Convex and Area for the running time proof (Theorem 1).
Theorem 1.
A connected swarm of robots on a grid
can be gathered in
many rounds.
Proof.
Let be the initial length of the swarm’s outer boundary. We know from Lemma 1 that Boundary decreases monotonously. Then, progress in Boundary happens at most times. By Lemma 1, Convex also decreases monotonously. As every robot on the swarm’s outer boundary can provide at most 4 convex vertices, Convex progress happens at most times.
We estimate the rounds without Boundary and Convex progress via the size of the included area, i.e., the Area progress. By Lemma 3, we know that in every round without Boundary and Convex progress, the area becomes smaller by at least . But, Area is not a monotone progress measure, in rounds with Boundary or Convex progress, the included area can increase: While HV hops cannot increase the included area, Diag hops can. First, we assume that the according Diag hops do not change the outer boundary length. Then, every time Convex has progress, the area can become larger by at most , because every robot hop on the outer boundary can increase the area by at most 1. As Convex happens at most times, this in total is upper bounded by .
If the outer boundary length changes, i.e., becomes shorter, then the included area can increase (cf. proof of Lemma 2 and Figure 5.). Then, a Boundary progress by can also increase the included area by . But as Boundary progress is monotonically decreasing, the sum of all these is upper bounded by .
Summing it up, during the whole process of the gathering, the area can be increased by at most . Together with the initial area of at most , Area progress happens at most . Then, the gathering is done after at most rounds. ∎
7 Proof of Lemma 3
In this section, we provide the proof of Lemma 3. In the following, we will prove Lemma 5 and Lemma 6 whose combination immediately deliver the proof of Lemma 3. Lemma 5 and 6 are given later, when we have prepared for their proofs.
7.1 Outline of the proof
In Lemma 5, we assume that the swarm does not contain hourglass shaped parts, while in Lemma 6 the result is generalized to swarms that do contain hourglass shaped parts. In Figure 15, hourglass shaped parts are marked by black robots. We call them bridges. A more detailed definition is given before Lemma 5.
For the proofs, we will first construct a more abstract model of the swarm’s outer boundary: During a walk along the swarm’s outer boundary one performs rotations by or . We subdivide the outer boundary into parts (socalled supercorners) such that at both of their endpoints a Diag hop can be performed and that during a walk along such a supercorner, a total rotation by or is performed. We will argue that because always a total rotation by is performed during a complete counterclockwise walk along the swarm’s outer boundary, there must be 4 more than supercorners. In our construction, robot hops of supercorners are always performed towards the swarm’s inside. This then proves the statement of Lemma 5 that Area decreases by at least .
When generalizing this to Lemma 6, we first notice that bridges can hinder hops towards the swarm’s inside. But we will argue, that a single bridge cannot hinter the total Area decrease that is proven by Lemma 5, and that at least two bridges are needed for this. We subdivide the swarm into bridges and subswarms that are connected by bridges, as shown in Figure 15. Then, we construct a tree such that every node represents a bridgeless subswarm and every edge represents a bridge. The leaves of this tree represent subswarms that only contain one bridge. The proof of Lemma 6 then mainly follows by the argument that every tree contains enough leaves for compensating the nondecreasing Area progress of the subswarms that are represented by its inner nodes.
7.2 Preparing for the proofs
Our arguments mainly consider only robots on the swarm’s outer boundary. But in general, a swarm also contains inside robots. The proofs of Lemma 5 and 6 require that inside robots neither inhibit outer boundary robots from hopping towards the swarm’s inside (Area decrease) nor enable additional robot hops towards the swarm’s outside (Area increase). We formally prove this in Lemma 4.
Lemma 4.
Let be the outer boundary of some swarm and be its interior robots. We consider Diag hops:

If hops towards the swarm’s inside, it also does this on .

If does not hop towards the swarm’s outside, it also does not hop on .
Roughly speaking, in the proof we analyze how Diag and Inhibit patterns can be generated or destroyed by adding robots and prove that in situations in which this would lead to a contradiction of the lemma, this cannot be done by adding robots only to the swarm’s interior. For the formal proof, see Subsection 7.6 (appendix).
For the Area progress proofs, we need a more formal description of the swarm’s outer boundary.
Quasi lines.
Definition 1 (quasi line).
We define a subboundary, called a horizontal quasi line, as follows: Cf. Figure 9.

It consists only of horizontal subboundaries of length that are connected by stairways of height or . (Definition of stairways, see below.)

It begins and ends with three horizontally aligned robots.
In Figure 9, stairways are marked by black robots. They are alternating left and right turns. In the figure, their endpoints are marked by bicolored robots.
Stairways that do not match the quasi line Definition 1, i.e., are of height , connect two neighboring quasi lines that can be either both horizontal, both vertical, or one horizontal and the other one vertical. Our algorithm performs Diag hops at these connection points. In Figure 9, dashed lines border the according patterns for quasi line 1.
In our proofs, we represent a horizontal quasi line by a horizontal line segment and a stairway by a diagonal one. For the example in Figure 9, the drawn polygon shows this construction for the given example swarm.
Corners.
We call the connections between different quasi lines corners. These are the fat drawn parts of the polygon. At their endpoints, the Diag Hop patterns match. The formal definition of corners is the following (cf. Figure 10).
Corner includes a diagonal line segment and is convex (i.e., induces a rotation).  
Corner includes a diagonal line segment and is concave (i.e., induces a rotation).  
Corner includes a diagonal line segment and one end is convex and the other one concave (i.e.,  
induces rotation).  
Corner does not include a diagonal line segment and is convex (i.e., induces a rotation).  
Corner does not include a diagonal line segment and is concave (i.e., induces a rotation). 
Supercorners.
In our strategy, though the visible pattern of some robot matches one of Diag, it does not execute its hop if suitable inhibition patterns match. Remember the difference, that if for a robot a Diag pattern matches, only one matching inhibition pattern inhibits its hop, but for Diag two (one in each direction) inhibition patterns are required.
Figure 11 shows significant examples for this: : do not hop. : do not hop, but the robot does, because a colliding robot exists only in one direction on the boundary (Diag pattern). : execute their hops, because they both hop downwards (no collision).
Now we construct supercorners from consecutive corners, in such a way that the supercorners have the property that only the two (respectively the one for supercorners that only consist of a single corner) endpoint robots actually perform their hops and the hops of all other included endpoint robots are inhibited by collisions with neighbors. Because, in order to collide, the hops must be performed in opposite directions, the consecutive corners along must be alternating convex and concave. This means that we can define the supercorners analogously to corners (cf. Figure 12). Here, denotes the number of , respectively corners of the according supercorner and denotes the same but for and , respectively. : (total rotation) : (total rotation) : (no total rotation) : ( rotation) : ( rotation)
7.3 Bridges
In Lemma 5 and 6, we distinguish two kinds of swarms: the ones without (Lemma 5) and the ones with bridges (Lemma 6).
For the definition of bridges, we start with a swarm (cf. Figure 13.) which has the property, that it contains exactly two endpoints (hatched) from which the whole swarm can be completely removed just by continuously executing HV hops. Figure 13.: We call such a subswarm a bridge if it connects two other subswarms (grey) at its endpoints.
7.4 Area progress for swarms without bridges (Lemma 5).
Lemma 5.
If a swarm does not contain any bridges and neither Boundary nor Convex has progress, then instead Area has progress.
Proof.
During a walk along the outer boundary of the swarm, we perform a total rotation of . Using the above construction, it follows:
while are the total numbers of and , respectively. Then, there must exist neighboring corners without collisions. Then, by construction, the above equation also holds for supercorners:
By the prerequisites of the lemma, there is no Convex progress. So, . Note that can be bigger than zero if the according hop is hindered by inside robots. We get:
By construction, every executes two hops towards the swarm’s inside, while does the same towards the outside. Then, the included area behaves as follows:
This finishes the proof. ∎
7.5 Area progress for swarms with bridges (Lemma 6).
Now we generalize to a swarm that includes bridges.
Lemma 6.
If a swarm contains bridges and neither Boundary nor Convex has progress, then instead Area has progress.
Proof.
We classify subswarms by the number of bridges by which they are connected to the rest of the swarm.
#bridges (leaves).
We first look at a subswarm that is connected by only one bridge to the remaining part of . Later, we will call a subswarm with this property a leaf. For our analysis, we separate from , by splitting into two parts (e.g., this could be done by removing robots). Afterwards, we remove the part that is then connected to by executing a sufficient number of HV hops. The remaining subswarm from then only allows Diag hops. Now we start with the same construction as in the proof of Lemma 5, but this time applied only to the subswarm . Accordingly, we end up in the equation:
In contrast to the proof of Lemma 5, here can be bigger than , in case hinders the hops of all existing supercorners.
Now we estimate the worst case for the number of diagonal hops towards the inside of that could have been hindered by the bridge . There are two cases how can hinder a diagonal hop:

It occupies white marked cells in the Diag patterns.

It produces a collision with a robot that wants to perform a Diag hop.
As the width of by definition is , it can hinder at most two hops towards the inside of .
In Figure 14, we see that the supercorners () provide the worst case, because here we can hinder all hops of two convex supercorners. If, e.g., hops of supercorners are hindered instead (), then afterwards still two of their robots hop towards the swarm’s inside.
For the worst case, we get the equation
By construction, every executes two hops towards the swarm’s inside, while does the same towards the outside. As we, because of the prerequisites of the lemma, do not have Convex progress, all hops are hindered by inside robots (I.e., might be .). Then the included area behave as:
I.e., in respectively , the included area becomes smaller by at least 4 instead 8 for swarms without bridges.
#Bridges .
We can generalize this worst case construction to a subswarm that is connected by bridges to the remaining swarm. For this, analogously to the onebridgecase, we first build from by removing the bridges.
There, every bridge can still hinder at most 2 hops towards the subswarm’s inside and, as before, the worst case means, that these are corners. We get . So, in total
and
where for becomes an equal sign (worst case).
This means that in the worst case, for bridges the area does not change and for bridges it even increases. We will compensate this by showing that there are still enough subswarms that are only connected by a single bridge (leaves).
For showing this, we first transform the swarm to a tree.
Tree.
Cf. Figure 15. We divide the swarm into bridges and subswarms (in the figure, the subswarms are named .). In the graph representation, every becomes a node while every bridge is interpreted as an edge. The resulting graph is a tree, because in our construction an existing cycle would represent an “area”, i.e., one of the subswarms , and so would contradict our construction in which every is a node.
Summarized Area progress.
We estimate the total amount of area progress, by inductively constructing this tree: We start with the root node , which has degree . Then also leaves are connected to this node. We know that for this in the worst case Area behaves like , which can be . But adding the area change of the leaves, we get .
Now we inductively add the other inner nodes to the tree. Then one can show that for every tree the following holds: Every inner node of degree serves additional leaves. If we associate these leaves to , we get . So does not have any bad impact on the change of total included area: . This finishes the proof. ∎
7.6 Proof of Lemma 4
Proof.
In this proof, if talking about collisions that inhibit hops, we often analyze the case when, in the viewing range of a robot, a Diag pattern changes to Diag and vice versa. This is relevant, because by definition a Diag hop is only inhibited of two Inhibit patterns match at the same time (one in each direction), while for Diag hops only one is needed. Now, we start with the proofs:
1.) The hop of can be hindered by inside robots by two reasons. The Hop pattern of changes: This is impossible, as for this outside robots must be added.
Collisions: : changes from Diag to Diag: This is not possible because of .
: Some robot becomes part of an Inhibit pattern that makes him collide with : This is not possible because if checks for collisions, inhibition patterns do not include inside robots.
2.) Cf. Figure 16. The bold polygonal line marks the outer boundary. The hop of a robot that shall hop towards the swarm’s outside can be enabled by inside robots by two reasons. The robot positions in the viewing range of change: : changes from Diag to Diag. Figure 16.: This is not possible, because for this, must be removed and occupied. Both is not possible.
: was located on a quasi line and changes to Diag. : Figure 16.: was located on a group of horizontally aligned robots. This would require to remove at least the robot . : Figure 16.: was located on a stairway of height . This would require to remove at least the robot . : Figure 16.: was located at an endpoint of a stairway of height . This would require to remove one of the robots . : could also not be located inside a stairway, because then the white marked cells in the Diag patterns are not both free and also cannot be emptied.
Collisions: : was Diag and becomes Diag. This is not possible because of . : Previously, collided with some robot and after adding inside robots, they do not collide anymore. Figure 16.: We assume, that for a Diag pattern matches (The proof for Diag is the same.). Initially, the Inhibit 1 pattern inhibits the hop. The cells must stay empty because else the Hop pattern for would be destroyed. But we can change the occupancy of the cells : : If we add a robot to , while stays empty, then the Inhibit 1 pattern becomes an Inhibit 2 pattern and the collision is still present. : If we add a robot to , then, independent of , the Inhibit 3 pattern matches and the collision is still present. : If initially an Inhibit 2 pattern induces the collision (), then adding a robot to makes the Inhibit 2 pattern become an Inhibit 3 pattern. This covers all variants, because Inhibit 3 patterns cannot be transformed. ∎
References
 [ACF16] Sebastian Abshoff, Andreas CordLandwehr, Matthias Fischer, Daniel Jung, and Friedhelm Meyer auf der Heide. Gathering a closed chain of robots on a grid. In IPDPS ’16, pages 689–699, 2016.
 [ASY95] Hideki Ando, Yoshinobu Suzuki, and Masafumi Yamashita. Formation and agreement problems for synchronous mobile robots with limited visibility. In ISIC ’95, pages 453–460, August 1995.
 [CFJM16] Andreas CordLandwehr, Matthias Fischer, Daniel Jung, and Friedhelm Meyer auf der Heide. Asymptotically optimal gathering on a grid. In SPAA ’16, pages 301–312, 2016.
 [CFPS03] Mark Cieliebak, Paola Flocchini, Giuseppe Prencipe, and Nicola Santoro. Solving the Robots Gathering Problem. In ICALP ’03, pages 1181–1196, 2003.
 [CP04] Reuven Cohen and David Peleg. Robot Convergence via CenterofGravity Algorithms. In SIROCCO ’04, volume 3104 of LNCS, pages 79–88, 2004.
 [DDSKN12] Gianlorenzo D’Angelo, Gabriele Di Stefano, Ralf Klasing, and Alfredo Navarra. Gathering of robots on anonymous grids without multiplicity detection. In SIROCCO ’12, volume 7355 of LNCS, pages 327–338. Springer Berlin Heidelberg, 2012.
 [DFKP06] Anders Dessmark, Pierre Fraigniaud, Dariusz R. Kowalski, and Andrzej Pelc. Deterministic Rendezvous in Graphs. Algorithmica, 46(1):69–96, 2006.
 [DKL11] Bastian Degener, Barbara Kempkes, Tobias Langner, Friedhelm Meyer auf der Heide, Peter Pietrzyk, and Roger Wattenhofer. A tight runtime bound for synchronous gathering of autonomous robots with limited visibility. In SPAA ’11, pages 139–148, 2011.
 [DKLMadH06] Miroslaw Dynia, Jaroslaw Kutylowski, Pawel Lorek, and Friedhelm Meyer auf der Heide. Maintaining communication between an explorer and a base station. In IFIP TC10, pages 137–146, 1 January 2006.
 [DKM10] Bastian Degener, Barbara Kempkes, and Friedhelm Meyer auf der Heide. A local gathering algorithm. In SPAA ’10, pages 217–223, 2010.
 [FJMadH17] Matthias Fischer, Daniel Jung, and Friedhelm Meyer auf der Heide. Gathering anonymous, oblivious robots on a grid. In Proceedings of the 13th International Symposium on Algorithms and Experiments for Wireless Networks (ALGOSENSORS), 2017. (accepted, to appear).
 [FPS12] Paola Flocchini, Giuseppe Prencipe, and Nicola Santoro. Distributed Computing by Oblivious Mobile Robots. Synthesis Lectures on Distributed Computing Theory. Morgan & Claypool, 2012.
 [ISK12] Taisuke Izumi, Samia Souissi, Yoshiaki Katayama, Nobuhiro Inuzuka, Xavier Défago, Koichi Wada, and Masafumi Yamashita. The Gathering Problem for Two Oblivious Robots with Unreliable Compasses. SICOMP, 41(1):26–46, 2012.
 [KM09] Jaroslaw Kutylowski and Friedhelm Meyer auf der Heide. Optimal strategies for maintaining a chain of relays between an explorer and a base camp. TCS, 410(36):3391–3405, 2009.
 [KMP08] Ralf Klasing, Euripides Markou, and Andrzej Pelc. Gathering asynchronous oblivious mobile robots in a ring. TCS, 390(1):27–39, 2008.
 [KTI07] Y Katayama, Y Tomida, H Imazu, N Inuzuka, and Koichi Wada. Dynamic Compass Models and Gathering Algorithms for Autonomous Mobile Robots. In SIROCCO ’07, volume 4474 of LNCS, pages 274–288, 2007.
 [Mar09] Sonia Martînez. Practical multiagent rendezvous through modified circumcenter algorithms. Automatica, 45(9):2010–2017, 2009.
 [Pre07] Giuseppe Prencipe. Impossibility of gathering by a set of autonomous mobile robots. TCS, 384(23):222–231, 2007.
 [SMM16] S Saadatmand, D Moazzami, and A Moeini. A Cellular Automaton Based Algorithm for Mobile Sensor Gathering. JAC, 47(1):93–99, 2016.
 [SN13] Gabriele Di Stefano and Alfredo Navarra. Optimal Gathering of Oblivious Robots in Anonymous Graphs. LNCS, 8179:213–224, 2013.
 [SN14] Gabriele Di Stefano and Alfredo Navarra. Optimal Gathering on Infinite Grids. In SSS ’14, pages 211–225. Springer, Cham, 2014.