Excel中的彩票模擬

彩票不是為了運氣,

這是對失敗者的追捕。

人們以令人羨慕的規律性(最近更頻繁)寫信給我尋求與彩票相關的各種計算方面的幫助。 有人想在 Excel 中實現他們選擇中獎號碼的秘密算法,有人想在過去抽獎中發現的號碼中找到模式,有人想在不誠實的遊戲中抓住彩票的組織者。

В этой статье мне хотелось бы ответить на часть этих вопросов。 бpEl至excel至

任務 1. 獲勝的概率

讓我們以經典的 Stoloto 6 out of 45 彩票為例。 根據規則,只有在 10 個號碼中全部猜中 6 個號碼的人才能獲得超級獎金(如果獎金餘額從之前的抽獎中累積,則為 45 萬盧布或更多)。 如果您猜到 5,您將收到 150 盧布,如果 4 – 1500 盧布。 , 如果 3 個號碼中有 6 個號碼,則 150 盧布,如果 2 個號碼 - 您將退還 50 盧佈在機票上的花費。 只猜一個或一個都沒有——只從遊戲過程中獲取內啡肽。

可以使用標準函數輕鬆計算獲勝的數學概率 數字梳 (結合),在這種情況下,它在 Microsoft Excel 中可用。 此函數計算 M 中 N 個數字的組合數。因此,對於我們的“6 選 45”彩票,它將是:

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

…等於 8,即該彩票中所有可能組合的總數。

如果您想計算部分獲勝的概率(2 個數字中的 5-6 個數字),那麼您首先必須計算此類選項的數量,它等於所猜數字組合數的乘積6 由剩餘 (45-6) 中未猜到的數字的數量 = 39 個數字。 然後我們將所有可能組合的總數(8)除以每個選項的獲勝次數——我們得到每種情況的獲勝概率:

Excel中的彩票模擬

順便說一句,例如,在我國死於飛機失事的概率估計約為百萬分之一。 而在賭場中通過輪盤賭獲勝的概率是 1 到 1。

如果以上所有內容都沒有阻止您並且您仍然準備好繼續玩,請繼續。

任務 2. 每個數字的出現頻率

首先,讓我們確定某些數字以什麼頻率出現。 在理想的彩票中,給定足夠大的分析時間間隔,所有球都應該有相同的概率出現在獲勝樣本中。 實際上,彩票鼓的設計特徵和球的重量形狀可能會扭曲這幅畫,並且對於某些球來說,掉出的概率可能比其他球更高/更低。 讓我們在實踐中檢驗這個假設。

讓我們以組織者 Stoloto 的網站上 2020 年 21 月至 6 日發生的 45 次抽獎中的所有數據為例,以這種“智能”表的形式設計,便於分析,名稱為 標籤存檔流通. Розыгрыши проходят два раза в день (в 11 утра и в 11 вечера), т.е. ээйбL至thout

Excel中的彩票模擬

要計算每個數字的出現頻率,請使用函數 COUNTIF (縣) 並為其添加一個功能 TEXT (文本)在單個數字之前和之後添加前導零和星號,以便 COUNTIF 在 B 列中的組合中的任何位置查找數字的出現。此外,為了更清楚起見,我們將按結果構建圖表並對頻率進行排序按降序排列:

Excel中的彩票模擬

平均而言,任何球應該掉落 1459 次抽獎 * 6 個球 / 45 個數字 = 194,53 次(這正是統計中所說的 математическиможиданием),хх訊,чччччч。 Соответственно, можно попробовать использовать эту информацию для стратегии выигрыша, т.е. ×Qбвшшшш,чч氨

任務 3. 哪些數字很久沒有抽到?

另一種策略是基於這樣的想法,即如果抽籤次數足夠多,遲早會出現從 1 到 45 的所有可用數字中的每個數字。 因此,如果某些數字很長時間沒有出現在中獎者中(“冷球”),那麼將來嘗試對它們下注是合乎邏輯的。 

limoж衝動 更多曝光 (匹配). 它將從上到下(即從新運行到舊運行)搜索每個數字並給出最後丟棄該數字的運行的序列號(從年末到年初):

Excel中的彩票模擬

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

