您现在的位置是:首页 >

为什么迭代可以产生拟随机数

火烧 2016-12-16 08:21:32 1054
如图所示,这是二次函数y=ax(1-x)(0<x<1,a为参数)的图象:一条开口向下,在x=处取得最大值的抛物线。在这条抛物线上,对于每一个确定的x值(0<x<1),都能得到唯一的y值。倘若我们取定x0,0<x0<1,把得到的y0值看做一个新的x值再次代入


如图所示,这是二次函数y=ax(1-x)(0<x<1,a为参数)的图象:一条开口向下,在x=处取得最大值的抛物线。在这条抛物线上,对于每一个确定的x值(0<x<1),都能得到唯一的y值。倘若我们取定x0,0<x0<1,把得到的y0值看做一个新的x值再次代入该二次函数,会得到一个新的函数值y1,再将y1代入,可得……这样不断继续下去,会得到一系列的数值:y0,y1,y2,…,这样的过程在数学中称为迭代。从这个二次函数出发,任意选取某一个x0(0<x0<1)作为迭代的初始值,根据参数a的不同取值,会得到一些很有意思的结果。

当a取2时,取迭代初值x0为0.2,进行迭代后得到一系列的y值为:0.18,0.2952,0.4161140,0.485926,0.499604,0.50000,0.50000,…,可见,这个数列最终停留在一个恒定的值0.5上。

当a取3.2时,同样取初值为0.2,得到的数列是:0.512,0.799539,0.5128840,0.7994690,0.5130190,0.7994580,0.5130400,0.7994560,0.5130440,0.7994560,0.5130440,0.7994560,0.5130440,…,迭代数列的值最终停留在0.7994560与0.5130440这两个数值上,它们交替出现。

当a取3.5时,初值仍为0.2,选取迭代次数为30次,就已经能发现迭代值最后停在交替出现的0.3828200,0.8269410,0.500840,0.8749970这四个数值上。当a继续增大时,会出现迭代结果是交替出现的八个数值、十六个数值……的情况。

但是当a>3.57时,不妨取a=3.58,在同样的条件下,迭代后得到的y值将为:0.5728000,0.8760270,0.388020,0.8507340,0.4546100,0.8876240,0.3570966,0.8218190,0.5240630,0.892927,0.3422780,0.8059430,…,原来有规律的现象突然消失,迭代值不会再是若干个恒定的交替出现的数值,反而是一列毫无规律的数,好像随机取来的一样,这就是拟随机数。有兴趣的同学可以利用计算机自己计算一下。

由一个确定的二次函数出发,选定某一个参数a后通过迭代能得到一列捉摸不定、无法预言的拟随机数,似乎令人难以置信。但它的的确确是个事实,可以由计算机来进行检验。这是确定性非线性系统内在固有的现象,被称为内在随机性。内在随机性是新兴科学混沌理论的重要特征。

确定性过程蕴含着随机现象,对立统一规律在这里又一次得到了体现。由迭代所孕育的意料之外、情理之中的拟随机数使人们对自然的认识又加深了一步。

关键词:迭代 拟随机数

永远跟党走
  • 如果你觉得本站很棒,可以通过扫码支付打赏哦!

    • 微信收款码
    • 支付宝收款码