Simulare de evenimente discrete în Python
Diogo Costa (PhD, MSc)
Adjunct Professor, University of Saskatchewan, Canada & CEO of ImpactBLUE-Scientific
Ce este randomizarea?
De reținut: Calculatoarele nu pot genera, prin concepție, numere cu adevărat aleatoare.
Generare „cu adevărat" aleatoare
Generare pseudo-aleatoare
Exemplu: Fabrică cu sarcină de asamblare manuală

Se pot utiliza mai multe pachete de statistică:
Pachetul Random
Focalizarea noastră
Număr întreg aleatoriu într-un interval dat
Metodă:
random.randint(start, end)
Exemplu: Număr întreg aleatoriu între 3 (inclus) și 9 (exclus)
random.randint(3, 9)
5
Număr float aleatoriu într-un interval dat
Metodă:
random.uniform(start, end)
Exemplu: Număr float aleatoriu între 3 și 9
random.uniform(3, 9)
6.4557754
Eșantion aleatoriu dintr-o secvență
Metodă:
random.sample(mylist, k=number_samples)
Exemplu: 2 elemente aleatoare dintr-o listă
mylist = ["apple", "banana", "cherry"]
random.sample(mylist, k=2)
['cherry', 'banana']
Amestecarea unei liste (reordonarea elementelor)
Metodă:
random.shuffle(mylist)
Exemplu: Reordonare aleatoare a elementelor listei
mylist = ["book", "pencil", "eraser"]
random.shuffle(mylist)
['eraser', 'pencil', 'book']
Distribuție gaussiană
Metodă:
random.gauss(average, standard_dev)
Exemplu: Float pseudo-aleatoriu cu media 100 și deviația standard 50
random.gauss(100, 50)
123.59383
Distribuție exponențială
Metodă:
random.expovariate(lambda)
lambda>0, rezultate [0, infinity]lambda<0, rezultate [-infinity, 0]Exemplu: Float pseudo-aleatoriu cu distribuție exponențială și lambda 1.5: random.expovariate(1.5)
0.2234355
Simulare de evenimente discrete în Python