另一種遊戲策略是基於消除猜數字時的心理因素。 當玩家通過下注選擇數字時,他下意識地這樣做並不完全是理性的。 據統計,例如,選擇 1 到 31 的數字比其他數字高 70%(最喜歡的日期),選擇 13 的頻率較低(該死的十幾個),包含“幸運”七的數字被選擇的頻率更高,等等。但是我們正在與一台所有數字都相同的機器(彩票鼓)進行比賽,因此以相同的數學公正性選擇它們以使我們的機會均等是有意義的。 為此,我們需要在 Excel 中創建一個隨機數且最重要的是非重複數字的生成器:

    Excel中的彩票模擬

去做這個:

  1. 讓我們創建一個名為“智能”的表 表生成器,其中第一列將是我們從 1 到 45 的數字。
  2. 在第二列中,輸入每個數字的權重(稍後我們將需要它)。 如果所有數字對我們都具有同等價值,並且我們希望以相同的概率選擇它們,那麼可以將權重設置為在任何地方都等於 1。
  3. 在第三列我們使用函數 信息系統 (蘭德), которая в Excel генерирует случайное дробное число от 0 до 1, добавив к нему вес из предыдущего столца。 Таким образом каждый раз при пересчёте листа (нажатии на клавишу F9) 將生成一組新的 45 個隨機數,並考慮每個隨機數的權重。
  4. 讓我們添加第四列,其中使用函數 (秩) вычислим ранг (позицию в топе) для каждого из чисел。

現在仍然需要使用函數按等級 6 選擇前六個數字 更多曝光 (匹配):

Excel中的彩票模擬

При нажатии на клавишу F9 Excel 工作表上的公式將被重新計算,每次我們都會在綠色單元格中獲得一組新的 6 個數字。 此外,在 B 列中設置較大權重的數字將獲得相應較高的排名,因此在我們的隨機樣本結果中出現的頻率更高。 如果所有數字的權重都設置為相同,那麼所有數字都將以相同的概率被選中。 通過這種方式,我們得到了一個公平且無偏的隨機數生成器,其中 6 個隨機數生成器有 45 個,但如果有必要,還可以對分佈的隨機性進行調整。

如果我們決定在每次抽獎中不使用一張,而是例如一次使用兩張彩票,在每張彩票中我們將選擇不重複的號碼,那麼我們可以簡單地從底部添加額外的線到綠色範圍,將 6、12、18 等添加到排名。 d。 分別:

Excel中的彩票模擬

任務 5. Excel 中的彩票模擬器

作為整個主題的典範,讓我們在 Excel 中創建一個成熟的彩票模擬器,您可以在其中嘗試任何策略並比較結果(在優化理論中,類似的東西也稱為蒙特卡洛方法,但它會更簡單為我們)。

為了讓一切盡可能接近現實,想像一下現在是 1 年 2022 月 XNUMX 日,我們將迎來今年的抽籤,我們計劃在其中進行比賽。 我在表格中輸入了真實的掉線數字 表Tirazi2022,為方便後續計算,將額外抽取的數字相互分隔成單獨的列:

Excel中的彩票模擬

在另一張紙上 遊戲 以“智能”表的形式為建模創建一個空白,名稱為 製表符 以下形式:

Excel中的彩票模擬

這裡:

  • 在上面的黃色單元格中,我們將為宏設置我們想要參加的 2022 年抽獎次數(1-82)以及我們在每次抽獎中玩的彩票數量。
  • 前 11 列 (AJ) 的數據將由 2022 繪圖表中的宏複製。
  • 宏將從工作表中獲取的接下來六列 (KP) 的數據 發電機,我們已經實現了一個隨機數生成器(參見上面的問題 4)。
  • 在 Q 列中,我們計算丟棄的數字和使用函數生成的數字之間的匹配數 SUMPRODUCT (總和).
  • В столбце R вычисляем финансовый результат (если не выиграли, то минус 50 рублей за билет, если выиграли, то приз — 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("Игра") Set wsNumbers = Worksheets("Генератор") Set wsArchive = Worksheets("Тиражи 2022") iGames = wsGame.Range("C1") 'количество тиражей iTickets = wsGame.Range("C2") 'количество билетов в каждом тираже i = 5 'первая строка в таблице таблИгра wsGame.Rows (“ 6:1048576”)。 (1,1).copy目的地:= wsgame.cells(i,2022)'車萬.PasteSpecial Paste:=xlPasteValues i = i + 1 Next b Next t End Sub  

在黃色單元格中輸入所需的初始參數並運行宏 開發人員 – 宏 (開發者——宏) 或鍵盤快捷鍵 其他+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中的彩票模擬

正如他們所說,評論是多餘的——在所有情況下,存款流失都是不可避免的🙂

發表評論