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

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