-
Notifications
You must be signed in to change notification settings - Fork 0
/
slides.tex
399 lines (351 loc) · 11.2 KB
/
slides.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
\documentclass{beamer}
\usepackage{lmodern}
\usepackage[frenchb]{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{graphicx}
\addtobeamertemplate{navigation symbols}{}{%
\usebeamerfont{footline}%
\usebeamercolor[fg]{footline}%
\hspace{1em}%
\insertframenumber/\inserttotalframenumber
}
\usetheme{Warsaw}
\title{On the self-stabilization of mobile oblivious robots in uniform rings}
\author{Jeremy Krebs - Guillaume Soulié}
\institute{Université Paris Saclay}
\date{\today}
\begin{document}
\begin{frame}
\titlepage
\end{frame}
% --------- Sommaire ---------
\begin{frame}
\tableofcontents
\end{frame}
% ----------------------------
\section{Introduction}
\subsection{State of the Art}
\begin{frame}
Background and Motivations:
\begin{itemize}
\pause
\item \textbf{mobile robot network} goal: achieve tasks by a team of
mobile robot with weak capacity.
\pause
\item \textbf{Pioneering work} Suzuki, I., \& Yamashita, M. (1999). Distributed anonymous mobile robots: Formation of geometric patterns.
\pause
\item it studies \textbf{self-stabilizing} algorithms for anonymous and oblivious robots in uniform ring network.
\end{itemize}
\end{frame}
\begin{frame}
\begin{center}
\includegraphics[width=0.7\textwidth]{images/init0.png}
\end{center}
\end{frame}
\begin{frame}
\begin{center}
\includegraphics[width=0.7\textwidth]{images/init1.png}
\end{center}
\end{frame}
\begin{frame}
\begin{center}
\includegraphics[width=0.7\textwidth]{images/init2.png}
\end{center}
\end{frame}
\begin{frame}
\begin{center}
\includegraphics[width=0.7\textwidth]{images/init3.png}
\end{center}
\end{frame}
\begin{frame}
Each robot repeat cycles. Cycle has three phases:
\begin{center}
\includegraphics[width=0.9\textwidth]{images/cycle1.png}
\end{center}
\end{frame}
\begin{frame}
Each robot repeat cycles. Cycle has three phases:
\begin{center}
\includegraphics[width=0.9\textwidth]{images/cycle2.png}
\end{center}
\end{frame}
\begin{frame}
Each robot repeat cycles. Cycle has three phases:
\begin{center}
\includegraphics[width=0.9\textwidth]{images/cycle3.png}
\end{center}
\end{frame}
\begin{frame}
Our Contribution: investigate the difficulty of probabilistic self-stabilizing algorithms
using weak assumptions.
\begin{itemize}
\pause
\item no such algorithms on very weak condition (ASYNC or global-weak multiplicity)
\pause
\item we propose three algorithms:
\begin{description}
\item[self-stabilizing gathering algorithm]
\item[self-stabilizing orientation algorithm]
\item[self-stabilizing formation algorithm]
\end{description}
\end{itemize}
\end{frame}
\begin{frame}
Related work:
\begin{itemize}
\pause
\item Several work on \textbf{continuous model.}
\pause
\item other work on \textbf{discrete model:}
\begin{itemize}
\pause
\item deterministic / stochastic
\pause
\item none of them are self stabilizing
\end{itemize}
\end{itemize}
\end{frame}
\subsection{Hypotheses}
\begin{frame}
There are a few hypotheses on the robots:
\begin{itemize}
\item<2-> Robots are identical. No distinction, same algorithm,
\item<3-> Robots are oblivious. They have no memory of their moves,
\item<4-> Robots cannot communicated directly.
\end{itemize}
\uncover<5->{However they can observe the positions of the other robots, and it is one of those two cases:}
\begin{itemize}
\item<6-> Global-Strong Multiplicity Detection
\item<7-> Local-Strong and Global-Weak Multiplicity Detection
\end{itemize}
\end{frame}
\begin{frame}
The scheduler can be of two types:
\begin{itemize}
\item<2->[SSYNC] Semi-Synchronous - For each round, a set of robots are activated/executed at the same time.
\item<3->[ASYNC] Asynchronous - The robots are activated/executed asynchronously
\end{itemize}
\end{frame}
\subsection{Problems}
\begin{frame}
\uncover<1->{
\textbf{Gathering Problem:}
The goal of the gathering problem is to group all the robots on the same node.}
\uncover<2->{
\textbf{Orientation Problem:}
The goal of the set formation problem is to make the robots gather in a configuration such that:}
\begin{itemize}
\item<3-> There is exactly one tower node
\item<4-> There is a 1-robot block of size l
\end{itemize}
\uncover<5->{
\begin{figure}[h]
\includegraphics[width=0.3\textwidth]{images/orientation_problem.png}
\end{figure}}
\uncover<6->{
\textbf{Set formation problem:}
The goal of the set formation problem is to gather the robots in a specific predefined configuration.}
\end{frame}
\section{Weaker models}
\begin{frame}
Proof of the non existence of gathering algorithm in two weak conditions:
\begin{itemize}
\pause
\item ASYNC Model
\pause
\item SSYNC Model - global-weak \& local-strong multiplicity
\end{itemize}
\pause
How to prove non existence of an algorithm ? \pause \textbf{play the scheduler}
\end{frame}
\subsection{ASYNC Model - global-strong multiplicity detection}
\begin{frame}
(absurd) We assume that there is a algorithm $A$ which works with probability at least $p(k, n)$. \\
\pause
We assume that we have a procedure $Proc(X)$ such as:
\begin{enumerate}
\item $Proc(X)$ activate each robot at least one
\pause
\item $Proc(X)$ is complete in finite time
\pause
\item if $P(X):=$ probability that there is no robot change during $Proc(X)$ execution,
then $\lim_{X->\inf}{P(X)} = 1$
\end{enumerate}
\pause
Probability that $A$ achieve gathering in $j$ cycle:
\begin{center}
\begin{math}
P^* < (1-P(X_1)) + (1-P(X_2)) + ... + (1-P(X_j)) < p
\end{math}
$\Box$
\end{center}
\end{frame}
\begin{frame}
Construct $Proc(X)$:
\begin{itemize}
\pause
\item one robot per node
\pause
\item $Q = +i\ (0 \leq i \leq n)$ indicates $(v_0, ..., v_{i-1})$ decides to move forward. \\
\pause We want to achieve $Q = +n$ or $Q = -n$.
\end{itemize}
\end{frame}
\begin{frame}
In $proc(X)$, scheduler repeat following steps:
\begin{itemize}
\item if $Q = 0$: look and compute phases on robot $r$ on $v_0$:
\begin{itemize}
\item if $r$ want to stay => $Q:=0$
\item elif $r$ want to move forward => $Q := 1$
\item elif $r$ want to move backward => $Q := -1$
\end{itemize}
\pause
\item if $Q = +i$: look and compute phases on robot $r$ on $v_{+i}$:
\begin{itemize}
\item if $r$ want to stay => $Q := +i$
\item if $r$ want to move forward => $Q := +(i+1)$
\item if $r$ want to move backward: move phase for $r$ and robot of $v_{+(i-1)}$
=> $Q := +(i-1)$.
\end{itemize}
\pause
\item if $Q = -i$: ...
\end{itemize}
\pause
Stop when $Q = +n$ or $Q = -n$ (or $X$ steps).
\end{frame}
\begin{frame}
\begin{itemize}
\item prop 1 and 2 or clearly statisfied.
\pause
\item for prop 3:
\begin{itemize}
\item $P(Q_{h+1} -> Q_h + 1) = p_1$
\item $P(Q_{h+1} -> Q_h - 1) = p_2$
\item $P(Q_{h+1} -> Q_h) = 1 - p_1 - p_2$
\end{itemize}
\pause
This implies from any configuration $Q$, $Q = +/- n$ is achieved is less than $2n$
step with probability $p > p_1^{2n} + p_2^{2n}$.
\pause
\begin{center}
\begin{math}
P(X) \geq 1 - (1 - p_1^{2n} - p_2^{2n})^{\frac{X}{2n}}
\end{math} \\
\pause
\begin{math}
\lim\limits_{X \to \inf}{P(X)} = 1
\end{math}
\end{center}
\end{itemize}
\end{frame}
\subsection{SSYNC Model - global-weak / local strong multiplicity detection}
\section{Gathering Problem}
\subsection{Problem}
\begin{frame}
\textbf{Gathering problem:}
\begin{itemize}
\item<2-> We consider n nodes and k robots in an unoriented ring
\item<3-> For any configuration C we not M(C) the maximum number of robots on one node
\end{itemize}
\uncover<4->{
\begin{figure}[h]
\includegraphics[width=0.3\textwidth]{images/random_configuration.png}
\end{figure}}
\end{frame}
\subsection{Algorithm}
\begin{frame}
Idea:
\begin{itemize}
\item If there is only once M(C)-node, then the robots "know" where to go
\item If there is multiple, the idea is to try to make them move one by one so that a tower node "wins the fight". We must find a why to elect a candidate.
\item If there are multiple candidates, find a way to make, in expectation, exactly one of them move
\item<2-> \textbf{Take care!} The scheduler is an enemy and will activate the robots in the worst way.
\end{itemize}
\end{frame}
\begin{frame}
Let's consider the M(C) nodes:
\begin{itemize}
\item[Case 1]<2-> There is only one such node: the tower can be identified by the robots and they can get closer to the tower node.
\begin{itemize}
\item<3-> \textbf{The scheduler is an enemy!}
\item<3-> Less than M(C) nodes should move in the same direction!
\end{itemize}
\end{itemize}
\end{frame}
\begin{frame}
\begin{itemize}
\item[Case 2] There are multiple such nodes:
\begin{figure}[h]
\includegraphics[width=0.2\textwidth]{images/random_configuration.png}
\end{figure}
\uncover<2->{Take $h_{min}$ the minimal distance between a M(C)-robot node and a neighboring robot node. Take V the set of nodes at distance $h_{min}$ of a M(C)-node and R the robots on these nodes.}
\begin{itemize}
\item[Cas 2.1]<3->$|R| = 1$ - This robot gets to his closer M(C)-robot node.
\item[Cas 2.2]<4->$|R| > 1$ - The robots move to their close M(C)-robot node with probability $\frac{1}{2|R|}$.
\end{itemize}
\end{itemize}
\uncover<5->{Complexity: $O(n$ log $k)$ rounds and $O(kn)$ moves.}
\end{frame}
\section{Orientation Problem}
\begin{frame}
Algorithm for orientation problem:
\begin{itemize}
\item based on gathering algorithm
\pause
\item two phases algorithm
\pause
\item ! gathering or orientation ?
\end{itemize}
\end{frame}
\begin{frame}
Phase 1:
\includegraphics[width=0.9\textwidth]{images/orient1.png}
\pause
Reaches a configuration $C_{f1}$ (if $l = 1$) or in $C_{f2}$ (if $l \geq 2$)
in $\mathcal{O}(n \log{k})$ expected rounds and $\mathcal{O}(kn)$ expected moves.
\end{frame}
\begin{frame}
Phase 2:
\includegraphics[width=0.9\textwidth]{images/orient2.png}
\pause
Reaches a configuration in $C_0$ in $\mathcal{O}(ln)$ expected rounds and $\mathcal{O}(l(k+n))$ expected moves.
\pause
Global complexity: $\mathcal{O}((\log{k} + l)n)$ expected rounds
and $\mathcal{O}(l(k+n))$ expected moves
\end{frame}
\section{Set Formation Problem}
\begin{frame}
We can now apply the two previous algorithms to solve the \textbf{set formation problem}.
\end{frame}
\begin{frame}
\begin{itemize}
\item<1-> Solve the orientation algorithm for $l = |SET| - 1$,
\item<2-> Now that the ring is oriented, move the robots one by one
\end{itemize}
\uncover<3->{
\begin{figure}[h]
\includegraphics[width=0.9\textwidth]{images/set_formation.png}
\end{figure}}
\uncover<4->{Complexity: $O(($log $k + |SET|)n)$ rounds and $O(kn)$ moves.}
\end{frame}
\section{Conclusion}
\begin{frame}
\textbf{Conclusion:}
\begin{itemize}
\item<2-> Our strong assumptions on the system are mandatory
\item<3-> Solving the gathering and orientation issues is very important and leads to tons of other problems solved
\end{itemize}
\uncover<4->{\textbf{In order to go further we could:}}
\begin{itemize}
\item<5-> Find the problems we can solve with weaker hypotheses,
\item<6-> Work with a weaker scheduler, like an oblivious one,
\item<7-> Work with a more complex graph than a ring.
\end{itemize}
\end{frame}
\begin{frame}
\begin{center}
\LARGE{Questions ?}
\end{center}
\end{frame}
\end{document}