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

Private GIT Repository
la veille
[hdrcouchot.git] / chaosANN.tex
index 239251ecbcdda8b5ea03ba12ee8361656930cb4c..143ce2347b09cfd7548748577435f5a48db67a23 100644 (file)
-% \section{Introduction}
-% \label{S1}
 
 Les réseaux de neurones chaotiques ont été étudiés à de maintes reprises 
 
 Les réseaux de neurones chaotiques ont été étudiés à de maintes reprises 
-par le passé en raison notamment de leurs applications potentielles:
+en raison de leurs applications potentielles:
 %les mémoires associatives~\cite{Crook2007267}  
 %les mémoires associatives~\cite{Crook2007267}  
-les  composants utils à la  sécurité comme les fonctions de 
+les  composants utiles à la  sécurité comme les fonctions de 
 hachage~\cite{Xiao10},
 le tatouage numérique~\cite{1309431,Zhang2005759}
 ou les schémas de chiffrement~\cite{Lian20091296}.  
 Dans tous ces cas, l'emploi de fonctions chaotiques est motivé par 
 hachage~\cite{Xiao10},
 le tatouage numérique~\cite{1309431,Zhang2005759}
 ou les schémas de chiffrement~\cite{Lian20091296}.  
 Dans tous ces cas, l'emploi de fonctions chaotiques est motivé par 
-leur comportement imprévisibile et proche de l'aléa. 
+leur comportement imprévisible et proche de l'aléa. 
 
 
 Les réseaux de neurones chaotiques peuvent être conçus selon plusieurs 
 principes. Des neurones modifiant leur état en suivant une fonction non 
 
 
 Les réseaux de neurones chaotiques peuvent être conçus selon plusieurs 
 principes. Des neurones modifiant leur état en suivant une fonction non 
-linéaire son par exemple appelés neurones chaotiques~\cite{Crook2007267}.
+linéaire sont par exemple appelés neurones chaotiques~\cite{Crook2007267}.
 L'architecture de réseaux de neurones de type Perceptron multi-couches
 L'architecture de réseaux de neurones de type Perceptron multi-couches
-(MLP) n'iterent quant à eux, pas nécesssairement de fonctions chaotiques.
+(MLP) n'itèrent quant à eux classiquement pas de fonction chaotique:
+leurs fonctions d'activation sont usuellement choisies parmi les sigmoïdes 
+(la fonction tangeante hyperbolique par exemple). 
 Il a cependant été démontré  que ce sont des approximateurs 
 universels~\cite{Cybenko89,DBLP:journals/nn/HornikSW89}.   
 Ils permettent, dans certains cas, de simuler des comportements 
 physiques chaotiques comme le  circuit de Chua~\cite{dalkiran10}.  
 Parfois~\cite{springerlink:10.1007/s00521-010-0432-2},
 Il a cependant été démontré  que ce sont des approximateurs 
 universels~\cite{Cybenko89,DBLP:journals/nn/HornikSW89}.   
 Ils permettent, dans certains cas, de simuler des comportements 
 physiques chaotiques comme le  circuit de Chua~\cite{dalkiran10}.  
 Parfois~\cite{springerlink:10.1007/s00521-010-0432-2},
-la fonction de transfert de cette famille de réseau celle 
+la fonction de transfert de cette famille de réseau et celle 
 d'initialisation sont toutes les deux définies à l'aide de 
 fonctions chaotiques. 
 
 
 
 d'initialisation sont toutes les deux définies à l'aide de 
 fonctions chaotiques. 
 
 
 
-
-
 Ces réseaux de neurones partagent le fait qu'ils sont qualifiés de 
 ``chaotiques'' sous prétexte qu'ils embarquent une fonction de ce type 
 Ces réseaux de neurones partagent le fait qu'ils sont qualifiés de 
 ``chaotiques'' sous prétexte qu'ils embarquent une fonction de ce type 
-et ce sans aucune preuve rigoureuse. Ce chapitre caractérise la 
+et ce sans qu'aucune preuve rigoureuse ne soit fournie.
+Ce chapitre caractérise la 
 classe des réseaux de neurones MLP chaotiques. Il  
 s'intéresse ensuite à l'étude de prévisibilité de systèmes dynamiques
 discrets chaotiques par cette famille de MLP.
 
 classe des réseaux de neurones MLP chaotiques. Il  
 s'intéresse ensuite à l'étude de prévisibilité de systèmes dynamiques
 discrets chaotiques par cette famille de MLP.
 
