]> AND Private Git Repository - 16dcc.git/blob - sdd.tex
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
init
[16dcc.git] / sdd.tex
1 Cette section énonce les notions fondamentales relatives aux systèmes dynamiques
2 booléens  et  à la  mesure  du chaos.   Le  formalisme  des systèmes  dynamiques
3 booléens est donné en section~\ref{sub:sdd}, suivi des méthodes de déduction des
4 graphes     d'itérations     (section~\ref{sub:grIter}).
5 %    et     d'interactions
6 %(section~\ref{sub:sdd:inter}).
7 % La notion de retards est présentée en
8 % section~\ref{sub:sdd:retards}.
9 Enfin,  une   distance  sur  l'espace   $\llbracket  1;n\rrbracket^{\Nats}\times
10 \Bool^n$ est  définie en section~\ref{sub:metric}, qui  permet ensuite d'établir
11 la   nature   chaotique   des   systèmes   dynamiques   booléens,   abordée   en
12 section~\ref{section:caracterisation}.
13
14 \subsection{Système dynamique booléen}\label{sub:sdd}
15
16 Soit $n$ un entier naturel. Un système dynamique booléen est 
17 défini à partir d'une fonction booléenne:
18 \[
19 f:\Bool^n\to\Bool^n,\qquad x=(x_1,\dots,x_n)\mapsto f(x)=(f_1(x),\dots,f_n(x)),
20 \]
21 et un  {\emph{schéma itératif}} ou  encore \emph{mode de  mise à jour}  qui peut
22 être parallèle, séquentiel ou asynchrone%, et intégrer ou non des retards
23 .  À  partir d'une configuration initiale $x^0\in\Bool^n$,  la suite $(x^{t})^{t
24   \in  \Nats}$ des  configurations  du  système est  construite  selon l'un  des
25 schémas suivants :
26 \begin{itemize}
27 \item \textbf{Schéma parallèle  synchrone :} basé sur la  relation de récurrence
28   $x^{t+1}=f(x^t)$. Tous  les $x_i$, $1 \le  i \le n$,  sont ainsi mis à  jour à
29   chaque itération en utilisant l'état global précédent du système ($x^t$).
30 \item \textbf{Schéma séquentiel synchrone :} basé sur une mise à jour successive
31   des différents éléments du système,  selon un ordre défini. Le mode séquentiel
32   de référence est basé sur la séquence ordonnée des éléments, de 1 à $n$.
33 \item \textbf{Schéma  asynchrone :} cette terminologie  a plusieurs acceptations
34   dans  la littérature,  mais celle  qui  reste la  plus répandue,  et que  nous
35   retenons ici,  consiste à ne modifier  qu'un élément $i$,  $1 \le i \le  n$, à
36   chaque itération. Le choix de l'élément qui est modifié à chaque itération est
37   défini  par une  suite. Lorsque  cette  suite est  strictement cyclique  (sans
38   occurrences multiples  dans le motif) sur l'ensemble  des éléments $\{1,\ldots
39   n\}$, alors on retrouve le comportement du mode séquentiel synchrone.
40 \item \textbf{Schéma chaotique:}  dans ce schéma, ce n'est  plus un seul élément
41   qui  est  modifié  à  chaque  itération,  mais  une  partie  des  éléments  de
42   $\{1,\ldots  n\}$.  Dans  le premier  cas  particulier où  c'est un  singleton
43   $\{k\}$, $1 \le k  \le n$, qui est modifié à chaque  itération, on retrouve le
44   mode asynchrone,  et si la séquence  des singletons est  ordonnée et cyclique,
45   alors on retrouve le mode séquentiel.  Dans le second cas particulier où c'est
46   $\{1, \ldots,  n\}$ qui est  modifié à chaque  itération, on retrouve  le mode
47   parallèle.  Ce mode généralise donc les trois autres modes précédents.  
48   Plus formellement,  à  la  $t^{\textrm{ème}}$
49   itération, seuls les éléments de la partie 
50   $s_{t} \in \mathcal{P}(\{1, \ldots, n\})$ sont mis à
51   jour.  La  suite $S  = \left(s_t\right)_{t \in  \mathds{N}}$ est  une séquence
52   de sous-ensembles 
53   de   $\{  1, \ldots,n   \}$   appelée   \emph{stratégie}.
54   Dans      ce      mode     opératoire,  on définit la fonction\linebreak
55   $F_f:~\mathcal{P}(\{1, \ldots, n\}) \times \Bool^{n} \rightarrow \Bool^n$  par
56   \[
57   F_f(s,x)_i=\left\{
58     \begin{array}{l}
59       f_i(x) \textrm{ si $i \in s$;}\\   
60       x_i \textrm{ sinon.}
61     \end{array}\right.
62   \]
63   Dans le schéma des itérations chaotiques, pour une configuration initiale
64   $x^0\in\Bool^n$ et une stratégie $S = \left(s_t\right)_{t \in  \mathds{N}}
65 \in \mathcal{P}(\{1, \ldots, n\})^{\Nats}$,
66   les
67   configurations $x^t$ sont définies par la récurrence
68   \begin{equation}\label{eq:asyn}
69     x^{t+1}=F_f(s_t,x^t).
70   \end{equation}
71   Soit alors $G_f$ une fonction de $\mathcal{P}(\{1, \ldots, n\})^{\Nats}\times\Bool^n$ 
72   dans lui-même définie par 
73   \[
74   G_f(S,x)=(\sigma(S),F_f(s_0,x)),
75   \] 
76   où $\forall t\in\Nats,\sigma(S)_t=s_{t+1}$.
77   En d'autres termes la fonction $\sigma$ \emph{décale}
78   la stratégie fournie en argument d'un élément vers la gauche en supprimant 
79   l'élément de tête. 
80   Les itérations parallèles de $G_f$ depuis un point initial
81   $X^0=(S,x^0)$ décrivent la même orbite que les  
82   itérations chaotiques de $f$ induites par $x^0$ et la  stratégie
83   $S$.
84 \end{itemize}
85
86 \subsection{Graphe d'itérations chaotiques}\label{sub:grIter}
87
88 Soit $f$ une fonction de $\Bool^n$ dans lui-même. 
89 Le {\emph{graphe des itérations chaotiques}} associé à $f$ est le 
90 graphe orienté $\Gamma(f)$ défini ainsi: 
91 l'ensemble de ses sommets est $\Bool^n$ et pour chaque $x\in\Bool^n$ et  
92 $s\in \mathcal{P}(\{1, \ldots, n\})$, le graphe $\Gamma(f)$ 
93 contient un arc de $x$ vers $F_f(s,x)$. 
94 La relation entre $\Gamma(f)$ et $G_f$ est claire: il  existe un 
95 chemin  de $x$ à  $x'$ dans $\Gamma(f)$ si et seulement s'il existe une 
96 stratégie  $S$ telle que les itérations  parallèles $G_f$ à partir 
97 du point $(S,x)$ mènent à un point $(.,x')$.
98
99 Dans ce qui suit, et par souci de concision, le terme \emph{graphe des itérations}
100 est une abréviation de  graphe des itérations chaotiques.
101 La figure~\ref{fig:xplgraphIter} donne deux exemples de graphes d'itérations 
102 pour les fonctions $g$ et $h$ définies dans $\Bool^2$, qui sont reprises tout au long 
103 de cet article. 
104
105 \begin{figure}[ht]
106   \begin{center}
107     \subfloat[$g(x_1,x_2)=(\overline{x_1},x_1\overline{x_2}) $]{
108       \begin{minipage}{0.40\textwidth}
109         \begin{center}
110           \includegraphics[width=\columnwidth]{images/g}
111         \end{center}
112       \end{minipage}
113       \label{fig:g:iter}
114     }
115     \subfloat[$h(x_1,x_2)=(\overline{x_1},x_1\overline{x_2}+\overline{x_1}x_2)$]{
116       \begin{minipage}{0.40\textwidth}
117         \begin{center}
118           \includegraphics[width=\columnwidth]{images/h}
119         \end{center}
120       \end{minipage}
121       \label{fig:h:iter}
122     }   
123   \end{center}
124   \caption{Graphes d'itérations de fonctions booléennes dans $\Bool^2$.}
125   \label{fig:xplgraphIter}
126 \end{figure}
127
128 % \subsection{Graphe d'interactions}\label{sub:sdd:inter}
129
130 % Pour $x\in\Bool^n$ et $i\in\llbracket 1;n\rrbracket$, on nomme  
131 %  $\overline{x}^i$ la configuration obtenue en niant le 
132 % $i^{\textrm{ème}}$ composant de $x$. En d'autres termes
133 % $\overline{x}^i=(x_1,\dots,\overline{x_i},\dots,x_n)$.
134 % Des interactions entre les composants du 
135 % système peuvent être mémorisées 
136 % dans la {\emph{matrice Jacobienne discrète}} $f'$.
137 % Celle-ci est définie comme étant la fonction  qui  à chaque 
138 % configuration $x\in\Bool^n$ associe la matrice de taille 
139 % $n\times n$ définie par : 
140 % \[
141 % f'(x)=(f'_{ij}(x)),\qquad 
142 % f'_{ij}(x)=\frac{f_i(\overline{x}^j)-f_i(x)}{\overline{x}^j_j-x_j}\qquad (i,j\in\llbracket1;n\rrbracket).
143 % \]
144
145 % On  note que  dans  l'équation donnant  la  valeur de  $f'_{ij}(x)$, les  termes
146 % $f_i(\overline{x}^j)$,  $f_i(x)$, $\overline{x}^j_j$  et  $x_j$ sont  considérés
147 % comme des entiers  naturels égaux à $0$ ou  à $1$ et que le  calcul est effectué
148 % dans  $\Z$. Cela  est important  car le  signe des  $f'_{ij}(x)$ nous  donne une
149 % information supplémentaire sur la dynamique du système.
150
151 % En outre, les interactions peuvent se  représenter à l'aide d'un 
152 % graphe $G(f)$ orienté et signé défini ainsi: 
153 % l'ensemble des sommets est 
154 % $\llbracket1;n\rrbracket$ et il existe un arc de $j$ à $i$ de signe
155 %  $s\in\{-1,1\}$, noté $(j,s,i)$, si $f'_{ij}(x)=s$ pour au moins
156 % un $x\in\Bool^n$. 
157 % On note que la présence de 
158 % deux arcs de signes opposés entre deux sommets donnés 
159 % est possible.
160
161 % \begin{figure}%[t]
162 %   \begin{center}
163 %     \subfloat[$g(x_1,x_2)=(\overline{x_1},x_1\overline{x_2}) $]{
164 %       \begin{minipage}{0.40\textwidth}
165 %         \begin{center}
166 %           \includegraphics[height=3cm]{images/gp.pdf}
167 %         \end{center}
168 %       \end{minipage}
169 %       \label{fig:g:inter}
170 %     }
171 %     \subfloat[$h(x_1,x_2)=(\overline{x_1},x_1\overline{x_2}+\overline{x_1}x_2)$]{
172 %       \begin{minipage}{0.40\textwidth}
173 %         \begin{center}
174 %           \includegraphics[height=3cm]{images/hp.pdf}
175 %         \end{center}
176 %       \end{minipage}
177 %       \label{fig:h:inter}
178 %     }    \end{center}
179 %     \caption{Graphes d'interactions de fonctions booléennes dans $\Bool^2$}
180 %     \label{fig:xplgraphInter}
181 %   \end{figure}
182
183 % Soit $P$ une suite d'arcs de $G(f)$ de la forme
184 % \[
185 % (i_1,s_1,i_2),(i_2,s_2,i_3),\ldots,(i_r,s_r,i_{r+1}).
186 % \]
187 % Alors, $P$ est dit un \emph{chemin} de $G(f)$ de longueur $r$ et de signe
188 % $\Pi_{i=1}^{r}s_i$ et  $i_{r+1}$ est dit accessible depuis
189 % $i_1$. 
190 % $P$ est un {\emph{circuit}} si $i_{r+1}=i_1$ et si les sommets
191 % $i_1$,\ldots $i_r$ sont deux à deux disjoints.
192 % Un sommet $i$ de $G(f)$ a une {\emph{boucle}} 
193 % positive (resp. négative) , si $G(f)$ a un 
194 % arc positif (resp. un arc négatif) de $i$ vers lui-même.
195
196 % \subsection{Retards entre les éléments du système}
197 % \label{sub:sdd:retards}
198
199 % La notion  de retard provient  initialement du besoin  de prendre en  compte les
200 % délais de transfert  d'information entre les éléments du  système.  Lorsque l'on
201 % se place dans  le contexte général, ces délais peuvent  eux-mêmes varier dans le
202 % temps. On décrit donc  le retard de l'élément $j$ par rapport  à l'élément $i$ à
203 % l'instant $t$ par  $r_j^i(t)$. Ainsi, l'information reçue de $j$ en  $i$ à $t$ a
204 % été générée à  l'instant (ou itération) $s_j^i(t)=t-r_j^i(t)$. On  en déduit que
205 % la mise à jour de l'élément $i$ de l'instant $t$ à $t+1$ s'écrit :
206 % \begin{equation*}
207 %   x_i(t+1) = f_i(x_1^{s_1^i(t)},x_2^{s_2^i(t)},\dots,x_i^t,\dots,x_{n-1}^{s_{n-1}^i(t)},x_n^{s_n^i(t)})
208 % \end{equation*}
209 % On constate que même si le modèle le permet, on ne met généralement pas de délai
210 % entre l'élément $i$ et lui-même car cela n'a pas d'intérêt pratique fort.
211
212 \subsection{Distance sur l'espace $\mathcal{P}(\{1, \ldots, n\})^{\Nats}\times \Bool^n$}\label{sub:metric}
213 Pour $A$ et $B$ deux ensembles de l'univers $\Omega$,
214 on rappelle la définition de l'opérateur 
215 de \emph{différence ensembliste} symétrique :
216 \[
217 A \Delta B = (A \cap \overline{B}) \cup (\overline{A} \cap B)
218 \]  
219 où $\overline{B}$ désigne le complémentaire de $B$ dans $\Omega$.
220
221 On considère l'espace $\mathcal{X}=\mathcal{P}(\{1, \ldots, n\})^{\Nats}\times
222 \Bool^n$ et
223 on définit la distance $d$ entre les points $X=(S,x)$ et
224 $X'=(S',x')$ de $\mathcal{X}$ par 
225 \[
226 d(X,X')= d_H(x,x')+d_S(S,S'),~\textrm{où}~
227 \left\{
228 \begin{array}{l}
229 \displaystyle{d_H(x,x')=\sum_{i=1}^n |x_i-x'_i|}\\[5mm] 
230 \displaystyle{d_S(S,S')=\frac{9}{n}\sum_{t\in\Nats}\frac{|S_t \Delta S'_t|}{10^{t+1}}}.
231 \end{array}
232 \right.\,.
233 \]
234 On note que dans le calcul de $d_H(x,x')$ -- 
235 appelée \gls{distanceHamming} (cf. glossaire) 
236 entre $x$ et $x'$-- 
237 les termes $x_i$ et $x'_i$ sont considérés comme des entiers naturels 
238 égaux à $0$ ou à $1$ et que le calcul est effectué dans $\Z$.
239 On note aussi que le symbole $|.|$ est utilisé avec deux sémantiques
240 différentes dans ce calcul: 
241 on somme des valeurs absolues dans la distance 
242 de Hamming tandis que l'on somme des cardinalités d'ensemble dans 
243 $d_S$. 
244 De plus, la \gls{partieentiere} (cf. glossaire) 
245 $\lfloor d(X,X')\rfloor$ est égale à $d_H(x,x')$ soit la distance 
246 de Hamming entre $x$ et $x'$. 
247 %D'autre part, $d(X,X')-\lfloor d(X,X')\rfloor=d_S(s,s')$ 
248 %mesure la différence entre $s$ et $s'$.
249 On remarque que la partie décimale est inférieure à $10^{-l}$ si
250 et seulement si les $l$ premiers termes des deux stratégies sont égaux. 
251 De plus, si la 
252 $(l+1)^{\textrm{ème}}$ décimale  
253 de $d_S(S,S')$ 
254 n'est pas nulle, alors $s_l$ est différent de  $s'_l$. 
255
256 La fonction $d$ est une somme de deux fonctions.
257 La fonction $d_H$ est la distance de Hamming; il est aussi établi que la 
258 somme de deux distances est une distance.
259 Ainsi, pour montrer que $d$ est aussi une distance, il suffit 
260 de montrer que $d_S$ en une aussi.
261
262 Soit $S$, $S'$ et $S''$ trois parties de $\{1,\ldots,n\}$.
263 \begin{itemize}
264 \item De manière évidente, $d_s(S,S')$ est positive ou bien nulle si 
265   et seulement si $S$ et $S'$ sont égales.
266 \item Comme la différence symétrique est commutative, la valeur de  
267   $d_S(S,S')$ est égale à  celle de $d_S(S',S)$.
268 \item On a enfin la succession d'éléments suivants:
269   $$
270   \begin{array}{rcl}
271     S \Delta S' & = & (S \cap \overline{S'}) \cup (\overline{S} \cap S')\\
272     & = & (S \cap \overline{S'} \cap S'' ) \cup  (S \cap \overline{S'} \cap \overline{S''} ) \cup (\overline{S} \cap S'\cap S'') \cup (\overline{S} \cap S'\cap \overline{S''})\\
273     & \subseteq & (S \cap \overline{S'} \cap S'' ) \cup  (S \cap \overline{S'} \cap \overline{S''} ) \cup (\overline{S} \cap S'\cap S'') \cup (\overline{S} \cap S'\cap \overline{S''}) \cup \\
274      & & (\overline{S} \cap \overline{S'} \cap S'') \cup (S \cap S' \cap \overline{S''} ) \cup (\overline{S} \cap \overline{S'} \cap S'') \cup (S \cap S' \cap \overline{S''})\\     
275     & = & (\overline{S'} \cap S'' ) \cup  (S \cap \overline{S''} ) \cup (\overline{S} \cap S'') \cup (S'\cap \overline{S''}) \\
276     & = & (S \Delta S'') \cup (S'' \Delta S')   
277   \end{array}
278   $$
279   On en déduit ainsi que 
280 $|S \Delta S'| \le |S \Delta S''| + |S'' \Delta S'|$ et donc que 
281 l'égalité triangulaire $d_S(S,S') \le d_S(S,S'') + d_S(S'',S')$ est établie.
282 \end{itemize}
283
284 On peut démontrer que pour toute fonction booléenne $f$, 
285 $G_f$ est continue sur $\mathcal{X}$ (cf.~annexe~\ref{anx:cont}).   
286
287 \subsection{Temps de mélange}
288 \label{sec:mixingtime}
289
290 Le  temps de mélange  (\emph{mixing time})~\cite{LevinPeresWilmer2006},  est une
291 des métriques usuelles  pour estimer la vitesse de  convergence des lignes d'une
292 matrice de  Markov vers  une distribution spécifique.   Elle est définie  par le
293 nombre minimal d'itérations nécessaires  pour obtenir une déviation inférieure à
294 un $\varepsilon$ donné pour chaque ligne de la matrice.
295
296 %%% Local Variables: 
297 %%% mode: latex
298 %%% TeX-master: "main"
299 %%% End: