187.冯纽曼平方取中随机函数
您可以在百度里搜索“数学之书:数学史上250个里程碑式的发现 艾草文学(www.321553.xyz)”查找最新章节!
※187.冯纽曼平方取中随机函数
冯纽曼(John von Neumann,1903—1957)
1946年
冯纽曼摄于20世纪40年代的照片。冯纽曼开发出平方取中法,是早期一种以计算为基础、相当知名的虚拟随机数产生器。
骰子(约公元前3000年),布丰投针问题(1777年),随机数产生器的诞生(1938年)及ENIAC(1946年)
科学家们使用随机数产生器处理各式各样的数学问题,像是开发密码系统、建立原子移动的模型、推导出精确的调查报告等,其中所谓虚拟随机数产生器是制造仿真随机数的统计特性的一系列数目的一种算法。
平方取中法是数学家冯纽曼在1946年所提出的一种算法,同时,也是以计算为基础的虚拟随机数产生器中,最知名、最早期的一种。他的做法是随意选取像是1946这样的数字,取其平方数3786916,并把后者写成03786916,接着,取其中7869这四位数再重复平方后取其中段数字的过程。事实上,冯纽曼自己是以十位数作为整个算法的起始数字,其余的运算方式并无二致。
冯纽曼是以参与热核反应的共同研究并制造出氢弹而声名大噪。他本人很清楚自己虚拟随机数的产生方式带有缺陷,而且所产生的随机数最终将会重复出现,但他还是认为这个方法足以应用在很多领域中。冯纽曼曾在1951年警告过这个方法的使用者:“任何人如果想用算术方式制造随机数的话,都应当知道这绝非理想的做法。”尽管如此,冯纽曼仍旧偏好使用这套算法胜过用实体设备生成随机数的方法,毕竟后者无法记录它们的数值,一旦需要重复相同研究方法以确认问题所在时,碰到的麻烦可就大了。无论如何,冯纽曼当时的计算器并没有足够储存空间记录数不清的“随机数”,而且他所提出奇妙又简单的方法透过ENIAC计算后,可比慢慢在卡片阅读机上分析数据快上好几百倍。
近代较常使用的虚拟随机数产生器采用线性同余的方式计算X=(aX+c)mod m,其中n≥0,a是一乘数,m是模数,c是一增额数,X为初始值。1997年由松元真(Makoto Matsumoto)和西村拓士(Takuji Nishimura)两位所提出的梅森旋转虚拟随机数演算法,也是如今运用甚广、足以令人满意的虚拟随机数产生器。 数学之书:数学史上250个里程碑式的发现