tite fractale

Hasard et information

1. Aléatoire et pseudo-aléatoire

1.1. Premières manipulations

1.1.1. Généralités

Certains langages de programmation, dont ceux des calculatrices, fournissent une procédure qui renvoie un nombre pseudo-aléatoire, de type flottant, dans l’intervalle $\left[0;1\right[$.

Mais avec la donnée de nombres pseudo-aléatoires répartis uniformément dans $\left[0;1\right[$, il est possible de simuler différentes variables aléatoires, comme par exemple des variables suivant des lois uniformes dans un intervalle quelconque, ou même des lois discrètes (c’est-à-dire prenant des valeurs séparées, comme des nombres entiers par exemple).

1.1.2. Simulation d’un dé à six faces

1.1.2.1. Un peu de mathématiques

Comment passer de $x$ à $y$ si $x \in \left[0;1\right[$ et $y \in \left\{ 1; 2; 3; 4; 5; 6 \right\}$ ?

Dilatation, translation, suppression des chiffres après la virgule.
$$\begin{aligned} 0 & \le & x & < 1 &(1) \\\\ 0 & \le 6 & x & < 6 &(2) \\\\ 1 & \le 6 & x + 1 & < 7 &(3) \\\\ & E(6 & x + 1) & \in \left\{ 1; 2; 3; 4; 5; 6 \right\} &(4) \end{aligned}$$
  1. nombre pseudo-aléatoire fourni
  2. dilatation : on multiplie par 6
  3. translation : on ajoute 1
  4. on prend la partie entière
D’où $y = E(6x + 1)$. Layer 1 7 0 1 6

1.1.2.2. Avec Python

>>> import random
>>> random.random()
0.6789351267455234

Le module random de la bibliothèque standard de Python comporte :

Pour prendre la partie entière d’un nombre flottant, utiliser la fonction int.

Sinon, le module math contient d’autres fonctions telles que :

1.1.3. Questions

A suivre...




Christophe Gragnic après une formation ISN douteuse, le 19/11/2014, 11h52'56".






Page générée le 27/05/2021, 09h06'59" (source).
historique de la page
historique global