คำนวณคณิตศาสตร์
เครื่องสร้างตัวเลขแบบสุ่ม

เครื่องสร้างตัวเลขแบบสุ่ม

เครื่องสุ่มตัวเลขนั้นมีประโยชน์มากกว่าการเลือกผู้ชนะรางวัล มาดูกันว่าเครื่องนี้เหมาะกับการประยุกต์ใช้ในสถานการณ์ใดบ้างและสามารถช่วยคุณแก้ไขปัญหาได้อย่างไร

Random Numbers

39, 67, 34, 23, 58, 21, 45, 87, 12, 98, 12, 14, 16, 54, 90, 91, 12, 32, 52, 64, 83, 74, 28

เกิดข้อผิดพลาดกับการคำนวณของคุณ

สารบัญ

  1. เครื่องสุ่มตัวเลขแบบพื้นฐาน
  2. เครื่องสุ่มตัวเลขขั้นสูง
  3. เครื่องสุ่มตัวเลขคืออะไร
  4. ปัญหาที่เครื่องสุ่มตัวเลขแก้ไข
  5. ควรใช้เครื่องสุ่มตัวเลขเมื่อใด
  6. ประวัติของเครื่องสุ่มตัวเลข

เครื่องสร้างตัวเลขแบบสุ่ม

เครื่องสุ่มตัวเลขจะทำการสุ่มเลือกตัวเลขจากชุดตัวเลขชุดที่มีจำนวนจำกัด โดยการเลือกนั้นจะไม่มีรูปแบบหรือแบบแผนที่คาดเดาได้ ผลลัพธ์ในการเลือกแต่ละครั้งจะไม่ขึ้นอยู่กับตัวเลขที่เลือกมาในครั้งก่อน อย่างไรก็ตาม ผู้ใช้สามารถกรอกข้อมูลเพื่อกำหนดระยะของตัวเลขที่จะทำการสุ่มได้ ขึ้นอยู่กับข้อกำหนดในการสุ่มและผลลัพธ์ที่ต้องการ

เครื่องสุ่มตัวเลขแบบพื้นฐาน

หากคุณต้องการสุ่มตัวเลขเพียงแค่หนึ่งตัว คุณสามารถใช้เครื่องสุ่มตัวเลขแบบพื้นฐานได้ ก่อนอื่น คุณจะต้องกำหนดขอบเขตตัวเลขเสียก่อน ขอบเขตที่ว่านั้นคือระยะของตัวเลขที่คุณต้องการสุ่มเลือก

ตัวอย่าง สมมุติว่าคุณต้องการสุ่มตัวเลขออกมาหนึ่งตัวระหว่างตัวเลข 1 ถึง 10 ขอบเขตคือ 1-10 กรอกระยะนี้ลงไปในเครื่องคิดเลข ให้ 1 เป็นขีดจำกัดล่างและให้ 10 เป็นขีดจำกัดบน

เครื่องสุ่มตัวเลขขั้นสูง

หากต้องการสุ่มเลขมากกว่าหนึ่งตัวหรือต้องการขยายขีดจำกัดให้กว้างขึ้น ให้คุณใช้เครื่องสุ่มตัวเลขเวอร์ชั่นขยาย กำหนดขีดจำกัดล่างและขีดจำกัดบน จากนั้นให้กรอกจำนวนตัวเลขที่คุณต้องการสร้าง

นอกจากนี้คุณยังสามารถเลือกได้ด้วยว่าคุณต้องการสร้างจำนวนเต็มหรือทศนิยม ตัวอย่างของจำนวนเต็มคือ 1, 2 และ 3 เป็นต้น ทศนิยมคือเลขที่มีจุดทศนิยมขั้น (เป็นจุดหรือลูกน้ำ) และจะมีหน้าตาแบบนี้ 1.02; 2.12; 3.33 เป็นต้น

