随机性测试与生成器分析

1、要求至少10个人在[0, 9]范围内生成一个包含100个随机数字的序列。然后,使用奇数数字的数量和特定的分析技术来计算一个p值,以确定这些序列是否是随机的。为每个受试者得到一个p值,并通过汇总所有受试者的所有数据得到一个最终的p值。

按要求让至少10人在 [0, 9] 范围生成含100个随机数字的序列,用奇数数字数量和特定分析技术算每个受试者的 p 值,汇总所有数据算最终 p 值以判断序列是否随机。

2、模拟是从非均匀分布中采样的主要用途。创建一个程序来生成一个人群,其中每个人由来自特定分布的样本描述。具体来说,通过性别、年龄、身高、体重、教育水平、收入以及患肺癌、乳腺癌和糖尿病的可能性等属性来定义一个人。注意,其中一些分布取决于其他属性。例如,性别是患乳腺癌风险的一个重要决定因素。此外,教育水平会影响收入。对于美国而言,了解这些分布情况的一个很好的信息来源是人口普查局(https://www.census.gov/)。

需创建一个程序生成人群,每个人由性别、年龄等属性定义,这些属性来自特定分布,部分分布受其他属性影响,美国相关分布信息可从人口普查局网站获取。

3、对于一个具有随机种子的生成器,其生成的流不重叠的概率是流的数量(s)、流的长度(l)和生成器周期(ρ)的函数,概率公式为p = (1 - sl/ρ)^(s - 1)。请通过实验验证这一说法。固定流的数量s = 10以及流的长度l = 1000,并使用随机种子的乘法线性同余生成器。下面给出了乘数a和模数m对应的生成器,在每种情况下,周期ρ = m。对于每个生成器,统计在n = 100组随机种子的情况下,s个长度为l的序列不重叠的次数。使用可靠的种子生成器,例如默认的Python生成器(梅森旋转算法)。如果对于周期为ρ的特定生成器,有m组种子使得流不重叠,那么估计的概率为m/100。绘制这些概率与生成器周期的函数关系图,并与公式预期的结果进行比较。生成器如下:a m 572 16381 1944 32749 17364 65521 43165 131071 92717 262139 283741 524287 380985 104857

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值