ชุดตัวเลขสุ่ม เครื่องกำเนิดตัวเลขสุ่มสำหรับลอตเตอรี



โปรดทราบว่าตามหลักการแล้วกราฟความหนาแน่นของการแจกแจง ตัวเลขสุ่มจะมีลักษณะดังแสดงในรูปที่. 22.3. โดยหลักการแล้ว แต่ละช่วงเวลาจะมีคะแนนเท่ากัน: เอ็น ฉัน = เอ็น/เค , ที่ไหน เอ็น — จำนวนทั้งหมดคะแนน เคจำนวนช่วงเวลา ฉัน= 1, , เค .

ข้าว. 22.3. แผนภาพความถี่ของตัวเลขสุ่ม
สร้างขึ้นตามทฤษฎีโดยเครื่องกำเนิดในอุดมคติ

ควรจำไว้ว่าการสร้างตัวเลขสุ่มตามอำเภอใจประกอบด้วยสองขั้นตอน:

  • การสร้างตัวเลขสุ่มที่ทำให้เป็นมาตรฐาน (นั่นคือ การกระจายอย่างสม่ำเสมอตั้งแต่ 0 ถึง 1)
  • การแปลงตัวเลขสุ่มที่ทำให้เป็นมาตรฐาน ฉันสู่ตัวเลขสุ่ม x ฉันซึ่งเผยแพร่ตามกฎหมายการแจกจ่าย (โดยพลการ) ที่ผู้ใช้กำหนดหรือตามระยะเวลาที่กำหนด

เครื่องกำเนิดตัวเลขสุ่มตามวิธีการรับตัวเลขแบ่งออกเป็น:

  • ทางกายภาพ;
  • ตาราง;
  • อัลกอริทึม

RNG ทางกายภาพ

ตัวอย่างของ RNG ทางกายภาพอาจเป็น: เหรียญ (“หัว” 1, “ก้อย” 0); ลูกเต๋า- กลองที่มีลูกศรแบ่งออกเป็นภาคที่มีตัวเลข เครื่องกำเนิดสัญญาณรบกวนฮาร์ดแวร์ (HS) ซึ่งใช้อุปกรณ์ระบายความร้อนที่มีเสียงดังเช่นทรานซิสเตอร์ (รูปที่ 22.422.5)

ข้าว. 22.4. แผนผังวิธีการฮาร์ดแวร์สำหรับการสร้างตัวเลขสุ่ม
ข้าว. 22.5. แผนภาพการรับตัวเลขสุ่มโดยใช้วิธีฮาร์ดแวร์
ภารกิจ “สร้างตัวเลขสุ่มโดยใช้เหรียญ”

สร้างตัวเลขสามหลักแบบสุ่มโดยแจกแจงสม่ำเสมอในช่วงตั้งแต่ 0 ถึง 1 โดยใช้เหรียญ ความแม่นยำเป็นทศนิยมสามตำแหน่ง

วิธีแรกในการแก้ปัญหา
โยนเหรียญ 9 ครั้ง และถ้าเหรียญตกบนหัว ให้เขียนลงไปว่า “0” หากมันตกบนหัว ให้เขียนลงไปว่า “1” สมมติว่าผลการทดลองเราได้รับลำดับสุ่ม 100110100

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

ดังนั้น, 1 : ช่วงเวลาจะถูกแบ่งออกเป็นครึ่งหนึ่ง และเลือกครึ่งทางขวา ช่วงเวลาจะแคบลง: หมายเลขถัดไป 0 : ช่วงเวลาแบ่งออกเป็นครึ่ง และเลือกครึ่งซ้าย ช่วงเวลาจะแคบลง: หมายเลขถัดไป 0 : ช่วงเวลาแบ่งออกเป็นครึ่ง และเลือกครึ่งซ้าย ช่วงเวลาจะแคบลง: หมายเลขถัดไป 1 : ช่วงเวลาแบ่งออกเป็นครึ่ง และเลือกครึ่งทางขวา ช่วงเวลาจะแคบลง:

ตามเงื่อนไขความแม่นยำของปัญหา พบวิธีแก้ไข: เป็นตัวเลขใดๆ จากช่วงเวลา เช่น 0.625

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

วิธีที่สองในการแก้ปัญหา
ลองแบ่งลำดับเลขฐานสองที่ได้ 100110100 ออกเป็นสามส่วน: 100, 110, 100 หลังจากแปลงเลขฐานสองเหล่านี้เป็นเลขฐานสิบ เราจะได้: 4, 6, 4 แทนที่ "0" ที่ด้านหน้า เราจะได้: 0.464 วิธีนี้สามารถผลิตตัวเลขได้ตั้งแต่ 0.000 ถึง 0.777 เท่านั้น (เนื่องจากค่าสูงสุดที่สามารถ "บีบออก" ของเลขฐานสองสามหลักได้คือ 111 2 = 7 8) ซึ่งจริงๆ แล้วตัวเลขเหล่านี้แสดงอยู่ใน ระบบฐานแปดการคำนวณ สำหรับการแปล ฐานแปดตัวเลขเข้า ทศนิยมมาดำเนินการเป็นตัวแทน:
0.464 8 = 4 8 1 + 6 8 2 + 4 8 3 = 0.6015625 10 = 0.602 10.
ดังนั้น จำนวนที่ต้องการคือ: 0.602

RNG แบบตาราง

RNG แบบตารางใช้ตารางที่คอมไพล์เป็นพิเศษซึ่งมีการตรวจสอบแล้วว่าไม่เกี่ยวข้องกัน กล่าวคือ ตัวเลขเป็นแหล่งของตัวเลขสุ่มโดยไม่ขึ้นอยู่กับกันและกัน ในตาราง รูปที่ 22.1 แสดงส่วนเล็กๆ ของตารางดังกล่าว เมื่อสำรวจตารางจากซ้ายไปขวาจากบนลงล่าง คุณจะได้ตัวเลขสุ่มที่กระจายเท่าๆ กันตั้งแต่ 0 ถึง 1 โดยมีจำนวนตำแหน่งทศนิยมที่ต้องการ (ในตัวอย่างของเรา เราใช้ทศนิยมสามตำแหน่งสำหรับแต่ละหมายเลข) เนื่องจากตัวเลขในตารางไม่ได้ขึ้นอยู่กับแต่ละอื่น ๆ จึงสามารถข้ามตารางได้ ในรูปแบบที่แตกต่างกันเช่น จากบนลงล่าง หรือจากขวาไปซ้าย หรือพูดว่า คุณสามารถเลือกตัวเลขที่อยู่ในตำแหน่งคู่ได้

ตารางที่ 22.1.
ตัวเลขสุ่ม สม่ำเสมอ
ตัวเลขสุ่มกระจายจาก 0 ถึง 1
ตัวเลขสุ่ม กระจายอย่างเท่าเทียมกัน
ตัวเลขสุ่ม 0 ถึง 1
9 2 9 2 0 4 2 6 0.929
9 5 7 3 4 9 0 3 0.204
5 9 1 6 6 5 7 6 0.269
… …

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

มีตารางที่ประกอบด้วยตัวเลขที่ตรวจสอบแบบสุ่มอย่างแน่นอน 500 ตัว (นำมาจากหนังสือของ I. G. Venetsky, V. I. Venetskaya "แนวคิดและสูตรทางคณิตศาสตร์และสถิติพื้นฐานในการวิเคราะห์ทางเศรษฐศาสตร์")

อัลกอริทึม RNG

ตัวเลขที่สร้างโดย RNG เหล่านี้จะเป็นการสุ่มหลอกเสมอ (หรือกึ่งสุ่ม) กล่าวคือ แต่ละหมายเลขที่สร้างขึ้นในภายหลังจะขึ้นอยู่กับตัวเลขก่อนหน้า:

ฉัน + 1 = ( ฉัน) .

ลำดับที่ประกอบด้วยตัวเลขดังกล่าวจะก่อให้เกิดการวนซ้ำ กล่าวคือ จำเป็นต้องมีวงจรที่ซ้ำกัน จำนวนอนันต์ครั้งหนึ่ง. วงจรที่เกิดซ้ำเรียกว่าช่วงเวลา

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

ลองพิจารณาวิธีการอัลกอริทึมหลายวิธีในการรับ RNG:

  • วิธีหาค่ามัธยฐานกำลังสอง
  • วิธีการผลิตภัณฑ์ขั้นกลาง
  • วิธีการกวน
  • วิธีสมภาคเชิงเส้น

วิธีมิดสแควร์

มีเลขสี่หลักอยู่บ้าง 0 . หมายเลขนี้ถูกยกกำลังสองและป้อนเข้าไป 1. ต่อไปจาก 1 นำตัวเลขสุ่มใหม่ที่อยู่ตรงกลาง (สี่หลักกลาง) มาเขียนลงไป 0 . จากนั้นให้ทำซ้ำขั้นตอนนี้ (ดูรูปที่ 22.6) โปรดทราบว่าในความเป็นจริงคุณไม่จำเป็นต้องใช้ตัวเลขสุ่ม กิจ, ก 0.กิจโดยมีศูนย์และจุดทศนิยมบวกทางด้านซ้าย ข้อเท็จจริงนี้สะท้อนให้เห็นดังในรูป 22.6 และในตัวเลขที่คล้ายกันถัดๆ ไป

ข้าว. 22.6. โครงร่างของวิธีกำลังสองเฉลี่ย