เรามีเครื่องสุ่มตัวเลขแบบครบวงจร ซึ่งมีตัวเลือกเพิ่มเติมเข้ามาดังนี้ คุณสามารถกำหนดได้ว่าต้องการให้มีเลขซ้ำหรือไม่ ถ้าคุณต้องการจัดเรียงลำดับตัวเลข หรือกำหนดตำแหน่งทศนิยม ก็สามารถทำได้

ทุกคนล้วนแต่ต้องการความแม่นยำกันทั้งนั้น แต่ในบางกรณีนั้นการสุ่มก็มีประโยชน์เช่นเดียวกัน ถ้าคุณไม่ต้องการให้ใครคาดเดาผลลัพธ์ของคุณได้ คุณก็จะต้องมีกระบวนการในการสุ่มผลลัพธ์ เครื่องสุ่มตัวเลขช่วยคุณได้

เครื่องสุ่มตัวเลขสามารถนำไปประยุกต์ใช้ได้หลากหลายในอุตสาหกรรมเกม ความปลอดภัย และลอตเตอรี่ แต่มันก็มีประโยชน์ในสถานการณ์ทั่วไปเช่นกัน คู่มือนี้ขอนำเสนอข้อมูลต่อไปนี้ เครื่องสุ่มตัวเลขคืออะไร ทำงานอย่างไร นิยมนำไปประยุกต์ใช้ในด้านใด และต้นกำเนิดของเครื่องสุ่มตัวเลข

เครื่องสุ่มตัวเลขคืออะไร

เครื่องสุ่มตัวเลขจะทำการสุ่มเลือกตัวเลขจากในขอบเขตที่กำหนด จะเป็นแบบฮาร์ดแวร์หรือแบบสุ่มเทียมก็ได้

เครื่องสุ่มตัวเลขแบบฮาร์ดแวร์นั้น (HRNG) อาศัยปรากฏการณ์ทางกายภาพในการทำงาน เช่น สัญญาณรบกวนในชั้นบรรยากาศ สัญญาณรบกวนทางความร้อน และปรากฏการณ์อื่น ๆ ที่ไม่สามารถคำนวณได้ในทางทฤษฎี ตัวอย่างที่เป็นที่รู้จักกันมานานคือการโยนเหรียญ การทอยลูกเต๋า และหมุนวงล้อรูเล็ต อุปกรณ์สุ่มตัวเลขที่ซับซ้อนมากที่สุดยังถูกนำไปใช้ในอุตสาหกรรมความปลอดภัยและการเข้ารหัสอีกด้วย

เครื่องสุ่มตัวเลขแบบสุ่มเทียม (PRNG) คืออัลกอริทึมที่สร้างชุดตัวเลขซึ่งมีความใกล้เคียงกับการสุ่มแท้ ความง่ายและความรวดเร็วในการใช้งานทำให้เป็นที่นิยมในโปรแกรมคอมพิวเตอร์ เครื่องคิดเลขของเราก็เป็นตัวอย่างหนึ่งของเครื่องสุ่มตัวเลขแบบนี้เช่นกัน

ปัญหาที่เครื่องสุ่มตัวเลขแก้ไข

เครื่องสุ่มตัวเลขนั้นมีประโยชน์ในหลายสถานการณ์ คุณเองก็เคยอาจจะใช้มาบ้างแล้วโดยที่ไม่รู้ตัว อย่างเช่นในเวลาที่คุณตัดสินใจอะไรไม่ถูก คุณก็อาจจะโยนเหรียญหัวก้อย นั่นก็เป็นเครื่องสุ่มตัวเลขแบบหนึ่ง

การสุ่มสามารถนำไปประยุกต์ใช้ได้ในหลายด้าน เช่น เกม แบบจำลอง และความปลอดภัย ตัวอย่างเช่น เกมอาจใช้เครื่องสุ่มตัวเลขในการเลือกการกระทำต่อไปของผู้เล่น หรือกำหนดว่าจะแจกไพ่ใบใดให้กับผู้เล่นแต่ละคน

แบบจำลองอาจใช้เครื่องสุ่มตัวเลขเพื่อสร้างตัวเลขขึ้นมาในการคำนวณ แอปพลิเคชันด้านความปลอดภัยอาจใช้เครื่องสุ่มตัวเลขในการสร้างรหัสผ่านแบบใช้ครั้งเดียวหรือคีย์ในการเข้ารหัส

