随机数在离散系统仿真中,随机数是一个必不可少的基本元素(0,1)均匀分布随机数是产生其他许多分布的随机数的基础一个随机数序列必须满足两个重要的统计性质:均匀性和独立性随机数的性质均匀性如果将区间[0,1]分为n个等长的子区间,那么在每个区间的期望观测次数为N/n,其中N为观测的总次数独立性观测值落在某个特定区间的概率与以前的观测值无关随机数的产生方法物理方法:利用某些物理过程来产生均匀分布随机数随机数表:利用物理过程得到的大量随机数,制成随机数表随机数产生程序:按照一定的算法计算出具有类似于均匀分布随机变量的独立取样值性质的数伪随机数计算机产生随机数的要求产生的随机数要尽可能的逼近理想的均匀性和独立性统计性质产生的随机数要有足够长的周期产生随机数的速度要快,占用的内存空间要小随机数必须是可重复的对于给定的起始点或初始条件,应当能够产生相同的随机数序列,而且与正被仿真的系统完全无关产生随机数的算法是利用递推公式:12(,,
,)nnnnkXfXXX平方取中法20世纪40年代由冯·诺依曼提出的第一个随机数生成器例:设有一个4位正整数Z0,对之取平方得到一个8位正整数(如果不够8位数,可以在左侧加上0补足8位)
而后取中间的4位获得一个新的4位正整数Z1
将Z1/10000得到一个[0,1]之间的小数,则获得第一个“随机数”U1
然后基于Z1重复上述操作,得到Z2和U2,依次类推……线性同余随机数生成器(LCG)其中,a称为乘法因子,c称为加法因子,m为模数当a=1时,为加同余法;当c=0时,为乘同余法;当a≠1、c≠0时,为混合同余法1()(mod)iiZaZcm例:使用线性同余法产生随机数序列,其中Z0=27、a=17、c=43、m=100
解:Zk=(aZk-1+c)modmZ1=(17×27+43)mod100=5