ข้อเสียของวิธีการ: 1) หากมีการวนซ้ำตัวเลข 0 จะเท่ากับศูนย์ จากนั้นตัวกำเนิดจะเสื่อมลง ดังนั้นการเลือกค่าเริ่มต้นที่ถูกต้องจึงเป็นสิ่งสำคัญ 0 ; 2) เครื่องกำเนิดจะทำซ้ำลำดับผ่าน nขั้นตอน (อย่างดีที่สุด) ที่ไหน nตัวเลขหลัก 0 , ฐานของระบบตัวเลข

ตัวอย่างเช่นในรูป 22.6: ถ้าเป็นตัวเลข 0 จะถูกแสดงในระบบเลขฐานสอง จากนั้นลำดับของตัวเลขสุ่มหลอกจะถูกทำซ้ำใน 2 4 = 16 ขั้นตอน โปรดทราบว่าการทำซ้ำของลำดับอาจเกิดขึ้นเร็วกว่านี้หากเลือกหมายเลขเริ่มต้นได้ไม่ดี

วิธีการที่อธิบายไว้ข้างต้นเสนอโดย John von Neumann และมีอายุย้อนไปถึงปี 1946 เนื่องจากวิธีนี้ไม่น่าเชื่อถือ จึงถูกละทิ้งอย่างรวดเร็ว

วิธีการกลางผลิตภัณฑ์

ตัวเลข 0 คูณด้วย 1 จากผลลัพธ์ที่ได้รับ 2 ตรงกลางถูกดึงออกมา 2 * (นี่คือตัวเลขสุ่มอีกตัวหนึ่ง) แล้วคูณด้วย 1. ตัวเลขสุ่มที่ตามมาทั้งหมดคำนวณโดยใช้รูปแบบนี้ (ดูรูปที่ 22.7)

ข้าว. 22.7. โครงร่างวิธีการของผลิตภัณฑ์มัธยฐาน

วิธีการกวน

วิธีการสุ่มใช้การดำเนินการเพื่อเลื่อนเนื้อหาของเซลล์ไปทางซ้ายและขวาแบบวนรอบ แนวคิดของวิธีการมีดังนี้ ให้เซลล์เก็บหมายเลขเริ่มต้น 0 . เลื่อนเนื้อหาเซลล์ไปทางซ้ายแบบวน 1/4 ของความยาวเซลล์เราจะได้ตัวเลขใหม่ 0 * . ในทำนองเดียวกัน หมุนเวียนเนื้อหาของเซลล์ 0 ไปทางขวาคูณ 1/4 ของความยาวเซลล์ เราจะได้เลขตัวที่สอง 0**. ผลรวมของตัวเลข 0* และ 0** ให้ตัวเลขสุ่มใหม่ 1. ต่อไป เข้ามาแล้ว 1 อัน 0 และทำซ้ำลำดับการทำงานทั้งหมด (ดูรูปที่ 22.8)


ข้าว. 22.8. แผนภาพวิธีการผสม

โปรดทราบว่าตัวเลขที่เกิดจากผลรวม 0* และ 0 ** อาจไม่พอดีกับเซลล์ทั้งหมด 1. ในกรณีนี้ จะต้องละทิ้งตัวเลขพิเศษออกจากตัวเลขผลลัพธ์ ให้เราอธิบายเรื่องนี้ในรูป 22.8 โดยที่เซลล์ทั้งหมดจะแสดงด้วยเลขฐานสองแปดหลัก อนุญาต 0 * = 10010001 2 = 145 10 , 0 ** = 10100001 2 = 161 10 , แล้ว 0 * + 0 ** = 100110010 2 = 306 10 - อย่างที่คุณเห็นตัวเลข 306 นั้นมี 9 หลัก (ในระบบเลขฐานสอง) และเซลล์ 1 (เช่นเดียวกับ 0) สามารถมีได้สูงสุด 8 บิต ดังนั้นก่อนจะใส่ค่าเข้าไป 1 จำเป็นต้องลบ "พิเศษ" หนึ่งบิตซ้ายสุดออกจากหมายเลข 306 ผลลัพธ์ที่ได้ 1 จะไม่ไปที่ 306 อีกต่อไป แต่เป็น 00110010 2 = 50 10 โปรดทราบว่าในภาษาเช่นปาสคาล "การตัด" บิตพิเศษเมื่อเซลล์ล้นจะดำเนินการโดยอัตโนมัติตามประเภทของตัวแปรที่ระบุ

วิธีสมภาคเชิงเส้น

วิธีการสมภาคเชิงเส้นเป็นหนึ่งในขั้นตอนที่ง่ายที่สุดและใช้กันมากที่สุดในปัจจุบันในการจำลองตัวเลขสุ่ม วิธีการนี้ใช้ mod( x, ) ซึ่งส่งคืนส่วนที่เหลือเมื่ออาร์กิวเมนต์แรกถูกหารด้วยวินาที ตัวเลขสุ่มที่ตามมาแต่ละตัวจะคำนวณตามตัวเลขสุ่มก่อนหน้าโดยใช้สูตรต่อไปนี้:

ฉัน+ 1 = ม็อด( เค · ฉัน + , ) .

ลำดับของตัวเลขสุ่มที่ได้รับโดยใช้สูตรนี้เรียกว่า ลำดับที่สอดคล้องกันเชิงเส้น- ผู้เขียนหลายคนเรียกลำดับที่สอดคล้องกันเชิงเส้นเมื่อ = 0 วิธีคูณที่เท่ากันทุกประการและเมื่อไร ≠ 0 — วิธีผสมที่สอดคล้องกัน.

สำหรับเครื่องกำเนิดไฟฟ้าคุณภาพสูงจำเป็นต้องเลือกค่าสัมประสิทธิ์ที่เหมาะสม จำเป็นต้องมีจำนวนนั้น มีขนาดค่อนข้างใหญ่เนื่องจากช่วงเวลานั้นไม่สามารถมีได้อีกต่อไป องค์ประกอบ ในทางกลับกัน การแบ่งที่ใช้ในวิธีนี้เป็นการดำเนินการที่ค่อนข้างช้า ดังนั้นสำหรับคอมพิวเตอร์ไบนารี่ ตัวเลือกเชิงตรรกะจะเป็น = 2 เอ็นเนื่องจากในกรณีนี้ การค้นหาส่วนที่เหลือของการหารจะลดลงภายในคอมพิวเตอร์เป็นการดำเนินการทางตรรกะแบบไบนารี "AND" การเลือกจำนวนเฉพาะที่ใหญ่ที่สุดก็เป็นเรื่องปกติเช่นกัน น้อยกว่า 2 เอ็น: ในวรรณกรรมเฉพาะทางได้รับการพิสูจน์แล้วว่าในกรณีนี้ตัวเลขลำดับต่ำของตัวเลขสุ่มผลลัพธ์ ฉัน+ 1 มีพฤติกรรมสุ่มเหมือนกับรุ่นเก่า ซึ่งส่งผลเชิงบวกต่อลำดับตัวเลขสุ่มโดยรวม ยกตัวอย่างหนึ่งใน ตัวเลขเมอร์เซนเท่ากับ 2 31 1 ดังนั้น = 2 31 1 .

ข้อกำหนดประการหนึ่งสำหรับลำดับที่สอดคล้องกันเชิงเส้นคือความยาวของคาบต้องยาวที่สุดเท่าที่จะเป็นไปได้ ความยาวของช่วงเวลาขึ้นอยู่กับค่า , เคและ - ทฤษฎีบทที่เรานำเสนอด้านล่างนี้ช่วยให้เราสามารถระบุได้ว่าเป็นไปได้หรือไม่ที่จะบรรลุช่วงเวลาดังกล่าว ความยาวสูงสุดสำหรับค่าเฉพาะ , เคและ .

ทฤษฎีบท- ลำดับสมภาคเชิงเส้นที่กำหนดโดยตัวเลข , เค , และ 0 มีคาบความยาว หากและหาก:

  • ตัวเลข และ ค่อนข้างง่าย
  • เค 1 ครั้ง พีสำหรับทุก ๆ ไพรม์ พีซึ่งเป็นตัวหาร ;
  • เค 1 เป็นผลคูณของ 4 ถ้า หลายเท่าของ 4

สุดท้าย เราจะสรุปด้วยตัวอย่างการใช้วิธีสมภาคเชิงเส้นเพื่อสร้างตัวเลขสุ่ม

พบว่าชุดตัวเลขสุ่มหลอกที่สร้างขึ้นจากข้อมูลจากตัวอย่างที่ 1 จะถูกทำซ้ำทุกๆ /4 หมายเลข. ตัวเลข ถามถูกตั้งค่าโดยพลการก่อนเริ่มการคำนวณ อย่างไรก็ตาม โปรดทราบว่าซีรีส์นี้ให้ความรู้สึกของการสุ่มในวงกว้าง เค(และดังนั้น ถาม- ผลลัพธ์สามารถปรับปรุงได้บ้างถ้า แปลกและ เค= 1 + 4 · ถาม ในกรณีนี้แถวนั้นจะถูกทำซ้ำทุกแถว ตัวเลข หลังจากค้นหามานาน เคนักวิจัยตัดสินด้วยค่า 69069 และ 71365

เครื่องสร้างตัวเลขสุ่มโดยใช้ข้อมูลจากตัวอย่างที่ 2 จะสร้างตัวเลขสุ่มที่ไม่ซ้ำกันด้วยคาบ 7 ล้าน

วิธีการคูณเพื่อสร้างตัวเลขสุ่มเทียมเสนอโดย D. H. Lehmer ในปี 1949

ตรวจสอบคุณภาพของเครื่องกำเนิดไฟฟ้า

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

การตรวจสอบที่ดำเนินการมีสองประเภท:

  • ตรวจสอบความสม่ำเสมอของการกระจาย
  • การทดสอบความเป็นอิสระทางสถิติ

ตรวจสอบความสม่ำเสมอของการกระจายตัว

1) RNG ควรสร้างใกล้กับ ค่าต่อไปนี้ลักษณะของพารามิเตอร์ทางสถิติของกฎสุ่มแบบสม่ำเสมอ:

2) การทดสอบความถี่

การทดสอบความถี่ช่วยให้คุณทราบว่ามีตัวเลขจำนวนเท่าใดที่อยู่ในช่วงหนึ่งๆ ( – σ ; + σ ) นั่นคือ (0.5 0.2887; 0.5 + 0.2887) หรือท้ายที่สุดคือ (0.2113; 0.7887) เนื่องจาก 0.7887 0.2113 = 0.5774 เราสรุปได้ว่าใน RNG ที่ดี ประมาณ 57.7% ของตัวเลขสุ่มที่สุ่มออกมาทั้งหมดควรอยู่ในช่วงนี้ (ดูรูปที่ 22.9)

ข้าว. 22.9. แผนภาพความถี่ของ RNG ในอุดมคติ
กรณีตรวจสอบเพื่อทดสอบความถี่

นอกจากนี้ยังจำเป็นต้องคำนึงว่าจำนวนตัวเลขที่อยู่ในช่วง (0; 0.5) ควรเท่ากับจำนวนตัวเลขที่อยู่ในช่วงโดยประมาณ (0.5; 1)

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

การทดสอบไคสแควร์ (การทดสอบ χ 2) เป็นหนึ่งในการทดสอบทางสถิติที่รู้จักกันดีที่สุด เป็นวิธีหลักที่ใช้ร่วมกับเกณฑ์อื่นๆ การทดสอบไคสแควร์เสนอในปี 1900 โดยคาร์ล เพียร์สัน ผลงานอันโดดเด่นของเขาถือเป็นรากฐานของสถิติทางคณิตศาสตร์สมัยใหม่

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

แผนภาพความถี่ อ้างอิง RNG จะแสดงในรูป 22.10. เนื่องจากกฎการกระจายของ RNG อ้างอิงมีความสม่ำเสมอ ความน่าจะเป็น (ตามทฤษฎี) พี ฉันการรับตัวเลขเข้ามา ฉันช่วงเวลาที่ (ช่วงเวลาทั้งหมดนี้ เค) เท่ากับ พี ฉัน = 1/เค - และด้วยเหตุนี้ในแต่ละ เคช่วงเวลาจะตี เรียบโดย พี ฉัน · เอ็น ตัวเลข ( เอ็นจำนวนตัวเลขทั้งหมดที่สร้างขึ้น)

ข้าว. 22.10. แผนภาพความถี่ของ RNG อ้างอิง

RNG จริงจะสร้างตัวเลขที่กระจาย (และไม่จำเป็นต้องเท่ากัน!) เคช่วงเวลาและแต่ละช่วงจะมี n ฉันตัวเลข (รวม n 1 + n 2 + + n เค = เอ็น - เราจะทราบได้อย่างไรว่า RNG ที่กำลังทดสอบนั้นดีแค่ไหน และใกล้กับข้อมูลอ้างอิงมากน้อยเพียงใด การพิจารณาความแตกต่างกำลังสองระหว่างจำนวนผลลัพธ์ของตัวเลขค่อนข้างสมเหตุสมผล n ฉันและ "การอ้างอิง" พี ฉัน · เอ็น - มาบวกกันและผลลัพธ์คือ:

χ 2 ประสบการณ์ - n 1 พี 1 · เอ็น) 2 + (n 2 พี 2 · เอ็น) 2 + + ( n เค – พี เค · เอ็น) 2 .

จากสูตรนี้จะตามมาว่ายิ่งความแตกต่างในแต่ละเงื่อนไขน้อยลง (และด้วยเหตุนี้ มูลค่าน้อยลงχ 2 ประสบการณ์ ) ยิ่งกฎการกระจายตัวเลขสุ่มที่สร้างโดย RNG จริงมีความสม่ำเสมอมากขึ้นเท่าใด ก็จะมีความสม่ำเสมอมากขึ้นเท่านั้น

ในนิพจน์ที่แล้ว แต่ละเงื่อนไขถูกกำหนดให้มีน้ำหนักเท่ากัน (เท่ากับ 1) ซึ่งอันที่จริงอาจไม่เป็นความจริง ดังนั้นสำหรับสถิติไคสแควร์ จึงจำเป็นต้องทำให้แต่ละรายการเป็นมาตรฐาน ฉันเทอมที่ 3 หารด้วย พี ฉัน · เอ็น :

สุดท้ายนี้ มาเขียนนิพจน์ผลลัพธ์ให้กระชับยิ่งขึ้นและทำให้ง่ายขึ้น:

เราได้รับค่าทดสอบไคสแควร์สำหรับ ทดลองข้อมูล.

ในตาราง ให้ 22.2 ตามทฤษฎีค่าไคสแควร์ (χ 2 ตามทฤษฎี) โดยที่ ν = เอ็น 1 คือจำนวนระดับความเป็นอิสระ พีนี่คือระดับความเชื่อมั่นที่ผู้ใช้ระบุซึ่งบ่งชี้ว่า RNG ควรตอบสนองความต้องการของการกระจายแบบสม่ำเสมอมากน้อยเพียงใด หรือ พี — คือความน่าจะเป็นที่ค่าทดลองของ χ 2 exp.

