บทที่ 3

การผลิตเลขสุ่ม

วิธีการผลิตเลขสุ่ม

    1. manual method
    2. random number tables
    3. analog computer method
    4. digital computer method

 

วิธีการที่จะผลิตเลขสุ่ม (generate random number)

1. วิธีแบบทำด้วยมือ

ตัวอย่าง เป็นการหยิบฉลากที่เขียนหมายเลขไว้จากกล่องหรือการหยิบลูกแก้วจากโถใบหนึ่ง

2. วิธีแบบตารางเลขสุ่ม ซึ่งตารางเลขสุ่มพัฒนาขึ้นตั้งแต่ปีพ . ศ . 2470 โดยบริษัทแรนด์ ( Rand of corporation) ซึ่งเป็นตารางที่มีขนาดใหญ่ประกอบด้วยเลขสุ่มเป็นล้านตัว แต่เป็นที่นิยมใช้กันมากที่สุดลักษณะตารางเป็นดังนี้

ตัวอย่าง

10 09 73 25 33 76 82 01 35 86 34 67 35 48 76 80 95

90 91 17 89 29 37 49 45

37 54 30 48 05 64 89 47 42 96 24 80 52 40 37 20 63

61 04 02 00 82 29 16 65

08 42 26 89 68 19 64 50 93 03 23 20 90 25 60 15 95

33 47 64 35 06 03 36 06

09 01 90 25 29 09 37 67 07 15 33 31 13 11 65 88

67 67 43 97 04 43 02 76 59

13 80 79 99 70 80 15 73 61 47 64 03 23 66 53 93 95

11 68 77 12 17 17 68 33

68 06 57 47 17 34 07 27 68 50 36 69 73 61 70 65 81

33 98 85 11 19 92 91 70

3. วิธีแบบอะนาลอกคอมพิวเตอร์ ซึ่งใช้การกำเนิดสัญญาณอิเลกทรอนิก ที่ขับด้วยแหล่งกำเนิดเสียง ทำงานได้รวดเร็วและให้เลขสุ่มที่เป็นจำนวนมากและซ้ำกันไม่ได้

4. วิธีแบบดิจิตอลคอมพิวเตอร์ เป็นวิธีเดียวที่ใช้ได้ในตัวแบบคอมพิวเตอร์

มีวิธี

4.1 กำลัง 2 ตรงกลาง (Midsquare)

4.2 คอนกรูเอ็นเทียล (Congruential)

1. กำลัง 2 ตรงกลาง

ขั้นตอน

1. เลือกตัวเลข n หน่วย ( นิยมใช้เลขคู่ ) เรียกเลขเริ่มต้นว่า สีด (seed number)

2. นำข้อ 1 ยกกำลัง 2 โดยที่ถ้าเลขที่ได้ไม่ครบหลัก เติม 0 นำหน้าได้

3. ดึงตัวเลขที่อยู่ตรงกลางในข้อ 2 ออกมา n หลัก เพื่อใช้เป็นเลขสุ่ม

4. นำข้อ 3 ยกกำลัง 2 ทำเหมือนข้อ 2

5. ทำซ้ำข้อ 3 และ 4 จนได้เลขสุ่มเท่าจำนวนที่ต้องการ

ตัวอย่าง

ให้เลขเริ่มต้น X 0 =2712 ซึ่งเป็น เลขสุ่ม seed number

X 0 =2712 X 0 2 =07354944

X 1 =3549 X 1 2 =12595401

X 2 =5954 X 2 2 =35450116

X 3 =4501 X 3 2 =20259001

X 4 =2590 X 4 2 =06708100

X 5 =7081

 

ดังนั้น ตัวเลขสุ่มคือ 2712 3549 5954 ... จะเห็นว่าไม่ทราบขนาดช่วงความยาวของลำดับตัวเลขสุ่มที่ได้ก่อนที่ตัวเลข แบบสุ่มนั้นจะซ้ำเดิมคือได้ตัวเลข 2712 เมื่อไร และในบางครั้งตัวเลขที่ได้อาจไม่เป็นเลขสุ่ม เนื่องจากการเลือกเลขเริ่มต้นที่ไม่ดี

X 0 =4500 X 0 2 =20250000

X 1 =2500 X 1 2 =06250000

X 2 =2500 X 2 2 =06250000

X 3 =2500 :

2. คอนกรูเอนเทียล บางครั้งเรียกอีกชื่อหนึ่งว่าวิธีใช้เศษเหลือ (remainder method or residual method)

ใช้สูตร

X i+1 = aX i (mod m)

โดย a,m เป็นเลขที่ไม่เป็นลบ ซึ่งค่าทั้ง 2 ขึ้นอยู่กับชนิดของคอมพิวเตอร์

ตัวอย่าง 1 เวริ์ด มีค่าเป็น 2 b เมื่อ b เป็นบิท

ค่า a หาจาก 8T 3 เมื่อ T เป็นจำนวนเต็มบวก

X 0 เป็นบวกและคี่

ค่า m เก็บได้ใน 1 เวริ์ด เป็น 10 d เมื่อ d เป็นจำนวนหลักใน 1 เวริ์ด

ดังนั้น a=200T Q เมื่อ Q เป็นค่าใดๆ

สมมติว่าคอมพิวเตอร์มี 4 บิท

