文档介绍:Towards the Statistical Properties of PRNG and its Application
伪随机数发生器的统计性质检验及其应用
栾忠兰吕强*
(苏州大学计算机科学与技术学院)
【摘要】在解决一些NP难的组合优化问题时,很多优秀的元启发算法都利用了随机局部搜索(Stochastic Local Search, SLS)策略。一般认为,不同的伪随机数发生器(Pseudo Random Number Generator, PRNG)对SLS的影响是相同的。本文对PRNG进行统计性质测试,指出不同的PRNG之间有着不同的统计性质。将各种不同的PRNG应用于SLS算法的典型应用:3Opt优化旅行商问题(Traveling Salesman Problem, TSP)及RLS优化最大团问题(Maximum Clique Problem, MCP),并对其结果利用有显著意义的统计检验进行测试分析,得出结论:本文多个PRNG对3Opt-TSP和RLS-MCP的影响是不同的。
【关键词】伪随机数发生器;统计检验;t 检验;3Opt-TSP;RLS-MCP
【Abstract】When tackling many NP-binatorial optimization problems, a lot of excellent meta-heuristics must integrate some kind of stochastic local search (SLS)s. In literature, different PRNGs (Pseudo Random Number Generator) are considered to have the same impact to SLS. This paper gives evidences to show that the properties of PRNGs are varied in terms of statistical tests. By evaluating some significant statistical tests, this pares and analyzes the performances of two typical applications: 3Opt-TSP and RLS-MCP, which are the typical cases of SLS applying to NP-hard problems. The results show that different PRNGs have different impact to 3Opt-TSP and RLS-MCP.
【Keywords】 Pseudo Random Number Generator; Statistical Test; t Test; 3Opt-TSP; RLS-MCP
*Email: ******@suda. Tel: 0512-65243192ext208 Addr: 江苏省苏州市十梓街1号158信箱,邮编215006
引言
在科学研究中,我们常常需要用到随机数,然而真的随机数的产生比较复杂,因此我们通常使用伪随机数发生器PRNG。所谓“伪”是因为其产生的随机数并不是真正意义上的随机,而是在某个范围内是可预测的。
随机局部搜索算法SLS是我们解决组合优化问题最有效、最广泛的方法之一。在SLS过程中都需要用到伪随机数发生器,PRNG在SLS中的应用是非常重要的。一般认为,不同的PRNG对SLS的影响是相同的[1]。但是这种观点至今仍没有相关的理论论证证明。对于实验支持的文献,就只有[2]:SLS算法中的随机决策的作用只是使搜索多样化,PRNG的质量和随机决策的数量都对SLS算法的执行没有特别重要的作用。但是,Knuth提出PRNG与应用有关[3],而且我们的理解也是:各种PRNG由于其所应用的具体问题不同,会体现出不一样的性质质量,即各种PRNG对问题的解决结果有优劣之分。为了验证,本文我们将对PRNG的性质进行统计检验,分析不同的PRNG之间是否有着差异;将这些PRNG运用到3Opt-TSP和RLS-MCP问题中,并对产生的结果进行分析统计,从而证实了PRNG对SLS的影响是存在的。
常用的PRNG及其实现
常用的PRNG
线性同余法
Xi+1= (a Xi +c) mod m i=0, 1…()
线性同余法[3]通过满足公式()产生随机序列,主要参数为a, c, m。只有选择合适的参数才能得到随机数的周期接近或达到m。我们把a=137,m=256,c=187用公式()产生的PR