Excel मध्ये लॉटरी सिम्युलेशन

लॉटरी ही नशिबाची शिकार नाही,

तो पराभूतांचा शोध आहे.

हेवा करण्यायोग्य नियमिततेसह (आणि बर्‍याचदा अलीकडे), लोक लॉटरींशी संबंधित विविध गणनांमध्ये मदतीसाठी मला पत्र लिहितात. कुणाला एक्सेलमध्ये विजयी क्रमांक निवडण्यासाठी त्यांचा गुप्त अल्गोरिदम लागू करायचा आहे, कुणाला भूतकाळातील सोडतीतून बाहेर पडलेल्या संख्येतील नमुने शोधायचे आहेत, कुणाला लॉटरीच्या आयोजकांना अप्रामाणिक खेळात पकडायचे आहे.

В этой статье мне хотелось бы ответить на часть этих вопросов. Благо, в Excel для решения таких задач достаточно инструментов, многие из которых, кстати, могут пригодиться и болочахихения в.

कार्य 1. जिंकण्याची संभाव्यता

उदाहरण म्हणून 6 लॉटरी पैकी क्लासिक स्टोलोटो 45 घेऊ. नियमांनुसार, ज्यांनी 10 पैकी सर्व 6 क्रमांकांचा अंदाज लावला आहे त्यांनाच सुपर बक्षीस (45 दशलक्ष रूबल किंवा त्याहून अधिक रक्कम जर मागील ड्रॉमधून बक्षीस निधीची शिल्लक जमा झाली असेल तर) मिळेल. जर तुम्ही 5 चा अंदाज लावला असेल तर तुम्हाला 150 हजार रुबल मिळतील, जर 4 - 1500 रुबल असतील. , 3 पैकी 6 क्रमांक असल्यास, 150 रूबल, 2 क्रमांक असल्यास - तुम्हाला तिकिटावर खर्च केलेले 50 रूबल परत कराल. फक्त एक किंवा काहीही अंदाज लावा - गेम प्रक्रियेतून फक्त एंडॉर्फिन मिळवा.

मानक फंक्शन वापरून जिंकण्याची गणितीय संभाव्यता सहजपणे मोजली जाऊ शकते NUMBERCOMB (एकत्र), जे अशा केससाठी Microsoft Excel मध्ये उपलब्ध आहे. हे फंक्शन M पैकी N संख्यांच्या संयोगांची गणना करते. त्यामुळे आमच्या "6 पैकी 45" लॉटरीसाठी हे असेल:

=ЧИСЛКОМБ(४५;६)

… जे 8 च्या बरोबरीचे आहे, या लॉटरीमधील सर्व संभाव्य संयोजनांची एकूण संख्या.

जर तुम्हाला आंशिक विजयाच्या संभाव्यतेची गणना करायची असेल (2 पैकी 5-6 संख्या), तर तुम्हाला प्रथम अशा पर्यायांची संख्या मोजावी लागेल, जी अंदाजित संख्यांच्या संयोगांच्या संख्येच्या गुणानुरूप आहे. 6 उर्वरित (45-6) = 39 संख्यांपैकी अकल्पित संख्यांच्या संख्येनुसार. मग आम्ही सर्व संभाव्य संयोजनांची एकूण संख्या (8) प्रत्येक पर्यायासाठी मिळालेल्या विजयांच्या संख्येने विभाजित करतो - आणि आम्हाला प्रत्येक केससाठी जिंकण्याची संभाव्यता मिळते:

Excel मध्ये लॉटरी सिम्युलेशन

तसे, संभाव्यता, उदाहरणार्थ, आमच्या देशात विमान अपघातात मृत्यूची शक्यता एक दशलक्षांपैकी 1 आहे. आणि रूलेटमध्ये कॅसिनोमध्ये जिंकण्याची संभाव्यता, एका नंबरवर सर्वकाही बेटिंग 1 ते 37 आहे.

जर वरील सर्व गोष्टींनी तुम्हाला थांबवले नाही आणि तुम्ही अजून खेळण्यास तयार असाल तर सुरू ठेवा.

कार्य 2. प्रत्येक संख्येच्या घटनेची वारंवारता