จะน้อยกว่าตาราง (ตามทฤษฎี) χ 2 ทฤษฎี
หรือเท่ากับมัน
ตารางที่ 22.2. เปอร์เซ็นต์บางส่วนของการแจกแจง χ 2 พี = 1% พี = 5% พี = 25% พี = 50% พี = 75%
ν = 1 0.00016 0.00393 0.1015 0.4549 1.323 3.841 6.635
ν = 2 0.02010 0.1026 0.5754 1.386 2.773 5.991 9.210
ν = 3 0.1148 0.3518 1.213 2.366 4.108 7.815 11.34
ν = 4 0.2971 0.7107 1.923 3.357 5.385 9.488 13.28
ν = 5 0.5543 1.1455 2.675 4.351 6.626 11.07 15.09
ν = 6 0.8721 1.635 3.455 5.348 7.841 12.59 16.81
ν = 7 1.239 2.167 4.255 6.346 9.037 14.07 18.48
ν = 8 1.646 2.733 5.071 7.344 10.22 15.51 20.09
ν = 9 2.088 3.325 5.899 8.343 11.39 16.92 21.67
ν = 10 2.558 3.940 6.737 9.342 12.55 18.31 23.21
ν = 11 3.053 4.575 7.584 10.34 13.70 19.68 24.72
ν = 12 3.571 5.226 8.438 11.34 14.85 21.03 26.22
ν = 15 5.229 7.261 11.04 14.34 18.25 25.00 30.58
ν = 20 8.260 10.85 15.45 19.34 23.83 31.41 37.57
ν = 30 14.95 18.49 24.48 29.34 34.80 43.77 50.89
ν = 50 29.71 34.76 42.94 49.33 56.33 67.50 76.15
ν > 30 ν พี = 95% ν ) · x พีพี = 99% x 2 พี+ ตร.ม.(2 + 2/3 · 2/3 + ν ))
x พี = โอ (1/ตร.ม.( 2.33 0.00 0.674 1.64 2.33

1.64 พี 0.674.

ถือว่ายอมรับได้ พีจาก 10% ถึง 90% ถ้า χ 2 ประสบการณ์มากกว่าทฤษฎี χ 2 มาก n ฉัน(นั่นคือ พี ฉัน · เอ็น มีขนาดใหญ่) จากนั้นเครื่องกำเนิดไฟฟ้า

ไม่พอใจ

ข้อกำหนดของการแจกแจงแบบสม่ำเสมอเนื่องจากค่าที่สังเกตได้ พีไปไกลจากทฤษฎีมากเกินไป ถ้า χ 2 ประสบการณ์และไม่สามารถถือเป็นการสุ่มได้ กล่าวอีกนัยหนึ่ง ช่วงความเชื่อมั่นขนาดใหญ่ดังกล่าวถูกกำหนดขึ้นจนข้อจำกัดของตัวเลขเริ่มหลวมมาก และข้อกำหนดของตัวเลขก็อ่อนแอลง ในกรณีนี้จะสังเกตเห็นข้อผิดพลาดสัมบูรณ์ที่มีขนาดใหญ่มาก n ฉันแม้แต่ D. Knuth ในหนังสือของเขาเรื่อง "The Art of Programming" ยังตั้งข้อสังเกตว่าการมี χ 2 exp. พี ฉัน · เอ็น โดยทั่วไปแล้วสำหรับคนตัวเล็กมันก็ไม่ดีเช่นกันแม้ว่าเมื่อมองแวบแรกจะดูยอดเยี่ยมจากมุมมองของความสม่ำเสมอ จริงๆ แล้วใช้ชุดตัวเลข 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6 ซึ่งเหมาะอย่างยิ่งจากมุมมองของความสม่ำเสมอและ χ ประสบการณ์ 2 ครั้ง

จะเป็นศูนย์ในทางปฏิบัติ แต่คุณไม่น่าจะจดจำพวกมันเป็นการสุ่มได้ พีถ้า χ 2 ประสบการณ์ พีน้อยกว่าทฤษฎี χ 2 มาก

(นั่นคือ พี ฉัน · เอ็น เล็ก) จากนั้นเครื่องกำเนิด

ข้อกำหนดของการแจกแจงแบบสม่ำเสมอแบบสุ่ม เนื่องจากค่าที่สังเกตได้

ใกล้เคียงกับทฤษฎีมากเกินไป

และไม่สามารถถือเป็นการสุ่มได้

ลองดูตัวอย่าง หมายเลขสุ่ม 0.2463389991 ประกอบด้วยตัวเลข 2463389991 และหมายเลข 0.5467766618 ประกอบด้วยตัวเลข 5467766618 การเชื่อมต่อลำดับของตัวเลขเรามี: 24633899915467766618

เป็นที่ชัดเจนว่าความน่าจะเป็นทางทฤษฎี พี ฉันการสูญเสีย ฉันหลักที่ (ตั้งแต่ 0 ถึง 9) เท่ากับ 0.1

2) การตรวจสอบลักษณะของชุดตัวเลขที่เหมือนกัน

ให้เราแสดงโดย n จำนวนชุดของตัวเลขที่เหมือนกันในแถวความยาว - ทุกอย่างจะต้องมีการตรวจสอบ ตั้งแต่ 1 ถึง , ที่ไหน นี่คือหมายเลขที่ผู้ใช้ระบุ: จำนวนสูงสุดที่เกิดขึ้นของหลักที่เหมือนกันในชุด

ในตัวอย่าง “24633899915467766618” พบ 2 ชุดความยาว 2 (33 และ 77) นั่นคือ n 2 = 2 และ 2 อนุกรมความยาว 3 (999 และ 666) นั่นคือ n 3 = 2 .

ความน่าจะเป็นที่อนุกรมของความยาวจะเกิดขึ้น เท่ากับ: พี = 9 10 (ตามทฤษฎี) นั่นคือ ความน่าจะเป็นที่ซีรีส์หนึ่งจะมีความยาวอักขระเท่ากับ: พี 1 = 0.9 (ตามทฤษฎี) ความน่าจะเป็นที่จะมีอักขระสองตัวปรากฏเป็นชุดคือ: พี 2 = 0.09 (ตามทฤษฎี) ความน่าจะเป็นที่จะมีอักขระสามตัวปรากฏเป็นชุดคือ: พี 3 = 0.009 (ตามทฤษฎี)

ตัวอย่างเช่น ความน่าจะเป็นที่ซีรีส์หนึ่งจะมีความยาวหนึ่งอักขระ พี = 0.9 เนื่องจากสามารถมีได้เพียงสัญลักษณ์เดียวจาก 10 สัญลักษณ์และมีทั้งหมด 9 สัญลักษณ์ (ศูนย์ไม่นับ) และความน่าจะเป็นที่สัญลักษณ์ “XX” ที่เหมือนกันสองตัวจะปรากฏเรียงกันเป็น 0.1 · 0.1 · 9 นั่นคือความน่าจะเป็นที่ 0.1 ที่สัญลักษณ์ “X” จะปรากฏในตำแหน่งแรกคูณด้วยความน่าจะเป็นที่ 0.1 ที่ สัญลักษณ์เดียวกันจะปรากฏในตำแหน่งที่สอง “X” และคูณด้วยจำนวนชุดดังกล่าว 9

ความถี่ของการเกิดอนุกรมคำนวณโดยใช้สูตรไคสแควร์ที่เราพูดถึงก่อนหน้านี้โดยใช้ค่าต่างๆ พี .

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

โดยสรุป เราสังเกตว่าบทที่สามของ The Art of Programming (เล่มที่ 2) ของ Donald E. Knuth เน้นไปที่การศึกษาตัวเลขสุ่มโดยเฉพาะ โดยจะตรวจสอบวิธีการต่างๆ ในการสร้างตัวเลขสุ่ม การทดสอบทางสถิติของการสุ่ม และการแปลงตัวเลขสุ่มที่กระจายสม่ำเสมอไปเป็นตัวแปรสุ่มประเภทอื่นๆ มีมากกว่าสองร้อยหน้าสำหรับการนำเสนอเนื้อหานี้


คะแนน: 4.0 จาก 5
โหวต: 143
เครื่องกำเนิดตัวเลขสุ่มสำหรับลอตเตอรี่



1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
16 17 18 19 20
21 22 23 24 25
26 27 28 29 30
31 32 33 34 35
36 37 38 39 40
41 42 43 44 45
46 47 48 49


ตัวเลขเป็นข้อยกเว้น
(คั่นด้วยเครื่องหมายจุลภาค!)

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

สร้างตัวเลือกในแต่ละครั้ง (1-20)

โปรแกรมก็คือ เครื่องกำเนิดไฟฟ้าออนไลน์ตัวเลขสุ่มสำหรับลอตเตอรี่รัสเซีย 5 จาก 36, 6 จาก 45, 7 จาก 49, 6 จาก 49 นอกเหนือจากเครื่องกำเนิดตัวเลขแล้วยังมีรายการต่อไปนี้รวมอยู่ด้วย เครื่องมือที่มีประโยชน์เป็น "ข้อยกเว้นหมายเลข"
คุณโชคไม่ดีกับหมายเลข 7 หรือ 10? จากนั้นคุณสามารถเพิ่มตัวเลขเหล่านี้ลงในข้อยกเว้นได้ และจะไม่นำมาพิจารณาเมื่อสร้างตัวเลือกตัวเลข

คุณสมบัติหลักของโปรแกรม
- อินเตอร์เฟซที่สะดวก เรียบง่าย และมองเห็นได้
- ตัวสร้างตัวเลขที่ปรับแต่งได้: ฟิลด์ข้อยกเว้น จำนวนชุดค่าผสมที่สร้างขึ้นสามารถปรับได้ตั้งแต่ 1 ถึง 20
- ไม่ต้องติดตั้ง มันจะทำงานบนอุปกรณ์ใด ๆ ที่มีการเข้าถึงอินเทอร์เน็ต
- ทำงานอย่างถูกต้องกับเบราว์เซอร์ยอดนิยมทั้งหมด: Internet Explorer, Opera, Google Chrome และ Mozilla Firefox

ความต้องการของระบบ
เบราว์เซอร์ใด ๆ ที่รองรับมาตรฐาน HTML5

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




ข้อมูลเพิ่มเติม
ใบอนุญาต: ฟรี
นักพัฒนาซอฟต์แวร์: Soft-Archive
ระบบปฏิบัติการที่รองรับ: วินโดวส์ XP, วินโดว์วิสต้า, วินโดว์ 7, วินโดวส์ 8
ภาษาอินเทอร์เฟซ: รัสเซีย
วันที่อัปเดต: 2019-02-12


ความคิดเห็นและคำวิจารณ์: 35

1. เซอร์จิอุส 01.06.2014
แน่นอน ฉันเข้าใจว่าผู้ติดการพนันเป็นคนเชื่อโชคลาง แต่ฉันแค่สงสัยว่า มันสร้างความแตกต่างอะไร: ฉันคิดตัวเลขเหล่านี้เอง หรือเครื่องสร้างตัวเลขนี้ให้ตัวเลขเหล่านี้มา

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

โปรแกรมคอมพิวเตอร์ปราศจากการแทรกแซงจากบุคคลที่สามโดยสมบูรณ์และสร้างตัวเลขสุ่มอย่างแท้จริง

3.อิลอยนอร์ 17.06.2014
เมื่อจับสลาก 5 ลูกจาก 36 ลูกในลอตเตอรีเดียวกัน ลูกบอลจะถูกปล่อยแบบสุ่มจากถังลอตเตอรี่ และการรวมกันของพวกเขาสามารถเป็นอะไรก็ได้อย่างแน่นอน ดังนั้นจึงเป็นไปไม่ได้เลยที่จะสร้างชุดค่าผสมที่ประสบความสำเร็จไม่มากก็น้อย การผสมตัวเลขใดๆ ก็ตามจะมีอัตราการชนะเท่ากันเสมอ
ใครคิดต่างบ้าง?

4. อเล็กซานเดอร์ 08.07.2014
สิ่งใดสิ่งหนึ่งที่สร้างขึ้นหรือรวบรวมด้วยตนเองโดยผู้เล่นเองมีความน่าจะเป็น 1 ใน 376,992 (สำหรับลอตเตอรี 5-36) ตามทฤษฎีแล้วมันเป็นไปได้! คนที่คิดนานพอเกี่ยวกับปัญหา “วิธีเพิ่มความน่าจะเป็น” จะไม่เห็นด้วยกับฉัน

และฉันก็ได้ข้อสรุปว่าทุกอย่างสิ้นหวังจริงๆ หากคุณดูว่าชุดค่าผสมเล่นอย่างไรในอาร์เรย์เต็มรูปแบบของ 5 จาก 36 ชุดเดียวกัน คุณจะเห็นว่าชุดค่าผสมเล่นด้วยความน่าจะเป็นที่เท่ากันในช่วงเวลาที่ค่อนข้างนาน

ในเวลาเดียวกันก็สังเกตเห็นกระจุก (เราดูที่ ท้องฟ้าเต็มไปด้วยดวงดาว) ที่นั่นด้วย การกระจายแบบสุ่ม- เราเห็นว่าดาวฤกษ์กระจุกอยู่ในสถานที่บางแห่ง แต่หากเรามองผ่านกล้องโทรทรรศน์ การกระจายตัวน่าจะยังเหมือนเดิม

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

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

6. ปาชก้า 02.01.2015
“แน่นอน ฉันเข้าใจว่าคนติดการพนันเป็นคนเชื่อโชคลาง”

คำผิด. ลุงของฉันมักจะถูตั๋ว Russian Lotto ที่ซื้อมาทั้งหมดบนแขนเสื้อแจ็กเก็ตตัวเก่านำโชคของเขา

7. ซามูไร 06.01.2015
คุณอยากถูกรางวัลล้านในล็อตโต้ไหม!? คุณต้องการทราบเคล็ดลับในการชนะและกลยุทธ์ในการเลือกหมายเลขที่ถูกต้องหรือไม่? คุณจะพบเคล็ดลับทั้งหมดของการถูกรางวัลล็อตโต้บนเว็บไซต์ *ผู้ดูแล* loto.html
เล่นและชนะ

9. นิโคไล 25.10.2015
โอกาสและโชคพูด แน่นอนใครจะโต้แย้งได้
คุณเคยจินตนาการถึงจำนวนชุดค่าผสมในลอตเตอรี 6 จาก 45 ตัวบ้างไหม?
หากคุณจินตนาการถึงปริมาณนี้อย่างชัดเจนและชัดเจนจะเห็นได้ชัดว่าการพึ่งพาเพียงโอกาสและโชคนั้นไม่เหมาะสม
ใช้จินตนาการของคุณสักหน่อย ฉันหวังว่าคุณจะไม่เถียงว่าเราสามารถใช้ไหวพริบตามธรรมชาติและสุ่มแยกตัวเลขตัวเดียวจาก 45 ได้
ในเวลาเดียวกันคุณต้องพยายามอย่างหนักเพื่อที่จะไม่ขัดขวางเงินรางวัล โอกาสของเหตุการณ์ดังกล่าวจะเป็น 1 ใน 7.5
ตอนนี้เรานับแล้ว - เราได้ยกเว้นตัวเลขนี้สำเร็จแล้ว ในกรณีนี้ เราไม่มีชุดค่าผสมเหลือ 8,145,060 ชุดสำหรับเกม แต่มี 7,059,052 ชุด... นั่นคือ เราได้ลดชุดค่าผสมที่เป็นไปได้ลง 1,086,008 (มากกว่าหนึ่งล้านชุด) จากช่วงชุดค่าผสมที่เป็นไปได้ด้วย หมายเลขเดียว
ตัวอย่างง่ายๆ นี้แสดงให้เห็นความหมายของข้อยกเว้น และคุณไม่ควรคิดว่าคนที่ทุ่มเทเวลามากในการศึกษาวิธีการเล่นลอตเตอรี่ตัวเลขจะไม่เขียนอะไรเลยนอกจาก "อาเจียน"
- ทุกอย่างมีเหตุผลทางคณิตศาสตร์
แน่นอนว่าโชคมีบทบาทสำคัญในลอตเตอรี่ตัวเลข เนื่องจากเราเดิมพันด้วยชุดค่าผสมจำนวนน้อยมากสำหรับเกม
ดังนั้น เพื่อให้ “โชค” ค้นหาคุณได้ง่ายขึ้น คุณต้องใช้วิธีการเล่นเกมบางอย่างที่ออกแบบมาเพื่อลดการรวมตัวของลอตเตอรีที่เลือกให้มากที่สุดเท่าที่จะเป็นไปได้

10. อิกอร์ ซีเค 03.09.2016
นิโคไลเขียนไว้ข้างต้นเกี่ยวกับการยกเว้นตัวเลขหนึ่งตัวเพื่อเพิ่มโอกาสที่ตัวเลขที่เหลือจะปรากฏ ตามทฤษฎีแล้วทั้งหมดนี้เป็นจริง! หากคุณไม่รวมตัวเลข 1 แต่เป็น 3 ตัว โอกาสก็จะยิ่งสูงขึ้นไปอีก
แต่มีอย่างหนึ่ง แต่! นี่คือลอตเตอรีทุกอย่างเป็นแบบสุ่มและคาดเดาไม่ได้ ตัวเลขเดียวกันอาจปรากฏ 10 ครั้งติดต่อกัน แต่อีกหมายเลขหนึ่งอาจไม่ปรากฏแม้แต่ 100 รูปแบบ! เป็นไปไม่ได้ที่จะคำนวณตัวเลขเหล่านี้เอง นั่นคือประเด็น

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

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

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

11. บ้าน 04.09.2016
Igor CK สิ่งที่ Nikolay เขียนไว้ที่นั่น - เขาเขียนเกี่ยวกับตัวเลขหนึ่งตัว และโอกาสที่จะไม่ได้รับเงินรางวัล
ต่อไปลองพิจารณาว่าจะมีโอกาสใดบ้างหากคุณยกเว้นหมายเลข 2 ที่ไม่คว้าเงินรางวัลในอนาคตเป็นต้น))

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

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

