Master 2
Gathering and Leader Election in Robot Networks (Exercises)
Mika¨el Rabie Franck Petit∗
We investigate the Gathering Problem (GP) in robot networks. GP can be stated as follows:
robots, initially located at various positions, gather at the same position in finite time and remain at this position thereafter.
The robots are assumed to be uniform and anonymous, i.e., they all execute the same program using no local parameter (such that a visual identity) allowing to differentiate any of them. However, we assume that each robot is a computational unit having the ability to determine the positions of the n robots within an infinite decimal precision. We assume no kind of communication medium. Each robot has its own localx-yCartesian coordinate system defined by two coordinate axes (x and y), together with their orientations, identified as the positive and negative sides of the axes. The robots are assumed to have no sense of direction and no chirality, i.e., they do not agree on a common orientation nor handedness.
Definition 1 (Multiplicity Detection) The robots have the capacity of multiplicity detection if, for every point p, their sensors can detect if there is no robot, there is one robot, or there are more than one robot.
Note that assuming weak multiplicity detection, the robots are not be able to computenin general.
Theorem 1 If the robots are devoid of multiplicity detection, then GP is not solvable.
Question 1 Sketch the proof of Theorem 1.
In the sequel, we assume that the robots are able to distinguish multiplicity using Function mult(p) that returns either 0, 1, or ⊕whether there is no robot, one robot, or there are more than one robot, respectively.
1 GP with 3 robots
Question 2 Provide an algorithm assuming that initially the 3 robots are aligned.
Definition 2 A point ce is the center of equiangularity of3 distinct points in the plane p1, p2, andp3, ifp\1cep2 =p\2cep3=p\3cep1. Ifce exists, then it is unique and inside the triangle having as vertices p1, p2, andp3.
1
Given 2 distinct points p and p0, let the 120-circle be the circle passing through p,p0, and p00 so that the triangle formed byp,p0, and p00 is equilateral. The trianglep,p0,p00 is said to be associatedto the 120-circle. Note that for every pairp,p0, there are two different 120-circles.
Let p1, p2, and p3 be 3 distinct points in the plane. Let Cij (1≤ i 6=j ≤ 3) be the 120- circle passing through pi and pj such that the triangle associated toCij does not intersect the triangle formed by p1, p2, and p3, except in pi and pj. Given two distinct 120-circles Cij and Cik (1≤ i6=j 6=k ≤ 3 andi 6=k), let wi be the intersection between Cij and Cik such that wi∈ {p/ 1, p2, p3}. If the center of equiangularityce ofp1,p2,p3 exists, then ce=w1 =w2=w3.
Theorem 2 Given3distinct points in the planep1,p2, andp3,ce exists if and only ifp\2p1p3<
120◦, p\1p3p2 <120◦, and p\3p2p1<120◦.
Question 3 Propose an algorithm starting from a configuration where a center of equiangularity exists.
Question 4 From the 2 preceding questions, deduce an algorithm starting from any configura- tion.
2 GP with 4 robots
Question 5 Propose an algorithm assuming that initially the4 robots are aligned.
Question 6 Propose an algorithm starting from a configuration where the convex hullH forms a triangle.
Question 7 From the 2 preceding questions, deduce an algorithm starting from any configura- tion.
3 GP with n robots
In this section, we will study the Gathering Problem from any n≥5 in the SYm model. We will first develop an algorithm based on the solution in [?] written for CORDA. We will then consider a simplified version for SYM.
We first assume that a leader can be elected using the method seen during the class assuming no chirality. In other words, we assume that the configuration is not periodic and if some symmetric axes exist, then the leader is located on one of them.
Let P be the set of robot positions. Let SEC(P) be the smallest circle enclosing all the positions in P and O, its center. Let Inside(P) be the subset of P such that no position in Inside is located on the circumference of SEC(P). When no ambiguity arises on P, we just write SEC and Inside.
Question 8 Propose an algorithm leading at least a pair of robot to occupy the same position assuming that initially (1) no two robots are located at the same position and(2) Insideis not empty.
From now on, we assume thatInside=∅in the initial configuration, i.e., all the robots are located on the circumference of SEC. We need the following definitions and results:
Definition 3 (Critical position) Given a set of robot positionsP, a robot r is critical if and only ifSEC(P)6=SEC(P\ {pr}).
2
Lemma 3 ([?]) Given a smallest enclosing circle with at least four robots on it, there exists at least one robot which is not critical.
Let Rbe the finite set of radii with respect toSEC so that a radiusρ belongs to Riff one robot is located onρ. Denote]Rthe number of radii in R. (Note that since we are considering that initially Inside = ∅, for every radius ρ ∈ R, ρ contains only one robot located at the intersection of ρand SEC. Furthermore,]R=n.)
Denote by an arbitrary orientation of SEC, i.e., denotes either the clockwise or the counterclockwise direction. Given an orientationofSEC, denotes the opposite orientation.
Letρbe a radius in R, the successor ofρ in thedirection, denoted bySucc(r,), is the next radius inR, according to. Theith(i >0) successor ofρ, denoted bySucci(ρ,), is the radius such that Succi(ρ,) = Succ(Succi−1(ρ,),). Given ρ and its successor ρ0 = Succ(ρ,), αρρ0 =^(ρOρ0) denotes the angle betweenρ and ρ0 following thedirection.
The String of anglesSA(ρ) of some radius ρ∈ R is defined by:
αρSucc1(ρ,)αSucc1(ρ,)Succ2(ρ,). . . αSucci(ρ,)Succi+1(ρ,). . . αSucck(ρ,)ρ withk=]R
Let LexM inSAbe the lexicographically minimal string among all strings of angles in both directions,i.e.,
LexM inSA=min {∀ρ∈ R, SA(ρ)} ∪ {∀ρ∈ R, SA(ρ) } Let StartSetbe the set of radius in Rsuch that SA(ρ)∈LexM inSA.
Question 9 Fill out the algorithm of Question 8 for any configuration assuming that a leader is elected.
Question 10 Assume a synchronous system. What does happen by executing the algorithm found in Question 9 starting from a periodic configuration where all the robots are located on the circumference of SEC, for instance, ann-gon or a biangular circle?
Question 11 Same question as for Question 10 assuming an asynchronous system?
Question 12 Provide a simplified version of the algorithm found in Question 10 for SYm.
Question 13 Why the algorithm of Question 12 does not work in CORDA?
3