Simulation d'événements discrets en Python
Diogo Costa (PhD, MSc)
Adjunct Professor, University of Saskatchewan, Canada & CEO of ImpactBLUE-Scientific
Qu'est-ce que l'aléatisation ?
À noter : les ordinateurs, par conception, ne peuvent pas générer de vrais nombres aléatoires.
Génération « vraiment » aléatoire
Génération pseudo-aléatoire
Exemple : Usine avec une tâche d'assemblage manuel

Plusieurs trousses statistiques peuvent être utilisées :
Trousse Random
Notre objectif
Entier aléatoire dans un intervalle donné
Méthode :
random.randint(start, end)
Exemple : Entier aléatoire entre 3 (inclus) et 9 (exclu)
random.randint(3, 9)
5
Nombre réel (float) aléatoire dans un intervalle
Méthode :
random.uniform(start, end)
Exemple : Nombre réel aléatoire entre 3 et 9
random.uniform(3, 9)
6.4557754
Échantillon aléatoire d'une séquence
Méthode :
random.sample(mylist, k=number_samples)
Exemple : 2 éléments aléatoires d'une liste
mylist = ["apple", "banana", "cherry"]
random.sample(mylist, k=2)
['cherry', 'banana']
Mélanger une liste (réordonner les éléments)
Méthode :
random.shuffle(mylist)
Exemple : Réordonnancement aléatoire des éléments
mylist = ["book", "pencil", "eraser"]
random.shuffle(mylist)
['eraser', 'pencil', 'book']
Distribution gaussienne
Méthode :
random.gauss(average, standard_dev)
Exemple : nombre réel pseudo-aléatoire avec une moyenne de 100 et un écart-type de 50
random.gauss(100, 50)
123.59383
Distribution exponentielle
Méthode :
random.expovariate(lambda)
lambda>0, résultats [0, infinity]lambda<0, résultats [-infinity, 0]Exemple : nombre réel pseudo-aléatoire avec une distribution exponentielle et une lambda de 1.5 : random.expovariate(1.5)
0.2234355
Simulation d'événements discrets en Python