एक्सेल में लॉटरी सिमुलेशन

लॉटरी भाग्य का शिकार नहीं है,

यह हारने वालों का शिकार है।

गहरी नियमितता के साथ (और अधिक बार हाल ही में), लोग मुझे लिखते हैं और लॉटरी से संबंधित विभिन्न गणनाओं में मदद मांगते हैं। कोई एक्सेल में जीतने वाले नंबरों का चयन करने के लिए अपने गुप्त एल्गोरिदम को लागू करना चाहता है, कोई पिछले ड्रॉ से बाहर हो गई संख्याओं में पैटर्न ढूंढना चाहता है, कोई बेईमान गेम में लॉटरी के आयोजकों को पकड़ना चाहता है।

той статье мне отелось ответить на асть тих вопросов. лаго, в Excel में

टास्क 1. जीतने की प्रायिकता

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

जीतने की गणितीय संभावना की गणना मानक फ़ंक्शन का उपयोग करके आसानी से की जा सकती है नंबरकॉम (जोड़ना), जो ऐसे मामले के लिए माइक्रोसॉफ्ट एक्सेल में उपलब्ध है। यह फ़ंक्शन M में से N संख्याओं के संयोजनों की संख्या की गणना करता है। इसलिए हमारी "6 में से 45" लॉटरी के लिए यह होगा:

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

... जो 8 के बराबर है, इस लॉटरी में सभी संभावित संयोजनों की कुल संख्या।

यदि आप आंशिक जीत की संभावना की गणना करना चाहते हैं (2 में से 5-6 संख्या), तो आपको पहले ऐसे विकल्पों की संख्या की गणना करनी होगी, जो अनुमानित संख्याओं के संयोजनों की संख्या के गुणनफल के बराबर है। 6 शेष में से असंदिग्ध संख्याओं की संख्या से (45-6) = 39 संख्याएँ। फिर हम सभी संभावित संयोजनों की कुल संख्या (8) को प्रत्येक विकल्प के लिए प्राप्त जीत की संख्या से विभाजित करते हैं - और हमें प्रत्येक मामले के लिए जीतने की संभावनाएं मिलती हैं:

एक्सेल में लॉटरी सिमुलेशन

वैसे, हमारे देश में विमान दुर्घटना में मरने की संभावना, उदाहरण के लिए, एक मिलियन में लगभग 1 का अनुमान है। और रूले में एक कैसीनो में जीतने की संभावना, एक नंबर पर सब कुछ दांव पर लगाना 1 से 37 है।

यदि उपरोक्त सभी ने आपको नहीं रोका और आप अभी भी आगे खेलने के लिए तैयार हैं, तो जारी रखें।

कार्य 2. प्रत्येक संख्या के घटित होने की आवृत्ति

आरंभ करने के लिए, आइए निर्धारित करें कि किस आवृत्ति के साथ कुछ संख्याएँ गिरती हैं। एक आदर्श लॉटरी में, विश्लेषण के लिए पर्याप्त समय अंतराल दिया जाता है, सभी गेंदों के जीतने वाले नमूने में होने की समान संभावना होनी चाहिए। वास्तव में, लॉटरी ड्रम की डिजाइन विशेषताएं और गेंदों के वजन-आकार इस तस्वीर को विकृत कर सकते हैं, और कुछ गेंदों के लिए गिरने की संभावना दूसरों की तुलना में अधिक/कम हो सकती है। आइए इस परिकल्पना का व्यवहार में परीक्षण करें।

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

एक्सेल में लॉटरी सिमुलेशन

प्रत्येक संख्या के घटित होने की आवृत्ति की गणना करने के लिए, फ़ंक्शन का उपयोग करें COUNTIF (काउंटिफ) और इसमें एक फ़ंक्शन जोड़ें पाठ (पाठ)एकल-अंकीय संख्याओं के पहले और बाद में अग्रणी शून्य और तारांकन जोड़ने के लिए, ताकि COUNTIF कॉलम B के संयोजन में कहीं भी किसी संख्या की घटना की तलाश कर सके। साथ ही, अधिक स्पष्टता के लिए, हम परिणामों के आधार पर एक चार्ट बनाएंगे और आवृत्तियों को क्रमबद्ध करेंगे। घटते क्रम में:

एक्सेल में लॉटरी सिमुलेशन

औसतन, किसी भी गेंद को गिरना चाहिए 1459 ड्रा * 6 गेंदें / 45 नंबर = 194,53 बार (यह वही है जो आंकड़ों में कहा जाता है) मैटेमेटीसेस्किम ओशिनिएम), इस समय (+27%), उत्तर (+32%), उत्तर (11, 18%), उत्तर (10, 21, 6...) оответственно, можно опробовать использовать ту информацию ля стратегии выигрыша, т.е. इस समय यह कह सकते हैं, यहां तक ​​कह सकते हैं

टास्क 3. कौन सी संख्याएँ लंबे समय से नहीं खींची गई हैं?

एक और रणनीति इस विचार पर आधारित है कि पर्याप्त बड़ी संख्या में ड्रॉ के साथ, जल्दी या बाद में 1 से 45 तक उपलब्ध सभी नंबरों में से प्रत्येक नंबर गिर जाना चाहिए। इसलिए यदि विजेताओं के बीच लंबे समय तक ("कोल्ड बॉल्स") कुछ नंबर नहीं आए हैं, तो भविष्य में उन पर दांव लगाने की कोशिश करना तर्कसंगत है। 

यहां तक ​​​​कि यह भी नहीं है अधिक उजागर (मिलान). यह प्रत्येक नंबर की खोज करने के लिए ऊपर से नीचे (यानी नए से पुराने रनों तक) की खोज करेगा और रन की क्रम संख्या (वर्ष के अंत से शुरुआत तक की गिनती) देगा जहां यह संख्या पिछली बार गिराई गई थी:

एक्सेल में लॉटरी सिमुलेशन

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

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

    एक्सेल में लॉटरी सिमुलेशन

यह करने के लिए:

  1. आइए एक "स्मार्ट" टेबल बनाएं जिसका नाम है टेबल जेनरेटर, जहां पहला कॉलम हमारे नंबर 1 से 45 तक होगा।
  2. दूसरे कॉलम में, प्रत्येक संख्या के लिए वजन दर्ज करें (हमें थोड़ी देर बाद इसकी आवश्यकता होगी)। यदि सभी संख्याएँ हमारे लिए समान रूप से मूल्यवान हैं और हम उन्हें समान संभावना के साथ चुनना चाहते हैं, तो वजन हर जगह 1 के बराबर सेट किया जा सकता है।
  3. तीसरे कॉलम में हम फ़ंक्शन का उपयोग करते हैं SLCHIS (रैंड), एक्सेल में कोटोराज़ енерирует случайное робное исло от 0 о 1, обавив к нему вес из редыдущего столбца। аким образом каждый раз ри ересчёте листа (нажатии на клавишу F9) उनमें से प्रत्येक के वजन को ध्यान में रखते हुए, 45 यादृच्छिक संख्याओं का एक नया सेट तैयार किया जाएगा।
  4. आइए एक चौथा कॉलम जोड़ें, जहां फ़ंक्शन का उपयोग करें दर्जा (पद) вычислим ранг (позицию в топе) ля каждого из исел।

अब यह फ़ंक्शन का उपयोग करके रैंक 6 द्वारा पहले छह नंबरों का चयन करना बाकी है अधिक उजागर (मिलान):

एक्सेल में लॉटरी सिमुलेशन

ри нажатии на клавишу F9 एक्सेल शीट पर फ़ार्मुलों की पुनर्गणना की जाएगी और हर बार हमें ग्रीन सेल में 6 नंबरों का एक नया सेट मिलेगा। इसके अलावा, जिन संख्याओं के लिए कॉलम बी में एक बड़ा वजन निर्धारित किया गया था, उन्हें आनुपातिक रूप से उच्च रैंक प्राप्त होगी और इस प्रकार, हमारे यादृच्छिक नमूने के परिणामों में अधिक बार दिखाई देंगे। यदि सभी संख्याओं के लिए भार समान पर सेट किया जाता है, तो उन सभी को समान प्रायिकता के साथ चुना जाएगा। इस तरह हमें 6 में से 45 का एक निष्पक्ष और निष्पक्ष यादृच्छिक संख्या जनरेटर मिलता है, लेकिन यदि आवश्यक हो तो वितरण की यादृच्छिकता में समायोजन करने की क्षमता के साथ।

