Dice

擲骰子公式(非蠻力)

  • December 22, 2014

首先,我不確定應該在哪裡發布這個問題。我在問一個統計問題是否是 NP 完全的,如果不是以編程方式解決它。我在這裡發布它是因為統計問題是中心點。

我試圖找到一個更好的公式來解決問題。問題是:如果我有 4d6(4 個普通的 6 面骰子)並一次擲出所有骰子,取出一個數量最少的骰子(稱為“掉落”),然後將剩餘的 3 個相加,每個可能結果的概率是多少? 我知道答案是這樣的:

Sum (Frequency): Probability
3   (1):         0.0007716049
4   (4):         0.0030864198
5   (10):        0.0077160494
6   (21):        0.0162037037
7   (38):        0.0293209877
8   (62):        0.0478395062
9   (91):        0.0702160494
10  (122):       0.0941358025
11  (148):       0.1141975309
12  (167):       0.1288580247
13  (172):       0.1327160494
14  (160):       0.1234567901
15  (131):       0.1010802469
16  (94):        0.0725308642
17  (54):        0.0416666667
18  (21):        0.0162037037

平均值為 12.24,標準差為 2.847。

我通過蠻力找到了上述答案,但不知道如何或是否有公式。我懷疑這個問題是NP-Complete,因此只能通過蠻力解決。有可能獲得 3d6 的所有概率(3 個正常的 6 面骰子),然後將它們中的每一個向上傾斜。這將比蠻力更快,因為當所有骰子都被保留時,我有一個快速的公式。

我編寫了在大學裡保留所有骰子的公式。我曾問過我的統計學教授,他找到了這個頁面,然後他向我解釋了這個頁面。這個公式和蠻力之間有很大的性能差異:50d6 花了 20 秒,但 8d6 在 40 秒後下降了最低崩潰(chrome 耗盡內存)。

這個問題是NP完全的嗎? 如果是,請提供證明,如果不是,請提供一個非暴力公式來解決它。

請注意,我對 NP-Complete 了解不多,所以我可能會考慮 NP、NP-Hard 或其他東西。NP-Completeness 的證明對我來說毫無用處,我要求它的唯一原因是為了防止人們猜測。請告訴我,因為我已經很長時間沒有做這個了:我不記得統計數據,因為我可能需要解決這個問題。

理想情況下,我正在尋找一個更通用的公式,用於當 N 個骰子被丟棄時 X 個帶有 Y 面的骰子,但我從更簡單的東西開始。

編輯:

我也更喜歡公式來輸出頻率,但只輸出概率是可以接受的。

對於那些感興趣的人,我已經在我的 GitHub 上用 JavaScript 編寫了 whuber 的答案(在這個提交中,只有測試實際使用了定義的函數)。

解決方案

讓有骰子每個給結果的機會均等. 讓是所有值中的最小值骰子是獨立投擲的。

考慮所有總和的分佈值條件. 讓是這個總和。形成任何給定值的方法數量的生成函數, 假設最小值至少為, 是

由於骰子是獨立的,因此形成值的方式數的生成函數哪裡都有骰子顯示的值或更大是

該生成函數包括以下事件的術語超過,所以我們需要減去它們。因此,生成函數為形成值的方式數, 給定, 是

注意到總和最大值是所有值減去最小值的總和,等於. 因此生成函數需要除以. 在乘以任何骰子組合的常見概率時,它成為概率生成函數,:

由於所有多項式乘積和冪都可以在運算(它們是卷積,因此可以使用離散的快速傅里葉變換來執行),總計算量為. 特別是,它是一種多項式時間算法。


例子

讓我們通過問題中的示例來解決和.

公式對於 PGF有條件的給

將他們提升到公式中的功率生產

他們在公式上的連續差異是

公式中的結果總和是

例如,前三個骰子總和的機會是係數, 等於

它與問題中引用的概率完全一致。

順便說一句,平均值(根據這個結果計算)是標準差是.

一個類似的(未優化的)計算骰子而不是不到半秒,支持了這不是一個計算要求高的算法的論點。這是分佈的主要部分的圖:

數字

由於最低很可能等於和總和將非常接近正常分佈(其均值是標準差約為),均值必須非常接近並且標準差非常接近. 這很好地描述了情節,表明它可能是正確的。事實上,精確的計算給出了大約比…更棒和一個標準差少於.

引用自:https://stats.stackexchange.com/questions/130025

comments powered by Disqus

相關問答