ดังนั้น m ควรเป็น 23=8 เพราะว่า 1 บิทแทนเครื่องหมาย

3 บิทแทนเลขจำนวนเต็ม

a=8t 3

= 8(1)-3 = 5

ดังนั้นเลขสุ่มใช้ X i+1 = 5X i (mod 8)

คราวนี้มาดูการสร้างตัวเลขสุ่มเช่น ให้ a=2 , m=10 , X 0 =1

X 1 = 2X 0 (mod 10)

= 2(1) (mod 10)

= 2 mod 10

= 2

X 2 = 2(2) mod 10

= 4 mod 10

= 4

X 3 = 2(4) mod 10

= 8 mod 10

= 8

X 4 = 2(8) mod 10

= 16 mod 10 = 6

X 5 = 2(16) mod 10

=12 mod 10 = 2

 

1. การทดสอบความถี่ ซึ่งมี 2 วิธี

1.1 โคลโมโกรอฟ - สมีร์น๊อจ

1.2 ไคสแควร์

 

1.1 โคลโมโกรอฟ - สมีร์น๊อจ

ในที่นี้จะใช้ตัวอย่างข้อมูลและคำอธิบายไปด้วย

ตัวอย่าง เลขสุ่ม 0.44 0.81 0.14 0.05 0.93 โดยต้องการทดสอบว่ามีการแจกแจงแบบสม่ำเสมอหรือไม่

ขั้นที่ 1 เรียงข้อมูลจากน้อยไปมาก

0.05 0.14 0.44 0.81 0.93

ขั้นที่ 2 คำนวณ D + , D - จาก

D + =

D - =

ในที่นี้

i 1 2 3 4 5

R(i) 0.05 0.14 0.44 0.81 0.93

i/N 0.20 0.40 0.60 0.80 1.00

i/N-R(i) 0.15 0.26 0.16 - 0.07

D + = 0.86

R(i)-(i-1)/N 0.05 - 0.04 0.21 0.13

D - = 0.21

 

ขั้นที่ 3 คำนวณ D เมื่อ D= max(D + ,D - )

D= max(0.26,0.21) = 0.26

ขั้นที่ 4 หาวิกฤตของ D คือ D ได้จากตารางค่าวิฤกตโคลโมโกรอฟ

ที่ระดับนัยสำคัญ คือ

และขนาดตัวอย่าง

ถ้าใช้ = 0.05 , N =5 ได้ D 0.05 = 0.565

ขั้นที่ 5 เปรียบเทียบค่า D กับ D

โดยตั้งสมมติฐานว่า

H 0 : ตัวเลขสุ่มมีการแจกแจงสม่ำเสมอ

H a : ตัวเลขสุ่มไม่มีการแจกแจงแบบสม่ำเสมอ

ปฎิเสธ H 0 เมื่อ D > D

ในที่นี้ D= 0.26 , D =0.565

ดังนั้น ไม่ปฎิเสธ H 0 ที่ =0.05

ดังนั้นการแจกแจงของชุดตัวเลขนั้นกับการแจกแจงแบบสม่ำเสมอไม่มีความแตกต่างกัน

1.2 การทดสอบไคสแควร์

ในที่นี้เช่นกันจะใช้ตัวอย่างพร้อมทั้งอธิบายถึงวิธีการทดสอบไปด้วย

ตัวอย่าง ตัวเลขสุ่มที่ได้เป็น

0.29 0.79 0.73 0.75 0.18 0.39 0.78 0.99

0.22 0.74 0.67 0.19 0.11 0.94 0.12 0.47

0.87 0.88 0.25 0.26 0.34

นำมาทำเป็นตารางแจกแจงความถี่

ช่วง ความถี่

0.000-0.095 8

0.095-0.195 8

0.195-0.295 10

0.295-0.395 9

0.395-0.495 12

0.495-0.595 8

0.595-0.695 10

0.695-0.795 14

0.795-0.895 10

0.895-0.995 11

 

ขั้นที่ 1 ตั้งสมมติฐาน

H 0 : ตัวเลขชุดนั้นมีการแจกแจงสม่ำเสมอ

H a : ตัวเลขชุดนั้นไม่มีการแจกแจงสม่ำ

เสมอ

ขั้นที่ 2 กำหนดระดับนัยสำคัญ =0.05

ขั้นที่ 3 เปิดตารางที่องศาแห่งความอิสระ

= n-1 = 9 และ =0.05

ได้ =16.9

ขั้นที่ 4 คำนวณค่า

เมื่อ o i เป็นค่าสังเกต

k เป็นจำนวนชั้น

e i เป็นค่าคาดหวัง = n/k

ดังนี้

ช่วง ความถี่ o i e i

0.000-0.095 8 10 0.4

0.095-0.195 8 10 0.4

0.195-0.295 10 10 0

0.295-0.395 9 10 0.1

0.395-0.495 12 10 0.4

0.495-0.595 8 10 0.4

0.595-0.695 10 10 0

0.695-0.795 14 10 1.6

0.795-0.895 10 10 0

0.895-0.995 11 10 0.1

รวม 100 100 3.4

พบว่าค่า ที่คำนวณได้มีค่าน้อยกว่า ค่า ตารา ดังนั้น ไม่ปฎิเสธ H 0

นั่นคือ ตัวเลขสุ่มมีการแจกแจงที่สม่ำเสมอ ที่ระดับนัยสำคัญ 0.05