-\JFC{revoir plan}
-
-The remainder of this research  work is organized as follows. The next
-section is devoted to the basics of Devaney's chaos.  Section~\ref{S2}
-formally  describes  how  to  build  a neural  network  that  operates
-chaotically.  Section~\ref{S3} is devoted to the dual case of checking
-whether  an existing neural  network is  chaotic or  not.  Topological
-properties of chaotic neural networks are discussed in Sect.~\ref{S4}.
-The  Section~\ref{section:translation}  shows  how to  translate  such
-iterations  into  an Artificial  Neural  Network  (ANN),  in order  to
-evaluate the  capability for this  latter to learn  chaotic behaviors.
-This  ability  is  studied in  Sect.~\ref{section:experiments},  where
-various ANNs try to learn two  sets of data: the first one is obtained
-by chaotic iterations while the  second one results from a non-chaotic
-system.  Prediction success rates are  given and discussed for the two
-sets.  The paper ends with a conclusion section where our contribution
-is summed up and intended future work is exposed.
-
+La section~\ref{S2} définit la construction d'un réseau de neurones 
+chaotique selon Devanay. La section~\ref{S3} présente l'approche duale 
+de vérification si un réseau de neurones est chaotique ou non.
+La section~\ref{sec:ann:approx} s'intéresse à étudier pratiquement
+si un réseau de 
+neurones peut approximer des itérations unaires chaotiques, 
+ces itérations
+étant obtenues à partir de fonctions issues de la démarche détaillée dans 
+le chapitre précédent.
+Ce travail a été publié dans~\cite{bcgs12:ij}.
 
 \section{Un réseau de neurones chaotique au sens de Devaney}
 \label{S2}
 
 On considère une fonction 
 
 \section{Un réseau de neurones chaotique au sens de Devaney}
 \label{S2}
 
 On considère une fonction 
-$f:\Bool^n\to\Bool^n$ telle que  $\textsc{giu}(f)$ est fortement connexe.
+$f:\Bool^{\mathsf{N}}\to\Bool^{\mathsf{N}}$ telle que  $\textsc{giu}(f)$ est fortement connexe.
 Ainsi $G_{f_u}$ est chaotique d'après le théorème~\ref{Th:CaracIC}.
 
 On considère ici le schéma unaire défini par l'équation (\ref{eq:asyn}).
 Ainsi $G_{f_u}$ est chaotique d'après le théorème~\ref{Th:CaracIC}.
 
 On considère ici le schéma unaire défini par l'équation (\ref{eq:asyn}).
-On construit un perceptron multi-couche associé à la fonction  
+On construit un Perceptron multi-couches associé à la fonction  
 $F_{f_u}$. 
 Plus précisément, pour chaque entrée 
 $F_{f_u}$. 
 Plus précisément, pour chaque entrée 
- $(x,s)   \in  \mathds{B}^n \times [n]$,
+ $(x,s)   \in  \mathds{B}^{\mathsf{N}} \times [{\mathsf{N}}]$,
 la couche de sortie doit générer $F_{f_u}(x,s)$.   
 On peut ainsi lier la couche de sortie avec celle d'entrée pour représenter 
 la couche de sortie doit générer $F_{f_u}(x,s)$.   
 On peut ainsi lier la couche de sortie avec celle d'entrée pour représenter 
-les dépendance entre deux itérations successives.
+les dépendances entre deux itérations successives.
 On obtient une réseau de neurones dont le comportement est le suivant 
 (voir Figure.~\ref{Fig:perceptron}):
 
 \begin{itemize}
 \item   Le réseau est initialisé avec le vecteur d'entrée
 On obtient une réseau de neurones dont le comportement est le suivant 
 (voir Figure.~\ref{Fig:perceptron}):
 
 \begin{itemize}
 \item   Le réseau est initialisé avec le vecteur d'entrée
-  $\left(x^0,S^0\right)  \mathds{B}^n \times [n]$      
+  $\left(x^0,S^0\right)  \mathds{B}^{\mathsf{N}} \times [{\mathsf{N}}]$      
   et calcule le  vecteur de sortie 
   $x^1=F_{f_u}\left(x^0,S^0\right)$. 
   et calcule le  vecteur de sortie 
   $x^1=F_{f_u}\left(x^0,S^0\right)$. 
-  Ce vecteur est publié comme une sortie et est aussi retournée sur la couche d'entrée 
-  à travers les liens de retours.
-\item Lorsque le réseau est  activé à la $t^{th}$  itération, l'état du 
-  système $x^t  \in \mathds{B}^n$ reçu depuis la couche de sortie ainsi que le 
-  premier terme de la  sequence $(S^t)^{t  \in \Nats}$
-  (\textit{i.e.},  $S^0  \in [n]$)  servent à construire le nouveau vecteur de sortie.
+  Ce vecteur est publié comme une sortie et est aussi retourné sur la couche d'entrée 
+  à travers les liens de retour.
+\item Lorsque le réseau est  activé à la $t^{\textrm{ème}}$  itération, l'état du 
+  système $x^t  \in \mathds{B}^{\mathsf{N}}$ reçu depuis la couche de sortie ainsi que le 
+  premier terme de la  séquence $(S^t)^{t  \in \Nats}$
+  (\textit{i.e.},  $S^0  \in [{\mathsf{N}}]$)  servent à construire le nouveau vecteur de sortie.
   Ce nouveau vecteur, qui représente le nouvel état du système dynamique, satisfait:
   \begin{equation}
   Ce nouveau vecteur, qui représente le nouvel état du système dynamique, satisfait:
   \begin{equation}
-    x^{t+1}=F_{f_u}(x^t,S^0) \in \mathds{B}^n \enspace .
+    x^{t+1}=F_{f_u}(x^t,S^0) \in \mathds{B}^{\mathsf{N}} \enspace .
   \end{equation}
 \end{itemize}
 
 \begin{figure}
   \centering
   \includegraphics[scale=0.625]{images/perceptron}
   \end{equation}
 \end{itemize}
 
 \begin{figure}
   \centering
   \includegraphics[scale=0.625]{images/perceptron}
