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

Private GIT Repository
chapitre chaos repris
[hdrcouchot.git] / 15RairoGen.tex
index fe1c034ca2c7dd8f515fd0799c896bf7bf3c8ed9..a950d85db07541011f26e064bd0ff2ab8756ac66 100644 (file)
@@ -46,8 +46,7 @@ $x\leftarrow{F_{f_u}(s,x)}$\;
 }
 return $x$\;
 %\end{scriptsize}
 }
 return $x$\;
 %\end{scriptsize}
-\caption{Algorithme de génération de nombres pseudo aléatoires 
-à l'aide de la fonction chaotique $G_f$}
+\caption{PRNG basé sur les itérations unaires.}
 \label{CI Algorithm}
 \end{algorithm}
 
 \label{CI Algorithm}
 \end{algorithm}
 
@@ -64,38 +63,43 @@ Il retourne une nouvelle configuration $x$ en appliquant
 la fonction $F_{f_u}$ vue au chapitre~\ref{chap:carachaos} et correspondant 
 à des itérations unaires.
 En interne, il exploite un algorithme de génération
 la fonction $F_{f_u}$ vue au chapitre~\ref{chap:carachaos} et correspondant 
 à des itérations unaires.
 En interne, il exploite un algorithme de génération
-de nombres pseudo aléatoires
-\textit{Random}$(l)$. 
-Cet algorithme est utilisée dans notre générateur pour construire la longueur 
-de la stratégie ainsi que les éléments qui la composent.
-Pratiquement, il retourne des entiers dans $\llbracket 1 ; l \rrbracket$ 
-selon une distribution uniforme et utilise 
-\textit{XORshift} qui est une classe de générateurs de
-nombres pseudo aléatoires conçus par George Marsaglia. 
-
-
-L'algorithme \textit{XORshift} 
-exploite itérativement l'opérateur $\oplus$  
-sur des nombres obtenus grâce à des décalages de bits.
-Cet opérateur, défini dans $\Bool^{n}$, 
-applique la fonction \og  xor \fg{} 
-aux bits de même rang de ses deux opérandes (\og opération bit à bit \fg{}).
-Une instance de cette classe est donnée dans l'algorithme~\ref{XORshift} donné 
-ci-dessous.
-
-\begin{algorithm}[h]
-%\SetLine
-\KwIn{la configuration interne $z$ (un mot de 32-bit)}
-\KwOut{$y$ (un mot de 32-bits)}
-$z\leftarrow{z\oplus{(z\ll13)}}$\;
-$z\leftarrow{z\oplus{(z\gg17)}}$\;
-$z\leftarrow{z\oplus{(z\ll5)}}$\;
-$y\leftarrow{z}$\;
-return $y$\;
-\medskip
-\caption{Une boucle de l'algorithme de \textit{XORshift}}
-\label{XORshift}
-\end{algorithm}
+de nombres pseudo aléatoires donné en paramètre.
+Cela peut être n'importe quel PRNG (XORshift, Mersenne-Twister) dont la 
+sortie est uniformément distribuée.
+Notre approche vise a donner des propriétés de chaos a ce générateur embarqué.
+
+
+% \textit{Random}$(l)$. 
+% Cet algorithme est utilisée dans notre générateur pour construire la longueur 
+% de la stratégie ainsi que les éléments qui la composent.
+% Pratiquement, il retourne des entiers dans $\llbracket 1 ; l \rrbracket$ 
+% selon une distribution uniforme et utilise 
+% \textit{XORshift} qui est une classe de générateurs de
+% nombres pseudo aléatoires conçus par George Marsaglia. 
+
+
+% L'algorithme \textit{XORshift} 
+% exploite itérativement l'opérateur $\oplus$  
+% sur des nombres obtenus grâce à des décalages de bits.
+% Cet opérateur, défini dans $\Bool^{n}$, 
+% applique la fonction \og  xor \fg{} 
+% aux bits de même rang de ses deux opérandes (\og opération bit à bit \fg{}).
+% Une instance de cette classe est donnée dans l'algorithme~\ref{XORshift} donné 
+% ci-dessous.
+
+% \begin{algorithm}[h]
+% %\SetLine
+% \KwIn{la configuration interne $z$ (un mot de 32-bit)}
+% \KwOut{$y$ (un mot de 32-bits)}
+% $z\leftarrow{z\oplus{(z\ll13)}}$\;
+% $z\leftarrow{z\oplus{(z\gg17)}}$\;
+% $z\leftarrow{z\oplus{(z\ll5)}}$\;
+% $y\leftarrow{z}$\;
+% return $y$\;
+% \medskip
+% \caption{Une boucle de l'algorithme de \textit{XORshift}}
+% \label{XORshift}
+% \end{algorithm}
 
 
 Nous avons vu au chapitre~\ref{chap:carachaos} que 
 
 
 Nous avons vu au chapitre~\ref{chap:carachaos} que 
@@ -178,7 +182,8 @@ que cela l'est pour $h$.
       \end{minipage}
       \label{fig:h:iter}
     }    \end{center}
       \end{minipage}
       \label{fig:h:iter}
     }    \end{center}
-    \caption{Graphes d'itérations de fonctions booléennes dans $\Bool^2$}
+    \caption{Graphes des itérations unaires 
+      de fonctions booléennes dans $\Bool^2$}
     \label{fig:xplgraphIter}
   \end{figure}
 
     \label{fig:xplgraphIter}
   \end{figure}
 
@@ -295,10 +300,12 @@ ait une distribution suffisamment proche de la distribution uniforme.
 
 On énonce directement le théorème suivant dont la preuve est donnée en annexes~\ref{anx:generateur}.
 
 
 On énonce directement le théorème suivant dont la preuve est donnée en annexes~\ref{anx:generateur}.
 
-\begin{theorem}
+\begin{theorem}\label{thm:prng:u}
   Soit $f: \Bool^{n} \rightarrow \Bool^{n}$, $\textsc{giu}(f)$ son 
   graphe d'itérations , $\check{M}$ sa matrice d'adjacence
   Soit $f: \Bool^{n} \rightarrow \Bool^{n}$, $\textsc{giu}(f)$ son 
   graphe d'itérations , $\check{M}$ sa matrice d'adjacence
-  et $M$ une matrice  $2^n\times 2^n$  définie comme dans le lemme précédent.
+  et $M$ une matrice  $2^n\times 2^n$  
+  définie par 
+  $M = \dfrac{1}{n} \check{M}$.
   Si $\textsc{giu}(f)$ est fortement connexe, alors 
   la sortie du générateur de nombres pseudo aléatoires détaillé par 
   l'algorithme~\ref{CI Algorithm} suit une loi qui 
   Si $\textsc{giu}(f)$ est fortement connexe, alors 
   la sortie du générateur de nombres pseudo aléatoires détaillé par 
   l'algorithme~\ref{CI Algorithm} suit une loi qui