# Franck'Petit INRIA/LIP6)CNRS/UPMC Ring%Exploration%by%Semi3Synchronous%Oblivious%Robots

## Full text

(1)

Franck'Petit

INRIA/LIP6)CNRS/UPMC

Ring%Exploration%by%Semi3Synchronous%

Oblivious%Robots

(2)

o

### ring"of"n"nodes

o Autonomous :"No"central"authority

o Anonymous :"Undistinguishable"

o Oblivious :"No"mean"to"know"the"past"

o Disoriented :"No"mean"to"agree"on"a"common"

direction"or"orientation

(3)

o

### ring"of"n"nodes

o Atomicity :"In"every"conﬁguration,"each"robot"is"

located"at"exactly"one"node"""

o Multiplicity :"In"every"conﬁguration,"each"node"

contains"zero,"one,"or"more"than"

one"robot"

" (every"robot"is"able"to"detect"it)"""

(4)

o

### ring"of"n"nodes

o SSM :"In"every"conﬁguration,"k’"robots"are"

activated"(0"<"k’"≤"k)

1. Look :"Instantaneous"snapshot"with"

multiplicity"detection

o The"k’"activated"robots"execute"the"cycle:"

2. Compute:"Based"on"this"observation,"decides"

to"either"stay"idle"or"move"to"one"of"

the"neighboring"nodes

3. Move :"Move"toward"its"destination

(5)

o

o

o

(6)

### Lower2Bound2(1/2)

Deterministic Exploration impossible if k | n

(7)

### Lower2Bound2(2/2)

o Proof:

1. Let"n"be"the"least"common"multiple"of"1,2,...q.

2. From"the"previous"slide"(1/2)":"m(n) ≥ q + 1.

3. From the Prime Number theorem: log n / q → 1.

t

Theorem.(

Let m(n) be the minimal number of robots to deterministically explore a ring of size n.

There exists a constant c such that, for infinitely often many times, m(n) ≥ c log n.

(8)

### Deterministic2Algorithm2

o k2|2n,"k > log n,"and"n2>216

Interdistance"(d):"Minimum"

distance"taken"over"all"pairs"

of"distinct"robots.

d"="2."

d"="2."

d"="2."

(9)

### Deterministic2Algorithm2

o k2|2n,"k > log n,"and"n2>216

Block:"Maximal"set"of"robots"

of"size"at"least"2,"forming"a"

line"with"a"robot"every"d"

nodes.

(10)

### Deterministic2Algorithm2

o k2|2n,"k > log n,"and"n2>216

o Setup"Phase:

Goal:"Transform"the"(arbitrary)"initial"conﬁguration"into"a"

conﬁguration"of"interdistance"1"where"there"is"a"single"block"or"

two"blocks"of"the"same"size.

Method:"Decrease"the"number"of"blocks"whenever"possible."

Otherwise,"decrease"the"interdistance.

o Tower"Phase:

Goal:"Create"one"or"two"multiplicities"inside"each"block.

o Exploration"Phase:

Goal:"Perform"exploration"until"reaching"an"identiﬁed"ﬁnal"

conﬁguration.

(11)

### Deterministic2Algorithm2

o k2|2n,"k > log n,"and"n2>216

(12)

### Deterministic2Algorithm2

o k2|2n,"k > log n,"and"n2>216

(13)

### Deterministic2Algorithm2

o k2|2n,"k > log n,"and"n2>216

(14)

o

o

## Probabilistic?

o Θ(log2n)2robots"are"necessary"and"suﬃcient,"

provided"that"k2does"not"divide"n.

A"deterministic2algorithm"for"k2≥217

(15)

### Optimality

o n"and"k"are"not"required"to"be"coprime

1. Exploration"impossible"with"less"than"42robots"

2. An"algorithm"working"with"4"probabilistic"robots"(n2

>28)