-  \caption{Un perceptron équivalent  aux itérations unitaires}
+  \caption{Un Perceptron équivalent  aux itérations unaires}
   \label{Fig:perceptron}
 \end{figure}
 
 Le comportement de ce réseau de neurones est tel que lorsque l'état 
   \label{Fig:perceptron}
 \end{figure}
 
 Le comportement de ce réseau de neurones est tel que lorsque l'état 
-initial est composé de $x^0~\in~\mathds{B}^n$ et d'une séquence
+initial est composé de $x^0~\in~\mathds{B}^{\mathsf{N}}$ et d'une séquence
  $(S^t)^{t  \in \Nats}$, alors la séquence  contenant les vecteurs successifs 
 publiés $\left(x^t\right)^{t \in \mathds{N}^{\ast}}$ est exactement celle produite 
 par les itérations unaires décrites à la section~\ref{sec:TIPE12}.
  $(S^t)^{t  \in \Nats}$, alors la séquence  contenant les vecteurs successifs 
 publiés $\left(x^t\right)^{t \in \mathds{N}^{\ast}}$ est exactement celle produite 
 par les itérations unaires décrites à la section~\ref{sec:TIPE12}.
-Mathématiquement, cela signifie que si on utilise les mêmes vecteurs d'entrées
+Mathématiquement, cela signifie que si on utilise les mêmes vecteurs d'entrée
 les deux approches génèrent successivement les mêmes sorties.
 En d'autres termes ce réseau de neurones modélise le comportement de  
 $G_{f_u}$,  dont les itérations sont chaotiques sur $\mathcal{X}_u$.
 les deux approches génèrent successivement les mêmes sorties.
 En d'autres termes ce réseau de neurones modélise le comportement de  
 $G_{f_u}$,  dont les itérations sont chaotiques sur $\mathcal{X}_u$.
@@ -112,71 +103,74 @@ On peut donc le  qualifier de chaotique au sens de Devaney.
 \section{Vérifier si un réseau de neurones est chaotique}
 \label{S3}
 On s'intéresse maintenant au cas où l'on dispose d'un
 \section{Vérifier si un réseau de neurones est chaotique}
 \label{S3}
 On s'intéresse maintenant au cas où l'on dispose d'un
-réseau de neurones de type perceptron multi-couches
+réseau de neurones de type Perceptron multi-couches
 dont on cherche à savoir s'il est chaotique (parce qu'il a par exemple été 
 déclaré comme tel) au sens de Devaney. 
 On considère de plus que sa topologie est la suivante:
 dont on cherche à savoir s'il est chaotique (parce qu'il a par exemple été 
 déclaré comme tel) au sens de Devaney. 
 On considère de plus que sa topologie est la suivante:
-l'entrée est constituée de  $n$ bits et un entier, la sortie est constituée de $n$ bits
+l'entrée est constituée de  ${\mathsf{N}}$ bits et un entier, 
+la sortie est constituée de ${\mathsf{N}}$ bits
 et chaque sortie est liée à une entrée par une boucle.
 
 \begin{itemize}
 et chaque sortie est liée à une entrée par une boucle.
 
 \begin{itemize}
-\item Le réseau est initialisé avec  $n$~bits
-   $\left(x^0_1,\dots,x^0_n\right)$ et une valeur entière $S^0 \in [n]$.
+\item Le réseau est initialisé avec  ${\mathsf{N}}$~bits
+   $\left(x^0_1,\dots,x^0_{\mathsf{N}}\right)$ et une valeur entière $S^0 \in [{\mathsf{N}}]$.
 \item  A l'itération~$t$,     le vecteur 
 \item  A l'itération~$t$,     le vecteur 
-  $\left(x^t_1,\dots,x^t_n\right)$  permet de construire les $n$~bits 
-  servant de sortie $\left(x^{t+1}_1,\dots,x^{t+1}_n\right)$.
+  $\left(x^t_1,\dots,x^t_{\mathsf{N}}\right)$  permet de construire les ${\mathsf{N}}$~bits 
+  servant de sortie $\left(x^{t+1}_1,\dots,x^{t+1}_{\mathsf{N}}\right)$.
 \end{itemize}
 
 Le comportement de ce type de réseau de neurones peut être prouvé comme 
 \end{itemize}
 
 Le comportement de ce type de réseau de neurones peut être prouvé comme 
-étant chaotique en suivant la démarche énoncée maintenant.
-On nomme tout d'abord $F:    \mathds{B}^n  \times [n] \rightarrow
-\mathds{B}^n$     la      fonction qui associe  
+étant chaotique en suivant la démarche suivante.
+On nomme tout d'abord $F:    \mathds{B}^{\mathsf{N}}  \times [{\mathsf{N}}] \rightarrow
+\mathds{B}^{\mathsf{N}}$     la      fonction qui associe  
 au vecteur 
 au vecteur 
