Discrete Event Simulation in Python
Diogo Costa (PhD, MSc)
Adjunct Professor, University of Saskatchewan, Canada & CEO of ImpactBLUE-Scientific
Wat is randomisatie?
Let op: Computers kunnen, per ontwerp, geen echt willekeurige getallen genereren.
Echt willekeurige generatie
Pseudo-willekeurige generatie
Voorbeeld: Fabriek met handmatige montagetaak

Er zijn meerdere statistiekpakketten:
Random-pakket
Focus hierop
Willekeurig geheel getal binnen bereik
Methode:
random.randint(start, end)
Voorbeeld: Willekeurig geheel getal tussen 3 (inclusief) en 9 (exclusief)
random.randint(3, 9)
5
Willekeurig drijvend getal binnen bereik
Methode:
random.uniform(start, end)
Voorbeeld: Willekeurig drijvend getal tussen 3 en 9
random.uniform(3, 9)
6.4557754
Willekeurige steekproef uit een reeks
Methode:
random.sample(mylist, k=number_samples)
Voorbeeld: 2 willekeurige elementen uit een lijst
mylist = ["apple", "banana", "cherry"]
random.sample(mylist, k=2)
['cherry', 'banana']
Lijst schudden (elementen herordenen)
Methode:
random.shuffle(mylist)
Voorbeeld: Willekeurige herordening van lijst
mylist = ["book", "pencil", "eraser"]
random.shuffle(mylist)
['eraser', 'pencil', 'book']
Gauss-verdeling
Methode:
random.gauss(average, standard_dev)
Voorbeeld: Pseudo-willekeurig float met gemiddelde 100 en standaardafwijking 50
random.gauss(100, 50)
123.59383
Exponentiële verdeling
Methode:
random.expovariate(lambda)
lambda>0, resultaten [0, infinity]lambda<0, resultaten [-infinity, 0]Voorbeeld: Pseudo-willekeurig float met exponentiële verdeling en lambda 1.5: random.expovariate(1.5)
DNT_CURLY_TAG_8
0.2234355
Discrete Event Simulation in Python