将我的编辑放在这里:
在评论中,已经讨论了随机性的实际性质。我所理解的是,在生成“随机”数字时,没有任何数字比另一个数字更可能产生。
希望对我的问题更公平的表述是:
如果没有一个数字比另一个数字或多或少,那么,如果数字并不总是均匀分布,为什么均匀分布函数会自称呢?
在我问之前要清楚,我只是出于好奇而问。幸运的是我不是猫。
我为一个大学项目创建了一个快速排序功能,并认为也许(而不是仅仅敲击键盘一会儿)我可以用一些随机生成的整数列表来测试它。
std::vector<int> unsorted_list;
std::random_device ran_dev; // Initialise a new random device
std::uniform_int_distribution<> uni_dist(1, 100); // Create Uniform Distribution
for (int i = 0; i < 5; i++) {
unsorted_list.push_back(uni_dist(ran_dev));
}
我可以完全依靠这个实现来产生看起来总是随机的(均匀分布)的随机数吗?
你可能会认为我很傻......显然,班级声明它是一个均匀分布,例如,不可能是非均匀分布......但是这些输出中的任何一个甚至可能吗?如果是这样,可能性有多大?
(1, 1, 1, 1, 1)
(1, 2, 3, 4, 5)
(2, 4, 6, 8, 10)
我想最后一个输出比第一个或第二个输出更有可能(尤其是在使用 0 到 100 的范围时),但我的好奇心仍然存在。
我是不是特别傻?我从来都不是很擅长数学,所以,虽然我开始理解符号和术语,但我仍然会看一些解释,只是“呆呆地”,所以到目前为止我的谷歌搜索没有帮助。