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

Private GIT Repository
770d1a24f1437e2b627d25631fdf0e4a6fb50f87
[hdrcouchot.git] / sdd.tex
1
2
3
4 \JFC{Chapeau chapitre à faire}
5
6
7
8 Cette section énonce quelques notions suffisantes 
9 à la compréhension de ce document.
10 Elle commence par formaliser ce que sont les systèmes dynamiques booléens 
11 (section \ref{sub:sdd}) 
12 et montre comment en extraire leur graphe d'itérations (section~\ref{sub:grIter})
13 et d'interactions (section~\ref{sub:sdd:inter}). 
14 Elle se termine en définissant une distance sur l'espace 
15 $\llbracket 1;n\rrbracket^{\Nats}\times \Bool^n$ (section~\ref{sub:metric}).
16
17
18
19
20
21
22 \section{Système dynamique booléen}\label{sub:sdd}
23
24 Soit $n$ un entier naturel. Un système dynamique booléen est 
25 défini à partir d'une fonction booléenne:
26 \[
27 f:\Bool^n\to\Bool^n,\qquad x=(x_1,\dots,x_n)\mapsto f(x)=(f_1(x),\dots,f_n(x)),
28 \]
29 et un {\emph{schéma des itérations}} qui peuvent être 
30 parallèles, séquentielles, chaotiques, asynchrones \ldots 
31 Le schéma des itérations parallèles est défini comme suit:
32 à partir d'une configuration initiale $x^0\in\Bool^n$, la suite 
33 $(x^{t})^{t \in \Nats}$ 
34 des configurations du système est construite à partir de la relation de récurrence
35 $x^{t+1}=f(x^t)$. Tous les $x_i$, $1 \le i \le n$ 
36 sont ainsi mis à jour à chaque itération. 
37 Le  schéma qui ne modifie qu'un élément
38 $i$, $1 \le i \le n$ à chaque itération 
39 est le schéma \emph{chaotique}. 
40 Plus formellement, à la  $t^{\textrm{ème}}$ itération, seul le  $s_{t}^{\textrm{ème}}$ 
41 composant (entre 1 et $n$) est mis à jour.
42 La suite $s = \left(s_t\right)_{t \in \mathds{N}}$ est une séquence d'indices
43 de $\llbracket 1;n \rrbracket$ appelée \emph{stratégie}. Formellement, dans 
44 ce mode opératoire,
45 soit $F_f: \llbracket1;n\rrbracket\times \Bool^{n}$ vers $\Bool^n$ définie par 
46 \[
47 F_f(i,x)=(x_1,\dots,x_{i-1},f_i(x),x_{i+1},\dots,x_n).
48 \]
49
50 Dans le schéma des itérations chaotiques pour une configuration initiale
51 $x^0\in\Bool^n$ et une stratégie $s\in
52 \llbracket1;n\rrbracket^\Nats$, les configurations $x^t$
53 sont définies par la récurrence
54 \begin{equation}\label{eq:asyn}
55 x^{t+1}=F_f(s_t,x^t).
56 \end{equation}
57
58 Soit alors $G_f$ une fonction de $\llbracket1;n\rrbracket^\Nats\times\Bool^n$ 
59 dans lui même définie par 
60 \[
61 G_f(s,x)=(\sigma(s),F_f(s_0,x)),
62 \] 
63 où $\forall t\in\Nats,\sigma(s)_t=s_{t+1}$.
64 En d'autres termes la fonction $\sigma$ décale
65 la stratégie fournie en argument d'un élément vers la gauche en supprimant 
66 l'élément de tête. 
67 Les itérations parallèles de $G_f$ depuis un point initial
68 $X^0=(s,x^0)$ décrivent la même orbite que les  
69 itérations chaotiques de $f$ induites par $x^0$ et la  stratégie
70 $s$.
71
72 \section{Graphe d'itérations}\label{sub:grIter}
73
74 Soit $f$ une fonction de $\Bool^n$ dans lui-même. 
75 Le {\emph{graphe des itérations chaotiques}} associé à $f$ est le 
76 graphe orienté $\Gamma(f)$ défini ainsi: 
77 l'ensemble de ses sommets est $\Bool^n$ et pour chaque $x\in\Bool^n$ et  
78 $i\in \llbracket1;n\rrbracket$, le graphe $\Gamma(f)$ 
79 contient un arc de $x$ vers $F_f(i,x)$. 
80 La relation entre $\Gamma(f)$ et $G_f$ est claire: il  existe un 
81 chemin  de $x$ à  $x'$ dans $\Gamma(f)$ si et seulement s'il existe une 
82 stratégie  $s$ telle que les itérations  parallèles $G_f$ à partir 
83 du point $(s,x)$ mènent au point $x'$.
84
85
86 Dans ce qui suit, et par souci de concision, le terme \emph{graphe des itérations}
87 est une abréviation de  graphe des itérations chaotiques.
88 La figure~\ref{fig:xplgraphIter} donne deux exemples de graphes d'itérations 
89 pour les fonctions $g$ et $h$ définies dans $\Bool^2$ qui seront reprises dans la suite.
90
91
92
93 \begin{figure}%
94 \centering
95 \begin{minipage}{0.40\textwidth}
96   \begin{center}
97     \includegraphics[scale=0.4]{images/g.pdf}
98   \end{center}
99 \caption{$g(x_1,x_2)=(\overline{x_1},x_1\overline{x_2}) $}%
100 \label{fig:g:iter}%
101 \end{minipage}
102 \qquad
103 \begin{minipage}{0.40\textwidth}%
104   \begin{center}
105     \includegraphics[scale=0.4]{images/h.pdf}
106   \end{center}
107 \caption{$h(x_1,x_2)=(\overline{x_1},x_1\overline{x_2}+\overline{x_1}x_2)$}%
108 \label{fig:h:iter}%
109 \end{minipage}%
110 \caption{Graphes d'itérations de fonctions booléennes dans $\Bool^2$}
111 \label{fig:xplgraphIter} 
112 \end{figure}%
113
114
115
116
117
118 \section{Graphe d'interactions}\label{sub:sdd:inter}
119
120 Pour $x\in\Bool^n$ et $i\in\llbracket 1;n\rrbracket$, on nomme  
121 $\overline{x}^i$ la configuration obtenue en niant le 
122 $i^{\textrm{ème}}$ composant de $x$. En d'autres termes
123 $\overline{x}^i=(x_1,\dots,\overline{x_i},\dots,x_n)$.
124 Des interactions entre les composants du 
125 système peuvent être mémorisées 
126 dans la {\emph{matrice Jacobienne discrète}} $f'$.
127 Celle-ci est définie comme étant la fonction  qui  à chaque 
128 configuration $x\in\Bool^n$ associe la matrice de taille 
129 $n\times n$ 
130 \[
131 f'(x)=(f_{ij}(x)),\qquad 
132 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).
133 \]
134 On note que dans l'équation donnant la valeur de $f_{ij}(x)$, 
135 les termes $f_i(\overline{x}^j)$, $f_i(x)$, 
136 $\overline{x}^j_j$ et $x_j$ sont considérés comme des entiers naturels 
137 égaux à $0$ ou à $1$ et que le calcul est effectué dans $\Z$.
138 On a le lien suivant avec la \emph{matrice d'adjacence} $A$ de $f$ dans $\Bool^{n^2}$:
139 le booléen $A_{ij}$ vaut 1 si et seulement s'il existe $x\in \Bool^{n}$ tel que 
140 $f_{ij}(x)$ est différent de 0.
141
142
143 En outre, les interactions peuvent se  représenter à l'aide d'un 
144 graphe $G(f)$ orienté et signé défini ainsi: 
145 l'ensemble des sommets est 
146 $\llbracket1;n\rrbracket$ et il existe un arc de $j$ à $i$ de signe
147  $s\in\{-1,1\}$, noté $(j,s,i)$, si $f_{ij}(x)=s$ pour au moins
148 un $x\in\Bool^n$. 
149 On note que la présence de 
150 deux arcs de signes opposés entre deux sommets donnés 
151 est possible.
152
153
154
155
156
157 \begin{figure}%
158 \centering
159 \begin{minipage}{0.40\textwidth}
160   \begin{center}
161     \includegraphics[scale=0.4]{images/gp.pdf}
162   \end{center}
163 \caption{$g(x_1,x_2)=(\overline{x_1},x_1\overline{x_2}) $}%
164 \label{fig:g:inter}%
165 \end{minipage}
166 \qquad
167 \begin{minipage}{0.40\textwidth}
168   \begin{center}
169     \includegraphics[scale=0.4]{images/hp.pdf}
170   \end{center}
171 \caption{$h(x_1,x_2)=(\overline{x_1},x_1\overline{x_2}+\overline{x_1}x_2)$}%
172 \label{fig:h:inter}%
173 \end{minipage}%
174 \caption{Graphes d'interactions de fonctions booléennes dans $\Bool^2$}
175 \label{fig:xplgraphInter}
176 \end{figure}%
177
178
179
180
181
182
183
184
185
186 Soit $P$ une suite d'arcs de $G(f)$ de la forme
187 \[
188 (i_1,s_1,i_2),(i_2,s_2,i_3),\ldots,(i_r,s_r,i_{r+1}).
189 \]
190 Alors, $P$ est dit un chemin de $G(f)$ de longueur $r$ et de signe
191 $\Pi_{i=1}^{r}s_i$ et  $i_{r+1}$ est dit accessible depuis
192 $i_1$. 
193 $P$ est un {\emph{circuit}} si $i_{r+1}=i_1$ et si les sommets
194 $i_1$,\ldots $i_r$ sont deux à deux disjoints.
195 Un sommet $i$ de $G(f)$ a une {\emph{boucle}} 
196 positive (resp. négative) , si $G(f)$ a un 
197 arc positif (resp. un arc négatif) de $i$ vers lui-même.
198
199
200
201
202
203 \section{Distance sur l'espace $\llbracket 1;n\rrbracket^{\Nats}\times \Bool^n$}\label{sub:metric}
204 On considère l'espace $\mathcal{X}=\llbracket 1;n\rrbracket^{\Nats}\times
205 \Bool^n$ et
206 on définit la distance $d$ entre les points $X=(s,x)$ et
207 $X'=(s',x')$ de $\mathcal{X}$ par 
208 \[
209 d(X,X')= d_H(x,x')+d_S(s,s'),~\textrm{où}~
210 \left\{
211 \begin{array}{l}
212 \displaystyle{d_H(x,x')=\sum_{i=1}^n |x_i-x'_i|}\\[5mm] 
213 \displaystyle{d_S(s,s')=\frac{9}{n}\sum_{t\in\Nats}\frac{|s_t-s'_t|}{10^{t+1}}}.
214 \end{array}
215 \right.\,.
216 \]
217 On note que dans le calcul de $d_H(x,x')$-- 
218 appelée \gls{distanceHamming} (cf. glossaire) entre $x$ et $x'$-- 
219 les termes $x_i$ et $x'_i$ sont considérés comme des entiers naturels 
220 égaux à $0$ ou à $1$ et que le calcul est effectué dans $\Z$.
221 De plus, la \gls{partieentiere} (cf. glossaire) 
222 $\lfloor d(X,X')\rfloor$ est égale à $d_H(x,x')$ soit la distance 
223 de Hamming entre $x$ et $x'$. 
224 %D'autre part, $d(X,X')-\lfloor d(X,X')\rfloor=d_S(s,s')$ 
225 %mesure la différence entre $s$ et $s'$.
226 On remarque que la partie décimale est inférieure à $10^{-l}$ si
227 et seulement si les $l$ premiers termes des deux stratégies sont égaux. 
228 De plus, si la 
229 $(l+1)^{\textrm{ème}}$ décimale  
230 de $d_S(s,s')$ 
231 n'est pas nulle, alors $s_l$ est différent de  $s'_l$. 
232
233 On peut démontrer que pour toute fonction booléenne $f$, 
234 $G_f$ est continue sur $\mathcal{X}$ (cf annexe~\ref{anx:cont}).   
235