ควรใช้เครื่องสุ่มตัวเลขเมื่อใด

เครื่องสุ่มตัวเลขนั้นมีประโยชน์ในหลายสถานการณ์ ไม่ว่าจะเป็นเรื่องเล็กหรือเรื่องใหญ่ก็ตาม เช่น ถ้าคุณเชื่อในเรื่องโชคลาภ คุณก็สามารถใช้เครื่องคิดเลขของเราในการเลือกเลขลอตเตอรี่ก็ได้ ถ้าคุณต้องการจัดงานจับฉลากรางวัล เครื่องสุ่มตัวเลขก็สามารถช่วยคุณเลือกผู้ชนะได้

คุณสามารถใช้เครื่องสุ่มตัวเลขในการคำนวณเชิงสถิติขนานใหญ่

หากคุณต้องการทราบว่าควรใช้เครื่องสุ่มตัวเลขในสถานการณ์ใด ให้คุณมองหาสัญญาณดังต่อไปนี้

  • คุณต้องการสร้างความรู้สึกลุ้นในเกมหรือแอปพลิเคชั่นของคุณ
  • คุณต้องการสร้างตัวเลขที่เดายาก
  • เมื่อประชากรมีจำนวนมากเกินกว่าที่จะนับได้อย่างละเอียดถี่ถ้วน

ประวัติของเครื่องสุ่มตัวเลข

เครื่องสุ่มตัวเลขนั้นมีที่มาที่ไปอันลึกลับ บางคนกล่าวว่าชาวจีนโบราณเป็นคนประดิษฐ์ขึ้นมาเพื่อใช้ในการทำนาย ในขณะที่คนบางส่วนก็อ้างว่านักคณิตศาสตร์ชาวอาหรับเป็นคนกลุ่มแรกที่เริ่มใช้เครื่องสุ่มตัวเลขเพื่อเล่นการพนัน

ไม่ว่ามันจะมีต้นกำเนิดอย่างไรก็ตาม เครื่องสุ่มตัวเลขก็เป็นเครื่องมือที่มนุษย์ใช้งานมานับศตวรรษแล้ว

ตัวอย่างหนึ่งคือลูกเต๋า ที่ในสมัยโบราณนั้นมีรูปแบบและรูปร่างแตกต่างไปจากลูกเต๋าในปัจจุบัน นักโบราณคดีได้ค้นพบลูกเต๋าที่ทำจากวัสดุหลากหลายชนิด เช่น กิ่งไม้ เปลือกหอย กระดูก ตลอดจนลูกเต๋าที่มีเพียง 2 หรือ 3 ด้านเท่านั้น ลูกเต๋าทรงสี่เหลี่ยมที่เก่าแก่ที่สุดในโลกถูกค้นพบในหุบเขาอินดัส ถูกสร้างขึ้นมาในช่วง 2,500 ปีก่อนคริสตกาล

เครื่องสุ่มตัวเลขไฟฟ้าเครื่องแรกที่ได้รับการบันทึกถูกสร้างขึ้นในปี 1947 เมื่อบริษัท RAND Corporation สร้างเครื่องมือสุ่มตัวเลขขึ้นมาด้วยการเชื่อมต่อวงล้อรูเล็ตเข้ากับคอมพิวเตอร์ อุปกรณ์นี้ช่วยให้นักวิทยาศาสตร์มีชุดตัวเลขแบบสุ่มชุดใหญ่ไว้ใช้งานได้เป็นครั้งแรก ซึ่งต่อมานักวิทยาศาสตร์ก็ทำการตีพิมพ์ชุดตัวเลขเหล่านี้ในหนังสือเพื่อให้นักวิทยาศาสตร์คนอื่นนำไปใช้ในการทดลอง

