5
伪随机数:比真实的均匀数据分布更均匀
我正在寻找一种生成似乎均匀分布的随机数的方法-每个测试都将显示它们是均匀的-除了它们比真实的均匀数据分布更均匀外。 我对“真实的”统一随机数存在的问题是,它们有时会聚类。在较小的样本量下,这种效果会更强。粗略地说:当我在U [0; 1]中绘制两个均匀随机数时,它们在0.1范围内的几率约为10%,在0.01范围内的几率约为1%。 因此,我正在寻找一种生成比统一随机数分布更均匀的随机数的好方法。 用例示例:比如说我在做电脑游戏,我想在地图上随机放置宝藏(不在乎其他任何东西)。我不想把宝藏全部放在一个地方,它应该遍布整个地图。如果使用统一的随机数,如果我放置10个对象,则彼此之间有5个左右的机会并不算低。这可以使一个玩家比另一个玩家更具优势。想想扫雷者,您很有可能(如果有足够的地雷的话)很幸运,只需单击一下即可获胜。 解决我的问题的一种非常幼稚的方法是将数据划分为网格。只要数量足够大(并且有足够的因素),就可以通过这种方式实现额外的统一性。因此,与从U [0; .1]提取12个随机变量不同,我可以从U [0; .5]提取6和从U [0.5; 1]提取6,或从U [0; 1/3] + 4提取4来自U [1/3; 2/3] + 4来自U [2/3; 1]。 有什么更好的方法可以使制服获得额外的均匀性?它可能仅适用于批量随机数(绘制单个随机数时,我显然必须考虑整个范围)。特别是,我可以在之后再次重新整理记录(因此它不是前三分之一中的前四个)。 如何逐步进行?那么第一个在U [0; 1]上,然后在每个半部分中两个,每个三分之一中一个,每个四个中一个?是否对此进行了调查,效果如何?我可能必须谨慎使用x和y的不同生成器,以使它们不相关(第一个xy总是在下半部分,第二个在左半部分和下三分之一,第三个xy在中心第三个和上三分之一。 ..因此至少还需要一些随机的bin排列。从长远来看,我想这会太均匀。 作为副节点,是否存在众所周知的测试,即某些分布是否过于均匀以至于无法真正统一?因此,测试“真正的统一”与“有人弄乱数据并使项目更均匀地分布”。如果我没记错的话,霍普金斯统计局(Hopkins Statistic)可以衡量这一点,但它也可以用于测试吗?KS-Test也是相反的:如果最大偏差低于某个预期阈值,数据分布是否过于均匀?