การจำลองลอตเตอรีใน Excel

หวยไม่ใช่การล่าโชค

มันเป็นการตามล่าผู้แพ้

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

В этой статье мне хотелось бы ответить на часть этих вопросов. เข้าสู่ระบบ Благо, в Excel для решения таких задач достаточно инструментов, многие из которых, кстаточно инструментов, многие из которых, кстати, могутичибратов, многие из которых, кстати, могутичибратов

ภารกิจที่ 1. ความน่าจะเป็นในการชนะ

ลองใช้ลอตเตอรี Stoloto 6 จาก 45 ตัวเป็นตัวอย่าง ตามกฎแล้ว เฉพาะผู้ที่เดาได้ทั้งหมด 10 ตัวเลขจาก 6 ตัวเท่านั้นที่จะได้รับรางวัลสุดยอด (45 ล้านรูเบิลขึ้นไปหากยอดเงินในกองทุนรางวัลสะสมจากการจับรางวัลครั้งก่อน) หากคุณเดา 5 คุณจะได้รับ 150 rubles ถ้า 4 – 1500 rubles , ถ้า 3 ตัวเลขจาก 6, 150 rubles, ถ้า 2 หมายเลข – คุณจะคืน 50 rubles ที่ใช้ไปกับตั๋ว. เดาเพียงหนึ่งหรือไม่มีเลย - รับเอ็นโดรฟินจากกระบวนการเกมเท่านั้น

ความน่าจะเป็นทางคณิตศาสตร์ของการชนะสามารถคำนวณได้อย่างง่ายดายโดยใช้ฟังก์ชันมาตรฐาน นัมเบอร์คอมบ์ (รวมกัน)ซึ่งมีอยู่ใน Microsoft Excel สำหรับกรณีดังกล่าว ฟังก์ชันนี้คำนวณจำนวนชุดค่าผสมของตัวเลข N จาก M ดังนั้นสำหรับลอตเตอรี “6 จาก 45” ของเรา มันจะเป็น:

=ЧИСлКОМБ(45;6)

… ซึ่งเท่ากับ 8 จำนวนรวมของชุดค่าผสมที่เป็นไปได้ทั้งหมดในลอตเตอรีนี้

หากคุณต้องการคำนวณความน่าจะเป็นสำหรับการชนะบางส่วน (2-5 หมายเลขจาก 6) ก่อนอื่นคุณต้องคำนวณจำนวนของตัวเลือกดังกล่าว ซึ่งเท่ากับผลคูณของจำนวนชุดค่าผสมของตัวเลขที่เดาออก 6 โดยจำนวนตัวเลขที่เดาไม่ออกจากจำนวนที่เหลือ (45-6) = 39 หมายเลข จากนั้นเราหารจำนวนรวมของชุดค่าผสมที่เป็นไปได้ทั้งหมด (8) ด้วยจำนวนการชนะที่ได้รับสำหรับแต่ละตัวเลือก – และเราจะได้ความน่าจะเป็นที่ชนะสำหรับแต่ละกรณี:

การจำลองลอตเตอรีใน Excel

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

หากทั้งหมดข้างต้นไม่ได้หยุดคุณ และคุณยังพร้อมที่จะเล่นต่อ ให้ดำเนินการต่อ

ภารกิจที่ 2 ความถี่ของการเกิดของแต่ละหมายเลข

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

ยกตัวอย่างข้อมูลทั้งหมด 2020 จากการจับสลาก 21 งวดที่เกิดขึ้นใน 6-45 จากเว็บไซต์ของ Stoloto ผู้จัดงานของพวกเขาซึ่งออกแบบในรูปแบบของตาราง "ฉลาด" ดังกล่าวสะดวกสำหรับการวิเคราะห์พร้อมชื่อ แท็บการหมุนเวียนเอกสารสำคัญ. Розыгрыши проходят два раза в день (в 11 утра и в 11 вечера), т.е. в этой таблице у нас полторы тысячи тиражей-строк — вполне достаточная для начала выборка для ан:

การจำลองลอตเตอรีใน Excel

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

การจำลองลอตเตอรีใน Excel

โดยเฉลี่ยแล้ว บอลไหนๆ ก็ควรตก 1459 เสมอ * 6 ลูก / 45 ตัวเลข = 194,53 ครั้ง (นี่คือสิ่งที่เรียกว่าในสถิติ математическим ожиданием), но хорошо видно, что некоторые числа (27, 32, 11…) выпадали заметно чаще (+18%), са некоторые (10, 21, 6…) нанобобае (+15%), са некоторые (XNUMX, XNUMX, XNUMX…) нанобобае Соответственно, можно попробовать использовать эту информацию для стратегии выигрыша, т.е. ต้นกำเนิด либо ставить на те шары, что выпадают чаще, либо наоборот — делать ставку на редко выпадающие наноборот — делать ставку на редко выпадающие наноборот — делать ставку на редко выпадающие наноборот — делать ставку на редко выпадающие натоборот — делать ставку на редко выпадающие натоборот

ภารกิจที่ 3 ตัวเลขใดที่ไม่ได้ถูกดึงออกมาเป็นเวลานาน?

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

Можно легко найти все давно не фадавшие номера, если отсортировать наш архив тиражей за 2020-21 ปีที่แล้ว เปิดเผยมากขึ้น (การแข่งขัน). มันจะค้นหาจากบนลงล่าง (เช่นจากการวิ่งใหม่ไปเก่า) เพื่อค้นหาแต่ละหมายเลขและให้หมายเลขซีเรียลของการวิ่ง (นับจากสิ้นปีถึงจุดเริ่มต้น) ซึ่งหมายเลขนี้ถูกทิ้งครั้งล่าสุด:

การจำลองลอตเตอรีใน Excel

Задача 4. Генератор случайных чисел

อีกกลยุทธ์หนึ่งของเกมนั้นขึ้นอยู่กับการกำจัดปัจจัยทางจิตวิทยาเมื่อคาดเดาตัวเลข เมื่อผู้เล่นเลือกตัวเลขโดยการเดิมพัน เขาจะทำสิ่งนี้โดยไม่รู้ตัวโดยไม่รู้ตัว ตามสถิติเช่น ตัวเลขตั้งแต่ 1 ถึง 31 ถูกเลือกบ่อยกว่าที่เหลือ 70% (วันที่โปรด), 13 ถูกเลือกน้อยกว่า (โหลเว่อร์) ตัวเลขที่มี "เลขนำโชค" เจ็ดตัวมักถูกเลือก ฯลฯ แต่เรากำลังเล่นกับเครื่องจักร (กลองลอตเตอรี) ซึ่งตัวเลขทั้งหมดเหมือนกัน ดังนั้นจึงเหมาะสมที่จะเลือกตัวเลขที่มีความเป็นกลางทางคณิตศาสตร์เหมือนกัน เพื่อให้โอกาสของเราเท่าเทียมกัน ในการทำเช่นนี้ เราจำเป็นต้องสร้างตัวสร้างตัวเลขสุ่มและที่สำคัญที่สุดคือตัวเลขที่ไม่ซ้ำใน Excel:

    การจำลองลอตเตอรีใน Excel

เพื่อทำสิ่งนี้:

  1. มาสร้างตาราง “อัจฉริยะ” ที่ชื่อว่า เครื่องกำเนิดตารางโดยที่คอลัมน์แรกจะเป็นตัวเลขของเราตั้งแต่ 1 ถึง 45
  2. ในคอลัมน์ที่สอง ป้อนน้ำหนักสำหรับแต่ละตัวเลข (เราจะต้องใช้ในภายหลัง) หากตัวเลขทั้งหมดมีค่าเท่ากันสำหรับเรา และเราต้องการเลือกพวกมันด้วยความน่าจะเป็นเท่ากัน ก็สามารถตั้งค่าน้ำหนักให้เท่ากับ 1 ได้ทุกที่
  3. ในคอลัมน์ที่สามเราใช้ฟังก์ชัน สลิช (แรนด์), которая в Excel генерирует случайное дробное число от 0 до 1, добавив к нему вес из предыдущего стоба. ТакIM образом каждый раз при пересчёте листа (нажатии на клавишу) F9) ระบบจะสร้างตัวเลขสุ่มชุดใหม่จำนวน 45 ตัว โดยคำนึงถึงน้ำหนักของตัวเลขแต่ละตัว
  4. ลองเพิ่มคอลัมน์ที่สี่โดยใช้ฟังก์ชัน RANK (อันดับ) вычислим ранг (позицию в топе) для каждого из чисел.

ตอนนี้ยังคงทำการเลือกตัวเลขหกตัวแรกโดยอันดับที่ 6 โดยใช้ฟังก์ชั่น เปิดเผยมากขึ้น (การแข่งขัน):

การจำลองลอตเตอรีใน Excel

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

หากเราตัดสินใจที่จะเล่นในแต่ละงวดไม่ใช่กับหนึ่ง แต่ตัวอย่างเช่นด้วยตั๋วสองใบในแต่ละครั้งซึ่งแต่ละหมายเลขเราจะเลือกหมายเลขที่ไม่ซ้ำ เราก็สามารถเพิ่มบรรทัดเพิ่มเติมจากด้านล่างถึงช่วงสีเขียว การเพิ่ม 6, 12, 18 เป็นต้น ให้กับอันดับ ง. ตามลำดับ:

การจำลองลอตเตอรีใน Excel

งาน 5. Lottery Simulator ใน Excel

มาสร้างเครื่องจำลองลอตเตอรีเต็มรูปแบบใน Excel ซึ่งคุณสามารถลองใช้กลยุทธ์ใดก็ได้และเปรียบเทียบผลลัพธ์ (ในทฤษฎีการปรับให้เหมาะสม สิ่งที่คล้ายกันเรียกอีกอย่างว่าวิธี Monte Carlo แต่จะง่ายกว่า) สำหรับพวกเรา).

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

การจำลองลอตเตอรีใน Excel

บนแผ่นแยกต่างหาก เกม สร้างช่องว่างสำหรับการสร้างแบบจำลองในรูปแบบของตาราง "สมาร์ท" ที่มีชื่อ แท็บIgra แบบฟอร์มต่อไปนี้:

การจำลองลอตเตอรีใน Excel

ที่นี่:

  • ในเซลล์สีเหลืองด้านบน เราจะตั้งค่ามาโครจำนวนการจับรางวัลในปี 2022 ที่เราต้องการเข้าร่วม (1-82) และจำนวนตั๋วที่เราเล่นในการออกรางวัลแต่ละครั้ง
  • ข้อมูลสำหรับ 11 คอลัมน์แรก (AJ) จะถูกคัดลอกโดยมาโครจากแผ่นงานวาด 2022
  • ข้อมูลสำหรับหกคอลัมน์ถัดไป (KP) มาโครจะใช้จากชีต เครื่องกำเนิดไฟฟ้าที่เราได้ใช้ตัวสร้างตัวเลขสุ่ม (ดูปัญหาที่ 4 ด้านบน)
  • ในคอลัมน์ Q เรานับจำนวนการจับคู่ระหว่างตัวเลขที่หลุดกับตัวเลขที่สร้างขึ้นโดยใช้ฟังก์ชัน SUMPRODUCT (ซัมโปรดักส์).
  • В столбце R вычисляем финансовый результат (если не выиграли, то минус 50 рублей за билет, езралибыг.)
  • ในคอลัมน์สุดท้าย S เราพิจารณาผลลัพธ์โดยรวมของทั้งเกมเป็นผลรวมสะสมเพื่อดูการเปลี่ยนแปลงในกระบวนการ

และเพื่อฟื้นฟูโครงสร้างทั้งหมดนี้ เราจำเป็นต้องมีมาโครขนาดเล็ก บนแท็บ ผู้พัฒนา (ผู้พัฒนา) เลือกทีม ของ Visual Basic หรือใช้แป้นพิมพ์ลัด อื่น ๆ+F11. จากนั้นเพิ่มโมดูลเปล่าใหม่ผ่านเมนู แทรก – โมดูล และป้อนรหัสต่อไปนี้ที่นั่น:

Sub Lottery() Dim iGames As Integer, iTickets As Integer, i As Long, t As Integer, b As Integer 'объявляем переменные для ссылки на листы Set wsGame = Worksheets" = แผ่นงาน wsArchive = Worksheets("Тиражи 2022") iGames = wsGame.Range("C1") 'количество тиражей iTickets = wsGame.Range("C2") 'количество билетов в каждом тираже i = 5 'первая строка в таблице таблИгра wsGame.Rows ("6:1048576") ลบ 'очищаем старые данные สำหรับ t = 1 ถึง iGames สำหรับ b = 1 ถึง iTickets 'копируем выигравшие номера с листа Тиражи ก่อนหน้า 2022 (1, 1).Copy Destination:=wsGame.Cells(i, 1) 'копируем и вставляем специальной вставкой значений сгенерированные номитра"s10G1 ผู้พัฒนา:"sGamesRange. .PasteSpecial Paste:=xlPasteValues ​​i = i + 4 Next b Next t End Sub  

ยังคงต้องป้อนพารามิเตอร์เริ่มต้นที่ต้องการในเซลล์สีเหลืองและเรียกใช้แมโครผ่าน นักพัฒนา – Macros (ผู้พัฒนา — มาโคร) หรือแป้นพิมพ์ลัด อื่น ๆ+F8.

การจำลองลอตเตอรีใน Excel

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

การจำลองลอตเตอรีใน Excel

เปรียบเทียบกลยุทธ์ต่างๆ

ตอนนี้ ด้วยการใช้โปรแกรมจำลองที่สร้างขึ้น คุณสามารถทดสอบกลยุทธ์เกมใดๆ ในการออกรางวัลจริงในปี 2022 และดูผลลัพธ์ที่จะเกิดขึ้น หากคุณเล่นตั๋ว 1 ใบในแต่ละงวด ภาพรวมของ “ลูกพลัม” จะมีลักษณะดังนี้:

การจำลองลอตเตอรีใน Excel

ที่นี่:

  • เครื่องกำเนิดไฟฟ้า เป็นเกมที่ในแต่ละงวด เราเลือกตัวเลขสุ่มที่สร้างโดยตัวสร้างของเรา (ที่มีน้ำหนักเท่ากัน)
  • ห้องพักที่ชื่นชอบ เป็นเกมที่แต่ละงวดเราใช้ตัวเลขเดียวกัน – ตัวเลขที่มักจะหลุดออกมาในช่วงสองปีที่ผ่านมา (27, 32, 11, 14, 34, 40)
  • คนนอก – เหมือนกัน แต่เราใช้ตัวเลขแบบเลื่อนลงที่หายากที่สุด (12, 18, 26, 10, 21, 6)
  • เย็น – ในการจับฉลากทั้งหมดเราใช้หมายเลขที่ไม่หลุดมาเป็นเวลานาน (35, 5, 39, 11, 6, 29)

อย่างที่คุณเห็น ไม่มีอะไรแตกต่างกันมาก แต่ตัวสร้างตัวเลขสุ่มทำงานได้ดีกว่า "กลยุทธ์" อื่นๆ เล็กน้อย

( иногда для этого несколько игроков объединяются в группу).

เล่นในแต่ละงวดด้วยตั๋วหนึ่งใบพร้อมหมายเลขที่สร้างแบบสุ่ม (ที่มีน้ำหนักเท่ากัน):

การจำลองลอตเตอรีใน Excel

เล่นตั๋ว 10 ใบในแต่ละงวดด้วยตัวเลขที่สร้างแบบสุ่ม (โดยมีน้ำหนักเท่ากัน):

การจำลองลอตเตอรีใน Excel

เล่นตั๋ว 100 ใบในแต่ละงวดด้วยตัวเลขสุ่ม (น้ำหนักเท่ากัน):

การจำลองลอตเตอรีใน Excel

ความคิดเห็นอย่างที่พวกเขาพูดนั้นฟุ่มเฟือย – การระบายเงินฝากเป็นสิ่งที่หลีกเลี่ยงไม่ได้ในทุกกรณี 🙂

เขียนความเห็น