L'imitation du hasard trouve de nombreuses applications en science. C'est le cas de la simulation, des algorithmes probabilistes, de l'analyse numérique (méthode de Monte Carlo), des jeux, du traitement du signal, de la cryptographie, etc.. Et c'est pourquoi mathématiciens et informaticiens ont depuis longtemps unis leurs forces pour résoudre le problème de créer un «générateur de nombres aléatoires» fiable, c'est-à-dire totalement imprévisible!
C'est moins facile que l'on pourrait le croire, car un ordinateur n'improvise pas: il ne sait que suivre son programme. Il lui est donc difficile de produire, à partir d'une procédure purement mathématique, des chiffres réellement aléatoires de façon totalement imprévisible. Si on connaît la procédure mathématique, on peut obtenir la même suite de nombres. Ce n'est donc pas du hasard. Il faut se contenter de produire des séquences de nombres qui ont toutes les apparences du hasard. Dans la pratique, on se contente habituellement de nombres «pseudo-aléatoires» générés à partir d'une variable difficile à reproduire.
Pour obtenir une réelle dose d'imprévu, il faut faire intervenir dans le calcul une variable extérieure dont la valeur est imprévisible. L'une des méthodes les plus sûres consiste à relier un ordinateur à une source radioactive, puisqu'il est impossible de prédire le moment où un atome émettra un rayonnement radioactif.
On peut aussi, comme le fait le laboratoire Lavarnd,
filmer les mouvements d'une matière visqueuse dans un liquide. On appelle ces
appareils des lampes à lave (lava lamp en anglais).
Les motifs obtenus sont en effet complètement imprévisibles. En digitalisant
les images obtenues, puis en les convertissant en une série de 0 et de 1 (0
= lave, 1 = liquide), on obtient une séquence aléatoire.
On peut enfin créer de longues tables de nombres aléatoires avec les bons vieux dés: pour obtenir des listes de chiffres de 0 à 9, on prendra comme dé un dodécaèdre régulier dont les faces sont numérotées de 0 à 11 (on ne tiendra pas compte du 10 et du 11).
02 22 85 19 48 74 55 24 89 69 15 53 00 20 88 48 95 08
85 76 34 51 40 44 62 93 65 99 72 64 09 34 01 13 09 74
00 88 96 79 38 24 77 00 70 91 47 43 43 82 71 67 49 90
64 29 81 85 50 47 36 50 91 19 09 15 98 75 60 58 33 15
94 03 80 04 21 49 54 91 77 85 00 45 68 23 12 94 23 44
42 28 52 73 06 41 37 47 47 31 52 99 89 82 22 81 86 55
09 27 52 72 49 11 30 93 33 29 54 17 54 48 47 42 04 79
54 68 64 07 85 32 05 96 54 79 57 43 96 97 30 72 12 19
25 04 92 29 71 11 64 10 42 23 23 67 01 19 20 58 35 93
28 58 32 91 95 28 42 36 98 59 66 32 15 51 46 63 57 10
64 35 04 62 24 87 44 85 45 68 41 66 19 17 13 09 63 37
61 05 55 88 25 01 15 77 12 90 69 34 36 93 52 39 36 23
98 93 18 93 86 98 99 04 75 28 30 05 12 09 57 35 90 15
61 89 35 47 16 32 20 16 78 52 82 37 26 33 67 42 11 93
94 40 82 18 06 61 54 67 03 66 76 82 90 31 71 90 39 27
54 38 58 65 27 70 93 57 59 00 63 56 18 79 85 52 21 03
63 70 89 23 76 46 97 70 00 62 15 35 97 42 47 54 60 60
61 58 65 62 81 29 69 71 95 53 53 69 20 95 66 60 50 70
51 68 98 15 05 64 43 32 74 07 44 63 52 38 67 59 56 69
59 25 41 48 64 79 62 26 87 86 94 30 43 54 26 98 61 38
85 00 02 24 67 85 88 10 34 01 54 53 23 77 33 11 19 68
01 46 87 56 19 19 19 43 70 25 24 29 48 22 44 81 35 40
42 41 25 10 87 27 77 28 05 90 73 03 95 46 88 82 25 02
03 57 14 03 17 80 47 85 94 49 89 55 10 37 19 50 20 37
18 95 93 40 45 43 04 56 17 03 34 54 83 91 69 02 90 72
Il n'est pas si simple d'avoir un générateur aléatoire non biaisé. On pourrait jouer à pile ou face pour générer des nombres en binaire (pile = 1 et face = 0 par exemple). Mais est-on sûr que la pièce est bien équilibrée ? Imaginons qu'avec une pièce de monnaie pile apparraisse avec la probabilité p et face avec la probabilité 1-p (p>0). Il existe une méthode pour générer avec cette pièce de monnaie non équilibrée des 0 et des 1 avec une probabilité égale. Saurez-vous la découvrir ?