可逆随机数生成器的设计

来源 :电脑知识与技术 | 被引量 : 0次 | 上传用户:harric1234
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:本文主要介紹可逆随机数生成器算法的设计与实现。首先,给出可逆随机数生成器介绍;其次,介绍基于存储器的可逆生成器和均匀分布的可逆生成器算法的设计与实现;最后,介绍其他分布的可逆生成器算法的设计与实现。
  关键词:可逆计算; 随机数生成器;均匀分布
  中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2016)31-0240-02
  Abstract: This paper mainly introduces the design and implementation of reversible algorithm of random number generator. First, it gives the introduced of reversible random number generator, Secondly, design and realization of the algorithm based on the memory and uniform distribution of reversible generator, Finally, introduced the distribution of design and implementation of the other reversible generator.
  Key words: Reversible Computing; Random Number Generator. Uniform distribution
  可逆计算[1]是一门新兴的交叉学科,其研究的主要目是克服计算系统中的能耗问题,而能耗是导致计算系统芯片发热的主要原因。在可逆计算中,如果一个正向计算包括一个随机数生成器,那么这个计算要可逆就必须有可逆的随机数生成器。否则后面正向计算得到的结果就变得不确定、不可重复和不可逆转的计算,最后计算出的结果也很难被验证与接受[2] [3]。
  概率分布被计算机代码用来模拟物理系统模型,随机数生成器被用来生成符合一定概率分布的数列。生成随机数数列已经被研究好多年,主要的研究内容有:1)在一定精度范围内,增加随机数的长度;2)提高生成器的速度;3)生成复杂分布数列;4)降低多个数列间的相互影响。然而,关于生成器的可逆方面很少被研究或考虑。尽管它与这些研究有很多交叉的方面,但是它还没有受到广泛关注。
  为了能够准确的回访随机数生成器,传统的方法是使用每个被生成的随机数的检测点的基值。这个方法能够解决正确性问题,但是浪费了资源,因为这需要消耗大量的内存空间和内存拷贝的时间。为了避免检测点,可逆的方法在尝试的时候又很快遇到一个新的问题,有一些随机数生成器是基于有损或者破坏性计算,比如取模操作。这就意味着可逆计算没有比基于检查点更有效的方法了。为了解决这样的问题,就需要开发不需要任何检查点就能回访随机数序列的可逆随机数生成器。理论上,这样的随机数生成器确实存在,因为随机数序列是循环序列中的数值,它应该可以同等难度的正向与反向遍历。
  这里,我们将提出三种有效的可逆随机数生成器方法既可以正向遍历也可以反向遍历。
  1)基于存储器的可逆生成器;2)均匀分布的可逆生成器;3)其他分布的可逆生成器。
  1 基于存储器的可逆生成器
  对于简单分布,随机数生成程序 经常是由一个封闭形式的公式指定,如指数分布。更复杂的分布要么计算机复杂或者由一封闭形式的公式指定。这儿有一个通用的方法适合所有的可逆生成器,可能简单分布的要更容易实现可逆。
  任何可逆的随机数生成器都可以将生成的随机数保存在计算机存储器中并使它们能逆转,因为最简单的可逆可以基于正向随机数列后进先出操作。这是一个最费空间,但最通用的方法,因为他不需要去计算生成的随机数。例如,随机数来源于大气辐射能够很容易的使用基于存储器的方法实现可逆。因为,不管是基于物理的随机数生成器还是伪随机数都很难去通过计算可逆,但可逆性可以很容易的通过将正向序列记录在存储器中去实现。存储器可能会在使用的过程中被填满,因此,存储器的容量决定了可逆随机数序列的长度。
  给定一个大小为Mz位的空间,每个数的精度为B位,那么可逆随机数序列的长度为M=Mz/B。
  算法1.1 基于存储器的可逆生成器
  
  算法1.1展示了正向和反向遍历一个随机数数列的方法。正向随机数数列由函数R*()生成,而R*()的逆函数要么不存在,或者物理不可逆,或者计算成本很高,算法使用一个大小为M的循环缓冲区B来实现可逆。这个循环缓冲区下标取值范围是从0到M-1,h为头指针,c为当前指针,t为尾指针,如图1所示。
  2 均匀分布的可逆生成器
  最传统的随机数生成器是生成[0,1]区间均匀分布的变量,其他复杂分布的随机数数列都能基于这种均匀分布的随机数生成。因此均匀分布的随机数生成器是其他序列的基础。因而为了是其他复杂分布数列可逆,首先必须开发均匀分布可逆生成器。
  一个均匀分布的伪随机数生成器正向和逆向的执行在算法1.2被给出。公式f()从当前种子值计算下一个种子值,而f-1()是从当前种子值计算前面种子值。公式U()映射种子值到区间[0,1)。注意公式U()既被用于正向计算也被用于反向计算。
  3 其他分布的可逆生成器
  其他分布的可逆随机数数生成器都可以基于均匀分布的随机数生成器基础上加上洗牌算法等算法,使得生成均匀分布的数列符合其他分布。
  一个其他分布的伪随机数生成器正向和逆向的执行在算法1.3被给出。公式f()从当前种子值计算下一个种子值,而f-1()是从当前种子值计算前面种子值。公式S()为变换函数实现不同分布,公式U()映射种子值到区间[0,1)。注意公式U()既被用于正向计算也被用于反向计算。
  4 结束语
  本文主首先介绍可逆随机数生成器;然后分别介绍基于存储器的可逆生成器、均匀分布和介绍其他分布的可逆生成器算法的设计与实现。主要解决可逆计算中,包括一个随机数生成器实现可逆。其中,基于存储器的可逆生成器是一种基于内存的通用方法,在内存允许范围内,记录检查点,实现任意可逆,而均匀分布与其他分布,则是基于特定公式,通过计算实现可逆,这样的方法避免了记录检查点,节约了内存。
  参考文献:
  [1] Landauer R. Irreversibility and heat generation in the computing process[J]. IBM Journal of Research and Development, 1961, 5(3):183–191.
  [2] Alfred V. Aho. Compilers: Principles, Techniques, and Tools. 2nd Edition[M]. USA: Addison Wesley,2011.
  [3] Charles. Crafting a Compiler with C[M]. USA: Addison Wesley, 2005.