12. บ้าน 13.11.2016
โดยทั่วไป ฉันเขียนพื้นฐานบนเว็บไซต์ ซึ่งสามารถพบได้โดยการค้นหา: “VISUAL GENERATOR - ตัวสร้างตัวเลขสุ่มพร้อมข้อยกเว้น” ให้ความสำคัญกับความน่าจะเป็นเป็นอย่างมาก
ฉันสร้างเวอร์ชันสำหรับเกมกลยุทธ์นี้ซึ่งสามารถดาวน์โหลดได้บนเว็บไซต์หรือที่นี่ - VISUAL LOTTO TESTER 3.1

13. ทิโมเฟย 26.11.2016
เพื่อนของฉันที่ทำงานได้รับรางวัลลอตเตอรี 63,000 รูเบิล เขาเดินไปมาอย่างมีความสุขเหมือนงูเหลือม และฉันไม่มีโชคเลย หากคุณโชคดีพอที่จะชนะบางสิ่งบางอย่าง มันจะเป็นเพียงสิ่งเล็กๆ น้อยๆ เท่านั้น

14. สูงสุด 26.11.2016
พวกคุณมีโปรแกรมที่ยอดเยี่ยม“ เครื่องกำเนิดไฟฟ้าที่ชนะรางวัลยูโรล็อตโต้สำหรับลอตเตอรี่ทั้งหมดในโลก” - มีอัลกอริธึมสำหรับการคำนวณการจับรางวัลเมื่อวานนี้ฉันถูกรางวัล 15,000 รูเบิลและกู้คืนต้นทุนได้อย่างสมบูรณ์และได้รับเงินด้วย!

15. ยูริ 01.02.2017
ลองเล่นดูว่าเกิดอะไรขึ้น

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

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

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

17. บ้าน 04.06.2017
นักคณิตศาสตร์เชิงวิเคราะห์หลอกกำลังเผยแพร่เรื่องไร้สาระโดยสิ้นเชิง
สามารถสันนิษฐานได้ว่ามีความเป็นไปได้สูงว่านี่คือการต่อสู้ระหว่างคู่แข่ง (ผู้จัดจำหน่ายตั๋ว)
และคนที่เล่นเกมนี้มาจนถึงตอนนี้และอ่านมามากพอแล้ว พวกเขาคิดจริงๆ ว่ามันเป็นไปได้ยังไง ฉันนับ นับ แล้วนับอีก... และจู้จี้จุกจิก ไม่มีทางที่ฉันจะนับได้)
นั่นคือพวกเขาตำหนิกองกำลังของบุคคลที่สามสำหรับความล้มเหลวซึ่งไม่อนุญาตให้พวกเขาคำนวณก็ไม่มีทางเลย
คุณรู้ไหมว่าคุณสามารถคำนวณบางสิ่งให้เหลือเพียงเศษเสี้ยววินาทีได้จากที่ไหน? ตัวอย่างเช่น ในกลศาสตร์ท้องฟ้า - คราสของดวงจันทร์ - ล่วงหน้าหลายพันปี - จากการสังเกตในอดีต
ดังที่เราทุกคนทราบกันดีว่านักบวชที่เรียนรู้ที่จะทำนายเหตุการณ์ดังกล่าวใช้สิ่งนี้

อนิจจาในลอตเตอรี่ไม่มีช่วงเวลาปกติเช่นเมื่อมีลูกบอลปรากฏขึ้น เนื่องจากเรามีความสุ่มและไม่มีกลไกท้องฟ้าที่ชัดเจน
นั่นคือหากโอกาสของตัวเลขคือ 1 ใน 10 มันจะเล่นแบบสุ่ม - บางแห่งมีการหยุดชั่วคราวบางแห่งจะปรากฏบ่อยขึ้น แต่ถ้าเราทำการทดสอบจำนวนมากโดยเฉลี่ยแล้ว หมายเลขจะปรากฏ 10 ครั้งต่องวด
ความน่าจะเป็นถูกปรับระดับออก
ฉันอ่านการคำนวณเกี่ยวกับแจ็คพอต
เครื่องคิดเลขใช้ส่วนคงที่ของประวัติการหมุนเวียน - ดูจำนวนแจ็คพอตที่พวกเขาได้รับ - ดูจำนวนเดิมพันที่พวกเขาซื้อ
การแบ่งอย่างง่าย - และผลลัพธ์ไม่ได้มาบรรจบกัน นั่นคือยกตัวอย่างในลอตเตอรี 5 จาก 36 ตัว แจ็คพอตควรจะเล่นทุกๆ การเดิมพัน 376,992 ครั้ง)
ปรากฎว่าเล่นไป 10 อัน แต่น่าจะประมาณ 20)
พวกเขานำอีกส่วนหนึ่งของประวัติศาสตร์การหมุนเวียน และคำนวณซ้ำ - และดูเถิด มีมากกว่าที่คำนวณไว้ - ซึ่งหมายความว่ามันยุติธรรมที่นั่น - และแม้แต่องค์กรก็ให้อาหารมากกว่า - เหมือนการให้อาหาร

