- 32
- 0
- 约小于1千字
- 约 2页
- 2023-04-03 发布于湖南
- 举报
线性同余生成器的伪随机数生成器算法
线性同余生成器(Linear congruential generator,LCG)是一种使用常用的整数计算来生成伪随机数的重要方法,它的优点是速度快,操作简单,空间利用率高。
概念:
线性同余生成器是指具有一定算法规律的数发生器,通过经过算术运算生成伪随机数,将Xn视为上一次产生的伪随机数,Xn+1为新产生的伪随机数,采用以下公式:
Xn+1 = ( aXn + c ) mod m
其中,a,c,m是预先给定的数字,它们称为系数 (coefficients)。 注意,a,c,m也可以是负数。
算法细节:
(1) 计算X0:
(4) 用xn生成伪随机数:
为按指定的限定范围生成伪随机数,用公式:
Rn = Xn / m( Xn 为整数 )
确定Rn UNIFORM [0,1]。
比如Rn可以按[0,N]写成:
rn = Xn MOd N
若想产生指定概率数列中符合特定概率分布的伪随机数可采用概率抉择(probability-select)法。
(5) 用Xn+1替换Xn:
将 Xn+1 替换为 Xn,以便按此循环重复上述步骤2、3、4。
注意:着重要把握 a,c,m 的取值条件,不同取值会使生成的伪随机数具有不同特性。
(1)m要满足m0且m为朴素数;
(2) c不能等于0;
(3) a必须和m互素 (也就是最大公约数只能为1),同时a要满足以下条件:
(1) a必须比m小;
(2) a中不能有因子被整除;
(4) X0称为种子,可以由用户自定义或采用系统提供的随机初始值,一般不应小于m的1/4 。
通常,指定合理的a,c,m 和X0能获得具有良好随机性的伪随机数序列。
您可能关注的文档
最近下载
- 2025年《中国居民营养与慢性病状况报告》.docx
- 学习方法指导丛书数学3年级下册-答案.pdf VIP
- 5党的建设理论..doc VIP
- 微专题六 配速法与洛伦兹力冲量法(专项训练)(全国通用)(解析版).docx VIP
- 梅州市2026届高三(一模)化学试卷(含答案).pdf
- 2026人教版小学语文六年级下册必备阅读理解专项练习(附答案解析).pdf
- 中考化学实验探究一题多设问:教材基本实验的探究(原卷版+解析).pdf VIP
- 安洛变频器ATD5800说明书.pdf
- 高中化学竞赛试题(有机化学).doc VIP
- 河北水利电力学院《大学英语》2025 - 2026学年期末试卷.pdf VIP
原创力文档

文档评论(0)