gpt4 book ai didi

math - 了解 "randomness"

转载 作者:行者123 更新时间:2023-12-03 03:52:05 29 4
gpt4 key购买 nike

我无法理解这个问题,哪个更随机?

rand()

:

rand() * rand()

我发现这是一个真正的脑筋急转弯,你能帮我吗?

<小时/>

编辑:

凭直觉,我知道数学答案是它们同样随机,但我忍不住认为,如果您将两者相乘时“运行随机数算法”两次,您将创建更随机的东西而不是只做一次。

最佳答案

只是一个说明

尽管每当您尝试找出伪随机变量或其乘法的随机性时,前面的答案都是正确的,但您应该意识到,虽然 Random() 通常是均匀分布的, Random() * Random() 不是。

示例

这是一个uniform random distribution sample通过伪随机变量模拟:

Histogram of Random()

        BarChart[BinCounts[RandomReal[{0, 1}, 50000], 0.01]]

这是两个随机变量相乘后得到的分布:

Histogram of Random() * Random()

        BarChart[BinCounts[Table[RandomReal[{0, 1}, 50000] * 
RandomReal[{0, 1}, 50000], {50000}], 0.01]]

所以,两者都是“随机”的,但它们的分布却截然不同。

另一个例子

虽然 2 * Random() 是均匀分布的:

Histogram of 2 * Random()

        BarChart[BinCounts[2 * RandomReal[{0, 1}, 50000], 0.01]]

Random() + Random() 不是!

Histogram of Random() + Random()

        BarChart[BinCounts[Table[RandomReal[{0, 1}, 50000] + 
RandomReal[{0, 1}, 50000], {50000}], 0.01]]

中心极限定理

Central Limit Theorem指出 Random() 的总和趋于 normal distribution随着条款的增加。

只需四个术语,您就可以获得:

Histogram of Random() + Random() + Random() + Random()

BarChart[BinCounts[Table[RandomReal[{0, 1}, 50000] + RandomReal[{0, 1}, 50000] +
Table[RandomReal[{0, 1}, 50000] + RandomReal[{0, 1}, 50000],
{50000}],
0.01]]

在这里,您可以通过将 1、2、4、6、10 和 20 个均匀分布的随机变量相加来看到从均匀分布到正态分布的过程:

Histogram of different numbers of random variables added

编辑

一些积分

感谢Thomas Ahle在评论中指出最后两张图像中显示的概率分布被称为 Irwin-Hall distribution

感谢Heike为她精彩torn[] function

关于math - 了解 "randomness",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3956478/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com