มาจำตัวเลขตัวเดียวกันเถอะ - วาดในช่วงเวลาหนึ่ง (บนกระดาษ) ประวัติความบังเอิญของตัวเลขเช่น 33 มากกว่า 150 ครั้ง
ทีนี้แบ่งส่วนนี้ออกเป็น 3 ส่วนเท่า ๆ กัน นับจำนวนการแข่งขันในแต่ละส่วน คุณจะมั่นใจว่าจะมี ปริมาณที่แตกต่างกันเรื่องบังเอิญ
แต่โดยเฉลี่ยแล้วสำหรับทั้งกลุ่ม ความน่าจะเป็นจะใกล้เคียงกับส่วนที่คำนวณได้
หมุนเวียน 150 เห็นได้ชัดว่าไม่เพียงพอ

ตอนนี้ไม่มีเครื่องคิดเลขคนใดตกลงที่จะดำเนินการคำนวณเช่น 3,000 เสมอใน 5 จาก 36 นี่คือการใช้แรงงานคนไททานิค (คุณต้องดูจำนวนการเดิมพันที่ซื้อบนเว็บไซต์และบันทึกแจ็คพอต)
ฉันเชื่อว่าโดยเฉลี่ยแล้ว สำหรับการหมุนเวียนจำนวนดังกล่าว ความน่าจะเป็นจะเกี่ยวกับจำนวนที่คำนวณไว้

18. คาซัค 03.07.2017
ฉันสงสัยว่า Stoloto แตกต่างจากคาสิโนที่ถูกแบนในสหพันธรัฐรัสเซียอย่างไร โดยพื้นฐานแล้วการเดิมพันเดียวกันกับตัวเลข โอ้ ใช่แล้ว แค่ชื่ออื่น))) โอ้ ขอพระเจ้าอวยพรชื่อนี้ด้วย ในบทวิจารณ์พวกเขากำลังพูดคุยถึงความเป็นไปได้และโอกาสในการถูกลอตเตอรีอย่างถึงพริกถึงขิง พวกเขายังสร้างเครื่องกำเนิดไฟฟ้าแบบผสมผสานอีกด้วย สิ่งเหล่านี้คือที่แห่งนี้เท่านั้น คนจริงผู้ชนะแจ็คพอตส์และ ชัยชนะครั้งใหญ่- ฉันแนะนำให้ดูวิดีโอหลายรายการบน YouTube เกี่ยวกับการจัดระเบียบลอตเตอรี่ Stoloto เครื่องสร้างตัวเลขสุ่ม (RNG) สิ่งที่เรียกว่าการถ่ายทอดสด ฯลฯ

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

19. สิงโต 09.07.2017
ฉันติดลอตเตอรี่มาประมาณหนึ่งปีแล้ว ฉันเข้าใจในใจว่าฉันแทบไม่มีโอกาสชนะแจ็คพอต แต่ฉันก็ไม่สามารถฉีกตัวเองออกจากเกมได้

20. งาน 12.07.2017
บอกวิธีคำนวณความน่าจะเป็นของจำนวนหนึ่งที่ตกจากร้อยอย่างถูกต้อง

คำตอบ:
ความหมายของคำถามไม่ชัดเจนนัก หากเราสุ่มสุ่มให้หมดคำตอบก็ค่อนข้างชัดเจนโอกาสจะเป็น 1 ใน 100 สำหรับตัวเลขใดๆ ตั้งแต่ 1 ถึง 100
หากคุณกำลังพูดถึงอัลกอริธึมตัวสร้างตัวเลขสุ่ม (RNG) ภาษาการเขียนโปรแกรมใด ๆ มีผู้ปฏิบัติงานของตัวเองที่รับผิดชอบในการสร้างหรือไม่? เป็นการยากที่จะบอกว่ามันสุ่มแค่ไหนเพราะอัลกอริธึมบางตัวยังคงรับผิดชอบการทำงานของมันซึ่งในตัวมันเองไม่รวมอยู่ อุบัติเหตุสมบูรณ์- แต่อย่างไรก็ตาม ผลลัพธ์ที่ได้ก็ใกล้เคียงกับอุดมคติ

21. คิริวชะ 05.09.2017
อย่าเชื่อในความเป็นไปได้ที่จะชนะเงินจำนวนมากจากลอตเตอรี เงินทั้งหมดถูกตัดไปนานแล้ว ค้นหาข้อมูลเกี่ยวกับเจ้าของ Stoloto ทางอินเทอร์เน็ตและจำนวนเงินที่มีอยู่ นอกจากนี้การออกอากาศทั้งหมดจะถูกบันทึกด้วย ผลลัพธ์ใดๆสามารถส่งคืนได้ วิญญาณที่ตายแล้วได้รับแจ็คพอต

22. นิโคไล 23.10.2017
คุณกำลังพูดอะไร! ส่วนเรื่องเครือข่ายก็หาข้อมูลในเน็ตว่าโลกแบน ปรากฎว่าทุกคนโดนหลอกว่าเป็นทรงกลม...และยังเจออีกเพียบ!
คุณเคยเห็นโอกาสในการชนะหรือไม่? คุณลองจินตนาการดูว่าทั้งหมดนี้เกี่ยวกับอะไร? ในลอตเตอรี่ไม่จำเป็นต้อง "เร่งรีบ" เนื่องจากความน่าจะเป็นจะไม่ยอมให้ลอตเตอรีล้มละลาย ผู้จัดงานจะทำกำไรได้เสมอ

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

ข่าวบนเว็บไซต์ stoloto.ru - เว็บไซต์อย่างเป็นทางการของลอตเตอรี่รัสเซีย

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

24. อันเดรย์ 27.10.2017
เครื่องกำเนิดไฟฟ้าแบบผสมผสานที่ดีสำหรับ stoloto STALKER LOTTO - 5x36, 6x45, 7x49, 6x49
ผู้เขียนในหน้าโปรแกรมให้ลิงก์ไปยังฟอรั่มลอตเตอรีที่เขาทำการทดสอบ

25. เซเมม เซเมนิช 20.12.2017
>>>ไม่น่าเป็นไปได้ที่คุณจะพบผู้เขียนโปรแกรมลอตเตอรีที่จะดำเนินการทดสอบต่อสาธารณะ โดยเฉพาะอย่างยิ่งในฟอรั่มลอตเตอรี ซึ่งผู้เล่นไม่ได้โง่เลยที่ได้ผ่านโปรแกรมทั้งแบบฟรีและจ่ายเงินหลายร้อยรายการ

ฉันจะพูดแตกต่างออกไป ไม่น่าเป็นไปได้ที่คุณจะพบนักพนันลอตเตอรีตัวยงที่มีความฉลาดสูง แน่นอนว่าพวกเขาสามารถซื้อตั๋ว 1-2-3 เพื่อความสนุกสนานได้ แต่ผู้คนเข้าใจดีว่าการถูกลอตเตอรีได้รับเงินจำนวนมากนั้นไม่สมจริงโดยเฉพาะอย่างยิ่งในรัสเซีย

26. พาเวล 27.12.2017
ผู้เล่นที่มีความฉลาดสูงจะไม่เล่นโดยใช้ตั๋วหลายใบ แม้จะเพื่อความสนุกสนานก็ตาม ผู้เล่นประเภทนี้เข้าใจทฤษฎีความน่าจะเป็นเป็นอย่างดี ซึ่งสำหรับคนธรรมดาส่วนใหญ่ก็คือการรู้หนังสือภาษาจีน ผู้เล่นดังกล่าวเล่นอย่างเป็นระบบ คำนวณโอกาสและงบประมาณสำหรับเกมอย่างรอบคอบ ผู้เล่นดังกล่าวจะพัฒนากลยุทธ์สำหรับเกม ผู้เล่นดังกล่าวไม่เคยเดิมพันแบบสุ่ม

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

27. ฉันไม่เล่น 05.01.2018
พาเวล คนที่มีสติปัญญาสูงจะเข้าใจดีว่าอะไรคือกลโกง และอะไรไม่ใช่กลโกง และใช่ ความฉลาดของพวกเขาทำให้พวกเขาได้รับเงินโดยมีความน่าจะเป็นที่สูงกว่าลอตเตอรีมาก

28. อเล็กซานเดอร์ 16.01.2018
คุณไม่สามารถชนะที่ Stoloto ได้ มีโปรแกรมสำหรับขายตั๋ว

29. ช่าง 09.06.2018
อย่าหลอกหัว แค่แคปหน้าจอหวยจากเว็บเช็คหลังหวยมีถูกแต่ราคาถูก เช็คหลักพัน เบื่อกับการอัพเดท

30. จุดแข่งขัน 24.06.2018
ฉันเสนอโปรแกรมวิเคราะห์ลอตเตอรี่ทั้งแบบฟรีและเสียเงิน: คีโน, ไม้ขีด, 5/36, 6/45, 6/49, 7/49, ล็อตโต้รัสเซียและอื่น ๆ มีตัวสร้างการรวมตัวเลขที่กำหนดในตัว ตัวสร้างการชนะและแจ็กพอต ความสามารถในการพิมพ์บัตรล็อตโต้และอีกมากมาย คุณสามารถดาวน์โหลดได้ที่นี่ [ลบแล้ว]

31. อิลยา เนเฟดอฟ 13.08.2018
พวกคุณไม่มีใครจะทำให้คุณเป็นผู้ถูกรางวัลลอตเตอรี่ของรัฐ 5 จาก 36 คน ฯลฯ แม้จะคำนึงถึงการจับรางวัลที่ผ่านมาด้วย ทุกอย่างชัดเจนเกี่ยวกับโอกาสที่ตัวเลขสุ่มจะปรากฏขึ้น แต่! เฉพาะในกรณีที่เป็นการสุ่มอย่างแท้จริง และเมื่อไร ชุดค่าผสมที่ชนะถูกสร้างขึ้นโดยคอมพิวเตอร์ที่รู้อยู่แล้วว่าผู้เล่นเลือกชุดค่าผสมอะไร ดังนั้นฉันไม่เชื่อในความซื่อสัตย์ของอัลกอริธึมของมัน เช่นเดียวกับการเล่นในคาสิโนออนไลน์ที่เครื่องกำเนิดรูเล็ตรู้อยู่แล้วว่าคุณเดิมพันอะไร

