统计数值方法与随机数生成及蒙特卡罗积分
1. 随机数生成
在计算机中,生成随机数是一个重要的需求。由于无法直接连接抛硬币装置,通常采用基于数学公式的软件来生成随机数。但通过公式生成的数并非真正的随机数,因此引入了“伪随机数”的概念,不过“伪”字常被省略。
构建生成伪随机数的公式的关键在于生成看起来像随机的序列。许多公式都曾被尝试,但最终发现它们会退化为相对较短的重复模式。任何公式最终都会回到起点,所以目标是让这个循环(周期)足够大,在实际应用中可视为无限长。虽然这种方案排除了周期内的重复,这与真正的随机序列有所不同,但这种不足被认为是可以接受的。
最流行的随机数生成器是乘法同余生成器,其公式为:
[n_{i + 1} = \lambda n_i \mod m, \quad i = 1,2,…]
其中,(\lambda) 是乘数,(m) 是模数,起始值 (n_1) 是种子。后续的值通过计算 (\lambda) 乘以当前的 (n_i) 再除以 (m) 的余数得到。
例如,使用乘数为 3、模数为 11 和种子为 1 的乘法同余生成器生成随机数序列:
n1 = 1
n2 = remainder[(3 × 1) ÷ 11] = 3
n3 = remainder[(3 × 3) ÷ 11] = 9
n4 = remainder[(3 × 9) ÷ 11] = 5
n5 = remainder[(3 × 5) ÷ 11] = 4
n6 = remainder[(3 × 4) ÷ 11] = 1
此时,序列 3, 9, 5, 4,
随机数生成与蒙特卡罗积分
超级会员免费看
订阅专栏 解锁全文
8

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