อีกเครื่องจักรหนึ่งที่คล้ายกันคือ ERNIE สร้างขึ้นโดย Bletchley Park ที่โด่งดังในปัจจุบันเมื่อช่วงปี 1940 จุดประสงค์ของมันคือการสุ่มตัวเลขสำหรับลอตเตอรี่ British Premium Bond ต่อมาได้มีการสร้างภาพยนตร์สารคดีชื่อว่า "The Importance of Being E.R.N.I.E." เพื่อขจัดข้อสงสัยเกี่ยวกับความไม่ซื่อตรงของเครื่องและข้อสงสัยว่าหลักการทำงานของมันนั้นตั้งอยู่บนการสุ่มจริงหรือไม่

ต่อมา จอห์น ฟอน นอยมันน์ ได้ทำการพัฒนาเครื่องสุ่มตัวเลขให้ก้าวหน้าขึ้นไปกว่าเดิมในปี 1955 เข้าได้คิดค้น “วิธีมิดเดิลสแควร์” ขึ้นมา ซึ่งเป็นวิธีการสุ่มตัวเลขที่ใช้ในแบบจำลองและการสร้างแบบจำลอง

แนวคิดของเขานั้นเริ่มต้นจากเลขหนึ่งตัวก่อน จากนั้นให้คำนวณสแควรูทของเลขตัวนั้น ลบเลขตรงกลางของผลลัพธ์ออกไป คิดสแควรูทอีกครั้ง ลบเลขตรงกลางอีก ทำแบบนี้ไปเรื่อย ๆ เขาคิดว่าวิธีการนี้ให้ชุดตัวเลขที่มีคุณสมบัติเหมือนกับตัวเลขจากการสุ่ม แต่ทฤษฎีของ ฟอน นอยมันน์ นั้นยังไม่สมบูรณ์แบบ ไม่ว่าคุณจะเริ่มด้วยตัวเลขใดก็ตาม สุดท้ายแล้วชุดตัวเลขก็จะวนกลับมาเป็นชุดตัวเลขเดิม ๆ ที่ซ้ำไปเรื่อย ๆ เช่น 8100, 6100, 4100, 8100, 6100, 4100.

ภาษาโปรแกรมบางภาษาก็ยังคงใช้วิธีการของ จอห์น ฟอน นอยมันน์ อยู่

ในปี 1999 Intel ได้เพิ่มเครื่องสุ่มตัวเลขแบบฮาร์ดแวร์ลงไปในชิปเซ็ต i810 ที่สามารถสุ่มตัวเลขได้อย่างแท้จริงโดยอาศัยสัญญาณรบกวนที่เกิดจากอุณหภูมิ แต่มันก็ยังทำงานเร็วสู้เครื่องสุ่มตัวเลขแบบซอฟต์แวร์ไม่ได้ ในปี 2012 Intel ได้ใส่คำสั่ง RDRAND และ RDSEED ลงไปในชิปเซ็ตของบริษัทเพื่อให้สามารถสุ่มตัวเลขได้อย่างแท้จริงโดยอาศัยความแปรปรวนของอุณหภูมิ ซึ่งตอนนี้ก็สามารถทำงานได้เร็วถึง 500 Mb/s

ณ ปัจจุบันนี้ยังคงเป็นที่ถกเถียงกันอยู่ว่าเครื่องสุ่มตัวเลขนั้นควรจะนำไปใช้ในระบบใดบ้าง เคอร์เนลของระบบปฏิบัติการ ภาษาโปรแกรม คลังโปรแกรมสำหรับการเข้ารหัส ฯลฯ อัลกอริทึมสุ่มตัวเลขหลายรูปแบบมักจะเน้นไปที่ความเร็ว การประหยัดหน่วยความจำ และความปลอดภัย เครื่องสุ่มตัวเลขได้รับการพัฒนาให้มีความซับซ้อนมากยิ่งขึ้นไป และถูกนำไปประยุกต์ใช้ในหลายด้าน เช่น การสุ่มรหัสผ่าน การสร้างคีย์การเข้ารหัสนิรภัย และการสร้างแบบจำลองสถานการณ์จริงเพื่อจุดประสงค์ด้านการวิจัย