Diskret händelsesimulering i Python
Diogo Costa (PhD, MSc)
Adjunct Professor, University of Saskatchewan, Canada & CEO of ImpactBLUE-Scientific
Vad är randomisering?
Värt att notera: Datorer kan per design inte generera verkligt slumpmässiga tal.
"Äkta" slumpgenerering
Pseudo-slumpgenerering
Exempel: Fabrik med manuell monteringsuppgift

Flera statistikpaket kan användas:
Paketet Random
Vårt fokus
Slumpmässigt heltal inom ett givet intervall
Metod:
random.randint(start, end)
Exempel: Slumpmässigt heltal mellan 3 (inkluderat) och 9 (ej inkluderat)
random.randint(3, 9)
5
Slumpmässigt flyttal inom ett givet intervall
Metod:
random.uniform(start, end)
Exempel: Slumpmässigt flyttal mellan 3 och 9
random.uniform(3, 9)
6.4557754
Slumpmässigt urval från en sekvens
Metod:
random.sample(mylist, k=number_samples)
Exempel: 2 slumpmässiga element från en lista
mylist = ["apple", "banana", "cherry"]
random.sample(mylist, k=2)
['cherry', 'banana']
Blanda en lista (ändra ordning på elementen)
Metod:
random.shuffle(mylist)
Exempel: Slumpmässig omordning av listelement
mylist = ["book", "pencil", "eraser"]
random.shuffle(mylist)
['eraser', 'pencil', 'book']
Gaussisk fördelning
Metod:
random.gauss(average, standard_dev)
Exempel: Pseudo-slumpmässigt flyttal med medelvärdet 100 och standardavvikelsen 50
random.gauss(100, 50)
123.59383
Exponentialfördelning
Metod:
random.expovariate(lambda)
lambda>0, resultat [0, infinity]lambda<0, resultat [-infinity, 0]Exempel: Pseudo-slumpmässigt flyttal med exponentialfördelning och lambda 1,5: random.expovariate(1.5)
0.2234355
Diskret händelsesimulering i Python