32. อัลเบิร์ต 08.11.2018
โปรแกรมไม่ทำงานเลย มันลืมตัวเลขที่ไม่จำเป็น ดิบในหนึ่งคำ

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

33. อัลเบิร์ต 11.11.2018
สามารถรวมตัวเลขไว้ในข้อยกเว้นได้กี่หมายเลข? ฉันได้ 30 คะแนน มีรีเพลย์จากการตกรอบ

คำตอบ:
ไม่มีข้อจำกัด คุณกำลังแยกตัวเลขด้วยเครื่องหมายจุลภาคหรือไม่?
ฉันเพิ่มบรรทัดต่อไปนี้ลงในข้อยกเว้น:
1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30

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

34. อัลเบิร์ต 14.11.2018
เบราว์เซอร์ Opera มีการซ้ำซ้อนของตัวเลขเหล่านั้นที่ถูกพิมพ์ลงในข้อยกเว้น
1.2.3.4.5.6.8.10.11.13.14.15.16.17.18.19.20.22.24.26.28.29.30.31.32.34.36.37.38.39.40.41.43.46.47.49.

คำตอบ:
ตัวเลขของคุณคั่นด้วยจุดและไม่ใช่ลูกน้ำ มันควรจะเป็นเช่นนี้:
1,2,3,4,5,6,8,10,11,13,14,15,16,17,18,19,20,22,24,26,28,29,30,31,32,34,36,37,38,39,40,41,43,46,47,49
ชุดค่าผสมนี้ใช้งานได้

  • บทช่วยสอน

คุณเคยสงสัยหรือไม่ว่า Math.random() ทำงานอย่างไร? ตัวเลขสุ่มคืออะไร และได้มาอย่างไร? ลองนึกภาพคำถามสัมภาษณ์ - เขียนโปรแกรมสร้างตัวเลขสุ่มของคุณด้วยโค้ดสองสามบรรทัด แล้วมันคืออะไร อุบัติเหตุ และเป็นไปได้ไหมที่จะคาดเดาได้?

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

เนื้อหานี้จะเป็นประโยชน์สำหรับส่วนหน้าและนักพัฒนา Node.js ทุกคนที่อยู่ในเทคโนโลยีล้ำสมัยและต้องการเข้าร่วมโครงการบล็อกเชน/สตาร์ทอัพ ซึ่งแม้แต่นักพัฒนาส่วนหน้าก็ยังถูกถามคำถามเกี่ยวกับความปลอดภัยและการเข้ารหัสที่ อย่างน้อยก็ในระดับพื้นฐาน

เครื่องกำเนิดตัวเลขสุ่มหลอกและเครื่องกำเนิดตัวเลขสุ่ม

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

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

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

เอนโทรปีเป็นการวัดความผิดปกติ เอนโทรปีของข้อมูลเป็นการวัดความไม่แน่นอนหรือความไม่แน่นอนของข้อมูล
ปรากฎว่าในการสร้างลำดับสุ่มหลอก เราจำเป็นต้องมีอัลกอริธึมที่จะสร้างลำดับที่แน่นอนตามสูตรบางอย่าง แต่ลำดับดังกล่าวสามารถคาดเดาได้ อย่างไรก็ตาม ลองจินตนาการว่าเราจะเขียนตัวสร้างตัวเลขสุ่มของเราเองได้อย่างไร ถ้าเราไม่มี Math.random()

PRNG มีอัลกอริทึมบางอย่างที่สามารถทำซ้ำได้
RNG เป็นกระบวนการรับตัวเลขทั้งหมดจากสัญญาณรบกวนบางประเภท ซึ่งมีความสามารถในการคำนวณซึ่งมีแนวโน้มเป็นศูนย์ ในเวลาเดียวกัน RNG มีอัลกอริธึมบางอย่างในการปรับการกระจายให้เท่ากัน

เราคิดอัลกอริธึม PRNG ขึ้นมาเอง

เครื่องกำเนิดตัวเลขสุ่มเทียม (PRNG) เป็นอัลกอริธึมที่สร้างลำดับของตัวเลขที่มีองค์ประกอบต่างๆ เกือบจะเป็นอิสระจากกัน และเป็นไปตามการแจกแจงที่กำหนด (โดยปกติจะเหมือนกัน)
เราสามารถหาลำดับของตัวเลขบางตัวแล้วเอามอดุลัสของตัวเลขจากพวกมันได้ ตัวอย่างที่ง่ายที่สุดที่อยู่ในใจ เราต้องพิจารณาว่าจะใช้ลำดับใดและโมดูลจากอะไร หากคุณโดยตรงจาก 0 ถึง N และโมดูลัส 2 คุณจะได้ตัวกำเนิด 1 และ 0:

ฟังก์ชั่น* rand() ( const n = 100; const mod = 2; ให้ i = 0; ในขณะที่ (จริง) ( ​​yield i % mod; if (i++ > n) i = 0; ) ) ให้ i = 0; สำหรับ (ให้ x ของ rand()) ( ถ้า (i++ > 100) แตก; console.log(x); )
ฟังก์ชันนี้สร้างลำดับ 01010101010101... และไม่สามารถเรียกว่าการสุ่มหลอกได้ เพื่อให้ตัวสร้างสุ่มได้ จะต้องผ่านการทดสอบบิตถัดไป แต่เราไม่มีงานดังกล่าว อย่างไรก็ตาม แม้ว่าจะไม่มีการทดสอบใดๆ เราก็สามารถทำนายลำดับถัดไปได้ ซึ่งหมายความว่าอัลกอริทึมดังกล่าวไม่เหมาะสม แต่เราอยู่ในทิศทางที่ถูกต้อง

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

