50、随机数生成与应用全解析

随机数生成与应用详解

随机数生成与应用全解析

1. 随机数生成器概述

在计算机尚未出现的时代,随机数序列只能通过物理方法生成,例如掷骰子、抛硬币、从瓮中抽取编号球,或者分析电子管产生的噪声。为了帮助相关领域的工作者,还出版了大量预先计算好的随机数序列表。

如今,许多应用,如蒙特卡罗(MC)和随机动力学模拟,都需要在计算机上生成数百万个随机数序列。伪随机数生成领域已相当成熟,其生成的序列具有确定性和可重复性。在液态计算机模拟中,随机数生成的原始速度通常并非关键因素,因为程序的其他部分往往更耗时。

随机数应满足以下要求:
- 统计分布 :应符合所需的分布,最常见的是在单位区间 (0, 1) 上均匀分布,更复杂的分布可由此推导得出。
- 无相关性 :需要计算两点、三点及更高阶的联合分布来验证。
- 长周期 :序列通常会在一定周期后重复,重复周期应尽可能长。

有一些针对随机数生成器的测试集,如 Diehard(Marsaglia,1995 年提出,后由 Brown 在 2015 年更新为 Dieharder)和 TestU01(L’Ecuyer 和 Simard,2007 年开发,可在线获取)。使用劣质随机数生成器可能会带来严重问题,尽管 MC 模拟有时似乎对其细节不敏感,但偶尔也会导致灾难性结果。因此,专业的分子模拟人员要么研究内置生成器使用的算法,要么从库中选择已知行为的生成器进行替换。需要注意的是,软件库的内容可能会随版本变化。Gnu 科学库和 Intel Math Kernel 库中都提供了一些随机数生成器。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值