毕业设计(论文)随机函数的设计与程序的实现.doc
-
资源ID:3985482
资源大小:975KB
全文页数:45页
- 资源格式: DOC
下载积分:8金币
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
毕业设计(论文)随机函数的设计与程序的实现.doc
毕业设计(论文) 随机函数的设计与程序的实现 学 院 信息科学与工程学院年级专业 02级电子信息工程4班学生姓名 指导教师 专业负责人答辩日期 毕业设计(论文)任务书学院:信息科学与工程学院 系级教学单位:电子与通信工程系 学号学生姓名专 业班 级02级电子信息工程4班课题题 目随机函数的设计与程序的实现来 源自选主要内容 随机函数是指它的值在生成之前是不可预知的数,它在数理统计和生物统计中都有占有重要地位。在遗传算法中,个体初值的算法要用到随机函数。现在广泛使用的是借助计算机来完成这项任务工作。但计算机是用算法来实现的,而在真正的随机函数是不能由算法产生。一个算法是一特定的命令序列,该序列可以根据给定的参数集合来产生预测的输出,就是说,在用计算机产生随机数时,最终结果是可以预测的。因此计算机可以进行的工作就是找到一个算法来模拟随机序列的产生。这些数并不是真正的随机数,他们称“伪随机数”。基本要求1了解评价随机函数的指标。2研究快速有效复杂度低的随机函数生成算法。3编制随机函数的程序。参考资料1 曹大有,沈 洁。C/C+ 随机函数的改进,阳师范高等专科学校学报第二于三卷第6期,2003。中国期刊数据库,维普全文数据库,中国优秀博硕士学位论文数据库,IEEE/IEE Electronic Library(IEL)数据库,Kluwer全文电子期刊等。http:/emlib.jpl.nasa.gov/周 次14周58周912周1316周1718周应完成的内容查阅文献资料掌握软件使用方法。建立算法,确定软件实现方案,编制源程序。软件调试,结果分析。编制设计文件,使用说明。完成论文。指导教师: 邢光龙系级教单位审批:摘 要随机函数在计算机应用以及操作系统中都有广泛的应用,本文对随机函数的概况和一些应用做了简单的介绍。在TurboC中的rand函数等都可以产生一个随机数,而在实际应用中,如果是利用循环反复产生随机数,则会发现产生了若干个随机数后,后面的随机数序列与前面的随机数序列完全相同。本文给出了其产生的原因以及一些改善方法。通过对三种比较典型的方法产生的随机函数人字型映射法,类同余法,超素数法指标的分析,检验,了解随机函数的指标。在介绍超素数法的同时对其与其他一些传统随机函数进行了比较分析。最后介绍满抛物线法产生的随机函数,对其算法和指标进行分析检验,并对其程序实现。关键词随机函数;伪随机序列;检验 AbstractAll there is extensive application in calculator appliedly and operate system with the machine function, there is a brief introduction of the general situation of the machine function with some the application. Many random function can produce random figure in rand of TurboC. but in the actual application, if is to make use of the circulation to produce again and again to count with the machine, then will discover to few preface row and before of with machine few preface row complete same when produce some with machine after counting. There are some ameliorative method. There are three kinds of typical methods of random function lterating herringbone shadow generate random number . A kind of random numbers generated By congruence and their testing. Method of generating long period pseudo-random numbers based on a special property of prime numbers.we analysis the method of generating long period pseudo-random numbers based on a special property of prime numbers comparing with a little bit other tradition random function. finally, there is a introduction of lterate parabola shadow generate random number .wo also analysis and test its method creation and guide line .at last, its the procedure realizes.Keywords random function bogus random sequence test目 录摘 要IAbstractII第1章绪论11.1 课题背景11.2 随机函数的概况21.3 本文概括3第2章 随机函数的应用42.1 随机函数在操作系统中的应用42.1.1 操作系统与随机函数的关连42.1.2 两类随机函数42.1.2 应用实例分析52.2 随机函数在工业抽查中的应用62.2.1 产生永久随机数的方法72.2.2 使用永久随机数抽取样本的方法72.2.3 连续性调查中利用永久随机数维护样本的方法92.2.4 连续性调查中利用永久随机数轮换样本的方法102.3 随机函数在噪声中的应用102.4 本章小结12第3章 随机函数的指标分析133.1 利用人字映射产生均匀随机数法133.1.1 利用迭代公式产生随机数143.1.2 伪随机数统计检验153.2 用类同余法产生随机数及其检验183.2.1 类同余法:193.2.2 检验分析193.3 超素数法长周期伪随机数发生器的应用算法203.3.1 优选乘子超素数法的应用算法和算例213.3.2 超素数长周期伪随机数生成算法和算例223.3.3 不同方法生成伪随机数的统计分析243.4 本章小结28第4章 满抛物线映射法产生的随机函数294.1 随机函数的生成算法294.2 随机函数的检验分析304.3 本章小结31结 论33参考文献34附录35致谢36第1章绪论1.1 课题背景16世纪中叶,欧洲科学革命的兴起,科学和技术有了长足的进步,有关运动的研究已在自然科学领域中逐渐居主导的地位,这就影响数学研究方法的提升:从常量观念为中心转移到以变量观念为中心,而实现这一转变的关键人物正是笛卡尔(解析几何)、牛顿和莱布尼兹(微积分)。函数概念在解析几何、微积分诞生的背景下,被引入数学的殿堂。约在公元1637年,笛卡尔(R.Descartes,法,15961650)建立方程序和曲线的联系时,已经认识到:当“点”按一定的条件运动时,x与y之间便建立了某种关系,即y依赖x而变,可用方程式给出,但他并没有提炼出一般的函数概念。现在公认最早的函数定义是由德国的莱布尼兹(G.W.Leibniz,16461716)给出的,他在一篇手稿里,首先采用“函数”(拉丁文functio)一词,并用函数表曲线上点的。“横坐标”或“纵坐标”或“切线长度”。或“垂线长度”等,即与曲线上的点相关的“几何量”。由此可见函数概念引入的初期,人们对函数的认识是相当肤浅的,为了推动数学的发展,函数概念一次又一次地修正,内涵逐渐扩展。瑞士数学家尤拉(L.Euler,17071783)在他写的“无穷小分析引论”书中,明确地指出:变量的函数是由这个变量和一些常量通过任何方式形成的解析表达式,解析表达式是指代数式和超越式。尤拉的定义,在18世纪被认为是标准的函数概念。公元1821年,法国数学家柯西(Cauchy,17891857)在“分析教程”给出如下的定义:在某些变量间存在着一定的关系,给定其中某一变量的值,其它变量的值亦可随之而确定时,则将最初的变量称之为自变量,其它各变量则称为函数。柯西的定义使函数概念有了进一步的扩展,但对函数概念的本质“对应”,还不够强调。公元1837年德国数学家狄利克雷(Dirichlet,18051859)引入了新的函数定义:对于某区间上的每一个确定的x值,只要y有完全确定的值与之对应,不论x,y所建立之对应方式如何,y都叫做x的函数。(这是古典函数的定义)依据这个定义,狄氏举了一个例子:对0x1,当x为有理数时,对应y1;当x为无理数时,对应y0。这也是一个函数(就是著名的狄利克雷函数)。1.2 随机函数的概况在计算机应用中,常常会使用到随机数,有时甚至需要反复大量地使用随机数,例如:计算机模拟枪炮射击的弹着点分布、股票的涨落、扑克游戏的自动发牌程序等等。计算机的各种编程语言中通常都有产生随机数的方法,例如:在Visual Basic中Rnd函数、在TurboC中的rand函数等都可以产生一个随机数。在实际应用中,如果是利用循环反复产生随机数,则会发现产生了若干个随机数后,后面的随机数序列与前面的随机数序列完全相同,前人是在编制桥牌的自动发牌程序时,首次发现这个问题的。由于随机数序列的重复出现,也就产生了“随机数不随机问题”。要解决“随机数不随机问题”,显然需要首先弄清各种编程语言中产生随机数的方法。 内存中存储大量的、杂乱排放的数据(伪随机数序列)当程序第一次要求产生随机数时,就把第一个数据作为随机数传给程序;当程序再次要求产生随机数时,就把下一个数据作为随机数传给程序,由于伪随机数序列的数据的数目总是有限的,所以这种产生的的随机数其实是伪随机数,而且两次运行程序所产生的随机数序列,必然也是完全利用时钟计数器的尾数作为随机数。在PC机中,利用8253芯片(或者8254芯片)的一个计数器通道产生日期和时间,这个计数器本身是六位的,计算机的时钟信号(频率为4. 97MHz)使计数器不断递减,每隔55mS计数器产生一次溢出(也就是计数器归零后,又减1)。当程序要求产生随机数时,就把当前计数器的低八位数据作为随机数(或者再经过一些变换后)传给程序。由于计数器的递减速度很快,计数器的低八位变化得更快,在要求产生随机数时,人们难以确定计数器的低八位数据的内容,所以它对人而言就相当于随机数1。Visual Basic中Rnd()函数是第一种方法和第二种方法的结合,它的内部也有一个伪随机数序列,可以利用无参数的Randomize()函数调用系统的芯片的低八位作为伪随机数序列的索引(VB中称为种子),再由Rnd函数取出伪随机数字列中的一个数,作为随机数。由于随机数的产生取决于8253计数器,所以它实际上是用第二种方法产生随机数的。采用第二种方法,如果是利用循环反复产生随机数,由于计算机的指令执行是与计算机的时钟同步的,则两次产生随机数时间间隔是恒定的。所以如果某次产生随机数时与N次前产生随机数时8253计数器中的数值完全相同,那么下次产生随机数时也必然与它的N次前产生随机数时8253计数器中的数值完全相同(例如:第120次产生随机数时8253计数器中的数值与第30次产生随机数时8253计数器中的数值完全相同,则第121次产生随机数时8253计数器中的数值必然与第31次产生随机数时8253计数器中的数值完全相同,则第122次产生随机数时8253计数器中的数值必然与第32次产生随机数时8253计数器中的数值完全相同,这样8253计数器中的数值相同意味着随机数相同,后面的随机数序列重复前面的随机数序列,产生了随机数不随机问题2。统计模拟的最基本问题是随机数生成,是按统计模型生成数据的基础。随机数生成可分成两类:0 ,1 区间上均匀随机数生成和非均匀随机数生成,是随机数生成问题的两个基本研究领域。0 ,1 上均匀随机数生成是随机数生成之基础,非均匀随机数是由 0 ,1 上均匀随机数经相应运算而产生的。0 ,1 上均匀随机数的质量决定了非均匀随机数的质量。如何快速地生成0 ,1 上高质量均匀随机数是普遍关注的问题。生成方法分为两类:物理方法和计算机方法3。物理方法随机数生成有很长的历史,浦丰掷针就是历史上一例著名的随机数生成。近代ShewHart 在他的质量控制一书中产生的随机样本就是采用物理方法:做很多卡片写上数字放在大口袋中,用手在口袋中随意摸取一张,根据上面的数字确定抽取的样品,也可设计或门和与门。电路,生成0 ,1 有限序列,组成0 ,1 上的随机数。物理方法实行严格,有很好的随机性;但缺点是速度慢,无法重复,且对统计模拟带来不可验证性。除教学目的之外,实际均匀随机数的生成均不采用物理方法,采用伪随机数方法,这是计算机技术发展的必然结果4。1.3 本文概括 本文首先介绍了随机函数的发展背景和发展概况,接着介绍了随机函数在一些方面的应用,第三章中介绍了一些随机函数的指标分析和对其的检验。第四章介绍了一种新的随机函数生成方法满抛物线映射法,并对其进行对比分析和指标研究。最后对全文加以总结。第2章 随机函数的应用随机函数在很多方面都有广泛的应用,正确的了解随机函数的应用对我们更加深刻的了解随机函数有很大的帮助。我们在研究一些现象的本质时需要模拟一些不均匀分布的数字或画面等,这时我们就需要随机函数的应用了。2.1 随机函数在操作系统中的应用 操作系统课程是计算机专业的一门重要的基础课程,它介绍了操作系统的基本原理、设计方法和技巧。在这些模拟程序中,进程号、内存号、设备号、优先级等常用随机数来产生,以更好地描述体现算法的思想。可见,正确、熟练地运用随机函数的随性规律对于顺利完成实验、掌握领会操作系统的原理和方法都是很有意义的。2.1.1 操作系统与随机函数的关连计算机操作系统是计算机系统配置的重要软件之一,它在整个计算机系统软件中占有中心地位,也是计算机教学中最重要的环节之一。操作系统课程是有关计算机科学技术专业的一门专业基础课,该课程重点介绍操作系统的基本原理和概念,设计方法和技巧。我们在学习该课程有两大难点。一是很难将书本中学到的概念、原理、算法,与实际的操作系统相印证。学生了解系统的外部功能和性能,但是不知道如何实现这样的功能,达到这样的性能。必须通过上机实习,改变知其然不知其所以然的状况。二是该课程难以实习,因为操作系统是所有软件中最复杂软件,编制这样的系统牵扯到方方面面,编程者既要有扎实的软件基础知识,又要非常了解系统的硬件,难度可想而知。因而上机编写模拟程序是模拟操作系统对五大资源的管理是一种有效途径。在这些模拟程序中,时间片、内存号、设备号、优先级等常用随机数来产生,以更好地体现算法的思想。可见,正确熟练地运用随机函数对于顺利完成实验是相当重要的5。2.1.2 两类随机函数 考虑到C语言能对硬件直接进行操作,可以进行系统调用,既适合编写应用程序,又适合编写系统程序,而且学生在此之前已学习了C语言,所以我选用C语言作为操作系统实验的上机语言。在模拟程序中,可以使用C语言提供的标准随机函数,也可以使用自定义随机函数。2.1.2.1 C语言的随机函数 C语言的库函数中有4个随机函数:rand()、srand()、random()、和randomize()。随机函数rand()可产生一系列的伪随机数,所谓伪随机数是由计算机按一定的算法生成统计上满足独立性及均匀性的一串数字。该函数每调用一次,返回一个0到RANDMAX(即)之间的整数。种子函数rand()用来建立由rand()所产生序列值的起始点,seed是“种子”,从而可使程序用不同的伪随机数序列进行。具体做法: 首先,给rand(seed)提供一个“种子”“seed”,它的取值范围是从0-65535。 然后,调用rand(),是伪随机数,它会根据提供给rand()的。种子。值返回一个随机数(在0-32767之间)。 根据需要多次调用rand(),从而不断地得到新的随机数。 无论何时,你都可以给rand()提供一个新的“种子”,从而进一步。随机化。rand()的输出结果。例如,取m=17,则执行了rand(17)之后,再执行rand()函数,将得到输出值94;第二次调用rand(),会得到26,反复调用rand()就能产生一系列的随机数。(注意:若m不变,则rand()的输出系列也不变,总是94,26,602,。所以,建议摇号的“种子”选为当前日期或时间,以保证值都不相同。)函数random()返回一个0至num之间的随机整数。randomize()通过初始化随机数发生器使之产生一个随机数,它使用time()函数,所以在用到randomize()的任何程序中都要用文件包含命令将timeh包含进来。2.1.2.2 高斯随机数 在自然界,很多自然现象都满足高斯随机分布。采用高斯随机函数,将平均分布的随机数变成符合正态分布的随机数(即高斯随机数)5。假定有伪随机数发生器x=rand(),它返回在区间0,A上均匀分布的随机数,典型地,A值将取或。同时还有一函数rand(seed),它为rand()引入一个起始值。取rand()返回的某线性缩放的平均值近似一个高斯随机变量。一个随机变量X减去其期望值并除以其标准差即可对它进行标准化。中心极限定理表明,如果是任意几个符合相同分布的随机变量的标准化总和,则的概率分布随着n 而趋于正态分布6。2.1.2 应用实例分析进程的概念是操作系统中最基本、最重要的概念,是设计和分析操作系统的有力工具,是对程序的抽象,是重点,又是难点。这里通过处理器调度实验说明随机函数在模拟程序中的应用,同时,该实验目的是通过实现多进程运行机制加深理解有关进程控制块、进程队列的概念,并体会和了解优先数调度算法的具体实施办法,以便领会掌握进程的概念及进程调度。以支持多进程并发运行的进程管理实验来说明随机函数在模拟程序中的应用。进程管理是操作系统实验最核心的内容。在该实验的目是通过实现多进程运行机制加深对进程有关内容的认识和理解。进程调度负责动态地把处理分配给进程,优先数法是其中的一种调度策略。每次调度选择就绪进程中优先数最小的就绪进程投入执行。系统为进程设置5种运行状态:执行状态,高就绪态,低就绪态,等待态,完成态。系统分时执行各进程,并规定3个进程的执行概率为33%。进程1process1访问随机数x;若0.33<x<0.66,进程process2访问x;若x>0.66。则进程process3访问x。认为各进程的执行时间片到限,产生“时间片中断”而转入低就绪态t。进程调度算法采用剥夺式最高优先数法。各进程的优先数通过键盘输入予以静态设置。调度程序每次总是优先数最小的就绪进程投入执行。先从r状态进程选择,再从t状态进程中选择。当现行进程唤醒某个等待进程,且被唤醒进程的优先数小于现行进程时,则剥夺现行进程的执行权。系统启动后,在完成必要的系统初试化后便执行进程调度程序。当执行进程因“时间片中断”,或被排斥使用临界资源,或唤醒某个等待进程时,立刻进行进程调度。当3个进程都处于完成状态后,系统运行。2.2 随机函数在工业抽查中的应用规模以下工业抽样调查自1998年开展以来,每年进行1至9月和年报2次调查,从2002年开始,每年进行4次调查,其中1至5月(半年报)和1至11月(年报)是按能够满足省级需要而设计的,1至3月和1至9月调查按满足国家需要设计的,样本量较少。由于这项调查是连续性的,因此既要考虑样本的老化问题,又要考虑样本的相对稳定性问题。样本一成不变会导致被调查者对调查的兴趣随着时间的推移有所下降,产生厌倦情绪;样本变化过于大或过于频繁,会导致历史数据产生明显的间断,不利于进行时间序列分析。鉴于规模以下工业抽样调查的实际情况,目前没有考虑样本轮换问题,只是要求尽可能保持样本单位的相对稳定,即在连续调查中最大化保持原有样本单位。但如何保持原有样本单位并增加新样本,以保持一个相对固定的样本规模,目前没有具体的方法。利用永久随机数不仅可以抽取分层抽样中每层的样本,而且还可在连续性调查中增加所需样本或进行样本轮换。笔者认为,永久随机数是一种简单、实用的方法,值得广泛推广与应用。随机数就是按随机方法而生成的数码。即0、1、2、9这于个数字出现的机会是等概率的,但排列的顺序随机的。永久随机数则是指长久使用。不改变的随机数。比如一个企业一旦被赋予了一个随机数,则在以后的调查中都使用这个随机数,它类似企业法人代码,具有唯一和终身性7。2.2.1 产生永久随机数的方法 永久随机数可通过计算机程序产生,既可在Foxpro中,用“repl字段名withrand()”语句命令实现,也可在MicrosoftExcel中,选择插入菜单,找到函数中的常用函数,查找到Rand0即为产生随机数的程序。抽样框中有多少个单位,就产生多少个随机数。随机数的位数可根据需要确定,本文中以95895个企业为例,因此确定用6位。随机数产生后,要检验其分布是否合理。方法是用随机数6位中的前n(n为1,2,3,6)位来检验,本文采用前两位来检验,即在0.01至0.02之间;0.02至0.03之间;0.03至0.04之间0.99至1之间,看是否有大致相等的随机数个数,如果有大致相等的随机数个数,说明是等概率的,是合理的。如果每个区间的随机数个数相差较多,说明是不合理的,需要重新生成随机数,再检验其分布的合理性,直至达到满意为止。比如,某地区目录企业框有95895个企业,则按以上方法生成95895个永久随机数。每个区间都应有1000个随机数,根据笔者的实际抽取,每个区间的随机数在911个至1023个之间,这说明其分布基本是均匀的8。 2.2.2 使用永久随机数抽取样本的方法 将这95895个0至1之间的永久随机数分别赋予抽样框中的每个企业,并把这些企业分为5层,见表2-1总体单位数及样本分布情况。抽取样本的方法有两种:1按抽样比抽取样本。在每层中所有比抽样比小的永久随机数对应的企业为抽中样本,如上表400万元以上的层,抽样比是01020807,在这一层按随机数从小到大排队,凡是永久随机数小于01020807的企业为抽中样表2-1 总体单位数及样本分布情况按年产品销售收入分层企业单位数抽取的样本企业数抽样比按抽样比抽取的样本企业数400144183000.020807305250400160343060.019084300150250166282020.01214821050150263651960.007434147<50224501200.005345131Total9589511240.0117211093本。共得到305个样本。此种抽取方法的缺点就是样本量不固定,是随抽样比变化的随机变量,而且与规定的样本量会有一定差异,可能比要求的样本量多,也可能比要求的样本量少,从表2-1中的最后一列可看出,5层中有3层比要求的样本量多,分别是400万元以上的层。150250万元的层和50万元以下的层。5层中有2层比要求的样本量少,分别是250400万元的层和50150万元的层。按抽样比方法抽取的总样本量比要求的少31。2按样本量抽取。在每层中按样本量先取最小的永久随机数对应的企业为样本。如上表400万元以上的层,需从14418个企业中等概率抽取300个样本,做法是,将这14418个企业按永久随机数从小到大排队,选取永久随机数最小的300个,即为这一层的样本。当然,也要进一步考虑到样本按行业,按地域,按注岫类型的分布情况。其他层样本抽取都按此方法进行。目录企业可用永久随机数抽取样本,对个体采用的一阶段整群抽样同样也可采取永久随机数抽取整群样本,只是把群等同企业看待即可。但在整群抽样中,有一个“虚拟村”问题,要特殊考虑。“虚拟村”就是为了解决一个整群(村P居委会)中有特别多的个体工业户时,减少调查工作量问题,比如说一个村委会有300多个个体工业户,如果这个村被抽中,对这300多个个体工业户都进行调查,工作量太大,同时,可能这些个体工业户生产的产品雷同,也没有必要对他们都进行调查,为此,根据抽样框的数据,将具有一定数量个体工业户以上的大村,分成若干个“虚拟村”,比如说规定80个(也可是50个,根据需要确定),那么本个村的个体户数超过80个,则要将这个村划分成小一些的“虚拟村”。如果一个村的个体户数在81至160之间,则划分为2个虚拟村;如果一个村的个体户数在161至240之间,则划分为3个虚拟材料;以此类推。如果抽中了“大村”中的1个虚拟村,那么,就按1个虚拟村中个体户占这个大村中个体户数的比重来计算调查的数量。如果抽中了“大村”中的2个虚拟村,那么,就对这个村的一半个体户数进行调查。为减少从“大村”中抽取多于一个虚拟村的机会,可用每个虚拟村赋予不同的永久随机数方法来实现。比如赋予第一个虚拟村的永久随机数为R,那么赋予另外一个虚拟村的永久随机数为0.5+R,如果这个数值超过1,只取小数部分。例如当有2个虚拟村时,第一个虚拟村的永久随机数R=0.7,那么第二个虚拟村的永久随机数就是0.2(0.5+0.7=1.2的小数部分)。当有3个虚拟村时,第一个虚拟村的永久随机数R=0.7;那么第二个虚拟村的永久随机数就是0.83(0.5+1/3=0.83);第三个虚拟村的永久随机数是0.17(0.5+2/3)=1.17的小数部分),以此类推。2.2.3 连续性调查中利用永久随机数维护样本的方法 第一次调查结束后,一些样本企业会发生变化,如消亡,改行,规模大变小或小变大,同样也会有新生企业等。因此要对样本进行维护。应用抽样比的方法。如果在第二次调查时,其抽样比f(2)不小于第一次调查的抽样比f(1),则第一次调查选中的样本单位必然全部为第二次调查的样本。例如第一次调查中,400万元以上的层,永久随机数小于0.020807的企业为抽中样本,在第二次调查时,对样本变化情况进行调整后,要增加样本量,此层的抽样比为0.035026,那么第一次调查中抽中的样本全部为第二次调查的样本,同时,还要增加永久随机数在0.020807与0.035026之间的企业为第二次调查的样本。相反,如果在第2次调查时,其抽样比f(2)小于第一次调查的抽样比f(1),则第一次调查选中的样本单位不完全包括在第二次调查的样本中。例如第一次调查中,4000万元以上的层,永久随机数小于0.020807对应的企业为抽中样本,在第二次调查时,对样本变化情况进行调整后,要减少样本量,此层的抽样比为0.001026,那么第一次调查中抽中的部分样本为第二次调查的样本,即永久随机数小于0.001026对应的企业为第二次调查的样本,而永久随机数在0.001026与0.020807之间的样本不作为第二次调查的样本。如果将2001年报(以省为总体控制精度)作为第一次调查,2002年1至3月(以国家为总体控制精度)调查作为第二次调查,就可采用些方法实现。对于新增企业,在每层中将所有比抽样比小的永久随机数对应的企业作为新增样本9。应用固定样本量的方法。如果在第二次调查时,某层需要补充或增加样本,就在第一次调查样本的基础上,选取能满足样本量要求的最小的永久随机数对应的企业为补充样本。2.2.4 连续性调查中利用永久随机数轮换样本的方法 通过各次调查间传递永久随机数进行样本轮换。比如样本在4年内轮换完,每年轮换掉样本的1/4。应用抽样比的方法。仍以400万元以上的层为例,假定从第二次年度调查开始进行样本轮换,以后每年轮换1/4。具体操作方法是:首先计算抽样比,轮换的第一年就是要换掉75个(3001/4=75)样本,抽样比变为0.015605(300-75)/14418=0.015605,然后将此层中永久随机数小于0.015605的样本保留,大于01015605的样本轮换掉,再在此层中将大于抽样比0.020807和小于抽样比0.026009(300+75)/14418=0.026009之间的永久随机数对应的企业作为新样本。其他各层方法相同。轮换的第二年,第三年,第四年方法依次类推。应用固定样本量的方法。依然以400万元以上的层为例,假定从第二次年度调查开始进行样本轮换,以后每年轮换1/4,即75个。就是要在300个样本中,保留永久随机数最小的225个,轮换掉永久随机数最大的75个,再在此层中(不包括原抽选的300个样本)选取永久随机数最小的75个企业作为新样本。其他各层方法相同。轮换的第二年,第三年,第四年方法依次类推。2.3 随机函数在噪声中的应用对导弹进行干扰可分为:通过假目标或者给目标位置引入足够大的误差来诱骗导弹的目标定位系统,使其攻击错误方位;或者干扰导弹的近爆引信,导弹上的接收机设有信号门限电平,通过发射噪声信号可以使导弹接收到的信号超过接收机门限电平,从而提早起爆;或者用噪声去干扰导弹与制导雷达的数据通讯,使其数据不能正常接收,从而保护目标的安全。发射噪声信号,即把噪声源产生的视频噪声对射频载波进行调制所形成的干扰信号去干扰敌方威胁目标。噪声可以有效地覆盖真实目标信号,噪声干扰对所有类型的雷达(包括脉冲雷达,脉冲多普勒雷达,调频雷达,连续波雷达等)都是有效的,唯一的差别就是干扰,信号比不同,干扰的效果不同。理想的噪声应该在全频段功率谱密度恒定,幅度符合正态分布,但实际上不可能有这样的噪声,我们一般把在有限频带内具有恒定功率谱的噪声称为限带白噪声。白噪声在整个频谱内每个频点的能量为常数,且基本恒定,不管对信号进行低通还是高通处理,均不能有效地滤除白噪声,因为它存在于整个频带范围内。一般电子对抗的噪声就是呈正态随机分布的模拟白噪声,因此理想的噪声对于电子对抗是非常重要的10。运放随射器 VC 噪声输出 V图2-2 雪崩击穿产生噪声的电路 产生噪声的方法主要有两种:一种是随机数产生法,另一种方法则通过专门的噪声二极管PN结的雪崩击穿产生噪声,见图 2-2。随机数产生法随机数产生法又分两种方案:1伪随机数发生器 这是一种传统的方法,主要是通过产生随机序列采用数学递推公式产生,如对于给定的初始值,确定 (n=1,2,)。这种方法属于半经验性质,只能近似地具备随机数性质,故称为伪随机数。设计真正随机的随机数发生器很困难,因为数据序列迟早会重复。通常这种发生器需要一个种子信号,如果种子信号相同,发生器将产生相同的序列。采用伪随机数存在两大问题:一是递推公式和初始值确定后,整个随机数序列也被唯一地确定下来,即不能满足随机数相互独立的要求;二是由此产生的随机数存在周期性循环现象。2随机数发生器 它是基于硬件的另一种方法,它可以达到非常好的性能,但通常由于其昂贵的价格或缺少普遍可用性而不实用。如FDK推出采用LQFP32引脚封装的物理随机数发生器2RPG100。这款3.3V产品具有两个随机数发生电路和两个放大器,它利用半导体内部产生的热噪声来生成真正的随机数,它能高速产生随机数。一般来说,通过随机数发生器可以生成白噪声,但实验表明要生成真正理想的白噪声很难。因此,实际上需要产生真正的随机数的时候,一般都采用物理方法,如利用放射性物质的放射性,或用电子计算机的固有噪声。通过专门的噪声二极管PN结的雪崩击穿产生噪声产生噪声的器件称为噪声源,用专门的噪声源产生的噪声,它具有正态分布率,频谱很宽,工作稳定的特点。理想的噪声源在全频段功率谱密度恒定,幅度符合正态分布。一般采用噪声二极管,闸流管,光电倍增管噪声源,晶体稳压二极管等器件。电路通常由一个噪声二极管和几个放大级组成。在实际应用中,通过噪声对导弹的GPS制导系统进行压制性干扰是有效的。从频谱的丰富性和真实性噪声来说,一般用噪声二极管的方案来产生需要的噪声,不过随着各种系统对灵活性和可控性需要的加强,通过随机数方法产生的数字噪声以其独特的可编程性越来越受到欢迎,在电子对抗的领域中正在被逐步深入地应用。2.4 本章小结本章介绍了三类随机函数的应用。随机函数在操作系统中的应用,随机函数在工业抽样调查中的应用以及在噪声发生中的应用。操作系统内容的相关实验多数可通过模拟程序完成。文章中通过介绍两类常用随机函数加深我们对它在随机函数中的了解。我们应该在实践中理解和体会。操作系统。的内涵并将其融会贯通,达到提高理解的目的。在随机函数在工业抽样调查中主要介绍了永久随机函数的产生,抽样,维护,轮换方法在调查中的应用。在随机函数在噪声的应用中介绍了两种产生噪声的方法:一种是随机数产生法,另一种方法则通过专门的噪声二极管PN结的雪崩击穿产生噪声。让我们对随机函数在某些方面的应用有了大概的了解。第3章 随机函数的指标分析计算机模拟应用已经30多年了,因为它能有效地解决复杂随机系统中的实际问题,从而为自己确立了现代计算机高级应用技术的地位。随机数发生的理论与应用从计算机模拟技术诞生那天起,就一直为模拟专家所重视。要建立随机模型,就需要随机数。早期的随机数发生,来自各种物理装置。从40年代到50年代,研究工作转向了数学方法。3.1 利用人字映射产生均匀随机数法我们知道,服从任意分布的随机变量都可以通过对独立分布均匀分布随机数进行适当变换得到,因此,产生均匀分布随机数就显得尤为重要。使用递推公式产生的随机数通常称为伪随机数11。其实,计算方法递推公式及初值确定后,整个随机数序列就唯一地确定了,也就是说,得伪随机序列实际上是相关的,这和随机数的独立性要求有矛盾;同时,由于伪随机数总要出现周期性循环,这也和真的随机数有区别。因此,计算机上生成的随机数必须满足下列要求。1 分布的均匀性,即必须尽可能地接近0,1分布;2 统计上的独立性;3 产生随机数的速