随机变量模拟全解析
1. 随机变量模拟概述
随机变量模拟在随机算法中有着重要的应用。由于计算机本身不具备随机成分,从外部物理源引入随机性成本高且难以控制,因此通常会生成表现得像随机数的确定性数列。这些数列具有理想随机数的重要统计特性,能通过旨在检测与随机性显著偏差的统计测试。
随机变量的模拟一般分两步进行:
- 模拟在 [0, 1) 上独立同分布的均匀分布随机变量。
- 将其转换为具有所需分布的变量。
2. 伪随机数的生成
2.1 伪随机数生成的要求
伪随机数的生成需要满足以下几个基本要求:
- 能很好地近似 [0, 1) 上的均匀分布。
- 接近独立性。
- 易于、快速且精确地生成。
复杂的生成算法不一定比简单算法“更随机”,选择简单且易于理解的算法类,并从中挑选适合特定目的的生成器是更好的做法。
2.2 线性同余法
这里主要关注线性同余法,序列 (uk)k≥0 在 [0, 1) 中递归定义,序列中的每个成员仅依赖于其前一个成员:
- u0 = seed(种子),uk + 1 = f(uk),其中 seed 是 [0, 1) 中的初始值,f 是从 [0, 1) 到 [0, 1) 的函数。可以选择固定的种子,这样序列就能重复;也可以引入纯粹的随机性,例如将种子与计算机的内部时钟关联。
- 函数 f 通常定义为 f(u) = (au + b) mod 1(a 和 b 为自然数,y mod 1 是 y 与其整数部分的差)。f 的图像由斜率为 a 的直线组成,a 的选择有些棘手,这源于实际计算 f(u) 时
随机变量模拟方法详解
超级会员免费看
订阅专栏 解锁全文
9122

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