सुरुवातीला, विशिष्ट संख्या कोणत्या वारंवारतेने बाहेर पडतात हे ठरवू. आदर्श लॉटरीमध्ये, विश्लेषणासाठी पुरेसा मोठा कालावधी दिला असता, सर्व बॉल्समध्ये विजेत्या नमुन्यात असण्याची समान शक्यता असावी. प्रत्यक्षात, लॉटरी ड्रमची डिझाइन वैशिष्ट्ये आणि बॉल्सचे वजन-आकार हे चित्र विकृत करू शकतात आणि काही बॉलसाठी बाहेर पडण्याची शक्यता इतरांपेक्षा जास्त/कमी असू शकते. चला या गृहितकाची प्रत्यक्ष व्यवहारात चाचणी करूया.

उदाहरणार्थ, त्यांच्या आयोजक स्टोलोटोच्या वेबसाइटवरून 2020-21 मध्ये झालेल्या 6 लॉटरी ड्रॉपैकी सर्व 45 मधील डेटा घेऊ, विश्लेषणासाठी सोयीस्कर अशा "स्मार्ट" टेबलच्या स्वरूपात डिझाइन केलेले, नावासह. टॅब संग्रहण अभिसरण. Розыгрыши проходят два раза в день (в 11 утра и в 11 вечера), т.е. в этой таблице у нас полторы тысячи тиражей-строк — вполне достаточная для начала выборка для анализа:

Excel मध्ये लॉटरी सिम्युलेशन

प्रत्येक संख्येच्या वारंवारतेची गणना करण्यासाठी, फंक्शन वापरा COUNTIF (COUNTIF) आणि त्यात फंक्शन जोडा TEXT (पाठ)एकल-अंकी संख्यांच्या आधी आणि नंतर अग्रगण्य शून्य आणि तारा जोडण्यासाठी, जेणेकरून COUNTIF स्तंभ B मध्ये कोठेही संयोगाची घटना शोधू शकेल. तसेच, अधिक स्पष्टतेसाठी, आम्ही परिणामांनुसार एक चार्ट तयार करू आणि वारंवारता क्रमवारी लावू. उतरत्या क्रमाने:

Excel मध्ये लॉटरी सिम्युलेशन

