随机样本生成与伪随机数生成器测试
随机样本生成方法
在随机样本生成方面,我们致力于从常见分布中抽取随机样本。针对每个分布,我们使用 C 语言实现了算法,并且常常会实现多种算法,同时比较在使用不同均匀伪随机生成器时的性能。我们的目标是选择性能良好且能将作为输入所需的均匀样本数量降至最低的算法,理想情况下采用一对一映射。
以下是一些相关的练习:
1. 文件转换程序 :创建一个程序,将随机字节文件(如之前提到的)转换为 C 语言的双精度浮点数文件,用于本章的测试程序。并比较真正随机字节源与均匀伪随机生成器的输出。
2. RANDU 生成器分析 :探讨为何即使是糟糕的 RANDU LCG 生成器仍能产生可接受的输出样本。
3. χ²分布采样 :定义使用 Ahrens 和 Marsaglia 算法从 χ²分布(自由度为 k)中采样的函数,并比较不同 k 值下的直方图,同时与概率密度函数(PDF)进行比较。
4. 放射性衰变模拟 :编写一个模拟程序,输出在给定时间间隔(秒、天、周)内测量到的衰变核数量的样本,并确保其遵循泊松分布。
5. 人群模拟程序 :创建一个程序,生成一个人群样本,每个人由来自特定分布的属性(如性别、年龄、身高、体重、教育水平、收入以及患肺癌、乳腺癌和糖尿病的可能性)描述。
伪随机数生成器测试
测试伪随机数生成器并非像看起来那么简单。我们将考虑经典的随机性测试,并将其应用于之前讨论过的生成器。同时,我们会研究两个
超级会员免费看
订阅专栏 解锁全文
2677

被折叠的 条评论
为什么被折叠?



