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 :} cette terminologie a plusieurs
124 dans la littérature, mais celle que nous
125 retenons ici 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 % Lorsque cette suite est strictement cyclique (sans
132 % occurrences multiples dans le motif) sur l'ensemble des éléments $\{1,\ldots
133 % n\}$, alors on retrouve le comportement du mode séquentiel synchrone.
134 \item \textbf{Schéma généralisé:} dans ce schéma, ce sont les valeurs
135 d'un ensemble d'éléments de $[n]$ qui sont modifiées à chaque itération.
136 Dans le cas particulier où c'est la valeur d'un singleton
137 $\{k\}$, $1 \le k \le n$, qui est modifiée à
138 chaque itération, on retrouve le
139 mode unaire. Dans le second cas particulier où ce sont les valeurs de
140 tous les éléments de $\{1, \ldots, n\}$ qui sont modifiées
141 à chaque itération, on retrouve le mode
142 parallèle. Ce mode généralise donc les deux modes précédents.
143 Plus formellement, à la $t^{\textrm{ème}}$
144 itération, seuls les éléments de la partie
145 $s^{t} \in \mathcal{P}([n])$ sont mis à
146 jour. La suite $S = \left(s^t\right)^{t \in \mathds{N}}$ est une séquence
148 de $[n]$ appelée \emph{stratégie généralisée}.
155 La section suivante détaille comment représenter graphiquement les évolutions de tels réseaux.
156 \subsection{Graphes des itérations}
160 Pour un entier naturel $n$ et une
161 fonction $f : B^n \rightarrow B^n$, plusieurs évolutions sont possibles
162 en fonction du schéma itératif retenu.
163 Celles-ci sont représentées par un graphe orienté dont les noeuds
164 sont les éléments de $\Bool^n$ (voir \textsc{Figure}~\ref{fig:xpl:graphs}).
168 \item Le \emph{graphe des itérations synchrones} de $f$, noté $\textsc{gis}(f)$
169 est le graphe orienté de $\Bool^n$ qui contient un arc $x \rightarrow y$ si
170 et seulement si $y=f(x)$.
171 \item Le \emph{graphe des itérations unaires} de $f$, noté $\textsc{gia}(f)$
172 est le graphe orienté de $\Bool^n$ qui contient un arc $x \rightarrow y$ si
173 et seulement s'il existe $x \in \Delta f(x)$ tel que $y = \overline{x}^i$.
174 \item Le \emph{graphe des itérations généralisées} de $f$, noté $\textsc{gig}(f)$
175 est le graphe orienté de $\Bool^n$ qui contient un arc $x \rightarrow y$ si
176 et seulement s'il existe un ensemble $I\subseteq \Delta f(x)$ tel que
177 $y = \overline{x}^I$. On peut remarquer que ce graphe contient comme
178 sous-graphe à la fois celui des itérations synchrones et celui
179 des itérations unaires.
187 On reprend notre exemple illustratif
188 détaillé à la page~\pageref{xpl:1} avec sa table
189 d'images (\textsc{Table}~\ref{table:xpl:images}).
190 La \textsc{Figure}~\ref{fig:xpl:graphs} donne les trois graphes d'itérations
195 \subfigure[$\textsc{gis}(f)$]{
196 \begin{minipage}{0.33\textwidth}
198 \includegraphics[scale=0.4]{fsig}
203 \subfigure[$\textsc{gia}(f)$]{
204 \begin{minipage}{0.33\textwidth}
206 \includegraphics[scale=0.4]{faig}
211 \subfigure[$\textsc{gig}(f)$]{
212 \begin{minipage}{0.33\textwidth}
214 \includegraphics[scale=0.4]{fgig}
220 \caption{Graphes des itérations de la fonction
221 $f:\Bool^3 \rightarrow \Bool^3$ telle que
222 $(x_1, x_2, x_3) \mapsto
223 ((\overline{x_1} + \overline{x_2}).x_3,
225 x_1 + x_2 + x_3)$.\label{fig:xpl:graphs}
226 On remarque le cycle $((101,111),(111,011),(011,101))$
227 à la \textsc{Figure}~(\ref{fig:fsig}).}
232 \subsection{Attracteurs}
235 $x \in \Bool^n$ est un \emph{point fixe} de $f$ si $x = f (x)$.
236 Les points fixes sont particulièrement intéressants car ils correspondent
238 dans chaque graphe d'itérations, le point $x$ est un point fixe
239 si et seulement si il est son seul successeur.
240 Dans le contexte des réseaux de régulation de gènes,
241 ces points fixes correspondent aux configurations stables pour l'expression de
246 Soit $\Gamma$ un graphe d'itérations (synchrones, unaires ou généralisées)
248 Les \emph{attracteurs} de $\Gamma$ sont les
249 plus petits sous-ensembles (au sens de l'inclusion) non vides
250 $A \subseteq \Bool^n$ tels que pour tout arc
251 $x \rightarrow y$ de $\Gamma$, si $x$ est un élément de $A$, alors
253 Un attracteur qui contient au moins deux éléments est dit \emph{cyclique}.
254 On en déduit qu'un attracteur cyclique ne contient pas de point fixe.
255 En d'autres termes, lorsqu'un système entre dans un attracteur cyclique,
256 il ne peut pas atteindre un point fixe.
259 On a la proposition suivante:
262 \begin{theorem}\label{Prop:attracteur}
263 Le point $x$ est un point fixe si et seulement si
264 $\{x\}$ est un attracteur de $\Gamma$.
265 En d'autres termes, les attracteurs non cycliques de $\Gamma$
266 sont les points fixes de $f$.
267 Ainsi pour chaque $x\in \Bool^n$, il existe au moins un chemin
268 depuis $x$ qui atteint un attracteur.
269 Ainsi $\Gamma$ contient toujours au moins un attracteur.
275 Les attracteurs de $\textsc{gia}(f)$ et de $\textsc{gig}(f)$ sont
276 le point fixe $000$ et l'attracteur cyclique
277 $\{001, 101,111, 011 \}$.
278 Les attracteurs de $\textsc{gis}(f)$ sont le point fixe $000$
279 et l'attracteur cyclique $\{011, 101, 111\}$.
282 \subsection{Graphe d'interaction}
283 Les interactions entre les composants du
284 système peuvent être mémorisées
285 dans la {\emph{matrice jacobienne discrète}} $f'$.
286 Celle-ci est définie comme étant la fonction qui à chaque
287 configuration $x\in\Bool^n$ associe la matrice de taille
288 $n\times n$ telle que
290 f'(x)=(f'_{ij}(x)),\qquad
291 f'_{ij}(x)=\frac{f_i(\overline{x}^j){-}f_i(x)}{\overline{x_j}{-}x_j}\qquad (i,j\in[n]).
292 \label{eq:jacobienne}
294 On note que dans l'équation donnant la valeur de $f'_{ij}(x)$,
295 les termes $f_i(\overline{x}^j)$, $f_i(x)$,
296 $\overline{x}^j_j$ et $x_j$ sont considérés comme des entiers naturels
297 égaux à $0$ ou à $1$ et que la différence est effectuée
299 Lorsqu'on supprime les signes dans la matrice jacobienne discrète,
300 on obtient une matrice notée $B(f)$ aussi de taille
302 Celle-ci mémorise uniquement
303 l'existence d'une dépendance de tel élément vis à vis de
305 Elle ne mémorise pas \emph{comment} dépendent les éléments
306 les uns par rapport aux autres. Cette matrice est nommée
307 \emph{matrice d'incidence}.
310 Si $f_i$ ne dépend pas de $x_j$, alors pour tout $x\in [n]$,
311 $f_i(\overline{x}^j)$ est égal à $f_i(x)$, \textit{i.e},
312 $f'_{ij}(x)=0$. Ainsi $B(f)_{ij}$ est nulle. La réciproque est aussi vraie.
318 En outre, les interactions peuvent se représenter à l'aide d'un
319 graphe $G(f)$ orienté et signé défini ainsi:
320 l'ensemble des sommets est
321 $[n]$ et il existe un arc de $j$ à $i$ de signe
322 $s\in\{-1,1\}$, noté $(j,s,i)$, si $f_{ij}(x)=s$ pour au moins
325 On note que la présence de
326 deux arcs de signes opposés entre deux sommets donnés
328 % Dans la suite, le graphe signé $G$ sera qualifié de
329 % \emph{simple} si, pour chaque $i$, $j$ dans $[n]$,
330 % il existe au plus un arc de $j$ à $i$ dans $G$.
331 Un cycle \emph{positif} (resp. négatif) de $G$
332 est un cycle \emph{élémentaire} qui contient un nombre
333 pair (resp. impair) d'arcs négatifs.
335 d'un cycle est le nombre d'arcs qu'il contient.
338 Pour exprimer la jacobienne discrète de la fonction donnée en exemple,
339 pour chaque $i$, $j$ dans
343 {f_i(\overline{x}^j){-}f_i(x)}
344 {\overline{x_j}{-}x_j}$
345 d'après l'équation~(\ref{eq:jacobienne}).
348 % f'_{12} (x_1,x_2,x_3)=
350 % { ((\overline{x_1} + \overline{\overline{x_2}}).x_3)
352 % ((\overline{x_1} + \overline{x_2}).x_3)
354 % {\overline{x_2}{-}x_2} = \frac{
355 % ((\overline{x_1} + x_2).x_3)
357 % ((\overline{x_1} + \overline{x_2}).x_3)
358 % }{\overline{x_2}{-}x_2} .
360 % Évaluons cette fonction de $\Bool^3$ dans $\Z$ en construisant le tableau de toutes ses valeurs.
362 % \begin{array}{|c|c|c|c|c|c|c|c|}
365 % (\overline{x_1} + {x_2}).x_3 & (\overline{x_1} + \overline{x_2}).x_3 &
366 % (\overline{x_1} + {x_2}).x_3 {-} (\overline{x_1} + \overline{x_2}).x_3 & \overline{x_2} {-} x_2 &
367 % f'_{12} (x_1,x_2,x_3)\\
369 % 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 \\\hline
370 % 0 & 0 & 1 & 1 & 1 & 0 & 1 & 0 \\\hline
371 % 0 & 1 & 0 & 0 & 0 & 0 & -1 & 0 \\\hline
372 % 0 & 1 & 1 & 1 & 1 & 0 & -1 & 0 \\\hline
373 % 1 & 0 & 0 & 0 & 0 & 0 & 1 & 0 \\\hline
374 % 1 & 0 & 1 & 0 & 1 & -1 & 1 & -1 \\\hline
375 % 1 & 1 & 0 & 0 & 0 & 0 & -1 & 0 \\\hline
376 % 1 & 1 & 1 & 1 & 0 & 1& -1 & -1 \\\hline
379 % La seule valeur de $f'_{12}$ qui n'est pas nulle est -1, qui est négative.
380 % Le graphe d'interaction contiendra ainsi un arc négatif entre le n{\oe}ud 2 et le n{\oe}ud 1.
381 La \textsc{Figure}~(\ref{fig:f:jacobienne}) explicite la matrice jacobienne discrète de cette fonction.
383 Le graphe d'interaction de $f$ s'en déduit directement. Il est donné à la
384 \textsc{Figure}~(\ref{fig:f:interaction}).
386 un cycle négatif de longueur 1 et
387 un cycle négatif de longueur 3.
388 Concernant les cycles positifs, il en possède
393 La matrice d'incidence peut se déduire de la matrice d'interaction en supprimant les signes ou bien
394 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)$
395 est égale à $1~1~1$. De manière similaire, $f_2$ (resp. $f_3$) dépend de
397 (resp. dépend de $x_1$, $x_2$ et $x_3$).
398 Ainsi la seconde ligne (resp. la troisième ligne) de $B(f)$ est $1~0~1$ (resp. est $1~1~1$).
399 La \textsc{Figure}~(\ref{fig:f:incidence}) donne la matrice d'incidence complète.
403 \subfigure[Matrice jacobienne de $f$.]{
404 \begin{minipage}{0.90\textwidth}
410 ((x_1 + \overline{x_2}).x_3)
412 ((\overline{x_1} + \overline{x_2}).x_3)
413 }{\overline{x_1}{-}x_1}
416 ((\overline{x_1} + x_2).x_3)
418 ((\overline{x_1} + \overline{x_2}).x_3)
419 }{\overline{x_2}{-}x_2}
422 ((\overline{x_1} + \overline{x_2}).\overline{x_3})
424 ((\overline{x_1} + \overline{x_2}).x_3)
425 }{\overline{x_3}{-}x_3}
428 \frac{\overline{x_1}.x_3 {-} x_1.x_3}{\overline{x_1}{-}x_1}
430 \frac{{x_1}.\overline{x_3} {-} x_1.x_3}{\overline{x_3}{-}x_3}
433 \frac{(\overline{x_1}+x_2+x_3){-}(x_1+x_2+x_3)}{\overline{x_1}{-}{x_1}} &
434 \frac{(x_1+\overline{x_2}+x_3){-}(x_1+x_2+x_3)}{\overline{x_2}{-}{x_2}} &
435 \frac{(x_1+x_2+\overline{x_3}){-}(x_1+x_2+x_3)}{\overline{x_3}{-}{x_3}}
441 \label{fig:f:jacobienne}
444 \subfigure[Graphe d'interaction de $f$.]{
445 \begin{minipage}{0.45\textwidth}
447 \includegraphics[scale=0.5]{gf}
449 \label{fig:f:interaction}
453 \subfigure[Matrice d'incidence de $f$.]{
454 \begin{minipage}{0.45\textwidth}
467 \label{fig:f:incidence}
471 \caption{Représentations des dépendances entre les éléments de la fonction $f$ de l'exemple illustratif.}
478 Soit $P$ une suite d'arcs de $G(f)$ de la forme
480 (i_1,s_1,i_2),(i_2,s_2,i_3),\ldots,(i_r,s_r,i_{r+1}).
482 Alors, $P$ est dit un chemin de $G(f)$ de longueur $r$ et de signe
483 $\Pi_{i=1}^{r}s_i$ et $i_{r+1}$ est dit accessible depuis
485 $P$ est un {\emph{circuit}} si $i_{r+1}=i_1$ et si les sommets
486 $i_1$,\ldots $i_r$ sont deux à deux disjoints.
487 Un sommet $i$ de $G(f)$ a une {\emph{boucle}}
488 positive (resp. négative) , si $G(f)$ a un
489 arc positif (resp. un arc négatif) de $i$ vers lui-même.
493 \subsection{Conditions de convergence}\label{sec:Robert:async}
495 Parmi les itérations unaires caractérisées par leurs stratégies
496 $S=(s^t)^{t \in \Nats}$ d'éléments appartenant à $[n]$,
497 sont jugées intéressantes
498 celles qui activent au moins une fois
499 chacun des $i\in[n]$. Dans le cas contraire, un élément n'est jamais modifié.
501 Plus formellement, une séquence finie $S=(s^t)^{t \in \Nats}$
502 est dite \emph{complète} relativement à $[n]$ si
504 s'y retrouve au moins une fois.
506 Parmi toutes les stratégies unaires de
507 $[n]^{\Nats}$, on qualifie de:
509 \item \emph{périodiques} celles
510 qui sont constituées par une répétition indéfinie
511 d'une même séquence $S$ complète relativement à $[n]$.
512 En particulier toute séquence périodique est complète.
513 \item \emph{pseudo-périodiques} celles
514 qui sont constituées par une succession indéfinie de séquences
515 (de longueur éventuellement variable non supposée bornée) complètes.
516 Autrement dit dans chaque stratégie pseudo-périodique, chaque indice de
517 $1$ à $n$ revient indéfiniment.
521 François Robert~\cite{Rob95}
522 a énoncé en 1995 le théorème suivant de convergence
523 dans le mode des itérations unaires.
525 \begin{theorem}\label{Th:conv:GIA}
526 Si le graphe $G(f)$ n'a pas de cycle et si la stratégie unaire est
527 pseudo-périodique, alors tout chemin de $\textsc{GIA}(f)$ atteint
528 l'unique point fixe $\zeta$ en au plus $n$ pseudo-périodes.
531 Le qualificatif \emph{pseudo-périodique} peut aisément
532 s'étendre aux stratégies généralisées comme suit.
533 Lorsqu'une stratégie généralisée est constituée d'une
534 succession indéfinie de séquences de parties de $[n]$
535 dont l'union est $[n]$, cette stratégie est {pseudo-périodique}.
536 J. Bahi~\cite{Bah00} a démontré le théorème suivant:
538 \begin{theorem}\label{Th:Bahi}
539 Si le graphe $G(f)$ n'a pas de cycle et si la stratégie généralisée
540 est pseudo-périodique alors
541 tout chemin de $\textsc{gig}(f)$ finit par atteindre
542 l'unique point fixe $\zeta$.
545 % \section{Distance sur l'espace $\llbracket 1;n\rrbracket^{\Nats}\times \Bool^n$}\label{sub:metric}
546 % On considère l'espace $\mathcal{X}=\llbracket 1;n\rrbracket^{\Nats}\times
548 % on définit la distance $d$ entre les points $X=(s,x)$ et
549 % $X'=(s',x')$ de $\mathcal{X}$ par
551 % d(X,X')= d_H(x,x')+d_S(s,s'),~\textrm{où}~
554 % \displaystyle{d_H(x,x')=\sum_{i=1}^n |x_i-x'_i|}\\[5mm]
555 % \displaystyle{d_S(s,s')=\frac{9}{n}\sum_{t\in\Nats}\frac{|s_t-s'_t|}{10^{t+1}}}.
559 % On note que dans le calcul de $d_H(x,x')$--
560 % appelée \gls{distanceHamming} (cf. glossaire) entre $x$ et $x'$--
561 % les termes $x_i$ et $x'_i$ sont considérés comme des entiers naturels
562 % égaux à $0$ ou à $1$ et que le calcul est effectué dans $\Z$.
563 % De plus, la \gls{partieentiere} (cf. glossaire)
564 % $\lfloor d(X,X')\rfloor$ est égale à $d_H(x,x')$ soit la distance
565 % de Hamming entre $x$ et $x'$.
566 % %D'autre part, $d(X,X')-\lfloor d(X,X')\rfloor=d_S(s,s')$
567 % %mesure la différence entre $s$ et $s'$.
568 % On remarque que la partie décimale est inférieure à $10^{-l}$ si
569 % et seulement si les $l$ premiers termes des deux stratégies sont égaux.
571 % $(l+1)^{\textrm{ème}}$ décimale
573 % n'est pas nulle, alors $s_l$ est différent de $s'_l$.
575 % On a démontré que pour toute fonction booléenne $f$,
576 % $G_f$ est continue sur $\mathcal{X}$ (cf annexe~\ref{anx:cont}).