-$\left(\left(x_1,\dots,x_n\right),s\right)    \in   \mathds{B}^n \times[n]$ 
+$\left(\left(x_1,\dots,x_{\mathsf{N}}\right),s\right)    \in   \mathds{B}^{\mathsf{N}} \times[{\mathsf{N}}]$ 
 le vecteur 
 le vecteur 
-$\left(y_1,\dots,y_n\right)       \in       \mathds{B}^n$, où
-$\left(y_1,\dots,y_n\right)$  sont les sorties du réseau neuronal
-àaprès l'initialisation de la couche d'entrée avec 
-$\left(s,\left(x_1,\dots, x_n\right)\right)$.  Ensuite, on définie $f:
-\mathds{B}^n       \rightarrow      \mathds{B}^n$  telle que 
-$f\left(x_1,x_2,\dots,x_n\right)$ est égal à 
+$\left(y_1,\dots,y_{\mathsf{N}}\right)       \in       \mathds{B}^{\mathsf{N}}$, où
+$\left(y_1,\dots,y_{\mathsf{N}}\right)$  sont les sorties du réseau neuronal
+après l'initialisation de la couche d'entrée avec 
+$\left(s,\left(x_1,\dots, x_{\mathsf{N}}\right)\right)$.  Ensuite, on définie $f:
+\mathds{B}^{\mathsf{N}}       \rightarrow      \mathds{B}^{\mathsf{N}}$  telle que 
+$f\left(x_1,x_2,\dots,x_{\mathsf{N}}\right)$ est égal à 
 \begin{equation}
 \begin{equation}
-\left(F\left(\left(x_1,x_2,\dots,x_n\right),1\right),\dots,
-  F\left(\left(x_1,x_2,\dots,x_n\right)\right),n\right) \enspace .
+\left(
+  F\left(\left(x_1,x_2,\dots,x_{\mathsf{N}}\right),1\right),\dots,
+  F\left(\left(x_1,x_2,\dots,x_{\mathsf{N}}\right),{\mathsf{N}}\right) 
+\right).
 \end{equation}
 \end{equation}
-Ainsi pour chaque $j$, $1 \le j \le n$, on a 
-$f_j\left(x_1,x_2,\dots,x_n\right) = 
-F\left(\left(x_1,x_2,\dots,x_n\right),j\right)$.
+Ainsi pour chaque $j$, $j \in [{\mathsf{N}}]$, on a 
+$f_j\left(x_1,x_2,\dots,x_{\mathsf{N}}\right) = 
+F\left(\left(x_1,x_2,\dots,x_{\mathsf{N}}\right),j\right)$.
 Si ce réseau de neurones est initialisé avec 
 Si ce réseau de neurones est initialisé avec 
-$\left(x_1^0,\dots,x_n^0\right)$   et $S   \in    [n]^{\mathds{N}}$, 
-il produit exactement les même sorties que les itérations de  $F_{f_u}$ avec une 
-condition initiale $\left((x_1^0,\dots,  x_n^0),S\right)  \in  \mathds{B}^n \times [n]^{\mathds{N}}$.
+$\left(x_1^0,\dots,x_{\mathsf{N}}^0\right)$   et $S   \in    [{\mathsf{N}}]^{\mathds{N}}$, 
+il produit exactement les mêmes sorties que les itérations de  $F_{f_u}$ avec une 
+condition initiale $\left((x_1^0,\dots,  x_{\mathsf{N}}^0),S\right)  \in  \mathds{B}^{\mathsf{N}} \times [{\mathsf{N}}]^{\mathds{N}}$.
 Les itérations de $F_{f_u}$ 
 Les itérations de $F_{f_u}$ 
-sont donc un modèle formel de cette classe de réseau de neurones.
+sont donc un modèle formel de cette classe de réseaux de neurones.
 Pour vérifier si un de ces représentants est chaotique, il suffit ainsi 
 de vérifier si le graphe d'itérations
 $\textsc{giu}(f)$ est fortement connexe.
 
 
 Pour vérifier si un de ces représentants est chaotique, il suffit ainsi 
 de vérifier si le graphe d'itérations
 $\textsc{giu}(f)$ est fortement connexe.
 
 
-\section{Un réseau de neurones peut-il approximer
-des itération unaires chaotiques?}
+\section[Approximation des itérations unaires chaotiques par RN]{Un réseau de neurones peut-il approximer
+des itération unaires chaotiques?}\label{sec:ann:approx}
 
 Cette section s'intéresse à étudier le comportement d'un réseau de neurones 
 face à des itérations unaires chaotiques, comme définies à 
 la section~\ref{sec:TIPE12}.
 
 Cette section s'intéresse à étudier le comportement d'un réseau de neurones 
 face à des itérations unaires chaotiques, comme définies à 
 la section~\ref{sec:TIPE12}.
-Plus précésment, on considère dans cette partie une fonction  dont le graphe 
+Plus précisément, on considère dans cette partie une fonction  dont le graphe 
 des itérations unaires est fortement connexe et une séquence dans 
 des itérations unaires est fortement connexe et une séquence dans 
