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

Private GIT Repository
rairo
[hdrcouchot.git] / 15RairoGen.tex
1 Au bout d'un nombre $b$ d'itérations,
2 si la fonction, notée $G_f_u$ (ou bien $G_f_g$) 
3 présentée au chapitre~\ref{chap:carachaos}, 
4 a de \og bonnes\fg{} propriétés chaotiques, 
5 le mot $x^b$ devrait  \og sembler ne plus dépendre\fg{} de $x^0$.
6 On peut penser à exploiter une de ces fonctions $G_f$ 
7 comme un générateur aléatoire. 
8 Enfin, un bon générateur aléatoire se doit de 
9 fournir  des nombres selon une \gls{distributionuniforme} 
10 La suite de ce document donnera, 
11 dans le cas où le graphe d'itérations est fortement connexe, 
12 une condition nécessaire est suffisante pour que
13 cette propriété soit satisfaite.
14
15
16 Cette section présente une application directe de la théorie développée ci-avant
17 à la génération de nombres pseudo aléatoires. On présente tout d'abord le générateur
18 basé sur des fonctions chaotiques (section~\ref{sub:prng:algo}), 
19 puis comment intégrer la contrainte de \gls{distributionuniforme} 
20 (cf. glossaire) de la sortie 
21 dans le choix de la fonction à itérer (section~\ref{sub:prng:unif}). 
22 L'approche est évaluée dans la dernière section.
23 \JFC{plan à revoir}
24  
25
26 \subsection{ Générateur de nombres pseudo aléatoires basé sur le chaos}\label{sub:prng:algo}
27
28
29
30
31
32 On peut penser à construire un générateur de nombres pseudo 
33 aléatoires comme dans l'algorithme~\ref{CI Algorithm} donné ci-dessous.
34
35 \begin{algorithm}[h]
36 %\begin{scriptsize}
37 \KwIn{une fonction $f$, un nombre d'itérations $b$, 
38 une configuration initiale $x^0$ ($n$ bits)}
39 \KwOut{une configuration $x$ ($n$ bits)}
40 $x\leftarrow x^0$\;
41 $k\leftarrow b + \textit{Random}(b+1)$\;
42 %$k\leftarrow b + \textit{XORshift}(b+1)$\;
43 \For{$i=0,\dots,k-1$}
44 {
45 $s\leftarrow{\textit{Random}(n)}$\;
46 %$s\leftarrow{\textit{XORshift}(n)}$\;
47 $x\leftarrow{F_f(s,x)}$\;
48 }
49 return $x$\;
50 %\end{scriptsize}
51 \caption{Algorithme de génération de nombres pseudo aléatoires 
52 à l'aide de la fonction chaotique $G_f$}
53 \label{CI Algorithm}
54 \end{algorithm}
55
56
57 Celui-ci prend en entrée: une fonction $f$;
58 un entier $b$, qui assure que le nombre d'itérations
59 est compris entre $b+1 $ et  $2b+1$ et une configuration initiale $x^0$.
60 Il retourne une nouvelle configuration $x$.
61 En interne, il exploite un algorithme de génération
62 de nombres pseudo aléatoires
63 \textit{Random}$(l)$. 
64 Cet algorithme est utilisée dans notre générateur pour construire la longueur 
65 de la stratégie ainsi que les éléments qui la composent.
66 Pratiquement, il retourne des entiers dans $\llbracket 1 ; l \rrbracket$ 
67 selon une \gls{distributionuniforme} (cf. glossaire) et utilise 
68 \textit{XORshift} qui est une classe de générateurs de
69 nombres pseudo aléatoires
70 très rapides conçus par George Marsaglia. 
71
72 % L'algorithme \textit{XORshift} exploite itérativement
73 % la fonction \og \gls{xor}\fg{} $\oplus$ (cf. glossaire) 
74 % sur des nombres obtenus grâce à des \glspl{decalageDeBits} (cf. glossaire).
75
76 L'algorithme \textit{XORshift} 
77 exploite itérativement l'opérateur $\oplus$  
78 sur des nombres obtenus grâce à des \glspl{decalageDeBits} (cf. glossaire).
79 Cet opérateur, défini dans $\Bool^{n}$, 
80 applique la fonction \og  \gls{xor} \fg{} (cf. glossaire) 
81 aux bits de même rang de ses deux opérandes (\og opération bit à bit \fg{}).
82 Une instance de cette classe est donnée dans l'algorithme~\ref{XORshift} donné 
83 ci-dessous.
84
85 \begin{algorithm}[h]
86 %\SetLine
87 \KwIn{la configuration interne $z$ (un mot de 32-bit)}
88 \KwOut{$y$ (un mot de 32-bits)}
89 $z\leftarrow{z\oplus{(z\ll13)}}$\;
90 $z\leftarrow{z\oplus{(z\gg17)}}$\;
91 $z\leftarrow{z\oplus{(z\ll5)}}$\;
92 $y\leftarrow{z}$\;
93 return $y$\;
94 \medskip
95 \caption{Une boucle de l'algorithme de \textit{XORshift}}
96 \label{XORshift}
97 \end{algorithm}
98
99
100
101 Il reste à instancier une fonction $f$ dans 
102 l'algorithme~\ref{CI Algorithm} 
103 en adéquation avec  l'approche développée 
104 en section~\ref{sec:sccg}.
105 La section suivante montre comment l'uniformité de la distribution a
106 contraint cette instanciation.
107
108 \subsection{Un générateur à sortie uniformément distribuée}\label{sub:prng:unif}
109
110 Une matrice stochastique est une matrice carrée
111 dont tous les éléments sont positifs ou nuls et dont
112 la somme de chaque ligne
113 vaut 1. 
114 Une matrice stochastique l'est doublement si la somme de chaque colonne est 1.
115 Enfin, une matrice stochastique de taille $n \times n$ est régulière 
116 si  la propriété suivante est établie:
117 $$\exists k \in \mathds{N}^\ast, \forall i,j \in \llbracket 1; n \rrbracket, M_{ij}^k>0.$$
118
119 On énonce enfin le théorème suivant liant les 
120 \glspl{vecteurDeProbabilite} (cf. glossaire) 
121 et les \glspl{chaineDeMarkov} (cf. glossaire):
122
123
124  
125 \begin{Theo}\label{th}
126   Si $M$ est une matrice stochastique régulière, alors $M$ 
127   possède un unique vecteur stationnaire de probabilités  $\pi$
128   ($\pi.M = \pi$).
129   De plus, si $\pi^0$ est un \gls{vecteurDeProbabilite} 
130  et si on définit 
131   la suite $(\pi^{k})^{k \in  \Nats}$ par 
132   $\pi^{k+1} = \pi^k.M $ pour $k = 0, 1,\dots$ 
133   alors la \gls{chaineDeMarkov} $\pi^k$
134   converge vers $\pi$ lorsque $k$ tend vers l'infini.
135 \end{Theo}
136
137
138 Montrons sur un exemple jouet à deux éléments 
139 que ce théorème permet de vérifier si la sortie d'un générateur de 
140 nombres pseudo aléatoires est uniformément distribuée ou non.
141 Soit alors $g$ et $h$ deux fonctions  de $\Bool^2$
142 définies par $g(x_1,x_2)=(\overline{x_1},x_1.\overline{x_2}) $
143 et $h(x_1,x_2)=(\overline{x_1},x_1\overline{x_2}+\overline{x_1}x_2)$.
144 Leurs graphes d'interactions donnés en figure \ref{fig:g:inter} et \ref{fig:h:inter}
145 vérifient les hypothèses du théorème~\ref{th:Adrien}. 
146 Leurs graphes d'itérations
147 sont donc fortement connexes, ce que l'on a pu déjà vérifier aux figures
148 \ref{fig:g:iter} et \ref{fig:h:iter}.
149 \textit{A priori}, ces deux fonctions pourraient être intégrées
150 dans un générateur de nombres pseudo aléatoires. Montrons que ce n'est pas le cas pour $g$ et 
151 que cela l'est pour $h$.
152
153
154 Comme le générateur \textit{Random} possède une sortie uniformément 
155 distribuée,  la  stratégie est uniforme sur $\llbracket 1, 2 \rrbracket$,
156 et donc, 
157 pour tout sommet de $\Gamma(g)$ et de  $\Gamma(h)$,
158 chaque arc sortant de ce sommet a, parmi l'ensemble des arcs sortant 
159 de ce sommet, une probabilité $1/2$ d’être celui qui sera traversé.
160 En d'autres mots, $\Gamma(g)$ est le graphe orienté d'une chaîne de Markov.
161 Il est facile de vérifier que la \gls{matriceDeTransitions} (cf. glossaire)
162 d'un tel processus 
163 est $M_g   = \frac{1}{2} \check{M}_g$, 
164 où $\check{M}_g$ est la \gls{matriceDAdjacence} (cf. glossaire) donnée en 
165 figure~\ref{fig:g:incidence} (voir ci-après), et similairement pour $M_h$. 
166
167 \begin{figure}[h]
168   \begin{center}
169     \subfloat[$\check{M}_g $.]{
170       \begin{minipage}{0.25\textwidth}
171         \begin{center}
172           % \vspace{-3cm}
173           $\left( 
174             \begin{array}{cccc} 
175               1 & 0 & 1 & 0 \\ 
176               1 & 0 & 0 & 1 \\ 
177               1 & 0 & 0 & 1 \\ 
178               0 & 1 & 1 & 0 
179             \end{array}
180           \right)
181           $
182         \end{center}
183       \end{minipage}
184       \label{fig:g:incidence}
185     }
186     \subfloat[$\check{M}_h $.]{
187         \begin{minipage}{0.25\textwidth}
188           \begin{center}
189             $\left( 
190               \begin{array}{cccc} 
191                 1 & 0 & 1 & 0 \\ 
192                 0 & 1 & 0 & 1 \\ 
193                 1 & 0 & 0 & 1 \\ 
194                 0 & 1 & 1 & 0 
195               \end{array}
196             \right)
197             $
198           \end{center}
199         \end{minipage}
200         \label{fig:h:incidence}
201       }
202     \end{center}
203     \caption{Graphe des fonctions candidates avec $n=2$}
204     \label{fig:xplgraph}
205   \end{figure}
206
207 Les deux matrices $M_g$ et $M_h$ sont  stochastiques. Pour
208 montrer qu'elles sont régulières il suffit de constater qu'aucun élément de 
209 $M^5_g$ ni de  $M^3_h$ n'est nul.
210 De plus, les vecteurs de probabilités 
211 $\pi_g=(\frac{4}{10}, \frac{1}{10},\frac{3}{10},\frac{2}{10})$ et
212 $\pi_h=(\frac{1}{4},\frac{1}{4},\frac{1}{4},\frac{1}{4})$ 
213 vérifient $\pi_g M_g = \pi_g$ et 
214 $\pi_h M_h = \pi_h$. 
215 Alors d'après le théorème~\ref{th}, 
216 pour n'importe quel vecteur initial de probabilités $\pi^0$, on a 
217 $\lim_{k \to \infty} \pi^0 M^k_g = \pi_g$ et 
218 $\lim_{k \to \infty} \pi^0 M^k_h = \pi_h$. 
219 Ainsi la chaîne de Markov associé à $h$ tend vers une 
220 distribution uniforme, contrairement à celle associée à $g$.
221 On en déduit que $g$ ne devrait pas être itérée dans 
222 un générateur de nombres pseudo aléatoires.
223 Au contraire, 
224 $h$ devrait pouvoir être embarquée dans l'algorithme~\ref{CI Algorithm}, 
225 pour peu que le nombre $b$ d'itérations entre deux mesures successives 
226 de valeurs  soit suffisamment grand de sorte que
227 le vecteur d’état de la chaîne de Markov
228 ait une distribution suffisamment proche de la distribution uniforme.
229
230
231 Considérons le lemme technique suivant:
232 \begin{Lemma}\label{lem:stoc}
233 Soit $f: \Bool^{n} \rightarrow \Bool^{n}$, $\Gamma(f)$ son graphe d'itérations, $\check{M}$ la matrice d'adjacence de $\Gamma(f)$, et  $M$  la matrice 
234 $2^n\times 2^n$  définie par
235 $M = \frac{1}{n}\check{M}$.
236 Alors $M$ est une matrice stochastique régulière si et seulement si
237 $\Gamma(f)$ est fortement connexe.
238 \end{Lemma}
239
240 \begin{Proof}  
241 On remarque tout d'abord que $M$ 
242 est une matrice stochastique par construction.
243 Supposons $M$ régulière. 
244 Il existe donc  $k$ tel que $M_{ij}^k>0$ pour chaque $i,j\in \llbracket
245 1;  2^n  \rrbracket$. L'inégalité  $\check{M}_{ij}^k>0$  est alors établie.
246 Puisque $\check{M}_{ij}^k$ est le nombre de chemins de  $i$ à $j$ de longueur $k$
247 dans $\Gamma(f)$ et puisque ce nombre est positif, alors 
248 $\Gamma(f)$ est fortement connexe.
249
250 Réciproquement si $\Gamma(f)$ 
251 est fortement connexe, alors pour tous les sommets $i$ et $j$, un chemin peut être construit pour atteindre  $j$  depuis $i$ en au plus $2^n$ étapes.
252 Il existe donc 
253 $k_{ij} \in \llbracket 1,  2^n \rrbracket$ tels que $\check{M}_{ij}^{k_{ij}}>0$.  
254 Comme tous les  multiples $l \times k_{ij}$ de $k_{ij}$ sont tels que 
255 $\check{M}_{ij}^{l\times  k_{ij}}>0$, 
256 on peut conclure que, si 
257 $k$ est le plus petit multiple commun de $\{k_{ij}  \big/ i,j  \in \llbracket 1,  2^n \rrbracket  \}$ alors
258 $\forall i,j  \in \llbracket  1, 2^n \rrbracket,  \check{M}_{ij}^{k}>0$. 
259 Ainsi, $\check{M}$ et donc $M$ sont régulières.
260 \end{Proof}
261
262 Ces résultats permettent formuler et de prouver le théorème suivant:
263
264 \begin{Theo}
265   Soit $f: \Bool^{n} \rightarrow \Bool^{n}$, $\Gamma(f)$ son 
266   graphe d'itérations , $\check{M}$ sa matrice d'adjacence
267   et $M$ une matrice  $2^n\times 2^n$  définie comme dans le lemme précédent.
268   Si $\Gamma(f)$ est fortement connexe, alors 
269   la sortie du générateur de nombres pseudo aléatoires détaillé par 
270   l'algorithme~\ref{CI Algorithm} suit une loi qui 
271   tend vers la distribution uniforme si 
272   et seulement si  $M$ est une matrice doublement stochastique.
273 \end{Theo}
274 \begin{Proof}
275   $M$ est une matrice stochastique régulière (Lemme~\ref{lem:stoc}) 
276   qui a un unique vecteur de probabilités stationnaire
277   (Théorème \ref{th}).
278   Soit $\pi$  défini par 
279   $\pi = \left(\frac{1}{2^n}, \hdots, \frac{1}{2^n} \right)$.
280   On a  $\pi M = \pi$ si et seulement si
281   la somme des valeurs de chaque colonne de $M$  est 1, 
282   \textit{i.e.} si et seulement si 
283   $M$ est  doublement  stochastique.
284 \end{Proof}
285
286
287 \subsection{Expérimentations}
288
289 On considère le graphe d'interactions $G(f)$ donné en figure~\ref{fig:G}. 
290 Il vérifie le théorème~\ref{th:Adrien}: 
291 toutes les fonctions $f$ possédant un tel graphe d'interactions
292 ont un graphe d'itérations  $\Gamma(f)$ fortement connexe.
293 Pratiquement, un algorithme simple de satisfaction de contraintes
294 a trouvé  520 fonctions $f$ non isomorphes de graphe d'interactions  $G(f)$, 
295 dont seulement 16 d'entre elles possédent une matrice doublement stochastique.
296
297 La figure~\ref{fig:listfonction} explicite ces 16 fonctions en 
298 définissant les images des éléments de la liste
299 0, 1, 2,\ldots, 14, 15 en respectant  l'ordre.
300 Expliquons enfin comment a été calculé le nombre de la troisième 
301 colonne utilisé comme le paramètre $b$ 
302 dans l'algorithme~\ref{CI Algorithm}.
303
304 Soit $e_i$ le $i^{\textrm{ème}}$ vecteur la base canonique de $\R^{2^{n}}$. 
305 Chacun des éléments $v_j$, $1 \le j \le 2^n$, 
306 du vecteur $e_i M_f^t$ représente la probabilité 
307 d'être dans la configuration $j$ après $t$ étapes du processus de Markov 
308 associé à $\Gamma(f)$ en partant de la configuration $i$.   
309 Le nombre $\min \{
310  t \mid t \in \Nats, \vectornorm{e_i M_f^t - \pi} < 10^{-4}
311 \}$ représente le plus petit nombre d'itérations où la distance de 
312 ce vecteur au vecteur $\pi=(\frac{1}{2^n},\ldots,\frac{1}{2^n})$
313 -- autrement dit, où la déviation par rapport à la distribution uniforme --
314  est inférieure 
315 à $10^{-4}$. En prenant le max pour tous les $e_i$, on obtient une valeur pour
316  $b$. Ainsi, on a 
317 $$
318 b = \max\limits_{i \in \llbracket 1, 2^n \rrbracket} 
319 \{
320 \min \{
321  t \mid t \in \Nats, \vectornorm{e_i M_f^t - \pi} < 10^{-4}
322 \}
323 \}. 
324 $$
325
326 \begin{figure}%[h]
327   \begin{center}
328   \subfloat[Graphe d'interactions]{
329     \begin{minipage}{0.20\textwidth}
330       \begin{center}
331         \includegraphics[width=3.5cm]{images/Gi.pdf}
332       \end{center}
333     \end{minipage}
334     \label{fig:G}
335   }\hfill
336   \subfloat[Fonctions doublement stochastiques]{
337     \begin{minipage}{0.75\textwidth}
338       \begin{scriptsize}
339         \begin{center}
340           \begin{tabular}{|c|c|c|}
341 \hline
342 {Nom}& {Définition}&{$b$} \\
343 \hline 
344 $\mathcal{F}_1$ & 14, 15, 12, 13, 10, 11, 8, 9, 6, 7, 4, 5, 2, 3, 1, 0  & 206\\
345 \hline
346 $\mathcal{F}_2$ &14, 15, 12, 13, 10, 11, 8, 9, 6, 7, 5, 4, 3, 2, 0, 1  
347  & 94 \\
348 \hline
349 $\mathcal{F}_3$ &14, 15, 12, 13, 10, 11, 8, 9, 6, 7, 5, 4, 3, 2, 1, 0
350  & 69 \\
351 \hline
352 $\mathcal{F}_4$ &14, 15, 12, 13, 10, 11, 9, 8, 6, 7, 5, 4, 3, 2, 0, 1
353  & 56 \\
354 \hline
355 $\mathcal{F}_5$ &14, 15, 12, 13, 10, 11, 9, 8, 6, 7, 5, 4, 3, 2, 1, 0
356  & 48 \\
357 \hline
358 $\mathcal{F}_6$ &14, 15, 12, 13, 10, 11, 9, 8, 7, 6, 4, 5, 2, 3, 0, 1
359  & 86 \\
360 \hline
361 $\mathcal{F}_7$ &14, 15, 12, 13, 10, 11, 9, 8, 7, 6, 4, 5, 2, 3, 1, 0
362  & 58 \\
363 \hline
364 $\mathcal{F}_8$ &14, 15, 12, 13, 10, 11, 9, 8, 7, 6, 4, 5, 3, 2, 1, 0
365  & 46 \\
366 \hline
367 $\mathcal{F}_9$ &14, 15, 12, 13, 10, 11, 9, 8, 7, 6, 5, 4, 3, 2, 0, 1
368  & 42 \\
369 \hline
370 $\mathcal{F}_{10}$ &14, 15, 12, 13, 10, 11, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0
371  & 69 \\
372 \hline
373 $\mathcal{F}_{11}$ &14, 15, 12, 13, 11, 10, 9, 8, 7, 6, 5, 4, 2, 3, 1, 0
374  & 58 \\
375 \hline
376 $\mathcal{F}_{12}$ &14, 15, 13, 12, 11, 10, 8, 9, 7, 6, 4, 5, 2, 3, 1, 0
377  & 35 \\
378 \hline
379 $\mathcal{F}_{13}$ &14, 15, 13, 12, 11, 10, 8, 9, 7, 6, 4, 5, 3, 2, 1, 0
380  & 56 \\
381 \hline
382 $\mathcal{F}_{14}$ &14, 15, 13, 12, 11, 10, 8, 9, 7, 6, 5, 4, 3, 2, 1, 0
383  & 94 \\
384 \hline
385 $\mathcal{F}_{15}$ &14, 15, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 0, 1
386  & 86 \\ 
387 \hline
388 $\mathcal{F}_{16}$ &14, 15, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0
389   & 206 \\
390  \hline
391 \end{tabular}
392 \end{center}
393 \end{scriptsize}
394 \end{minipage}
395 \label{fig:listfonction}
396 }
397 \end{center}
398 \caption{Candidates pour le générateur  avec $n=4$}
399  \end{figure}
400
401
402 La qualité des séquences aléatoires a été évaluée à travers la suite 
403 de tests statistiques développée pour les générateurs de nombres 
404 pseudo aléatoires par le 
405 \emph{National Institute of Standards and Technology} (NIST).
406 % Pour les 15 tests, le seuil $\alpha$ est fixé à $1\%$:
407 % une  valeur  
408 % qui est plus grande que $1\%$  signifie 
409 % que la chaîne est considérée comme aléatoire avec une confiance de $99\%$.
410 % Le tableau~\ref{fig:TEST} donne une vision synthétique de toutes 
411 % les expérimentations. 
412 L'expérience a montré notamment que toutes ces fonctions
413 passent avec succès cette batterie de tests.
414
415
416
417
418 % \begin{table}[th]
419 % \begin{scriptsize}
420 % \begin{tabular}{|*{17}{c|}}
421 % \hline
422 % {Propriété}& $\mathcal{F}_{1}$ &$\mathcal{F}_{2}$ &$\mathcal{F}_{3}$ &$\mathcal{F}_{4}$ &$\mathcal{F}_{5}$ &$\mathcal{F}_{6}$ &$\mathcal{F}_{7}$ &$\mathcal{F}_{8}$ &$\mathcal{F}_{9}$ &$\mathcal{F}_{10}$ &$\mathcal{F}_{11}$ &$\mathcal{F}_{12}$ &$\mathcal{F}_{13}$ &$\mathcal{F}_{14}$ &$\mathcal{F}_{15}$ &$\mathcal{F}_{16}$ \\
423 % \hline
424 % Fréquence &77.9 &15.4 &83.4 &59.6 &16.3 &38.4 &20.2 &29.0 &77.9 &21.3 &65.8 &85.1 &51.4 &35.0 &77.9 &92.4 \\ 
425 %  \hline 
426 % Fréquence / bloc &88.3 &36.7 &43.7 &81.7 &79.8 &5.9 &19.2 &2.7 &98.8 &1.0 &21.3 &63.7 &1.4 &7.6 &99.1 &33.5 \\ 
427 %  \hline 
428 % Somme cummulée &76.4 &86.6 &8.7 &66.7 &2.2 &52.6 &20.8 &80.4 &9.8 &54.0 &73.6 &80.1 &60.7 &79.7 &76.0 &44.7 \\ 
429 %  \hline 
430 % Exécution &5.2 &41.9 &59.6 &89.8 &23.7 &76.0 &77.9 &79.8 &45.6 &59.6 &89.8 &2.4 &96.4 &10.9 &72.0 &11.5 \\ 
431 %  \hline 
432 % Longue exécution &21.3 &93.6 &69.9 &23.7 &33.5 &30.4 &41.9 &43.7 &30.4 &17.2 &41.9 &51.4 &59.6 &65.8 &11.5 &61.6 \\ 
433 %  \hline 
434 % Rang &1.0 &41.9 &35.0 &45.6 &51.4 &20.2 &31.9 &83.4 &89.8 &38.4 &61.6 &4.0 &21.3 &69.9 &47.5 &95.6 \\ 
435 %  \hline 
436 % Fourrier Rapide &40.1 &92.4 &97.8 &86.8 &43.7 &38.4 &76.0 &57.5 &36.7 &35.0 &55.4 &57.5 &86.8 &76.0 &31.9 &7.6 \\ 
437 %  \hline 
438 % Sans superposition &49.0 &45.7 &50.5 &51.0 &48.8 &51.2 &51.6 &50.9 &50.9 &48.8 &45.5 &47.3 &47.0 &49.2 &48.6 &46.4 \\ 
439 %  \hline 
440 % Avec Superposition &27.6 &10.9 &53.4 &61.6 &16.3 &2.7 &59.6 &94.6 &88.3 &55.4 &76.0 &23.7 &47.5 &91.1 &65.8 &81.7 \\ 
441 %  \hline 
442 % Universelle &24.9 &35.0 &72.0 &51.4 &20.2 &74.0 &40.1 &23.7 &9.1 &72.0 &4.9 &13.7 &14.5 &1.8 &93.6 &65.8 \\ 
443 %  \hline 
444 % Entropie approchée &33.5 &57.5 &65.8 &53.4 &26.2 &98.3 &53.4 &63.7 &38.4 &6.7 &53.4 &19.2 &20.2 &27.6 &67.9 &88.3 \\ 
445 %  \hline 
446 % Suite aléatoire &29.8 &35.7 &40.9 &36.3 &54.8 &50.8 &43.5 &46.0 &39.1 &40.8 &29.6 &42.0 &34.8 &33.8 &63.0 &46.3 \\ 
447 %  \hline 
448 % Suite aléatoire variante &32.2 &40.2 &23.0 &39.6 &47.5 &37.2 &56.9 &54.6 &53.3 &31.5 &23.0 &38.1 &52.3 &57.1 &47.7 &40.8 \\ 
449 %  \hline 
450 % Série &56.9 &58.5 &70.4 &73.2 &31.3 &45.9 &60.8 &39.9 &57.7 &21.2 &6.4 &15.6 &44.7 &31.4 &71.7 &49.1 \\ 
451 %  \hline 
452 % Complexité linéaire &24.9 &23.7 &96.4 &61.6 &83.4 &49.4 &49.4 &18.2 &3.5 &76.0 &24.9 &97.2 &38.4 &38.4 &1.1 &8.6 \\ 
453 %  \hline
454 % \end{tabular}
455 % \end{scriptsize}
456 % \caption{Test de NIST réalisé sur des instances de générateurs}\label{fig:TEST}  
457 % \end{table}
458
459
460