โปรแกรมสุ่มตัวเลข สุ่มรายชื่อ จับฉลาก และทอยลูกเต๋า
สุ่มตัวเลขจำนวนเต็มหรือทศนิยมในช่วง ต่ำสุด–สูงสุด ที่กำหนด เลือกจำนวนตัว ไม่ซ้ำ และเรียงลำดับได้ รวมถึงสุ่มรายชื่อผู้โชคดี สลับลำดับรายชื่อ ทอยลูกเต๋า และโยนเหรียญ ใช้ crypto.getRandomValues ของเบราว์เซอร์ซึ่งสุ่มได้สม่ำเสมอ ทุกค่ามีโอกาสเท่ากัน เช่น สุ่ม 1–100 ทุกเลขมีโอกาส 1%
ประวัติการคำนวณ (เก็บในเครื่องนี้)
วิธีใช้สุ่มตัวเลข / สุ่มรายชื่อ
- เลือกว่าจะสุ่มตัวเลข รายชื่อ ลูกเต๋า หรือเหรียญ แล้วกรอกช่วงหรือวางรายชื่อ
- ตั้งค่าจำนวนตัวที่สุ่ม ไม่ซ้ำ เรียงลำดับ หรือทศนิยมตามต้องการ
- กด “สุ่มใหม่” ได้ไม่จำกัด ผลแต่ละครั้งสุ่มใหม่ทั้งหมด คัดลอกหรือแชร์ลิงก์การตั้งค่าได้
สุ่มอย่างไรให้ยุติธรรม
โปรแกรมใช้ crypto.getRandomValues ซึ่งเป็นตัวสร้างเลขสุ่มระดับเข้ารหัสของเบราว์เซอร์ แทน Math.random ที่คาดเดาได้ง่ายกว่า และใช้วิธี rejection sampling ตัดช่วงที่ทำให้บางเลขมีโอกาสมากกว่าออก ทุกค่าในช่วงจึงมีโอกาสเท่ากันพอดี
จำนวนเลขที่เป็นไปได้ = (สูงสุด − ต่ำสุด) × 10ᵗศนิยม + 1
การสุ่มแบบไม่ซ้ำใช้การสับไพ่ (Fisher–Yates) จึงต้องการจำนวนตัวไม่เกินจำนวนเลขที่เป็นไปได้ เช่น ช่วง 1–10 สุ่มไม่ซ้ำได้สูงสุด 10 ตัว ส่วนการสุ่มรายชื่อก็ใช้หลักเดียวกัน ทุกคนมีโอกาสถูกเลือกเท่ากัน
ตัวอย่างการคำนวณ
ตัวอย่าง: ครูต้องการสุ่มเลขที่นักเรียน 5 คนจาก 40 คนให้ออกมาตอบ โดยไม่ซ้ำกัน
- เลือก “ตัวเลข” ต่ำสุด 1 สูงสุด 40 จำนวน 5 ติ๊ก “ไม่ซ้ำกัน” และ “เรียงจากน้อยไปมาก”
- กดสุ่ม ได้เลขที่ 5 ตัวที่ต่างกัน เช่น 3, 11, 18, 27, 36 (แต่ละครั้งต่างกัน)
- ถ้ามีรายชื่อ ให้วางรายชื่อในโหมด “รายชื่อ” แล้วสุ่มผู้โชคดี 5 คนแทน จะได้ชื่อโดยตรง
ทอยลูกเต๋า 2 ลูก: ผลรวมที่พบบ่อยสุดคือ 7 (6 จาก 36 แบบ = 16.7%) ส่วน 2 และ 12 พบน้อยสุดอย่างละ 2.8%
ใช้ทำอะไรได้บ้าง
- จับฉลากของรางวัล วางรายชื่อผู้ร่วมกิจกรรมแล้วสุ่มผู้โชคดีกี่คนก็ได้ แสดงลำดับที่ 1, 2, 3 ชัดเจน
- แบ่งกลุ่มนักเรียน โหมด “แบ่งกลุ่มแบบสุ่ม” กระจายรายชื่อให้แต่ละกลุ่มมีจำนวนใกล้เคียงกัน
- สุ่มเลขหวยหรือเลขเสี่ยงทาย ตั้ง 0–99 หรือ 0–999 ทศนิยม 0 และเลือกจำนวนชุด
- เกมกระดาน ทอยลูกเต๋า d4–d100 หลายลูกพร้อมผลรวม หรือโยนเหรียญตัดสิน
- งานสถิติ สุ่มตัวอย่างเลขที่จากประชากร N ตัวแบบไม่ซ้ำ (simple random sampling)
ข้อควรรู้เรื่องความน่าจะเป็น
การสุ่มแต่ละครั้งเป็นอิสระต่อกัน เลขที่เพิ่งออกไม่ได้ “ออกยากขึ้น” ในครั้งถัดไป (ความเข้าใจผิดแบบนักพนัน) ถ้าสุ่ม 1–100 โอกาสที่เลขใดเลขหนึ่งจะออกคือ 1% เสมอ และโอกาสที่สุ่ม 2 ตัวแบบซ้ำได้จะตรงกันคือ 1% เช่นกัน ส่วนการโยนเหรียญ 10 ครั้งได้หัวพอดี 5 ครั้งมีโอกาสเพียง 24.6% การได้ผลไม่เท่ากันจึงเป็นเรื่องปกติ
คำถามที่พบบ่อย
สุ่มตัวเลข 1-100 ไม่ซ้ำได้กี่ตัว
ได้สูงสุด 100 ตัว (เท่ากับจำนวนเลขในช่วง) ถ้าต้องการมากกว่านั้นให้ขยายช่วงหรือปิดตัวเลือกไม่ซ้ำ
สุ่มทศนิยมได้ไหม
ได้ เลือกทศนิยม 1–3 ตำแหน่ง เช่น ช่วง 0–1 ทศนิยม 2 ตำแหน่ง จะสุ่มจาก 0.00, 0.01, …, 1.00 รวม 101 ค่าเท่า ๆ กัน
ผลสุ่มเชื่อถือได้หรือไม่ มีการล็อกผลไหม
โปรแกรมสุ่มในเครื่องของคุณด้วยตัวสุ่มเข้ารหัสของเบราว์เซอร์ ไม่มีการส่งข้อมูลไปเซิร์ฟเวอร์และไม่มีใครกำหนดผลล่วงหน้าได้ คุณตรวจโค้ดได้จากหน้าเว็บโดยตรง
สุ่มรายชื่อแล้วอยากให้ทุกคนได้ลำดับ ทำอย่างไร
เลือกรูปแบบ “สลับลำดับทั้งหมด” โปรแกรมจะเรียงรายชื่อใหม่แบบสุ่มทั้งรายการ ใช้จัดลำดับการนำเสนอหรือคิวได้