-$[n]^{\mathds{N}}$. On cherche à construire un réseau de neurones
+$[{\mathsf{N}}]^{\mathds{N}}$. On cherche à construire un réseau de neurones
 qui approximerait les itérations de la fonction $G_{f_u}$ comme définie 
 à l'équation~(\ref{eq:sch:unaire}).
 
 Sans perte de généralité, on considère dans ce qui suit une instance
 qui approximerait les itérations de la fonction $G_{f_u}$ comme définie 
 à l'équation~(\ref{eq:sch:unaire}).
 
 Sans perte de généralité, on considère dans ce qui suit une instance
-de de fonction à quatre éléments.
+ de fonction à quatre éléments.
 
 \subsection{Construction du réseau} 
 \label{section:translation}
 
 
 \subsection{Construction du réseau} 
 \label{section:translation}
 
-On considère par exemple les deux fonctions $f$ and $g$ de $\Bool^4$
+On considère par exemple les deux fonctions $f$ et $g$ de $\Bool^4$
 dans $\Bool^4$ définies par:
 
 \begin{eqnarray*}
 dans $\Bool^4$ définies par:
 
 \begin{eqnarray*}
@@ -205,71 +199,72 @@ mémoriser des configurations. On en considère deux principalement.
 Dans le premier cas, on considère une entrée booléenne par élément
 tandis que dans le second cas, les configurations  sont mémorisées comme 
 des entiers naturels. Dans ce dernier cas, une approche naïve pourrait 
 Dans le premier cas, on considère une entrée booléenne par élément
 tandis que dans le second cas, les configurations  sont mémorisées comme 
 des entiers naturels. Dans ce dernier cas, une approche naïve pourrait 
-consister à attribuer à chaque configuration de $\Bool^n
-l'entier naturel naturel correspondant.
+consister à attribuer à chaque configuration de $\Bool^{\mathsf{N}}
+l'entier naturel correspondant.
 Cependant, une telle représentation rapproche 
 arbitrairement des configurations diamétralement
 Cependant, une telle représentation rapproche 
 arbitrairement des configurations diamétralement
-opposées dans le $n$-cube comme  une puissance de
+opposées dans le ${\mathsf{N}}$-cube comme  une puissance de
 deux et la configuration immédiatement précédente: 10000 serait modélisée 
 deux et la configuration immédiatement précédente: 10000 serait modélisée 
-par 16 et  et 01111 par 15 alros que leur distance de Hamming est 15.
+par 16 et  et 01111 par 15 alors que leur distance de Hamming est 15.
 De manière similaire, ce codage éloigne des configurations qui sont 
 très proches: par exemple 10000 et 00000 ont une distance de Hamming 
 de 1 et sont respectivement représentées par 16 et 0.
 Pour ces raisons, le codage retenu est celui des codes de Gray~\cite{Gray47}.
 
 Concentrons nous sur la traduction de la stratégie.
 De manière similaire, ce codage éloigne des configurations qui sont 
 très proches: par exemple 10000 et 00000 ont une distance de Hamming 
 de 1 et sont respectivement représentées par 16 et 0.
 Pour ces raisons, le codage retenu est celui des codes de Gray~\cite{Gray47}.
 
 Concentrons nous sur la traduction de la stratégie.
-Il n'est naturellement pas possible de traduire une stragtégie 
+Il n'est naturellement pas possible de traduire une stratégie 
 infinie quelconque à l'aide d'un nombre fini d'éléments.
 On se restreint donc à des stratégies de taille 
 infinie quelconque à l'aide d'un nombre fini d'éléments.
 On se restreint donc à des stratégies de taille 
-$l \in \llbracket 2,k\rrbracket$, où $k$ est un parametre défini
+$l$, $2 \le l \le k$, où $k$ est un paramètre défini
 initialement. 
 Chaque stratégie est mémorisée comme un entier naturel exprimé en base 
 initialement. 
 Chaque stratégie est mémorisée comme un entier naturel exprimé en base 
-$n+1$: à chaque itération, soit aucun élément n'est modifié, soit un 
+${\mathsf{N}}+1$: à chaque itération, soit aucun élément n'est modifié, soit un 
 élément l'est. 
 élément l'est. 
-Enfin, on donne une dernière entrée: $m  \in \llbracket
-1,l-1\rrbracket$, qui est le nombre d'itérations successives que l'on applique 
+Enfin, on donne une dernière entrée: $m  \in [l-1]
+$, qui est le nombre d'itérations successives que l'on applique 
 en commençant à $x$. 
 Les sorties (stratégies et configurations) sont mémorisées 
 selon les mêmes règles.
 
 en commençant à $x$. 
 Les sorties (stratégies et configurations) sont mémorisées 
 selon les mêmes règles.
 
-Concentrons nous sur la complexité du problèmew.
-Chaque entrée, de l'entrée-sortie de l'outil est un triplet 
+Concentrons nous sur la complexité du problème.
+Chaque entrée de l'entrée-sortie de l'outil est un triplet 
 composé d'une configuration $x$, d'un extrait  $S$ de la stratégie à 
 composé d'une configuration $x$, d'un extrait  $S$ de la stratégie à 