其他文献
阐述了板料成形数值模拟前置处理软件中人机交互的实现.详细地论述了图形的几何变换,即平移、旋转和缩放的技术,以及基于OpenGL拾取机制的网格节点和单元拾取方法.最后讨论了
针对核电容器上的接管采用焊接连接存在的隐患,研究了厚壁封头接管整锻成形技术。采用DEFORM3D软件对壁厚为325mm的大型厚壁封头接管成形过程进行了模拟研究。获得了变形区金
近年来我国社会经济取得了飞速发展,各种科学技术水平也有了很大提高,在这样的时代背景下,人们最常用的一种科学技术就是网络通信。现代人们对通信产品的需求也有了很大改变,
图像的超像素生成算法是一种主流的图像预处理工具,目前已经广泛应用于图像分析及计算机视觉领域。然而,已有的超像素算法存在性能较低的问题,为了解决该问题,提出一种图像超像素的快速生成算法。该算法首先对图像进行标记,然后利用标记图像结合原图像获取分水岭分割结果。最后通过引入边缘预处理来确保均匀性和紧凑性之间的平衡,从而对齐超像素的图像边缘。实验结果表明,提出的算法不仅能够生成质量更高的超像素图像,而且较
摘要:80年来,受“阴谋论”“帮凶论”等曲解或诋毁,柏林奥运会一直埋葬在厚重的历史灰尘之下。再认识的重点是:现代奥运会是德国人奠基、法国人创立,柏林奥运会是德国几代人想圆的梦,申奥成功时希特勒还未上台;国际奥委会是与希特勒斗争的唯一国际组织,希特勒做出了重大让步和妥协,博弈取得完胜;柏林奥运会在奥林匹克史上具有转折性、标志性的历史地位。再认识有助于认清奥运会的申与办有自身的历史规律,对和平有正面引
采用不同材料屈服模型及参数对典型冲压过程进行了仿真,对仿真结果进行了分析.分析表明材料模型及参数对仿真结果影响至关重要,板料的厚度分布及成形极限图对结构参数n和r值
武术文化在中国的发展已经上升到了一种全新的高度.在这种全新高度的背后隐藏着的是对于武术文化的思考与理解.武术文化在中国发挥着越来越重要的作用.近些年来,由于人们生活
毛坯外形设计是工艺设计的重要环节,它直接影响工件的成形质量.精确计算毛坯外形极其困难,目前尚无通用的方法.反向模拟结合了塑性形变理论和有限元技术,直接由工件反算出毛
电接触材料在工业乃至整个国民经济中发挥着越来越重要的作用,随着电力、电子、通讯、机械等行业的快速发展,对电接触材料的质量、性能、经济性和环保性提出了很高的要求,这就要
分析了数字化精密成形技术理论知识,重点针对国外数字化精密塑性成形和数字化精密铸造2种具有代表性的成形技术进行研究,对2项技术的应用现状进行了追踪分析。结合国内实际情况