Franck'Petit
INRIA/LIP6)CNRS/UPMC
Ring%Exploration%by%Semi3Synchronous%
Oblivious%Robots
Context
o
A"team"of"k"“weak”"robots"evolving"into"a"
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
Context
o
A"team"of"k"“weak”"robots"evolving"into"a"
ring"of"n"nodes
o Atomicity :"In"every"configuration,"each"robot"is"
located"at"exactly"one"node"""
o Multiplicity :"In"every"configuration,"each"node"
contains"zero,"one,"or"more"than"
one"robot"
" (every"robot"is"able"to"detect"it)"""
Context
o
A"team"of"k"“weak”"robots"evolving"into"a"
ring"of"n"nodes
o SSM :"In"every"configuration,"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
Problem
o
Exploration:
Each"node"must"be"visited"by"at"least"one"robot
o
Termination:
Eventually,"every"robot"stays"idle
o
Performance:"Number"of"robots"
(k<n)"
Starting"from"a"configuration"where"no"two"robots"
are"located"at"the"same"node:
Lower2Bound2(1/2)
Deterministic Exploration impossible if k | n
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.
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."
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.
Deterministic2Algorithm2
o k2|2n,"k > log n,"and"n2>216
o Setup"Phase:
Goal:"Transform"the"(arbitrary)"initial"configuration"into"a"
configuration"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"identified"final"
configuration.
Deterministic2Algorithm2
o k2|2n,"k > log n,"and"n2>216
Deterministic2Algorithm2
o k2|2n,"k > log n,"and"n2>216
Deterministic2Algorithm2
o k2|2n,"k > log n,"and"n2>216
Optimality2
o
Minimal"Number"of"Robots?
o
Probabilistic?
o Θ(log2n)2robots"are"necessary"and"sufficient,"
provided"that"k2does"not"divide"n.
A"deterministic2algorithm"for"k2≥217
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
Oblivious2Robots
At"least"one"configuration"that"cannot"be"an"initial"
configuration
Remark.(
If(n > k, any terminal configuration of any protocol contains at least one tower.
Termination Exploration
Implicit"memory
Tower
Definition.(
A(node(with(at(least(two(robots.
k"≥"2"
Tower2Building
Cannot2be2a2terminal2configuration
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.
Enabling2Exploration
Two"undistinguishable configurations
Two"other"undistinguishable configurations
Lemma.(
With(3(robots(and(a(fixed(tower(of(2(robots,(the(maximum(
number(of(distinguishable(configurations(is(equal(to(((.
€
n 2
"
# " $
% $
Enabling2Exploration
Lemma.(
For(every(n(>(4,(there(exists(no(exploration(protocol(
(even(probabilistic)(of(a(nNsize(ring(with(3(robots.
Proof":
n 2
"
# "
$
% $ ≥ n − k +1⇒ n ≤ 4
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."
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
Definitions
Segment.(
A(maximal(nonNempty(elementary(path(of(occupied(nodes.
22segments2of2length21
a22Ksegment
Definitions
Hole.(
A(maximal(nonNempty(elementary(path(of(free(nodes.
12hole2of2length24 a22Khol
e
Definitions
Arrow.(A(1Nsegment,(followed(by(a(nonNempty(elementary(
path(of(free(nodes,(a(tower,(and(a(1Nsegment.(
12arrow
Head
of2length24 Crate
Definitions
Arrow.(A(1Nsegment,(followed(by(a(nonNempty(elementary(
path(of(free(nodes,(a(tower,(and(a(1Nsegment.(
final2arrow
Definitions
Arrow.(A(1Nsegment,(followed(by(a(nonNempty(elementary(
path(of(free(nodes,(a(tower,(and(a(1Nsegment.(
Primary2arrow
Algorithm
o Initially,2there2is2no2tower
1. Converge9toward9a94)segment
2. Build9a9tower
3. Visit9the9ring9and9terminate
0
0
If2I2am2an2internal2node,2 then2I2try2to2move2on2the2 other2internal2node.2
1
Algorithm
o Initially,2there2is2no2tower
1. Converge9toward9a94)segment
2. Build9a9tower
3. Visit9the9ring9and9terminate
" Primary arrow
Algorithm
o Initially,2there2is2no2tower
1. Converge9toward9a94)segment
2. Build9a9tower
3. Visit9the9ring9and9terminate Final arrow
" Primary arrow
Algorithm
o Initially,2there2is2no2tower
1. Converge9toward9a94)segment
2. Build9a9tower
3. Visit9the9ring9and9terminate
a) 3)segment
Final arrow
" Primary arrow
If2I2am2the2isolated2node,2then2I2 move2through2a2shortest2hole.2
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.
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
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
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
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.
Phase21,2Summary
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."
Proof
Lemma.(
No(tower(is(created(during(Phase(1(in(a(nNring(with(n(>(8.(
Lemma.(
Starting(from(any(initial(configuration,(the(system(reaches(
in(finite(expected(time(a(configuration(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.
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]
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