सरासरी, कोणताही चेंडू 1459 ड्रॉ * 6 चेंडू / 45 संख्या = 194,53 वेळा पडला पाहिजे (यालाच आकडेवारीमध्ये म्हणतात математическим ожиданием, но хорошо видно, что некоторые числа (27, 32, 11…) выпадали заметно чаще (+18%), а некоторые (10, 21, 6…) (%15, XNUMX…) Соответственно, можно попробовать использовать эту информацию для стратегии выигрыша, т.е. либо ставить на те шары, что выпадают чаще, либо наоборот — делать ставку на редко выпадающие шары в надегодающие шары в надегожде,

कार्य 3. कोणती संख्या बर्याच काळापासून काढली गेली नाही?

दुसरी रणनीती या कल्पनेवर आधारित आहे की पुरेशा मोठ्या संख्येने सोडतीसह, 1 ते 45 पर्यंत उपलब्ध असलेल्या सर्व क्रमांकांपैकी प्रत्येक संख्या लवकर किंवा नंतर बाहेर पडली पाहिजे. म्हणून जर विजेत्यांमध्ये काही संख्या बर्याच काळापासून दिसल्या नाहीत ("कोल्ड बॉल"), तर भविष्यात त्यांच्यावर पैज लावण्याचा प्रयत्न करणे तर्कसंगत आहे. 

Можно легко найти все давно не выпадавшие номера, если отсортировать наш архив тиражей за 2020-21 год по убодавшие номера अधिक उघड (सामना). प्रत्येक क्रमांक शोधण्यासाठी ते वरपासून खालपर्यंत (म्हणजे नवीन ते जुन्या धावांपर्यंत) शोधेल आणि धावांचा अनुक्रमांक (वर्षाच्या अखेरीपासून सुरुवातीपर्यंत मोजत) देईल जिथे हा क्रमांक शेवटचा टाकला गेला होता:

Excel मध्ये लॉटरी सिम्युलेशन

Задача 4. जेनेराटोर

दुसरी गेम रणनीती संख्यांचा अंदाज लावताना मनोवैज्ञानिक घटक काढून टाकण्यावर आधारित आहे. जेव्हा एखादा खेळाडू बाजी मारून संख्या निवडतो, तेव्हा तो अवचेतनपणे हे पूर्णपणे तर्कशुद्धपणे करत नाही. आकडेवारीनुसार, उदाहरणार्थ, 1 ते 31 पर्यंतची संख्या उर्वरित (आवडत्या तारखा) पेक्षा 70% जास्त वेळा निवडली जाते, 13 कमी वेळा निवडली जाते (डझनभर), "भाग्यवान" सात असलेली संख्या अधिक वेळा निवडली जाते इ. परंतु आम्ही एका मशीन (लॉटरी ड्रम) विरुद्ध खेळत आहोत ज्यासाठी सर्व संख्या समान आहेत, म्हणून आमच्या शक्यता समान करण्यासाठी समान गणितीय निष्पक्षतेने त्यांची निवड करणे अर्थपूर्ण आहे. हे करण्यासाठी, आम्हाला एक्सेलमध्ये यादृच्छिक आणि - सर्वात महत्त्वाचे - पुनरावृत्ती न होणार्‍या क्रमांकांचे जनरेटर तयार करणे आवश्यक आहे:

    Excel मध्ये लॉटरी सिम्युलेशन

हे करण्यासाठी:

  1. चला नावाचे "स्मार्ट" टेबल बनवू टेबल जनरेटर, जिथे पहिला स्तंभ 1 ते 45 पर्यंत आमचा क्रमांक असेल.
  2. दुसऱ्या स्तंभात, प्रत्येक संख्येसाठी वजन प्रविष्ट करा (आम्हाला थोड्या वेळाने याची आवश्यकता असेल). जर सर्व संख्या आपल्यासाठी समान मूल्यवान असतील आणि आपल्याला समान संभाव्यतेसह त्यांची निवड करायची असेल, तर वजन सर्वत्र 1 च्या बरोबरीने सेट केले जाऊ शकते.
  3. तिसऱ्या स्तंभात आपण फंक्शन वापरतो SLCHIS (RAND), которая в Excel генерирует случайное дробное число от 0 до 1, добавив к нему вес из предыдущего столбца. Таким образом каждый раз при пересчёте листа (нажатии на клавишу F9) 45 यादृच्छिक संख्यांचा एक नवीन संच तयार केला जाईल, त्या प्रत्येकाचे वजन लक्षात घेऊन.
  4. फंक्शन वापरताना चौथा स्तंभ जोडू RANK (रँक) вычислим ранг (позицию в топе) для каждого из чисел.

आता फंक्शन वापरून रँक 6 द्वारे पहिल्या सहा क्रमांकांची निवड करणे बाकी आहे अधिक उघड (सामना):

Excel मध्ये लॉटरी सिम्युलेशन

При нажатии на клавишу F9 एक्सेल शीटवरील सूत्रांची पुनर्गणना केली जाईल आणि प्रत्येक वेळी आपल्याला ग्रीन सेलमध्ये 6 संख्यांचा एक नवीन संच मिळेल. शिवाय, स्तंभ B मध्ये ज्या संख्येसाठी मोठे वजन सेट केले आहे त्यांना प्रमाणानुसार उच्च श्रेणी प्राप्त होईल आणि अशा प्रकारे, आमच्या यादृच्छिक नमुन्याच्या परिणामांमध्ये अधिक वेळा दिसून येईल. जर सर्व संख्यांचे वजन समान असेल तर ते सर्व समान संभाव्यतेसह निवडले जातील. अशा प्रकारे आम्हाला 6 पैकी 45 चा निष्पक्ष आणि निःपक्षपाती यादृच्छिक क्रमांक जनरेटर मिळतो, परंतु आवश्यक असल्यास वितरणाच्या यादृच्छिकतेमध्ये समायोजन करण्याची क्षमता आहे.

जर आम्ही प्रत्येक ड्रॉमध्ये एकासह नाही तर, उदाहरणार्थ, एकाच वेळी दोन तिकिटांसह खेळण्याचे ठरवले, ज्यापैकी प्रत्येकामध्ये आम्ही पुनरावृत्ती न होणारे क्रमांक निवडू, तर आम्ही तळापासून हिरव्या श्रेणीत अतिरिक्त ओळी जोडू शकतो, रँकमध्ये 6, 12, 18, इत्यादी जोडणे. d अनुक्रमे:

Excel मध्ये लॉटरी सिम्युलेशन

कार्य 5. Excel मध्ये लॉटरी सिम्युलेटर

या संपूर्ण विषयाचा अ‍ॅपोथिओसिस म्हणून, चला एक्सेलमध्ये एक संपूर्ण लॉटरी सिम्युलेटर तयार करूया, जिथे तुम्ही कोणतीही रणनीती वापरून पाहू शकता आणि परिणामांची तुलना करू शकता (ऑप्टिमायझेशन सिद्धांतामध्ये, असेच काहीतरी मॉन्टे कार्लो पद्धत देखील म्हटले जाते, परंतु ते सोपे होईल. आमच्यासाठी).

सर्वकाही शक्य तितक्या वास्तविकतेच्या जवळ जाण्यासाठी, क्षणभर कल्पना करा की तो 1 जानेवारी 2022 आहे आणि आमच्यापुढे या वर्षीचे ड्रॉ आहेत, ज्यामध्ये आम्ही खेळण्याची योजना आखत आहोत. मी टेबलमध्ये खरे उतरलेले आकडे टाकले tablTiraži2022, त्यानंतरच्या गणनेच्या सोयीसाठी एकमेकांपासून अतिरिक्त काढलेल्या संख्यांना स्वतंत्र स्तंभांमध्ये वेगळे करणे:

Excel मध्ये लॉटरी सिम्युलेशन

वेगळ्या शीटवर खेळ नावासह "स्मार्ट" टेबलच्या स्वरूपात मॉडेलिंगसाठी रिक्त जागा तयार करा tabIgra खालील फॉर्म:

Excel मध्ये लॉटरी सिम्युलेशन

येथे:

  • वरील पिवळ्या सेलमध्ये, आम्ही मॅक्रोसाठी 2022 मधील ड्रॉची संख्या सेट करू ज्यामध्ये आम्हाला भाग घ्यायचा आहे (1-82) आणि आम्ही प्रत्येक ड्रॉमध्ये किती तिकिट खेळू.
  • 11 च्या ड्रॉ शीटमधून पहिल्या 2022 स्तंभांचा (AJ) डेटा मॅक्रोद्वारे कॉपी केला जाईल.
  • पुढील सहा स्तंभांसाठी (KP) डेटा मॅक्रो शीटमधून घेईल जनरेटर, जेथे आम्ही यादृच्छिक क्रमांक जनरेटर लागू केला आहे (वरील समस्या 4 पहा).
  • स्तंभ Q मध्ये, आम्ही सोडलेल्या संख्या आणि फंक्शन वापरून तयार केलेल्या जुळण्यांची संख्या मोजतो. संक्षेप (SUMPRODUCT).
  • В столбце R вычисляем финансовый результат (если не выиграли, то минус 50 рублей за билет, если выиграли, то призультат) —.
  • शेवटच्या स्तंभ S मध्ये, प्रक्रियेतील गतिशीलता पाहण्यासाठी आम्ही संपूर्ण गेमचा एकूण परिणाम एकत्रित एकूण मानतो.

आणि ही संपूर्ण रचना पुनरुज्जीवित करण्यासाठी, आपल्याला एका लहान मॅक्रोची आवश्यकता आहे. टॅबवर विकसक (विकासक) एक संघ निवडा व्हिज्युअल बेसिक किंवा कीबोर्ड शॉर्टकट वापरा alt+F11. नंतर मेनूद्वारे एक नवीन रिक्त मॉड्यूल जोडा घाला - मॉड्यूल आणि तेथे खालील कोड प्रविष्ट करा:

सब लॉटरी() पूर्णांक म्हणून iGames मंद करा, iTickets पूर्णांक म्हणून, i तितका लांब, t पूर्णांक म्हणून, b पूर्णांक म्हणून 'объявляем переменные для ссылки на листы Set wsGame = Worksheets("Игра") वर्कशीट्स सेट करा wsArchive = वर्कशीट्स("Тиражи 2022") iGames = wsGame.Range("C1") 'количество тиражей iTickets = wsGame.Range("C2") 'количество билество билетов в wsGame.Range ("5:6"). t = 1048576 ते iGames साठी b = 1 iTickets साठी 'очищаем старые данные' हटवा (1, 2022). डेस्टिनेशन कॉपी करा:=wsGame.Cells(i, 1) 'копируем и вставляем специальной вставкой значений сгенерированные номера с листавкой значений сгенерированные номера с листаNGame.Cells(i, 1)". .PasteSpecial Paste:=xlPasteValues ​​i = i + 1 पुढील b पुढील t एंड सब  

पिवळ्या पेशींमध्ये इच्छित प्रारंभिक पॅरामीटर्स प्रविष्ट करणे आणि मॅक्रो चालवणे बाकी आहे विकसक - मॅक्रो (विकासक — मॅक्रो) किंवा कीबोर्ड शॉर्टकट alt+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 मध्ये लॉटरी सिम्युलेशन

टिप्पण्या, जसे ते म्हणतात, अनावश्यक आहेत - सर्व प्रकरणांमध्ये ठेव निचरा अपरिहार्य आहे 🙂

प्रत्युत्तर द्या