Symulacja zdarzeń dyskretnych w Pythonie
Diogo Costa (PhD, MSc)
Adjunct Professor, University of Saskatchewan, Canada & CEO of ImpactBLUE-Scientific
Czym jest losowość?
Ważna uwaga: Komputery z zasady nie są w stanie generować naprawdę losowych liczb.
Generowanie „prawdziwie" losowe
Generowanie pseudo-losowe
Przykład: Fabryka z ręcznym zadaniem montażowym

Można użyć kilku pakietów statystycznych:
Pakiet Random
Nasz zakres
Losowa liczba całkowita z danego zakresu
Metoda:
random.randint(start, end)
Przykład: Losowa liczba całkowita między 3 (włącznie) a 9 (wyłącznie)
random.randint(3, 9)
5
Losowa liczba zmiennoprzecinkowa z danego zakresu
Metoda:
random.uniform(start, end)
Przykład: Losowa liczba zmiennoprzecinkowa między 3 a 9
random.uniform(3, 9)
6.4557754
Losowa próbka z sekwencji
Metoda:
random.sample(mylist, k=number_samples)
Przykład: 2 losowe elementy z listy
mylist = ["apple", "banana", "cherry"]
random.sample(mylist, k=2)
['cherry', 'banana']
Tasowanie listy (zmiana kolejności elementów)
Metoda:
random.shuffle(mylist)
Przykład: Losowa zmiana kolejności elementów listy
mylist = ["book", "pencil", "eraser"]
random.shuffle(mylist)
['eraser', 'pencil', 'book']
Rozkład Gaussa
Metoda:
random.gauss(average, standard_dev)
Przykład: Pseudo-losowa liczba zmiennoprzecinkowa ze średnią 100 i odchyleniem standardowym 50
random.gauss(100, 50)
123.59383
Rozkład wykładniczy
Metoda:
random.expovariate(lambda)
lambda>0, wyniki [0, infinity]lambda<0, wyniki [-infinity, 0]Przykład: Pseudo-losowa liczba zmiennoprzecinkowa z rozkładu wykładniczego z lambda równą 1.5: random.expovariate(1.5)
0.2234355
Symulacja zdarzeń dyskretnych w Pythonie