Theorem.(

4 probabilistic robots are necessary and sufficient, provided that n > 8

(16)

### Oblivious2Robots

At"least"one"conﬁguration"that"cannot"be"an"initial"

conﬁguration

Remark.(

If(n > k, any terminal configuration of any protocol contains at least one tower.

Termination Exploration

Implicit"memory

(17)

### Tower

Definition.(

A(node(with(at(least(two(robots.

k"≥"2"

(18)

### Tower2Building

Cannot2be2a2terminal2conﬁguration

(19)

### Enabling2Exploration

k"≥"3"

Lemma.(

Every(execution(must(contain(a(suffix(of(at(least(n–k+1(

configurations(containing(a(tower(of(less(than(k(robots(and(

any(two(of(them(are(distinguishable.

(20)

### Enabling2Exploration

Two"undistinguishable conﬁgurations

Two"other"undistinguishable conﬁgurations

Lemma.(

With(3(robots(and(a(fixed(tower(of(2(robots,(the(maximum(

number(of(distinguishable(configurations(is(equal(to(((.

n 2

"

# " \$

% \$

(21)

### Enabling2Exploration

Lemma.(

For(every(n(>(4,(there(exists(no(exploration(protocol(

(even(probabilistic)(of(a(nNsize(ring(with(3(robots.

Proof":

n 2

"

# "

\$

% \$ ≥ nk +1⇒ n ≤ 4

(22)

### Negative2result

Theorem.(

For(every(n(≥(4,(there(exists(no(exploration(protocol(

(even(probabilistic)(of(a(nNsize(ring(with(three(

robots.

Proof":

There"exists"no"protocol"with"3"robots"in"a"4_size"

ring"with"a"distributed"scheduler."

(23)

### Contribution

o n"and"k"are"not"required"to"be"coprime

1. Exploration"impossible"with"less"than"42robots"

2. Give"an"algorithm"working"with"4"probabilistic"

robots"(n2>28)

Theorem.(

4 probabilistic robots are necessary and sufficient, provided that n > 8

(24)

### Definitions

Segment.(

A(maximal(nonNempty(elementary(path(of(occupied(nodes.

22segments2of2length21

a22Ksegment

(25)

### Definitions

Hole.(

A(maximal(nonNempty(elementary(path(of(free(nodes.

12hole2of2length24 a22Khol

e

(26)

### Definitions

Arrow.(A(1Nsegment,(followed(by(a(nonNempty(elementary(

path(of(free(nodes,(a(tower,(and(a(1Nsegment.(

12arrow

Head

of2length24 Crate

(27)

### Definitions

Arrow.(A(1Nsegment,(followed(by(a(nonNempty(elementary(

path(of(free(nodes,(a(tower,(and(a(1Nsegment.(

ﬁnal2arrow

(28)

### Definitions

Arrow.(A(1Nsegment,(followed(by(a(nonNempty(elementary(

path(of(free(nodes,(a(tower,(and(a(1Nsegment.(

Primary2arrow

(29)

### Algorithm

o Initially,2there2is2no2tower

1. Converge9toward9a94)segment

2. Build9a9tower

3. Visit9the9ring9and9terminate

0

0

If2I2am2an2internal2node,2 then2I2try2to2move2on2the2 other2internal2node.2

1

(30)

### Algorithm

o Initially,2there2is2no2tower

1. Converge9toward9a94)segment

2. Build9a9tower

3. Visit9the9ring9and9terminate

" Primary arrow

(31)

### Algorithm

o Initially,2there2is2no2tower

1. Converge9toward9a94)segment

2. Build9a9tower

3. Visit9the9ring9and9terminate Final arrow

" Primary arrow

(32)

### Algorithm

o Initially,2there2is2no2tower

1. Converge9toward9a94)segment

2. Build9a9tower

3. Visit9the9ring9and9terminate

a) 3)segment

Final arrow

" Primary arrow

If2I2am2the2isolated2node,2then2I2 move2through2a2shortest2hole.2

(33)

### Algorithm

o Initially,2there2is2no2tower

1. Converge9toward9a94)segment

2. Build9a9tower

3. Visit9the9ring9and9terminate

a) 3)segment

b) a9unique92)segment

Final arrow

" Primary arrow

If2I2am2at2the2closest2distance2 from2the22Ksegment,2then2I2 move2toward2the2closest2 extremity.

(34)

### Algorithm

o Initially,2there2is2no2tower

1. Converge9toward9a94)segment

2. Build9a9tower

3. Visit9the9ring9and9terminate

a) 3)segment

b) a9unique92)segment c) two92)segments

Final arrow

" Primary arrow

If2I2am2a2neighbor2of2the2 longest2hole,2then2I2try2to2 move2toward2the2other22K segment.

0 1

(35)

### Algorithm

o Initially,2there2is2no2tower

1. Converge9toward9a94)segment

2. Build9a9tower

3. Visit9the9ring9and9terminate

a) 3)segment

b) a9unique92)segment c) two92)segments d) four9isolated9nodes

Final arrow

" Primary arrow

L:"length"of"the""

longest"hole

If242robots2are2neighbors2of2an2 LKhole,2then2I2try2to2move2

through2my2longest2 neighboring2hole.

1

0

(36)

### Algorithm

o Initially,2there2is2no2tower

1. Converge9toward9a94)segment

2. Build9a9tower

3. Visit9the9ring9and9terminate

a) 3)segment

b) a9unique92)segment c) two92)segments d) four9isolated9nodes

Final arrow

" Primary arrow

L:"length"of"the""

longest"hole

If232robots2are2neighbors2of2an2 LKhole,2then2if2I2am2one2of2this232 robots2and2a2neighbor2of2a2

smaller2hole2h,2then2I2move2

(37)

### Algorithm

o Initially,2there2is2no2tower

1. Converge9toward9a94)segment

2. Build9a9tower

3. Visit9the9ring9and9terminate

a) 3)segment

b) a9unique92)segment c) two92)segments d) four9isolated9nodes

Final arrow

" Primary arrow

L:"length"of"the""

longest"hole

If222robots2are2neighbors2of2an2 LKhole,2then2if2I2am2neighbor2of2 the2LKhole,2then2I2move2through2 the2other2neighboring2hole.

(38)

(39)

### Proof

Lemma.(

No(tower(is(created(during(Phase(1(in(a(nNring(with(n(>(8.(

Proof"Bas:

With"n2>282"and"42robots,"there"always"exists"a"hole"

of"length"greater"than"1."

(40)

### Proof

Lemma.(

No(tower(is(created(during(Phase(1(in(a(nNring(with(n(>(8.(

Lemma.(

Starting(from(any(initial(conﬁguration,(the(system(reaches(

in(ﬁnite(expected(time(a(conﬁguration(containing(a(4N segment.

Theorem.(

The(algorithm((Phases(1(to(3)(is(a(probabilistic(

exploration(protocol(for(4(robots(in(a(ring(of(n(>(8(

nodes.

(41)

### Conclusion

• Deterministic exploration impossible if k divides n (except if k = n)

• Asynchronous deterministic algorithm with k >16

n: Number of nodes k: Number of agents

• Deterministic or probabilistic exploration impossible if k < 4

• Probabilistic algorithm impossible in asynchronous settings

• Optimal Semi-synchronous Probabilistic Algorithm

• Deterministic exploration impossible if k < 5 and n even

• Optimal asynchronous deterministic algorithm, k = 5 and n even

• Optimal semi-synchronous deterministic algorithm, k = 4 and n odd

 Ring [Flocchini et al. , OPODIS 2007] [Devismes et al. , SIROCCO 2009]

[Lamani et al. , SIROCCO 2010]

(42)

### Conclusion

 Ring [Flocchini et al. , OPODIS 2007] [Devismes et al. , SIROCCO 2009]

[Lamani et al. , SIROCCO 2010]

 Tree [Flocchini et al. , SIROCCO 2008]

• Characterization of k: k = 3, k > 4, or k = 4 and n odd

• Asynchronous deterministic algorithm for trees with maximum degree equal to 3: k є Ѳ (log n/log log n)

• Arbitrary tree: k є Ѳ (log n)

 Chain [Flocchini et al. , IPL 2011]

• Deterministic or probabilistic exploration impossible if k < 2

 Grid [Devismes et al. , SSS 2012]

n: Number of nodes k: Number of agents

Updating...

## References

Related subjects :