Loterii simulatsioon Excelis

Loterii pole õnne jaht,

see on jaht kaotajatele.

Kadestamisväärse regulaarsusega (ja viimasel ajal sagedamini) kirjutavad inimesed mulle, paludes abi erinevates loteriidega seotud arvutustes. Keegi soovib rakendada oma salaalgoritmi võidunumbrite valimiseks Excelis, keegi soovib leida varasematest loosimistest välja kukkunud numbrite mustreid, keegi soovib tabada loterii korraldajaid ebaausas mängus.

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

Ülesanne 1. Võidutõenäosus

Võtame näiteks klassikalise Stoloto 6 loterii 45-st. Reeglite järgi saavad superauhinna (10 miljonit rubla või rohkem, kui auhinnafondi jääk on varasematest loosimistest kogunenud) vaid need, kes arvasid ära kõik 6 numbrit 45-st. Kui arvasite 5, saate 150 tuhat rubla, kui 4 – 1500 rubla. , kui 3 numbrit 6-st, siis 150 rubla, kui 2 numbrit – tagastad piletile kulutatud 50 rubla. Arvake ainult ühte või mitte ühtegi – hankige mänguprotsessist ainult endorfiine.

Võidu matemaatilist tõenäosust saab standardfunktsiooni abil lihtsalt välja arvutada NUMBERCOMB (KOMBINEERI), mis on sellisel juhul saadaval Microsoft Excelis. See funktsioon arvutab N arvu kombinatsioonide arvu M-st. Meie loterii “6 45-st” puhul oleks see järgmine:

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

… mis on 8, kõigi selle loterii võimalike kombinatsioonide koguarv.

Kui soovite arvutada osalise võidu tõenäosust (2-5 numbrit 6-st), peate esmalt arvutama selliste valikute arvu, mis võrdub arvatud numbrite kombinatsioonide arvu korrutisega 6 arvamata arvude arvu järgi ülejäänud (45-6) = 39 numbrit. Seejärel jagame kõigi võimalike kombinatsioonide koguarvu (8) iga variandi puhul saadud võitude arvuga – ja saame iga juhtumi võidutõenäosused:

Loterii simulatsioon Excelis

Muide, tõenäosus, et meie riigis hukkub näiteks lennuõnnetuses, on hinnanguliselt umbes 1 miljonist. Ja tõenäosus võita kasiinos ruletis, panustades kõike ühele numbrile, on 1 kuni 37.

Kui kõik ülaltoodu teid ei peatanud ja olete endiselt valmis edasi mängima, jätkake.

Ülesanne 2. Iga numbri esinemissagedus

Alustuseks teeme kindlaks, millise sagedusega teatud numbrid välja kukuvad. Ideaalses loteriis, kui analüüsi jaoks on piisavalt pikk ajavahemik, peaksid kõik pallid olema ühesuguse tõenäosusega võitnud valimis. Tegelikkuses võivad loositrumli disainiomadused ja pallide kaalukuju seda pilti moonutada ning mõne palli puhul võib väljakukkumise tõenäosus olla suurem/madalam kui teistel. Testime seda hüpoteesi praktikas.

Võtame näiteks andmed kõigi 2020. aasta kohta 21-6 toimunud 45 loterii loosimise kohta nende korraldaja Stoloto veebisaidilt, mis on kujundatud sellise, analüüsimiseks mugava “targa” tabeli kujul koos nimega. tabArhiiv Tiraaž. Розыгрыши проходят два раза в день (в 11 утра и в 11 вечера), т.е. в этой таблице у нас полторы тысячи тиражей-строк — вполне достаточная для начала выборка для анализа:

Loterii simulatsioon Excelis

Iga numbri esinemissageduse arvutamiseks kasutage funktsiooni COUNTIF (COUNTIF) ja lisage sellele funktsioon TEKST (TEKST)et lisada ühekohalistele numbritele ees- ja tärnid ette ja taha, nii et COUNTIF otsib arvu esinemist suvalises kombinatsioonis veerus B. Suurema selguse huvides koostame diagrammi tulemuste järgi ja sorteerime sagedusi kahanevas järjekorras:

Loterii simulatsioon Excelis

Keskmiselt peaks iga pall kukkuma 1459 viiki * 6 palli / 45 numbrit = 194,53 korda (just seda nimetatakse statistikas математическим ожиданием), но хорошо видно, что некоторые числа (27, 32, 11…) выпадали заметно чаще (+18%), а метно чаще (+10%), а нзо.21, но. Соответственно, можно попробовать использовать эту информацию для стратегии выигрыша, т.е. либо ставить на те шары, что выпадают чаще, либо наоборот — делать ставку на редко выпадающие выпадающие выпадающие шары.

Ülesanne 3. Milliseid numbreid pole ammu joonistatud?

