Générateurs aléatoires

Un mauvais générateur aléatoire

Le fichier Rand contient un mauvais générateur aléatoire. Pour le vérifier, on va afficher en 3D trois valeurs successives de la fonction nextDouble et vérifier qu'il y a effectivement une corrélation très importante.

Le fichier principal Plot contient quelques lignes permettant de mettre dans un fichier data.xyz des triplets de coordonnées. Enfin, l'appel de la commande gnuplot data.plot dans un terminal vous affichera en 3D le fichier data.xyz

Images

Une autre façon d'observer un générateur pseudoaléatoire est d'utiliser une représentation sous forme d'image: On demande au générateur 512 x 512 fois une valeur (entière) entre 0 et 1 à l'aide de la fonction nextInt(2) et on affiche le résultat comme une image en noir et blanc de taille 512 par 512.

Le code de la classe Image vous permet d'écrire une image en noir et blanc au format pbm.

Générateur pseudoaléatoire de Java

Implémentez la méthode vue en TD qui permet de retrouver la graine du générateur aléatoire de Java connaissant deux valeurs successives renvoyées par nextInt.

Pour trouver les paramètres du générateur congruentiel, consultez la documentation de Java

Simulation de Lois

Simulation de lois

Ecrivez une classe Alea qui contient les méthodes suivantes:

On utilisera pour tout cela la fonction Math.random qui fournit un nombre entre 0 (compris) et 1 (non compris) dont on supposera la distribution uniforme (malgré les réserves vues en cours et dans ce TP)

Histogrammes

Ecrivez une fonction qui à partir d'un tableau de nombres affiche combien de fois chaque nombre apparaît sous la forme d'un histogramme.

Ecrire deux applications

Buts marqués Nombre de matches
0 27
1 71
2 114
3 78
4 55
5 21
6 6
7 3
8 4
9 1