यदि हम प्रत्येक ड्रॉ में एक के साथ नहीं, बल्कि, उदाहरण के लिए, एक बार में दो टिकटों के साथ खेलने का निर्णय लेते हैं, जिनमें से प्रत्येक में हम गैर-दोहराव वाले नंबरों का चयन करेंगे, तो हम बस नीचे से ग्रीन रेंज में अतिरिक्त लाइनें जोड़ सकते हैं, रैंक में 6, 12, 18, आदि जोड़ना। डी। क्रमश:

एक्सेल में लॉटरी सिमुलेशन

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

इस पूरे विषय के एपोथोसिस के रूप में, आइए एक्सेल में एक पूर्ण लॉटरी सिम्युलेटर बनाएं, जहां आप किसी भी रणनीति को आजमा सकते हैं और परिणामों की तुलना कर सकते हैं (अनुकूलन सिद्धांत में, कुछ इसी तरह को मोंटे कार्लो विधि भी कहा जाता है, लेकिन यह आसान होगा हमारे लिए)।

सब कुछ यथासंभव वास्तविकता के करीब बनाने के लिए, एक पल के लिए कल्पना करें कि यह 1 जनवरी, 2022 है और हमारे सामने इस वर्ष के ड्रा हैं, जिसमें हम खेलने की योजना बना रहे हैं। मैंने तालिका में वास्तविक गिराए गए नंबरों को दर्ज किया टैब्लतिराži2022, बाद की गणनाओं की सुविधा के लिए अतिरिक्त रूप से खींची गई संख्याओं को एक दूसरे से अलग कॉलम में अलग करना:

एक्सेल में लॉटरी सिमुलेशन

एक अलग शीट पर खेल नाम के साथ "स्मार्ट" तालिका के रूप में मॉडलिंग के लिए रिक्त स्थान बनाएं टैबइग्रा निम्नलिखित रूप:

एक्सेल में लॉटरी सिमुलेशन

