2 \JFC{Chapeau chapitre à faire}
6 % Cette section énonce quelques notions suffisantes
7 % à la compréhension de ce document.
8 % Elle commence par formaliser ce que sont les systèmes dynamiques booléens
9 % (section \ref{sub:sdd})
10 % et montre comment en extraire leur graphe d'itérations (section~\ref{sub:grIter})
11 % et d'interactions (section~\ref{sub:sdd:inter}).
12 % Elle se termine en définissant une distance sur l'espace
13 % $\llbracket 1;n\rrbracket^{\Nats}\times \Bool^n$ (section~\ref{sub:metric}).
18 On considère l'espace booléen
20 muni des opérateurs binaires
21 de disjonction \og +\fg{},
22 de conjonction \og . \fg{} et
23 unaire de négation \og $\overline{\mathstrut\enskip}$ \fg{}.
26 Soit $n$ un entier naturel.
27 On introduit quelques notations à propos d'éléments de $\Bool^n$.
28 L'ensemble $\{1,\dots, n\}$ sera par la suite noté $[n]$.
29 Le $i^{\textrm{ème}}$ composant d'un élément
30 $x \in \Bool^n$ s'écrit $x_i$.
31 Si l'ensemble $I$ est une partie de $[n]$, alors
32 $\overline{x}^I$ est l'élément $y\in \Bool^n$
33 tel que $y_i = 1 - x_i$ si $i\in I$ et
35 On considère les deux abréviations $\overline{x}$ pour $\overline{x}^{[n]}$
36 (chaque composant de $\overline{x}$ est nié:
37 c'est une négation composante à composante)
38 et $\overline{x}^i$ pour $\overline{x}^{\{i\}}$ pour $i \in [n]$
39 (seul $x_i$ est nié dans $\overline{x}$).
40 Pour tout $x$ et $y$ dans $\Bool^n$, l'ensemble
41 $\Delta(x, y)$, contient les $i \in [n]$
42 tels que $x_i \neq y_i$.
43 Soit enfin $f : \Bool^n \rightarrow \Bool^n$. Son $i^{\textrm{ème}}$ composant
44 est nommé $f_i$ qui est une fonction de $\Bool^n$ dans $\Bool$.
46 $x$ dans $\Bool^n$, l'ensemble
47 $\Delta f(x)$ est défini par $\Delta f(x) = \Delta(x,f(x))$.
48 On peut admettre que $f (x) = \overline{x}^{\Delta f(x)}$ .
50 \begin{xpl}\label{xpl:1}
51 On considère $n= 3$ et $f:\Bool^3 \rightarrow \Bool^3$ telle que
52 $f(x)=(f_1(x),f_2(x),f_3(x))$ avec
54 f_1(x_1, x_2, x_3) &=& (\overline{x_1} + \overline{x_2}).x_3 \textrm{, }\\
55 f_2(x_1, x_2, x_3) &= &x_1.x_3 \textrm{ et }\\
56 f_3(x_1, x_2, x_3) &=& x_1 + x_2 + x_3.
62 \begin{array}{|l|l|l||c|c|c|}
64 \multicolumn{3}{|c||}{x} &
65 \multicolumn{3}{|c|}{f(x)} \\
68 f_1(x) & f_2(x) & f_3(x) \\
70 0& 0 & 0 & 0 & 0 & 0 \\
72 0& 0 & 1 & 1 & 0 & 1\\
89 $(x_1, x_2, x_3) \mapsto
90 ((\overline{x_1} + \overline{x_2}).x_3,
92 x_1 + x_2 + x_3)$ \label{table:xpl:images}}
95 La \textsc{Table}~\ref{table:xpl:images} donne l'image de chaque élément
97 Pour $x=(0,1,0)$ les assertions suivantes se déduisent directement du tableau:
100 \item pour $I=\{1,3\}$, $\overline{x}^{I} = (1,1,1)$ et
101 $\overline{x} = (1,0,1)$;
102 \item $\Delta(x,f(x)) = \{2,3\}$.
107 \subsection{Réseau booléen}
108 Soit $n$ un entier naturel représentant le nombre
109 d'éléments étudiés (gènes, protéines,\ldots).
110 Un réseau booléen est
111 défini à partir d'une fonction booléenne:
113 f:\Bool^n\to\Bool^n,\qquad x=(x_1,\dots,x_n)\mapsto f(x)=(f_1(x),\dots,f_n(x)),
115 et un {\emph{schéma itératif}} ou encore \emph{mode de mise à jour}. À partir d'une configuration initiale $x^0\in\Bool^n$, la suite $(x^{t})^{t
116 \in \Nats}$ des configurations du système est construite selon l'un des
119 \item \textbf{Schéma parallèle synchrone :} basé sur la relation de récurrence
120 $x^{t+1}=f(x^t)$. Tous les $x_i$, $1 \le i \le n$, sont ainsi mis à jour à
121 chaque itération en utilisant l'état global précédent du système $x^t$.
122 \item \textbf{Schéma unaire :} ce schéma est parfois
123 qualifié de chaotique
125 Il consiste à modifier la valeur
126 d'un unique élément $i$, $1 \le i \le n$, à
127 chaque itération. Le choix de l'élément qui est modifié à chaque itération est
129 $S = \left(s^t\right)^{t \in \mathds{N}}$ qui est une séquence
130 d'indices dans $[n]$. Cette suite est appelée \emph{stratégie unaire}.
131 Il est basé sur la relation définie pour tout $i \in [n]$ par
134 \left\{ \begin{array}{l}
135 f_i(x^t) \textrm{ si } i=s^t, \\
136 x^t_i\textrm{ sinon.}
142 \item \textbf{Schéma généralisé:} dans ce schéma, ce sont les valeurs
143 d'un ensemble d'éléments de $[n]$ qui sont modifiées à chaque itération.
144 Dans le cas particulier où c'est la valeur d'un singleton
145 $\{k\}$, $1 \le k \le n$, qui est modifiée à
146 chaque itération, on retrouve le
147 mode unaire. Dans le second cas particulier où ce sont les valeurs de
148 tous les éléments de $\{1, \ldots, n\}$ qui sont modifiées
149 à chaque itération, on retrouve le mode
150 parallèle. Ce mode généralise donc les deux modes précédents.
151 Plus formellement, à la $t^{\textrm{ème}}$
152 itération, seuls les éléments de la partie
153 $s^{t} \in \mathcal{P}([n])$ sont mis à
154 jour. La suite $S = \left(s^t\right)^{t \in \mathds{N}}$ est une séquence
156 de $[n]$ appelée \emph{stratégie généralisée}.
157 Il est basé sur la relation définie pour tout $i \in [n]$ par
160 \left\{ \begin{array}{l}
161 f_i(x^t) \textrm{ si } i \in s^t, \\
162 x^t_i\textrm{ sinon.}
174 La section suivante détaille comment représenter graphiquement les évolutions de tels réseaux.
175 \subsection{Graphes des itérations}
179 Pour un entier naturel $n$ et une
180 fonction $f : B^n \rightarrow B^n$, plusieurs évolutions sont possibles
181 en fonction du schéma itératif retenu.
182 Celles-ci sont représentées par un graphe orienté dont les noeuds
183 sont les éléments de $\Bool^n$ (voir \textsc{Figure}~\ref{fig:xpl:graphs}).
187 \item Le \emph{graphe des itérations synchrones} de $f$, noté $\textsc{gis}(f)$
188 est le graphe orienté de $\Bool^n$ qui contient un arc $x \rightarrow y$ si
189 et seulement si $y=f(x)$.
190 \item Le \emph{graphe des itérations unaires} de $f$, noté $\textsc{giu}(f)$
191 est le graphe orienté de $\Bool^n$ qui contient un arc $x \rightarrow y$ si
192 et seulement s'il existe $x \in \Delta f(x)$ tel que $y = \overline{x}^i$.
193 \item Le \emph{graphe des itérations généralisées} de $f$, noté $\textsc{gig}(f)$
194 est le graphe orienté de $\Bool^n$ qui contient un arc $x \rightarrow y$ si
195 et seulement s'il existe un ensemble $I\subseteq \Delta f(x)$ tel que
196 $y = \overline{x}^I$. On peut remarquer que ce graphe contient comme
197 sous-graphe à la fois celui des itérations synchrones et celui
198 des itérations unaires.
206 On reprend notre exemple illustratif
207 détaillé à la page~\pageref{xpl:1} avec sa table
208 d'images (\textsc{Table}~\ref{table:xpl:images}).
209 La \textsc{Figure}~\ref{fig:xpl:graphs} donne les trois graphes d'itérations
214 \subfigure[$\textsc{gis}(f)$]{
215 \begin{minipage}{0.33\textwidth}
217 \includegraphics[scale=0.4]{fsig}
222 \subfigure[$\textsc{giu}(f)$]{
223 \begin{minipage}{0.33\textwidth}
225 \includegraphics[scale=0.4]{faig}
230 \subfigure[$\textsc{gig}(f)$]{
231 \begin{minipage}{0.33\textwidth}
233 \includegraphics[scale=0.4]{fgig}
239 \caption{Graphes des itérations de la fonction
240 $f:\Bool^3 \rightarrow \Bool^3$ telle que
241 $(x_1, x_2, x_3) \mapsto
242 ((\overline{x_1} + \overline{x_2}).x_3,
244 x_1 + x_2 + x_3)$.\label{fig:xpl:graphs}
245 On remarque le cycle $((101,111),(111,011),(011,101))$
246 à la \textsc{Figure}~(\ref{fig:fsig}).}
251 \subsection{Attracteurs}
254 $x \in \Bool^n$ est un \emph{point fixe} de $f$ si $x = f (x)$.
255 Les points fixes sont particulièrement intéressants car ils correspondent
257 dans chaque graphe d'itérations, le point $x$ est un point fixe
258 si et seulement si il est son seul successeur.
262 Soit $\Gamma$ un graphe d'itérations (synchrones, unaires ou généralisées)
264 Les \emph{attracteurs} de $\Gamma$ sont les
265 plus petits sous-ensembles (au sens de l'inclusion) non vides
266 $A \subseteq \Bool^n$ tels que pour tout arc
267 $x \rightarrow y$ de $\Gamma$, si $x$ est un élément de $A$, alors
269 Un attracteur qui contient au moins deux éléments est dit \emph{cyclique}.
270 On en déduit qu'un attracteur cyclique ne contient pas de point fixe.
271 En d'autres termes, lorsqu'un système entre dans un attracteur cyclique,
272 il ne peut pas atteindre un point fixe.
275 On a la proposition suivante:
278 \begin{theorem}\label{Prop:attracteur}
279 Le point $x$ est un point fixe si et seulement si
280 $\{x\}$ est un attracteur de $\Gamma$.
281 En d'autres termes, les attracteurs non cycliques de $\Gamma$
282 sont les points fixes de $f$.
283 Ainsi pour chaque $x\in \Bool^n$, il existe au moins un chemin
284 depuis $x$ qui atteint un attracteur.
285 Ainsi $\Gamma$ contient toujours au moins un attracteur.
291 Les attracteurs de $\textsc{giu}(f)$ et de $\textsc{gig}(f)$ sont
292 le point fixe $000$ et l'attracteur cyclique
293 $\{001, 101,111, 011 \}$.
294 Les attracteurs de $\textsc{gis}(f)$ sont le point fixe $000$
295 et l'attracteur cyclique $\{011, 101, 111\}$.
298 \subsection{Graphe d'interaction}
299 Les interactions entre les composants du
300 système peuvent être mémorisées
301 dans la {\emph{matrice jacobienne discrète}} $f'$.
302 Celle-ci est définie comme étant la fonction qui à chaque
303 configuration $x\in\Bool^n$ associe la matrice de taille
304 $n\times n$ telle que
306 f'(x)=(f'_{ij}(x)),\qquad
307 f'_{ij}(x)=\frac{f_i(\overline{x}^j){-}f_i(x)}{\overline{x_j}{-}x_j}\qquad (i,j\in[n]).
308 \label{eq:jacobienne}
310 On note que dans l'équation donnant la valeur de $f'_{ij}(x)$,
311 les termes $f_i(\overline{x}^j)$, $f_i(x)$,
312 $\overline{x}^j_j$ et $x_j$ sont considérés comme des entiers naturels
313 égaux à $0$ ou à $1$ et que la différence est effectuée
315 Lorsqu'on supprime les signes dans la matrice jacobienne discrète,
316 on obtient une matrice notée $B(f)$ aussi de taille
318 Celle-ci mémorise uniquement
319 l'existence d'une dépendance de tel élément vis à vis de
321 Elle ne mémorise pas \emph{comment} dépendent les éléments
322 les uns par rapport aux autres. Cette matrice est nommée
323 \emph{matrice d'incidence}.
326 Si $f_i$ ne dépend pas de $x_j$, alors pour tout $x\in [n]$,
327 $f_i(\overline{x}^j)$ est égal à $f_i(x)$, \textit{i.e},
328 $f'_{ij}(x)=0$. Ainsi $B(f)_{ij}$ est nulle. La réciproque est aussi vraie.
334 En outre, les interactions peuvent se représenter à l'aide d'un
335 graphe $\Gamma(f)$ orienté et signé défini ainsi:
336 l'ensemble des sommets est
337 $[n]$ et il existe un arc de $j$ à $i$ de signe
338 $s\in\{-1,1\}$, noté $(j,s,i)$, si $f_{ij}(x)=s$ pour au moins
341 On note que la présence de
342 deux arcs de signes opposés entre deux sommets donnés
344 % Dans la suite, le graphe signé $G$ sera qualifié de
345 % \emph{simple} si, pour chaque $i$, $j$ dans $[n]$,
346 % il existe au plus un arc de $j$ à $i$ dans $G$.
347 Un cycle \emph{positif} (resp. négatif) de $G$
348 est un cycle \emph{élémentaire} qui contient un nombre
349 pair (resp. impair) d'arcs négatifs.
351 d'un cycle est le nombre d'arcs qu'il contient.
354 Pour exprimer la jacobienne discrète de la fonction donnée en exemple,
355 pour chaque $i$, $j$ dans
359 {f_i(\overline{x}^j){-}f_i(x)}
360 {\overline{x_j}{-}x_j}$
361 d'après l'équation~(\ref{eq:jacobienne}).
364 % f'_{12} (x_1,x_2,x_3)=
366 % { ((\overline{x_1} + \overline{\overline{x_2}}).x_3)
368 % ((\overline{x_1} + \overline{x_2}).x_3)
370 % {\overline{x_2}{-}x_2} = \frac{
371 % ((\overline{x_1} + x_2).x_3)
373 % ((\overline{x_1} + \overline{x_2}).x_3)
374 % }{\overline{x_2}{-}x_2} .
376 % Évaluons cette fonction de $\Bool^3$ dans $\Z$ en construisant le tableau de toutes ses valeurs.
378 % \begin{array}{|c|c|c|c|c|c|c|c|}
381 % (\overline{x_1} + {x_2}).x_3 & (\overline{x_1} + \overline{x_2}).x_3 &
382 % (\overline{x_1} + {x_2}).x_3 {-} (\overline{x_1} + \overline{x_2}).x_3 & \overline{x_2} {-} x_2 &
383 % f'_{12} (x_1,x_2,x_3)\\
385 % 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 \\\hline
386 % 0 & 0 & 1 & 1 & 1 & 0 & 1 & 0 \\\hline
387 % 0 & 1 & 0 & 0 & 0 & 0 & -1 & 0 \\\hline
388 % 0 & 1 & 1 & 1 & 1 & 0 & -1 & 0 \\\hline
389 % 1 & 0 & 0 & 0 & 0 & 0 & 1 & 0 \\\hline
390 % 1 & 0 & 1 & 0 & 1 & -1 & 1 & -1 \\\hline
391 % 1 & 1 & 0 & 0 & 0 & 0 & -1 & 0 \\\hline
392 % 1 & 1 & 1 & 1 & 0 & 1& -1 & -1 \\\hline
395 % La seule valeur de $f'_{12}$ qui n'est pas nulle est -1, qui est négative.
396 % Le graphe d'interaction contiendra ainsi un arc négatif entre le n{\oe}ud 2 et le n{\oe}ud 1.
397 La \textsc{Figure}~(\ref{fig:f:jacobienne}) explicite la matrice jacobienne discrète de cette fonction.
399 Le graphe d'interaction de $f$ s'en déduit directement. Il est donné à la
400 \textsc{Figure}~(\ref{fig:f:interaction}).
402 un cycle négatif de longueur 1 et
403 un cycle négatif de longueur 3.
404 Concernant les cycles positifs, il en possède
409 La matrice d'incidence peut se déduire de la matrice d'interaction en supprimant les signes ou bien
410 en constatant que $f_1$ dépend des trois éléments $x_1$, $x_2$ et $x_3$ et donc que la première ligne de $B(f)$
411 est égale à $1~1~1$. De manière similaire, $f_2$ (resp. $f_3$) dépend de
413 (resp. dépend de $x_1$, $x_2$ et $x_3$).
414 Ainsi la seconde ligne (resp. la troisième ligne) de $B(f)$ est $1~0~1$ (resp. est $1~1~1$).
415 La \textsc{Figure}~(\ref{fig:f:incidence}) donne la matrice d'incidence complète.
419 \subfigure[Matrice jacobienne]{
420 \begin{minipage}{0.90\textwidth}
426 ((x_1 + \overline{x_2}).x_3)
428 ((\overline{x_1} + \overline{x_2}).x_3)
429 }{\overline{x_1}{-}x_1}
432 ((\overline{x_1} + x_2).x_3)
434 ((\overline{x_1} + \overline{x_2}).x_3)
435 }{\overline{x_2}{-}x_2}
438 ((\overline{x_1} + \overline{x_2}).\overline{x_3})
440 ((\overline{x_1} + \overline{x_2}).x_3)
441 }{\overline{x_3}{-}x_3}
444 \frac{\overline{x_1}.x_3 {-} x_1.x_3}{\overline{x_1}{-}x_1}
446 \frac{{x_1}.\overline{x_3} {-} x_1.x_3}{\overline{x_3}{-}x_3}
449 \frac{(\overline{x_1}+x_2+x_3){-}(x_1+x_2+x_3)}{\overline{x_1}{-}{x_1}} &
450 \frac{(x_1+\overline{x_2}+x_3){-}(x_1+x_2+x_3)}{\overline{x_2}{-}{x_2}} &
451 \frac{(x_1+x_2+\overline{x_3}){-}(x_1+x_2+x_3)}{\overline{x_3}{-}{x_3}}
457 \label{fig:f:jacobienne}
460 \subfigure[Graphe d'interaction]{
461 \begin{minipage}{0.45\textwidth}
463 \includegraphics[scale=0.5]{gf}
465 \label{fig:f:interaction}
469 \subfigure[Matrice d'incidence]{
470 \begin{minipage}{0.45\textwidth}
483 \label{fig:f:incidence}
487 \caption{Représentations des dépendances entre les éléments
489 $f:\Bool^3 \rightarrow \Bool^3$ telle que
490 $(x_1, x_2, x_3) \mapsto
491 ((\overline{x_1} + \overline{x_2}).x_3,
500 Soit $P$ une suite d'arcs de $\Gamma(f)$ de la forme
502 (i_1,s_1,i_2),(i_2,s_2,i_3),\ldots,(i_r,s_r,i_{r+1}).
504 Alors, $P$ est dit un chemin de $\Gamma(f)$ de longueur $r$ et de signe
505 $\Pi_{i=1}^{r}s_i$ et $i_{r+1}$ est dit accessible depuis
507 $P$ est un {\emph{circuit}} si $i_{r+1}=i_1$ et si les sommets
508 $i_1$,\ldots $i_r$ sont deux à deux disjoints.
509 Un sommet $i$ de $\Gamma(f)$ a une {\emph{boucle}}
510 positive (resp. négative) , si $\Gamma(f)$ a un
511 arc positif (resp. un arc négatif) de $i$ vers lui-même.
515 \subsection{Conditions de convergence}\label{sec:Robert:async}
517 Parmi les itérations unaires caractérisées par leurs stratégies
518 $S=(s^t)^{t \in \Nats}$ d'éléments appartenant à $[n]$,
519 sont jugées intéressantes
520 celles qui activent au moins une fois
521 chacun des $i\in[n]$. Dans le cas contraire, un élément n'est jamais modifié.
523 Plus formellement, une séquence finie $S=(s^t)^{t \in \Nats}$
524 est dite \emph{complète} relativement à $[n]$ si
526 s'y retrouve au moins une fois.
528 Parmi toutes les stratégies unaires de
529 $[n]^{\Nats}$, on qualifie de:
531 \item \emph{périodiques} celles
532 qui sont constituées par une répétition indéfinie
533 d'une même séquence $S$ complète relativement à $[n]$.
534 En particulier toute séquence périodique est complète.
535 \item \emph{pseudo-périodiques} celles
536 qui sont constituées par une succession indéfinie de séquences
537 (de longueur éventuellement variable non supposée bornée) complètes.
538 Autrement dit dans chaque stratégie pseudo-périodique, chaque indice de
539 $1$ à $n$ revient indéfiniment.
543 François Robert~\cite{Rob95}
544 a énoncé en 1995 le théorème suivant de convergence
545 dans le mode des itérations unaires.
547 \begin{theorem}\label{Th:conv:GIU}
548 Si le graphe $\Gamma(f)$ n'a pas de cycle et si la stratégie unaire est
549 pseudo-périodique, alors tout chemin de $\textsc{giu}(f)$ atteint
550 l'unique point fixe $\zeta$ en au plus $n$ pseudo-périodes.
553 Le qualificatif \emph{pseudo-périodique} peut aisément
554 s'étendre aux stratégies généralisées comme suit.
555 Lorsqu'une stratégie généralisée est constituée d'une
556 succession indéfinie de séquences de parties de $[n]$
557 dont l'union est $[n]$, cette stratégie est {pseudo-périodique}.
558 J. Bahi~\cite{Bah00} a démontré le théorème suivant:
560 \begin{theorem}\label{Th:Bahi}
561 Si le graphe $\Gamma(f)$ n'a pas de cycle et si la stratégie généralisée
562 est pseudo-périodique alors
563 tout chemin de $\textsc{gig}(f)$ (et donc de $\textsc{giu}(f)$)
565 l'unique point fixe $\zeta$.
568 % \section{Distance sur l'espace $\llbracket 1;n\rrbracket^{\Nats}\times \Bool^n$}\label{sub:metric}
569 % On considère l'espace $\mathcal{X}=\llbracket 1;n\rrbracket^{\Nats}\times
571 % on définit la distance $d$ entre les points $X=(s,x)$ et
572 % $X'=(s',x')$ de $\mathcal{X}$ par
574 % d(X,X')= d_H(x,x')+d_S(s,s'),~\textrm{où}~
577 % \displaystyle{d_H(x,x')=\sum_{i=1}^n |x_i-x'_i|}\\[5mm]
578 % \displaystyle{d_S(s,s')=\frac{9}{n}\sum_{t\in\Nats}\frac{|s_t-s'_t|}{10^{t+1}}}.
582 % On note que dans le calcul de $d_H(x,x')$--
583 % appelée \gls{distanceHamming} (cf. glossaire) entre $x$ et $x'$--
584 % les termes $x_i$ et $x'_i$ sont considérés comme des entiers naturels
585 % égaux à $0$ ou à $1$ et que le calcul est effectué dans $\Z$.
586 % De plus, la \gls{partieentiere} (cf. glossaire)
587 % $\lfloor d(X,X')\rfloor$ est égale à $d_H(x,x')$ soit la distance
588 % de Hamming entre $x$ et $x'$.
589 % %D'autre part, $d(X,X')-\lfloor d(X,X')\rfloor=d_S(s,s')$
590 % %mesure la différence entre $s$ et $s'$.
591 % On remarque que la partie décimale est inférieure à $10^{-l}$ si
592 % et seulement si les $l$ premiers termes des deux stratégies sont égaux.
594 % $(l+1)^{\textrm{ème}}$ décimale
596 % n'est pas nulle, alors $s_l$ est différent de $s'_l$.
598 % On a démontré que pour toute fonction booléenne $f$,
599 % $G_f$ est continue sur $\mathcal{X}$ (cf annexe~\ref{anx:cont}).