การจำลองเหตุการณ์แบบไม่ต่อเนื่องด้วย Python
Diogo Costa (PhD, MSc)
Adjunct Professor, University of Saskatchewan, Canada & CEO of ImpactBLUE-Scientific
การสุ่มคืออะไร?
ข้อควรทราบ: คอมพิวเตอร์ไม่สามารถสร้างตัวเลขที่สุ่มได้จริงๆ โดยธรรมชาติ
การสร้างตัวเลขแบบ "สุ่มจริง"
การสร้างตัวเลขแบบ Pseudo-random
ตัวอย่าง: โรงงานที่มีงานประกอบด้วยมือ

สามารถใช้แพ็กเกจสถิติได้หลายตัว:
แพ็กเกจ Random
จุดเน้นของเรา
จำนวนเต็มสุ่มในช่วงที่กำหนด
เมธอด:
random.randint(start, end)
ตัวอย่าง: จำนวนเต็มสุ่มระหว่าง 3 (รวม) และ 9 (ไม่รวม)
random.randint(3, 9)
5
ตัวเลขทศนิยมสุ่มในช่วงที่กำหนด
เมธอด:
random.uniform(start, end)
ตัวอย่าง: ตัวเลขทศนิยมสุ่มระหว่าง 3 และ 9
random.uniform(3, 9)
6.4557754
ตัวอย่างสุ่มจาก sequence
เมธอด:
random.sample(mylist, k=number_samples)
ตัวอย่าง: 2 สมาชิกสุ่มจากลิสต์
mylist = ["apple", "banana", "cherry"]
random.sample(mylist, k=2)
['cherry', 'banana']
สับเปลี่ยนลิสต์ (เรียงลำดับสมาชิกใหม่)
เมธอด:
random.shuffle(mylist)
ตัวอย่าง: การเรียงลำดับสมาชิกในลิสต์ใหม่แบบสุ่ม
mylist = ["book", "pencil", "eraser"]
random.shuffle(mylist)
['eraser', 'pencil', 'book']
การแจกแจงแบบเกาส์
เมธอด:
random.gauss(average, standard_dev)
ตัวอย่าง: ตัวเลขทศนิยม pseudo-random ที่มีค่าเฉลี่ย 100 และส่วนเบี่ยงเบนมาตรฐาน 50
random.gauss(100, 50)
123.59383
การแจกแจงแบบเอกซ์โพเนนเชียล
เมธอด:
random.expovariate(lambda)
lambda>0, results [0, infinity]lambda<0, results [-infinity, 0]ตัวอย่าง: ตัวเลขทศนิยม pseudo-random โดยใช้การแจกแจงแบบเอกซ์โพเนนเชียลที่ lambda เท่ากับ 1.5: random.expovariate(1.5)
0.2234355
การจำลองเหตุการณ์แบบไม่ต่อเนื่องด้วย Python