-itérer de taille $l \in \llbracket 2, k\rrbracket$ et d'un nombre $m \in  \llbracket 1, l-1\rrbracket$ d'itérations à exécuter.
-Il y a  $2^n$  configurations $x$ et  $n^l$ stratégies de
+itérer de taille $l$, $2 \le l \le  k$ et d'un nombre $m \in [l-1]$ d'itérations à exécuter.
+Il y a  $2^{\mathsf{N}}$  configurations $x$ et  ${\mathsf{N}}^l$ stratégies de
 taille $l$. 
 De plus, pour une  configuration donnée, il y a 
 taille $l$. 
 De plus, pour une  configuration donnée, il y a 
-$\omega = 1 \times n^2 +  2 \times n^3 + \ldots+ (k-1) \times n^k$
+$\omega = 1 \times {\mathsf{N}}^2 +  2 \times {\mathsf{N}}^3 + \ldots+ (k-1) \times {\mathsf{N}}^k$
 manières d'écrire le couple $(m,S)$. Il n'est pas difficile d'établir que 
 \begin{equation}
 manières d'écrire le couple $(m,S)$. Il n'est pas difficile d'établir que 
 \begin{equation}
-\displaystyle{(n-1) \times \omega = (k-1)\times n^{k+1} - \sum_{i=2}^k n^i} \nonumber
+\displaystyle{({\mathsf{N}}-1) \times \omega = (k-1)\times {\mathsf{N}}^{k+1} - \sum_{i=2}^k {\mathsf{N}}^i} \nonumber
 \end{equation}
 donc
 \begin{equation}
 \omega =
 \end{equation}
 donc
 \begin{equation}
 \omega =
-\dfrac{(k-1)\times n^{k+1}}{n-1} - \dfrac{n^{k+1}-n^2}{(n-1)^2} \enspace . \nonumber
+\dfrac{(k-1)\times {\mathsf{N}}^{k+1}}{{\mathsf{N}}-1} - \dfrac{{\mathsf{N}}^{k+1}-{\mathsf{N}}^2}{({\mathsf{N}}-1)^2} \enspace . \nonumber
 \end{equation}
 \noindent
 \end{equation}
 \noindent
-Ainsi le nombre de paire d'entrée-sortie pour les réseaux de neurones considérés
+Ainsi le nombre de paires d'entrée-sortie pour les réseaux de neurones considérés
 est 
 $$
 est 
 $$
-2^n \times \left(\dfrac{(k-1)\times n^{k+1}}{n-1} - \dfrac{n^{k+1}-n^2}{(n-1)^2}\right) \enspace .
+2^{\mathsf{N}} \times \left(\dfrac{(k-1)\times {\mathsf{N}}^{k+1}}{{\mathsf{N}}-1} - \dfrac{{\mathsf{N}}^{k+1}-{\mathsf{N}}^2}{({\mathsf{N}}-1)^2}\right) \enspace .
 $$
 Par exemple, pour $4$   éléments binaires et une stratégie d'au plus 
 $$
 Par exemple, pour $4$   éléments binaires et une stratégie d'au plus 
-$3$~termes on obtient 2304 couples d'entrée-sorties.
+$3$~termes on obtient 2304 couples d'entrée-sortie.
 
 \subsection{Expérimentations}
 
 \subsection{Expérimentations}
-\label{section:experiments}
-On se focalise dans cette section sur l'entraînement d'un perceptron 
-multi-couche pour apprendre des itérations chaotiques. Ce type de réseau
+\label{section:ann:experiments}
+On se focalise dans cette section sur l'entraînement d'un MLP
+pour apprendre des itérations chaotiques. Ce type de réseau
 ayant déjà été évalué avec succès dans la prédiction de 
 séries chaotiques temporelles. En effet, les auteurs de~\cite{dalkiran10} 
 ont montré qu'un MLP pouvait apprendre la dynamique du circuit de Chua.
 Ce réseau avec rétropropagation est composé de  deux couches 
 ayant déjà été évalué avec succès dans la prédiction de 
 séries chaotiques temporelles. En effet, les auteurs de~\cite{dalkiran10} 
 ont montré qu'un MLP pouvait apprendre la dynamique du circuit de Chua.
 Ce réseau avec rétropropagation est composé de  deux couches 
-et entrainé à l'aide d'une  propagation arrière Bayesienne.
+et entraîné à l'aide d'une  propagation arrière Bayesienne.
 
 
-Le choix de l'achitecture du réseau ainsi que de la méthode d'apprentissage 
-ont été détaillé dans~\cite{bcgs12:ij}.
+Les choix de l'architecture de réseau ainsi que ceux concernant les
+ méthodes d'apprentissage 
+ont été détaillés dans~\cite{bcgs12:ij}.
 En pratique, nous avons considéré des configurations de
 quatre éléments booléens 
 et une stratégie fixe de longueur 3.
 En pratique, nous avons considéré des configurations de
 quatre éléments booléens 
 et une stratégie fixe de longueur 3.
@@ -288,39 +283,40 @@ section précédente.
 \hline
 \hline
 \multicolumn{2}{|c||}{Neurones cachés} & \multicolumn{3}{c|}{10 neurones} \\
 \hline
 \hline
 \multicolumn{2}{|c||}{Neurones cachés} & \multicolumn{3}{c|}{10 neurones} \\
-\cline{3-5} 
+\hline
 \multicolumn{2}{|c||}{Epochs} & 125 & 250 & 500 \\ 
 \hline
 \multicolumn{2}{|c||}{Epochs} & 125 & 250 & 500 \\ 
 \hline
