• Aucun résultat trouvé

Evacuating in the presence of Byzantine Faults

Dans le document Exploration Problems using Autonomous Robots: (Page 137-141)

Evacuating with Crash-Faults5.2.1

5.2.2 Evacuating in the presence of Byzantine Faults

5.2.2 Evacuating in the presence of Byzantine Faults

The main contribution is as follows.

Theorem 11. Byzantine-Evacuation can be solvedintime1+y+v^« 6.92084.

Proof. (Theorem 11) The analysis relies on Figure 5.4. Assume that ail three robots Vk, for k G {1,2,3}, execute the main évacuation Algorithm 3.

The idea of the algorithm is for the robots to traverse the circumference of the disk for a time of 2n/3. Depending on the calls that hâve been received, the robots

hâve information to either go to the exit or continue traversing the circuinference of the disk foranotherperiodoftime time y. Theycannowverifyconflicting messages ofthe correctlocation ofthe exitbasedon the calls thathâvebeenmade bythe other robots so far. Details are being discussed in the sequel.

Algorithm 3: Evacuation with Byzantine Faults 1 Go to the circumference, at position

2 while Tk’s location is not the same as the exit’s location do for 2e do

follow the circumference clockwise

if One robot clairns to hâvefound more than one exit then

Continue execution ofalgorithm as though the robot remained silent if No information about exit then

for y do

follow the circumference clockwise till exit is either found or reported. Finish

if One robot daims to hâvefound the exit then

Go to closest part of the segment that is claimed to contain the exit;

Explore entire segment. Finish.

if Two robots claim to hâvefound the exit then Investigate both exits. Finish.

i5 Iiiform ail robots ofthe location ofthe exit.

10 il 12 13 14

First note that one time unit is required to reach the circumference of the dise.

After y additional time units, the entire dise has been explored once. The areas explored by the robots are contiguous but not overlapping. Observethat a Byzantine robotthat daimstohâve foundmore thanoneexit isimmediately identifiedas faulty by the healthy robots. Both potential exits are ignored, and the algorithmcontinues as though the robot had remained silent. If a non-faulty robot finds the exit, it immediately informs ail other robots, then stop its exploration. Say without loss of generality that rx is healthy. If rq finds the exit during the first y part of the exploration, then it stops and is done with the execution ofits algorithm, in a time

s.

Figure 5.4: The initial searching position for n, r2 and r3 in the Byzantine fault.s model

at most, 1+y- Ifit does not, find an exit during the first y part ofthe exploration, then we must consider three cases:

No exit location reported: Ifno exit was found, then keep exploring the circum-ference of the disk for time y. Notice that this means that the exit cannot be in B. If the exit is in C, then ri has found the exit, and its execution is complété in a time at most 1 + y. If the exit is in A, then we learn that r3 is Byzantine (otherwise, it would hâve claimed to hâve found the exit during the first, 1 + y of the execution of the algorithm), and r2 will hâve correctly identified the location ofthe exit (Notice that rx needs to finish exploring the second arc C to makesurethat it wasr3 thatlied.) Say theexit is located atan arc distance of 0 < x < y from ri’s current position. Then 2sin| is required for ri to reach the exit. Since this function is monotone in x for x < n, ri can reach the exit in a total time of at most 1 + y +\/3.

One exit location reported: Ifone robot other than rx daims to hâve found the exit, we consider two situations: (1) the robot ishealthy, in which case the exit is indeed located on the segment where the announcement was made; or (2)

therobot is Byzantine, inwhich casethe othertwo segmentshâve been entirely exploredby healthyrobots (andare therefore reliablyproven to beempty), and the exit is located on the segment where the announcement was made. Notice that in bothsituations, theonly possiblelocation for the exit is on the segment where the announcement was made. If the announcement was made on the segment C, then r\ explores Cimmediately, for a total time ofat most 1+ ^0 Ifthe announcement was made on the segment A, then ri must first reach one end ofsegment A, which requires 2sin = \/3 (both ends of the segment are équidistant from ri’s position), then explore the segment, for a total time ofat most 1+ ^ +

\/3-• Two exit locations reported: If both r2 and r3 claim to hâve found an exit, then we know that one of those two daims is true. ri will investigate both daims, starting by the closest one. Say r2 daims to hâve found the exit at a distance x from its initial searching position, and r3 daims to hâve found the exit at a distance y of its initial searching position. Then r\ must travel an additional 2sin|+2sin fy

for x= y = for a total time ofat most 1 + y+2\/3.

to reach both exits. This function is maximised

Observe that both robots r2 andr3 execute the same algorithm, and the maximal timerequired is therefore thesame. The adversary will choose the locationoftheexit andthe Byzantinerobot in such way as tomaximisethe totaltimeofexecution ofthe algorithm. Therefore, since \/3 < y, this algorithm solves the évacuation problem in total time 1+ y + \/3. This complétés the proofofTheorem 11.

Dans le document Exploration Problems using Autonomous Robots: (Page 137-141)