Const vector = [...Math.PI.toFixed(48).replace(".","")]; function* rand() ( สำหรับ (ให้ i=3; i<1000; i++) { if (i >99) ผม = 2; แต่ใน JS หมายเลข PI สามารถแสดงได้สูงสุด 48 หลักเท่านั้น และไม่มากไปกว่านี้ ดังนั้นจึงยังคงง่ายต่อการทำนายลำดับดังกล่าว และการเรียกใช้ตัวสร้างแต่ละครั้งจะให้ตัวเลขที่เท่ากันเสมอ แต่ตัวสร้างของเราได้เริ่มแสดงตัวเลขตั้งแต่ 0 ถึง 9 แล้ว

เรามีตัวสร้างตัวเลขตั้งแต่ 0 ถึง 9 แต่การแจกแจงไม่เท่ากันมากและจะสร้างลำดับเดียวกันทุกครั้ง

เราไม่สามารถใช้ตัวเลข Pi แต่ใช้เวลาในการแทนตัวเลขและถือว่าตัวเลขนี้เป็นลำดับของตัวเลข และเพื่อให้แน่ใจว่าลำดับจะไม่ซ้ำกันในแต่ละครั้ง เราจะอ่านมันตั้งแต่ตอนท้าย โดยรวมแล้ว อัลกอริธึมของเราสำหรับ PRNG ของเราจะมีลักษณะดังนี้:

Function* rand() ( la newNumVector = () => [...(+new Date)+""].reverse(); la vector = newNumVector(); ให้ i=2; while (true) ( ​​​​ถ้า ( i++ > 99) i = 2; ให้ n=-1;< vector.length) yield (vector[n] % i); vector = newNumVector(); } } // TEST: let i = 0; for (let x of rand()) { if (i++ >100) แตก;
console.log(x)

นี่ดูเหมือนเครื่องกำเนิดตัวเลขสุ่มหลอกอยู่แล้ว และ Math.random() เดียวกันคือ PRNG เราจะพูดถึงมันในภายหลัง ยิ่งไปกว่านั้น แต่ละครั้งเราจะได้หมายเลขแรกที่แตกต่างกัน จริงๆแล้วเรื่องพวกนี้ตัวอย่างง่ายๆคุณสามารถเข้าใจได้ว่าเครื่องกำเนิดตัวเลขสุ่มที่ซับซ้อนมากขึ้นทำงานอย่างไร

และยังมีอัลกอริธึมสำเร็จรูปอีกด้วย เพื่อเป็นตัวอย่าง ลองดูที่หนึ่งในนั้น — นี่คือ Linear Congruent PRNG (LCPRNG)

PRNG ที่เท่ากันทุกประการเชิงเส้น PRNG สมภาคเชิงเส้น (LCPRNG) เป็นวิธีการทั่วไปในการสร้างตัวเลขสุ่มเทียม มันไม่แข็งแกร่งในการเข้ารหัส วิธีนี้ประกอบด้วยการคำนวณเงื่อนไขของลำดับการเกิดซ้ำเชิงเส้นแบบโมดูโลจำนวนธรรมชาติ m ที่กำหนดโดยสูตร ลำดับผลลัพธ์ขึ้นอยู่กับการเลือกหมายเลขเริ่มต้น — กล่าวคือ เมล็ดพันธุ์ ที่ความหมายที่แตกต่างกัน ได้รับเมล็ดพืชลำดับต่างๆ

ตัวเลขสุ่ม ตัวอย่างการใช้อัลกอริทึมดังกล่าวใน JavaScript:<30; i++) console.log(rand())
ค่าคอน = 45; const ค = 21; ค่าคงที่ ม. = 67; เมล็ด var = 2; const rand = () => seed = (a * seed + c) % m; สำหรับ (ให้ i=0; i

ภาษาโปรแกรมหลายภาษาใช้ LCPRNG (แต่ไม่ใช่อัลกอริธึมนี้(!))

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

Math.random() ทำงานอย่างไร

เมธอด Math.random() ส่งคืนตัวเลขจุดลอยตัวสุ่มหลอกจาก range = crypto.getRandomValues(new Uint8Array(1)); console.log(ค่า)
แต่ต่างจาก Math.random() PRNG ตรงที่วิธีนี้ใช้ทรัพยากรมาก ความจริงก็คือตัวสร้างนี้ใช้การเรียกของระบบในระบบปฏิบัติการเพื่อเข้าถึงแหล่งเอนโทรปี (ที่อยู่ mac, CPU, อุณหภูมิ ฯลฯ ... )

ลอตเตอรี่ การชิงโชค ฯลฯ ต่างๆ มักจะจัดขึ้นในหลายกลุ่มหรือหน้าสาธารณะบนโซเชียลเน็ตเวิร์ก Instagram ฯลฯ และเจ้าของบัญชีใช้เพื่อดึงดูดผู้ชมใหม่ ๆ เข้าสู่ชุมชน

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

ในการตัดสินใจนี้ ผู้จัดลอตเตอรี่มักจะใช้เครื่องสร้างตัวเลขสุ่มแบบออนไลน์หรือที่ติดตั้งไว้ล่วงหน้าซึ่งแจกให้ฟรีๆ

ทางเลือก

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

มีการนำบริการดังกล่าวไปใช้ค่อนข้างมาก แต่ปัญหาคือบริการเหล่านี้แตกต่างกันในขอบเขต

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

เครื่องกำเนิดไฟฟ้าที่ง่ายที่สุดเพียงสุ่มกำหนดตัวเลขภายในช่วงที่กำหนด

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

โดยพื้นฐานแล้วพวกมันไม่มีประโยชน์อื่นใด

<Рис. 1 Генератор>

คำแนะนำ!เมื่อเลือกเครื่องกำเนิดไฟฟ้าที่เหมาะสมที่สุด สิ่งสำคัญคือต้องพิจารณาว่าจะใช้กับอะไร

ข้อมูลจำเพาะ

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

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

การใช้งานทั้งหมดที่กล่าวถึงในตารางมีรายละเอียดเพิ่มเติมด้านล่าง

<Рис. 2 Случайные числа>

แรนด์สตัฟฟ์

<Рис. 3 RandStuff>

คุณสามารถใช้แอปพลิเคชันนี้ออนไลน์ได้โดยไปที่ลิงก์ไปยังเว็บไซต์อย่างเป็นทางการ http://randstuff.ru/number/

นี่คือเครื่องกำเนิดตัวเลขสุ่มอย่างง่าย โดดเด่นด้วยการทำงานที่รวดเร็วและมีเสถียรภาพ

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

ลักษณะเฉพาะของบริการนี้คือสามารถเลือกหมายเลขสุ่มได้ทั้งจากช่วงที่ระบุและจากรายการหมายเลขเฉพาะที่สามารถระบุได้บนเว็บไซต์

ข้อดี:

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

จุดด้อย:

  • ไม่สามารถทำการวาดภาพ VKontakte ได้ (ต้องใช้แอปพลิเคชันแยกต่างหาก)
  • แอปพลิเคชันสำหรับ VKontakte ไม่ได้ทำงานในเบราว์เซอร์ทั้งหมด
  • บางครั้งผลลัพธ์อาจดูคาดเดาได้เนื่องจากใช้อัลกอริธึมการคำนวณเพียงอันเดียวเท่านั้น

บทวิจารณ์ของผู้ใช้แอปพลิเคชันนี้มีดังนี้: “ เราตัดสินผู้ชนะในกลุ่ม VKontakte ผ่านบริการนี้ ขอบคุณ” “คุณเก่งที่สุด” “ฉันใช้บริการนี้เท่านั้น”

หล่อมาก

<Рис. 4 Cast Lots>

แอปพลิเคชันนี้เป็นตัวสร้างฟังก์ชันอย่างง่าย ซึ่งใช้งานบนเว็บไซต์อย่างเป็นทางการในรูปแบบของแอปพลิเคชัน VKontakte

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

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

นั่นคือเมื่อดำเนินการหลายรุ่นติดต่อกันในเซสชันเดียว จำนวนจะไม่ถูกทำซ้ำ

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

เชิงลบ:

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

บทวิจารณ์ของผู้ใช้มีดังนี้: “ใช้งานได้เสถียร ค่อนข้างสะดวกในการใช้งาน” “ฟังก์ชั่นสะดวก” “ฉันใช้บริการนี้เท่านั้น”

ตัวเลขสุ่ม

<Рис. 5 Случайное число>

บริการนี้อยู่ที่ http://randomnumber.rf/

เครื่องกำเนิดไฟฟ้าอย่างง่ายด้วย ฟังก์ชั่นขั้นต่ำและคุณสมบัติเพิ่มเติม

สามารถสุ่มสร้างตัวเลขภายในช่วงที่กำหนดได้ (สูงสุดตั้งแต่ 1 ถึง 99999)

ไซต์ไม่มีการออกแบบกราฟิกใดๆ ดังนั้นหน้าเว็บจึงโหลดได้ง่าย

สามารถคัดลอกหรือดาวน์โหลดผลลัพธ์ได้ด้วยการคลิกปุ่มเพียงปุ่มเดียว

เชิงลบ:

  • ขาดวิดเจ็ตสำหรับ VKontakte;
  • ไม่มีความเป็นไปได้ในการจับฉลาก
  • ไม่มีทางที่จะฝังผลลัพธ์ลงในบล็อกหรือเว็บไซต์ได้

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

แรนดัส

<Рис. 6 Рандомус>

คุณสามารถใช้เครื่องสร้างตัวเลขสุ่มนี้ได้ที่ http://randomus.ru/

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

บริการนี้มีฟังก์ชันการทำงานเพียงพอสำหรับการกำหนดหมายเลขสุ่ม แต่ไม่เหมาะสำหรับการจับสลากและกระบวนการอื่นๆ ที่ซับซ้อนมากขึ้น

เชิงลบ:

  • ความเป็นไปไม่ได้ที่จะเก็บภาพวาดจากการโพสต์ซ้ำ ฯลฯ
  • ไม่มีแอปพลิเคชันสำหรับ VKontakte หรือวิดเจ็ตสำหรับไซต์
  • ไม่สามารถปิดใช้งานผลลัพธ์ที่เกิดซ้ำได้

ด้วยตัวสร้างนี้ คุณสามารถสร้างตัวเลขสุ่มในช่วงใดก็ได้ ตัวสร้างนี้ยังให้คุณสุ่มเลือกหรือกำหนดตัวเลขจากรายการได้ หรือสร้างอาร์เรย์ของตัวเลขสุ่มตั้งแต่ 2 ถึง 70 องค์ประกอบ เครื่องมือออนไลน์นี้ไม่เพียงแต่ช่วยให้คุณสร้างตัวเลขสุ่มหนึ่ง (1), สอง (2) หรือสาม (3) หลักเท่านั้น แต่ยังรวมถึงห้าและเจ็ดด้วย ติดตั้งง่าย. ทุกคนสามารถเชี่ยวชาญมันได้ คุณจะสามารถเลือกหมายเลขสุ่มสำหรับลอตเตอรี่หรือการแข่งขันออนไลน์หรือออฟไลน์ได้ และก็จะสะดวก คุณสามารถสร้างตารางทั้งหมดหรือชุดตัวเลขสุ่มได้อย่างง่ายดาย ในเสี้ยววินาที คุณจะได้รับตัวเลขสุ่มหรือลำดับ (ชุด) บนหน้าจอของคุณ หากคุณเรียงลำดับตัวเลขของคุณ อัลกอริธึมจะเลือกตัวเลขแบบสุ่มหรือตัวเลขสุ่ม ซึ่งตัวเลขตัวใดตัวหนึ่งอาจหลุดออกมาได้ คุณเองสามารถใช้เครื่องมือนี้เพื่อดำเนินการชิงโชคได้ ตัวอย่างเช่น การเลือกช่วงและจำนวนตัวเลขเดียวกันในผลลัพธ์ คุณสามารถสร้างลำดับแบบสุ่ม (ชุดค่าผสม) ได้ คุณยังสามารถเลือกการผสมตัวอักษรและคำแบบสุ่มได้ เครื่องมือนี้ใช้งานได้ฟรีอย่างสมบูรณ์ เช่นเดียวกับทุกอย่างบนไซต์ของเรา (ไม่มีข้อยกเว้น)

ป้อนหมายเลขช่วง

จาก
ถึง
สร้าง

การเปลี่ยนช่วงเพื่อสร้างตัวเลขสุ่ม

1..10 1..100 1..1000 1..10000 สำหรับหวย 5 เต็ม 36 สำหรับหวย 6 เต็ม 45 สำหรับหวย 6 เต็ม 49 สำหรับหวย 6 จาก 59

จำนวนตัวเลขสุ่ม (1)

กำจัดการซ้ำซ้อน

เลือกค่าสุ่มจากรายการ (คั่นด้วยเครื่องหมายจุลภาคหรือช่องว่าง หากพบเครื่องหมายจุลภาค การหารจะดำเนินการตามนั้น มิฉะนั้นจะเว้นวรรค)