-\multirow{6}{*}{\rotatebox{90}{Chaotique $g$ }}&Entrée~(1) & 90.92\% & 91.75\% & 91.82\% \\ 
-& Entrée~(2) & 69.32\% & 78.46\% & 82.15\% \\
-& Entrée~(3) & 68.47\% & 78.49\% & 82.22\% \\
-& Entrée~(4) & 91.53\% & 92.37\% & 93.4\% \\
+\multirow{6}{*}{\rotatebox{90}{Chaotique $g$ }}&Sortie~(1) & 90.92\% & 91.75\% & 91.82\% \\ 
+& Sortie~(2) & 69.32\% & 78.46\% & 82.15\% \\
+& Sortie~(3) & 68.47\% & 78.49\% & 82.22\% \\
+& Sortie~(4) & 91.53\% & 92.37\% & 93.4\% \\
 & Config. & 36.10\% & 51.35\% & 56.85\% \\
 & Stratégie~(5) & 1.91\% & 3.38\% & 2.43\% \\
 \hline
 & Config. & 36.10\% & 51.35\% & 56.85\% \\
 & Stratégie~(5) & 1.91\% & 3.38\% & 2.43\% \\
 \hline
-\multirow{6}{*}{\rotatebox{90}{Non-chaotic $f$}}&Entrée~(1) & 97.64\% & 98.10\% & 98.20\% \\
-& Entrée~(2) & 95.15\% & 95.39\% & 95.46\% \\
-& Entrée~(3) & 100\% & 100\% & 100\% \\
-& Entrée~(4) & 97.47\% & 97.90\% & 97.99\% \\
+\multirow{6}{*}{\rotatebox{90}{Non-chaotic $f$}}&Sortie~(1) & 97.64\% & 98.10\% & 98.20\% \\
+& Sortie~(2) & 95.15\% & 95.39\% & 95.46\% \\
+& Sortie~(3) & 100\% & 100\% & 100\% \\
+& Sortie~(4) & 97.47\% & 97.90\% & 97.99\% \\
 & Config. & 90.52\% & 91.59\% & 91.73\% \\
 & Stratégie~(5) & 3.41\% & 3.40\% & 3.47\% \\
 \hline
 \hline
 \multicolumn{2}{|c||}{Neurones cachés} & \multicolumn{3}{c|}{25 neurones} \\
 & Config. & 90.52\% & 91.59\% & 91.73\% \\
 & Stratégie~(5) & 3.41\% & 3.40\% & 3.47\% \\
 \hline
 \hline
 \multicolumn{2}{|c||}{Neurones cachés} & \multicolumn{3}{c|}{25 neurones} \\
-\cline{3-5} \\%& \multicolumn{3}{|c|}{40 neurons} \\
+%\cline{3-5} \\%& \multicolumn{3}{|c|}{40 neurons} \\
+\hline
 \multicolumn{2}{|c||}{Epochs} & 125 & 250 & 500 \\ %& 125 & 250 & 500 \\ 
 \hline
 \multicolumn{2}{|c||}{Epochs} & 125 & 250 & 500 \\ %& 125 & 250 & 500 \\ 
 \hline
-\multirow{6}{*}{\rotatebox{90}{Chaotique $g$}}&Entrée~(1) & 91.65\% & 92.69\% & 93.93\% \\ %& 91.94\% & 92.89\% & 94.00\% \\
-& Entrée~(2) & 72.06\% & 88.46\% & 90.5\% \\ %& 74.97\% & 89.83\% & 91.14\% \\
-& Entrée~(3) & 79.19\% & 89.83\% & 91.59\% \\ %& 76.69\% & 89.58\% & 91.84\% \\
-& Entrée~(4) & 91.61\% & 92.34\% & 93.47\% \\% & 82.77\% & 92.93\% & 93.48\% \\
+\multirow{6}{*}{\rotatebox{90}{Chaotique $g$}}&Sortie~(1) & 91.65\% & 92.69\% & 93.93\% \\ %& 91.94\% & 92.89\% & 94.00\% \\
+& Sortie~(2) & 72.06\% & 88.46\% & 90.5\% \\ %& 74.97\% & 89.83\% & 91.14\% \\
+& Sortie~(3) & 79.19\% & 89.83\% & 91.59\% \\ %& 76.69\% & 89.58\% & 91.84\% \\
+& Sortie~(4) & 91.61\% & 92.34\% & 93.47\% \\% & 82.77\% & 92.93\% & 93.48\% \\
 & Config. & 48.82\% & 67.80\% & 70.97\% \\%& 49.46\% & 68.94\% & 71.11\% \\
 & Stratégie~(5) & 2.62\% & 3.43\% & 3.78\% \\% & 3.10\% & 3.10\% & 3.03\% \\
 \hline
 & Config. & 48.82\% & 67.80\% & 70.97\% \\%& 49.46\% & 68.94\% & 71.11\% \\
 & Stratégie~(5) & 2.62\% & 3.43\% & 3.78\% \\% & 3.10\% & 3.10\% & 3.03\% \\
 \hline