Teine strateegia põhineb ideel, et piisavalt suure loosimiste arvu korral peaks varem või hiljem iga number kõigist saadaolevatest 1 kuni 45 välja kukkuma. Nii et kui mõni number pole pikka aega võitjate sekka ilmunud (“külmad pallid”), siis on loogiline nende peale tulevikus panustada. 

Можно легко найти все давно не выпадавшие номера, если отсортировать наш архив изульважей за 2020-21-XNUMX годыниюшие не выпадавшие номера ROHKEM AVALDATUD (MATCH). See otsib ülalt alla (st uutest jooksudest vanadesse), et otsida iga numbrit ja väljastada selle jooksu seerianumber (loendades aasta lõpust alguseni), kus see number viimati välja langes:

Loterii simulatsioon Excelis

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

Teine mängustrateegia põhineb psühholoogilise teguri kõrvaldamisel numbrite äraarvamisel. Kui mängija valib oma panuse tehes numbreid, ei tee ta seda alateadlikult mitte päris ratsionaalselt. Statistika järgi valitakse näiteks numbreid vahemikus 1 kuni 31 70% sagedamini kui ülejäänud (lemmikkuupäevad), 13 valitakse harvemini (neetud tosin), sagedamini valitakse numbreid, mis sisaldavad "õnnelikku" seitset jne. Kuid me mängime masina (loteriitrummi) vastu, mille kõik numbrid on samad, seega on nende võimaluste võrdsustamiseks mõistlik valida sama matemaatilise erapooletusega. Selleks peame Excelis looma juhuslike ja – mis kõige tähtsam – mittekorduvate numbrite generaatori:

    Loterii simulatsioon Excelis

Selleks:

  1. Loome "nutika" tabeli nimega tabelGeneraator, kus esimene veerg on meie numbrid vahemikus 1 kuni 45.
  2. Teises veerus sisestage iga numbri kaal (me vajame seda veidi hiljem). Kui kõik arvud on meile võrdselt väärtuslikud ja me tahame neid valida võrdse tõenäosusega, siis saab igal pool määrata kaalu võrdseks 1-ga.
  3. Kolmandas veerus kasutame funktsiooni SLCHIS (RAND), которая в Excel генерирует случайное дробное число от 0 до 1, добавив к нему вес из предыдущего столбца. Таким образом каждый раз при пересчёте листа (нажатии на клавишу F9) genereeritakse uus komplekt 45 juhuslikust numbrist, võttes arvesse igaühe kaalu.
  4. Lisame neljanda veeru, kus kasutatakse funktsiooni RANK (KOHT) вычислим ранг (позицию в топе) для каждого из чисел.

Nüüd jääb üle valida funktsiooni abil esimesed kuus numbrit järgu 6 järgi ROHKEM AVALDATUD (MATCH):

Loterii simulatsioon Excelis

При нажатии на клавишу F9 Exceli lehel olevad valemid arvutatakse ümber ja iga kord saame rohelistes lahtrites uue 6-numbrilise komplekti. Veelgi enam, numbrid, millele veerus B määrati suurem kaal, saavad proportsionaalselt kõrgema järjekoha ja seega ilmuvad need meie juhusliku valimi tulemustes sagedamini. Kui kõigi arvude kaal on seatud samale, valitakse need kõik ühesuguse tõenäosusega. Nii saame õiglase ja erapooletu juhuslike arvude generaatori 6-st 45-st, kuid võimalusega jaotuse juhuslikkust vajadusel korrigeerida.

Kui otsustame igal loosimisel mängida mitte ühe, vaid näiteks kahe piletiga korraga, millest igaühes valime mittekorduvad numbrid, siis saame lihtsalt lisada täiendavaid ridu altpoolt rohelisele vahemikule, auastmele 6, 12, 18 jne lisamine. d. vastavalt:

Loterii simulatsioon Excelis

Ülesanne 5. Loterii simulaator Excelis

Kogu selle teema apoteoosiks loome Excelisse täisväärtusliku loteriisimulaatori, kus saab proovida mis tahes strateegiaid ja tulemusi võrrelda (optimeerimise teoorias nimetatakse midagi sarnast ka Monte Carlo meetodiks, kuid see on lihtsam meile).

Et kõik oleks võimalikult reaalsuslähedane, kujutage hetkeks ette, et on 1. jaanuar 2022 ja meid ootavad ees selle aasta loosid, milles plaanime mängida. Sisestasin tabelisse tegelikud langenud numbrid tablTiraži2022, eraldades täiendavalt joonistatud numbrid üksteisest eraldi veergudeks järgnevate arvutuste hõlbustamiseks:

Loterii simulatsioon Excelis

Eraldi lehel Mäng looge modelleerimiseks toorik nimega "nutika" tabeli kujul tabIgra järgmine vorm:

Loterii simulatsioon Excelis

siin:

  • Ülaltoodud kollastes lahtrites määrame makro jaoks 2022. aasta loosimiste arvu, milles soovime osaleda (1-82) ja igas loosimises mängitavate piletite arvu.
  • Makro kopeerib 11. aasta loosilehelt esimese 2022 veeru (AJ) andmed.
  • Järgmise kuue veeru (KP) andmed võtab makro lehelt Tekitaja, kus oleme realiseerinud juhuslike arvude generaatori (vt ülesanne 4 ülal).
  • Veerus Q loendame väljalangenud numbrite ja funktsiooni abil genereeritud numbrite vastete arvu SUMPRODUCT (TOODE SUMMA).
  • В столбце R вычисляем финансовый результат (если не выиграли, то минус 50 рублей за билет, если вы бинансовый выиграли, то минус 50 рублей за билет, если вы)
  • Viimases veerus S käsitleme kogu mängu üldtulemust kumulatiivsena, et näha protsessi dünaamikat.

Ja kogu selle struktuuri taaselustamiseks vajame väikest makrot. Vahekaardil arendaja (Arendaja) vali meeskond Visual Basic või kasutage kiirklahvi muu+F11. Seejärel lisa menüü kaudu uus tühi moodul Sisesta – moodul ja sisestage sinna järgmine kood:

Alamloterii() Dim iGames täisarvuna, iPiletid täisarvuna, iTickets täisarvuna, i nii pikana, t täisarvuna, b täisarvuna 'объявляем переменные для ссылки на листы Setumbраs"Seadistas"Nõuded ="Töötwsheetrs" wsArchive = Worksheets("Тиражи 2022") iGames = wsGame.Range("C1") 'количество тиражей iTickets = wsGame.Range("C2") 'количество билетов в каждом тираже i = 5 'первая строка в таблице таблИгра wsGame.Rows ("6: 1048576"). Kustutage 'чищаем старые данные jaoks t = 1 kuni igame b = 1 to itickets' копируе гигие ш с с с с с с с с с 2022 ср ср лр лр лр лр лрarchccc лр лр лр лр лр лр лр лр лрcc ир. (1, 1).Kopeeri sihtkoht:=wsGame.Cells(i, 1) 'копируем и вставляем специальной вставкой значений сгенер значений,(Coells)10"Lpy.1NраГГГинера сгенерированстаные номера .PasteSpecial Paste:=xlPasteValues ​​i = i + 4 Järgmine b Järgmine t End Sub  

Jääb alles sisestada soovitud algparameetrid kollastesse lahtritesse ja käivitada makro Arendaja – makrod (Arendaja – makrod) või klaviatuuri otsetee muu+F8.

Loterii simulatsioon Excelis

Selguse huvides saate koostada ka diagrammi viimase veeru jaoks kumulatiivse kogusummaga, mis kajastab rahajäägi muutust mängu ajal:

Loterii simulatsioon Excelis

Erinevate strateegiate võrdlus

Nüüd saate loodud simulaatorit kasutades testida mis tahes mängustrateegiat 2022. aastal reaalsete loosimiste peal ja näha tulemusi, mida see tooks. Kui mängite igas loosimises 1 pileti, näeb "ploomi" üldpilt välja umbes selline:

Loterii simulatsioon Excelis

siin:

  • Tekitaja on mäng, kus igas loosimises valime meie generaatori loodud juhuslikud numbrid (sama kaaluga).
  • Lemmikud on mäng, kus igas loosimises kasutame samu numbreid – neid, mis on viimase kahe aasta jooksul kõige sagedamini loosimisel välja kukkunud (27, 32, 11, 14, 34, 40).
  • Välimised – sama, kuid me kasutame kõige haruldasemaid rippmenüü numbreid (12, 18, 26, 10, 21, 6).
  • Külm – kõikides loosimistes kasutame numbreid, mis pole ammu välja kukkunud (35, 5, 39, 11, 6, 29).

Nagu näete, pole suurt erinevust, kuid juhuslike arvude generaator käitub natuke paremini kui teised "strateegiad".

Можно также попробовать играть большим количеством билетов в каждом тираже, чтобы перекрыть большее я этого несколько игроков объединяются в группу).

Mängides igal loosimisel ühe juhuslikult genereeritud numbritega piletiga (sama kaaluga):

Loterii simulatsioon Excelis

Igas loosimises 10 pileti mängimine juhuslikult genereeritud numbritega (sama kaaluga):

Loterii simulatsioon Excelis

100 pileti mängimine igal loosimisel juhuslike numbritega (sama kaaluga):

Loterii simulatsioon Excelis

Kommentaarid, nagu öeldakse, on üleliigsed – tagatisraha äravool on igal juhul vältimatu 🙂

Jäta vastus