यहाँ:

  • उपरोक्त पीले सेल में, हम मैक्रो के लिए 2022 में ड्रॉ की संख्या निर्धारित करेंगे जिसमें हम भाग लेना चाहते हैं (1-82) और प्रत्येक ड्रा में हमारे द्वारा खेले जाने वाले टिकटों की संख्या।
  • पहले 11 कॉलम (एजे) के डेटा को मैक्रो द्वारा 2022 ड्रॉ शीट से कॉपी किया जाएगा।
  • अगले छह कॉलम (केपी) के लिए डेटा मैक्रो शीट से लेगा जनक, जहां हमने एक यादृच्छिक संख्या जनरेटर लागू किया है (ऊपर समस्या 4 देखें)।
  • कॉलम क्यू में, हम गिराए गए नंबरों और फ़ंक्शन का उपयोग करके उत्पन्न होने वाले मैचों की संख्या की गणना करते हैं SUMPRODUCT (समउत्पाद).
  • столбце R вычисляем инансовый результат (если не выиграли, то минус 50 рублей а илет, если выито реультат (если не выиграли, то минус 50 рублей а илет, если выитатат) ।
  • अंतिम कॉलम एस में, हम प्रक्रिया में गतिशीलता को देखने के लिए पूरे गेम के समग्र परिणाम को संचयी कुल के रूप में मानते हैं।

और इस पूरे ढांचे को पुनर्जीवित करने के लिए हमें एक छोटे मैक्रो की जरूरत है। टैब पर विकासक (डेवलपर) एक टीम चुनें Visual Basic के या कीबोर्ड शॉर्टकट का उपयोग करें ऑल्ट+F11. फिर मेनू के माध्यम से एक नया खाली मॉड्यूल जोड़ें सम्मिलित करें - मॉड्यूल और वहां निम्नलिखित कोड दर्ज करें:

सब लॉटरी () डिम iGames As Integer, iTicket As Integer, i As Long, t As Integer, b As Integer 'объявляем переменные ля ссылки на листы सेट wsGame = Worksheets("Number") Set wsGame = Worksheets("Играторws") wsArchive = वर्कशीट्स("Тиражи 2022") iGames = wsGame.Range("C1") 'количество тиражей iTickets = wsGame। ("2:5")। हटाएं 'очищаем старые анные t = 6 के लिए iGames के लिए b = 1048576 के लिए iTicket 'копируем выигравшие номера с листа иражи + .ле ста иста иражи +. (1, 1)। कॉपी गंतव्य:=wsGame.Cells(i, 2022) 'копируем и вставляем специальной вставкой начений сгенерированные номера сгенерированные номера сенерированные номера с .PasteSpecial Paste:=xlPasteValues ​​i = i + 1 Next b Next t End Sub  

यह पीली कोशिकाओं में वांछित प्रारंभिक मापदंडों को दर्ज करने और मैक्रो को चलाने के लिए बनी हुई है डेवलपर - मैक्रोज़ (डेवलपर - मैक्रोज़) या कीबोर्ड शॉर्टकट ऑल्ट+F8.

एक्सेल में लॉटरी सिमुलेशन

स्पष्टता के लिए, आप संचयी कुल के साथ अंतिम कॉलम के लिए एक आरेख भी बना सकते हैं, जो खेल के दौरान धन संतुलन में परिवर्तन को दर्शाता है:

एक्सेल में लॉटरी सिमुलेशन

विभिन्न रणनीतियों की तुलना

अब, बनाए गए सिम्युलेटर का उपयोग करके, आप 2022 में वास्तविक ड्रॉ पर किसी भी गेम रणनीति का परीक्षण कर सकते हैं और परिणाम देख सकते हैं। यदि आप प्रत्येक ड्रा में 1 टिकट खेलते हैं, तो "बेर" की समग्र तस्वीर कुछ इस तरह दिखती है:

एक्सेल में लॉटरी सिमुलेशन

यहाँ:

  • जनक एक ऐसा खेल है जहां प्रत्येक ड्रॉ में हम अपने जनरेटर द्वारा बनाई गई यादृच्छिक संख्याएं चुनते हैं (उसी वजन के साथ)।
  • पसंदीदा एक ऐसा खेल है जहां प्रत्येक ड्रा में हम समान संख्याओं का उपयोग करते हैं - वे जो पिछले दो वर्षों (27, 32, 11, 14, 34, 40) में अक्सर ड्रा से बाहर हो गए हैं।
  • आउटसाइडर्स - वही, लेकिन हम सबसे दुर्लभ ड्रॉप-डाउन नंबर (12, 18, 26, 10, 21, 6) का उपयोग करते हैं।
  • ठंड - सभी ड्रा में हम उन संख्याओं का उपयोग करते हैं जो लंबे समय से बाहर नहीं हुई हैं (35, 5, 39, 11, 6, 29)।

जैसा कि आप देख सकते हैं, कोई बड़ा अंतर नहीं है, लेकिन यादृच्छिक संख्या जनरेटर अन्य "रणनीतियों" की तुलना में थोड़ा बेहतर व्यवहार करता है।

हालांकि यह भी संभव है कि दुनिया के सबसे बड़े घरों में से एक को हटा दिया जाए। जब ​​तक नेस्कोलको समूह में पालन करता है)।

बेतरतीब ढंग से उत्पन्न संख्याओं के साथ एक टिकट के साथ प्रत्येक ड्रा में खेलना (समान वजन के साथ):

एक्सेल में लॉटरी सिमुलेशन

बेतरतीब ढंग से उत्पन्न संख्याओं के साथ प्रत्येक ड्रा में 10 टिकट चलाना (समान भार के साथ):

एक्सेल में लॉटरी सिमुलेशन

यादृच्छिक संख्या (समान भार के साथ) के साथ प्रत्येक ड्रा में 100 टिकट चलाना:

एक्सेल में लॉटरी सिमुलेशन

टिप्पणियां, जैसा कि वे कहते हैं, अनावश्यक हैं - सभी मामलों में जमा निकासी अनिवार्य है

एक जवाब लिखें