Distributions

如何確定隨機數生成器使用均勻分佈的可能性?

  • July 31, 2021

假設我有一個黑盒函數generate_number(),可以生成 1-N 之間的隨機數;並且假設N是已知的。每個函數調用相互獨立,不攜帶任何狀態。

我用它來生成X數字;假設這些數字沒有存儲在任何地方,所以我無法建立它們的確切列表。

我還有另一個黑盒函數num_seen_numbers(),它告訴我生成Y了多少個唯一數字N

例如。假設N = 100(給定),我調用了generate_number()40 次(X = 40)。然後我打電話num_unseen_numbers(),它說在所有N = 100可能的數字中,它只生成了 15 個唯一的數字 ( Y = 15)。

有沒有辦法確定其生成generate_number()具有潛在均勻概率分佈的可能性?

這是另一種形式的生日問題。

和 $ d $ 同樣可能的天數和 $ n $ 獨立抽籤,預期抽籤的不同天數為 $ d(1-(1-\frac1d)^n) $ 在你的情況下 $ d=100 $ 和 $ n=40 $ 是關於 $ 33.1 $ , 而不是 $ 15 $ .

的概率 $ x $ 繪製的不同日期是 $ \dfrac{d! , S_2(n,x)}{(d-x)!, d^n} $ 在哪裡 $ S_2(n,x) $ 是第二類斯特林數。

在你的情況下 $ d=100 $ 和 $ n=40 $ 和 $ x=15 $ 這個概率大約是 $ 9.47\times 10^{-17} $ 並且對於 $ x \le 15 $ 是關於 $ 9.61\times 10^{-17} $ ,兩者都非常小。相比之下,概率為 $ 29 \le x \le 38 $ 是關於 $ 0.9765 $ .

您可以將其用作可能的測試,以確保抽籤是統一且獨立的。

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

comments powered by Disqus