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(11d)n) 在你的情況下 d=100n=40 是關於 33.1 , 而不是 15 .

的概率 x 繪製的不同日期是 d!,S2(n,x)(dx)!,dn 在哪裡 S2(n,x) 是第二類斯特林數。

在你的情況下 d=100n=40x=15 這個概率大約是 9.47×1017 並且對於 x15 是關於 9.61×1017 ,兩者都非常小。相比之下,概率為 29x38 是關於 0.9765 .

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

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