-\multirow{6}{*}{\rotatebox{90}{Non-chaotique $f$}}&Entrée~(1) & 97.87\% & 97.99\% & 98.03\% \\ %& 98.16\% \\
-& Entrée~(2) & 95.46\% & 95.84\% & 96.75\% \\ % & 97.4\% \\
-& Entrée~(3) & 100\% & 100\% & 100\% \\%& 100\% \\
-& Entrée~(4) & 97.77\% & 97.82\% & 98.06\% \\%& 98.31\% \\
+\multirow{6}{*}{\rotatebox{90}{Non-chaotique $f$}}&Sortie~(1) & 97.87\% & 97.99\% & 98.03\% \\ %& 98.16\% \\
+& Sortie~(2) & 95.46\% & 95.84\% & 96.75\% \\ % & 97.4\% \\
+& Sortie~(3) & 100\% & 100\% & 100\% \\%& 100\% \\
+& Sortie~(4) & 97.77\% & 97.82\% & 98.06\% \\%& 98.31\% \\
 & Config. & 91.36\% & 91.99\% & 93.03\% \\%& 93.98\% \\
 & Stratégie~(5) & 3.37\% & 3.44\% & 3.29\% \\%& 3.23\% \\
 \hline
 & Config. & 91.36\% & 91.99\% & 93.03\% \\%& 93.98\% \\
 & Stratégie~(5) & 3.37\% & 3.44\% & 3.29\% \\%& 3.23\% \\
 \hline
@@ -374,20 +370,20 @@ apprendre le comportement de la stratégie.
 
 Les résultats concernant le second codage  (\textit{i.e.},  avec les codes
 de   Gray) sont synthétisés dans le tableau~\ref{tab2}. On constate 
 
 Les résultats concernant le second codage  (\textit{i.e.},  avec les codes
 de   Gray) sont synthétisés dans le tableau~\ref{tab2}. On constate 
-que le réseau apprend cinq fois mieux les comportement non chaotiques
-que ceux qui le sont. Ceci est est illustré au travers des 
+que le réseau apprend cinq fois mieux les comportements non chaotiques
+que ceux qui le sont. Ceci est  illustré au travers des 
 figures~\ref{Fig:chaotic_predictions} et~\ref{Fig:non-chaotic_predictions}.
 De plus, comme dans le codage précédent, les stratégies ne peuvent pas être 
 prédites.  
 figures~\ref{Fig:chaotic_predictions} et~\ref{Fig:non-chaotic_predictions}.
 De plus, comme dans le codage précédent, les stratégies ne peuvent pas être 
 prédites.  
-On constate que ce second codage réduit certe le nombre de sorties, mais est 
+On constate que ce second codage réduit certes le nombre de sorties, mais est 
 largement moins performant que le premier.
 On peut expliquer ceci par le fait
 que ce second codage garantit que deux entiers successifs correspondent 
 largement moins performant que le premier.
 On peut expliquer ceci par le fait
 que ce second codage garantit que deux entiers successifs correspondent 
-à deux configurations voisines, \textit{ie.e}, qui ne diffèrent que d'un 
+à deux configurations voisines, \textit{i.e.}, qui ne diffèrent que d'un 
 élément.
 La réciproque n'est cependant pas établie et deux configurations voisines
 élément.
 La réciproque n'est cependant pas établie et deux configurations voisines
-peuvent être traduitent par des entiers très éloignés et ainsi difficil
-àapprendre. 
+peuvent être traduites par des entiers très éloignés et ainsi difficile
+ à apprendre. 
 
 
 \begin{figure}[ht]
 
 
 \begin{figure}[ht]
@@ -415,8 +411,8 @@ peuvent être traduitent par des entiers très éloignés et ainsi difficils
 
 
 \section{Conclusion}
 
 
 \section{Conclusion}
-Dans ce chapitre, nous avons établi une simlilitude entre les itérations 
-chaotiques et une famille  de perceptrons multicouches.
+Dans ce chapitre, nous avons établi une similitude entre les itérations 
+chaotiques et une famille  de Perceptrons multi-couches.
 Nous avons d'abord montré comment  construire un réseau de neurones 
 ayant un comportement chaotique.
 Nous avons présenté ensuite comment vérifier si un réseau de neurones 
 Nous avons d'abord montré comment  construire un réseau de neurones 
 ayant un comportement chaotique.
 Nous avons présenté ensuite comment vérifier si un réseau de neurones 
@@ -424,6 +420,12 @@ Nous avons présenté ensuite comment vérifier si un réseau de neurones
 Nous avons enfin montré en pratique qu'il est difficile pour un 
 réseau de neurones d'apprendre le comportement global d'itérations
 chaotiques.
 Nous avons enfin montré en pratique qu'il est difficile pour un 
 réseau de neurones d'apprendre le comportement global d'itérations
 chaotiques.
+Comme il est difficile (voir impossible) d'apprendre le comportement 
+de telles fonctions, il paraît naturel de savoir si celles ci peuvent être 
+utilisées pour générer des nombres pseudo-aléatoires, ce que propose la partie
+suivante.
+
+
 % \appendix{}
 
 % \begin{Def} \label{def2}
 % \appendix{}
 
 % \begin{Def} \label{def2}