CN113419706A - 一种快速的任意分布随机数产生方法、系统及其检验方法、系统 - Google Patents
一种快速的任意分布随机数产生方法、系统及其检验方法、系统 Download PDFInfo
- Publication number
- CN113419706A CN113419706A CN202110776924.0A CN202110776924A CN113419706A CN 113419706 A CN113419706 A CN 113419706A CN 202110776924 A CN202110776924 A CN 202110776924A CN 113419706 A CN113419706 A CN 113419706A
- Authority
- CN
- China
- Prior art keywords
- random number
- array
- random
- data
- interval
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/588—Random number generators, i.e. based on natural stochastic processes
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
Abstract
本发明公开了快速的任意分布随机数产生方法、系统及其检验方法、系统,本发明通过将期望分布函数均匀划分为多段分别进行拟合分析,从而提出了一种适用范围广、计算简单高效的快速随机数产生及检验方法,该方法不仅能够用于任何场景下的随机分布产生,不需要推导该分布函数与均匀分布之间的关系,而且处理过程简单、灵活,没有复杂的运算操作,同时能够很好地适应有限维度随机数的产生与分析。
Description
技术领域
本发明涉及数字信号处理技术领域,具体地,涉及一种快速的任意分布随机数产生方法、系统及其检验方法、系统。
背景技术
从模拟信号到数字信号处理的跨越,实现了对自然界连续信息的稳定采集、存储、处理与分析,与模拟信号相比,除了稳定性好、抗噪声能力强,数字信号处理还具有非实时处理的巨大优势,能够很方便地仿真、调试复杂的电子系统,快速定位系统中存在的问题或故障。在数字信号的仿真与调试中,很多情况下需要进行随机数的模拟,例如产生随机分布的数字信源、产生随机杂波噪声或干扰等,此外,在从数学上表述物理、化学、工程、经济等专业中的复杂相互作用时,随机数还被广泛应用于这些相互作用的蒙特卡洛仿真试验。一般来说,对于随机数的要求应满足循环周期足够长、多次产生数据序列之间的互相关系数足够小、能够通过随机数检验且满足特定的统计分布特性。
产生任意随机数的方法很多,最早的线性同余法(Linear CongruentialGenerator,LCG)是早期使用最多的随机数生成算法之一,但该方法获得的随机性有限,且容易受到算法参数的影响。其它的方法包括中位平方法(middle-square)、加性同余法(Additive Congruential Method)、Xorshift、Mersenne Twister和WELL算法等,其中Mersenne Twister和WELL是目前应用最广泛的两种算法,这两种算法不仅克服了传统算法的缺陷,而且产生的随机数能够通过广泛的随机数检验。
在产生随机数的基础上实现特定分布随机数的输出,通常通过推导目标分布与均匀分布之间的关系来完成,例如,均值为零、方差为2β2的拉普拉斯分布随机数产生的一种实现方法包括以下两个步骤:
独立产生在区间(0,1)上匀分布的随机数u1和u2;
因此,不同分布形式的随机数对应的计算公式不同,且存在较为复杂的计算步骤,包括开方、平方、求幂次、求对数等。
发明内容
本发明的目的是提供一种快速的任意分布随机数产生方法、系统及其检验系统、方法,该快速的任意分布随机数产生方法、系统及其检验方法、系统可以产生均匀度较高的随机数,符合标准函数的要求,且拥有较高的处理效率。
为了实现上述目的,本发明提供了一种快速的任意分布随机数产生方法,所述快速的任意分布随机数产生方法包括:
配置随机数向量x及其对应的期望目标分布函数为y=f(x);其中所述随机数向量x的长度为N、小数位数最多为K、期望最大值为xmax、期望最小值为xmin以及分布范围bx=xmax-xmin;
获取在区间[0,1]上产生的均匀分布的随机数组rs,其中所述随机数组rs的数组长度与所述数组c的数组长度相同;以及
基于所述数据的长度确定第一次循环中基准的位置th,从所述随机数组rs的第一个数开始依次执行下述循环步骤,其中在第i次循环中,当前位置位于所述随机数组rs的第j个数,若所述随机数组rs中第j个数大于0.5,则取出所述数据中所述位置th右边的第c(j)个数b,否则取出所述数组中基准的位置th左边的第c(j)个数b,将所述b赋值给x(i)并从所述数组中删除所述b,其中在下一次循环中以所述b的位置为基准,直至所述数组中的所有数赋值给x得到随机数。
另外,本发明提供一种随机数检验方法,针对使用上述的快速的任意分布随机数产生方法所产生的随机数,所述随机数检验方法包括:
在所述误差error小于预设定的误差阈值时,判定所述随机数的合格。
另外,本发明提供一种快速的任意分布随机数产生系统,所述快速的任意分布随机数产生系统包括:
配置单元,用于配置随机数向量x及其对应的期望目标分布函数为y=f(x);其中所述随机数向量x的长度为N、小数位数最多为K、期望最大值为xmax、期望最小值为xmin以及分布范围bx=xmax-xmin;
数组rs获取单元,用于获取在区间[0,1]上产生的均匀分布的随机数组rs,其中所述随机数组rs的数组长度与所述数组c的数组长度相同;以及
随机数生成单元,用于基于所述数据的长度确定第一次循环中基准的位置th,从所述随机数组rs的第一个数开始依次执行下述循环步骤,其中在第i次循环中,当前位置位于所述随机数组rs的第j个数,若所述随机数组rs中第j个数大于0.5,则取出所述数据中所述位置th右边的第c(j)个数b,否则取出所述数组中基准的位置th左边的第c(j)个数b,将所述b赋值给x(i)并从所述数组中删除所述b,其中在下一次循环中以所述b的位置为基准,直至所述数组中的所有数赋值给x得到随机数。
所述数组c获得单元用于按顺序执行下述步骤以获得数组c:
另外,本发明还提供一种随机数检验系统,其特征在于,针对使用上述的快速的任意分布随机数产生系统所产生的随机数,所述随机数检验系统包括:
合格判定单元,用于在所述误差error小于预设定的误差阈值时,判定所述随机数的合格。
另外,本发明还提供一种存储介质,其上存储有程序,该程序被处理器执行时实现上述的随机数检验方法或上述的随机数检验方法。
另外,本发明还提供一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述的随机数检验方法或上述的随机数检验方法。
根据上述技术方案,本发明通过将期望分布函数均匀划分为多段分别进行拟合分析,从而提出了一种适用范围广、计算简单高效的快速随机数产生及检验方法,该方法不仅能够用于任何场景下的随机分布产生,不需要推导该分布函数与均匀分布之间的关系,而且处理过程简单、灵活,没有复杂的运算操作,同时能够很好地适应有限维度随机数的产生与分析。本发明适用于任何统计分布的随机数产生,只需要用户给定该统计分布的标准函数,并给出该随机数的期望数值范围;在产生随机数的过程中不需要复杂的运算公式,都是由最基本的加减乘除运算完成,简化了算法设计,提高了算法的处理效率;本发明还给出了对产生随机数的2倍分段检验法,以衡量最终生成随机数的统计分布与期望统计分布之间的误差。
本发明的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本发明的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明,但并不构成对本发明的限制。在附图中:
图1是说明本发明的一种快速的任意分布随机数产生方法的流程图;
图2是期望分布与本发明产生的分布曲线比较示意图;以及
图3是期望分布与本发明产生的分布曲线比较(中间局部区域放大图)的效果图。
具体实施方式
以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。
图1是本发明提供的一种快速的任意分布随机数产生方法的流程图,如图1所示,所述快速的任意分布随机数产生方法包括:
S101,配置随机数向量x及其对应的期望目标分布函数为y=f(x);其中所述随机数向量x的长度为N、小数位数最多为K、期望最大值为xmax、期望最小值为xmin以及分布范围bx=xmax-xmin;
S108,获取在区间[0,1]上产生的均匀分布的随机数组rs,其中所述随机数组rs的数组长度与所述数组c的数组长度相同;以及
S109,基于所述数据的长度确定第一次循环中基准的位置th,从所述随机数组rs的第一个数开始依次执行下述循环步骤,其中在第i次循环中,当前位置位于所述随机数组rs的第j个数,若所述随机数组rs中第j个数大于0.5,则取出所述数据中所述位置th右边的第c(j)个数b,否则取出所述数组中基准的位置th左边的第c(j)个数b,将所述b赋值给x(i)并从所述数组中删除所述b,其中在下一次循环中以所述b的位置为基准,直至所述数组中的所有数赋值给x得到随机数。
另外,本发明还提供一种随机数检验方法,针对使用权利要求1-3中任意一项所述的快速的任意分布随机数产生方法所产生的随机数,所述随机数检验方法包括:
在所述误差error小于预设定的误差阈值时,判定所述随机数的合格。
举例而言,设期望产生的随机数向量x的长度为N=10000,x的小数位数最多为K=4,x的期望目标分布函数为x的期望最大值为xmax=100,x的期望最小值为xmin=-100,计算x的分布范围bx=xmax-xmin=200;将[xmin,xmax]平均划分为L=1000段,第l段的数值范围为[-100+0.2(l-1),-100+0.2l];以1000段等间距的方式抽取函数y在区间[-100,100]上的1000个值,第l个值yl对应的随机数为-100+0.1(2l-1);计算第l(l=1,2,...,L)段区间的随机数个数对于第l个区间,分别产生nl个在区间[0,1]均匀分布的随机数rl,计算第l个区间获得的随机数向量xl=-100+0.2(l-1+rl);组合所有1000个区间的数据得到将数据向量按照字符串的形式组合起来,每相邻两个字符构成一个数,如果最后只剩一个字符,该字符单独为一个数,所有数按顺序组成数组c;在区间[0,1]上产生均匀分布的随机数组rs,rs的数组长度与数组c相同;令在第一次循环中以th的位置为基准,从rs的第一个数开始循环执行,在第i次循环中,当前位置位于rs的第j个数,若rs>0.5,则取出数组中th右边的第c(j)个数b,否则取出数组中th左边的第c(j)个数b,将b赋值给x(i),同时从数组中剔除掉b,在下一次循环中以b的位置为基准,直到数组中的所有数赋值给x。
对产生的随机数组x进行统计检验,将[-100,100]平均划分为2000段,以2000段等间距的方式抽取函数y在区间[-100,100]上的2000个值,形成标准函数数组h;统计x在区间[xmin+0.1(j-1),xmin+0.1j]上的数据个数,形成检验函数数组k;计算随机数组x与标准函数数组h之间的误差图2和图3给出了期望分布与本专利方法产生的分布曲线比较。
另外,本发明还提供一种快速的任意分布随机数产生系统,所述快速的任意分布随机数产生系统包括:
配置单元,用于配置随机数向量x及其对应的期望目标分布函数为y=f(x);其中所述随机数向量x的长度为N、小数位数最多为K、期望最大值为xmax、期望最小值为xmin以及分布范围bx=xmax-xmin;
数组rs获取单元,用于获取在区间[0,1]上产生的均匀分布的随机数组rs,其中所述随机数组rs的数组长度与所述数组c的数组长度相同;以及
随机数生成单元,用于基于所述数据的长度确定第一次循环中基准的位置th,从所述随机数组rs的第一个数开始依次执行下述循环步骤,其中在第i次循环中,当前位置位于所述随机数组rs的第j个数,若所述随机数组rs中第j个数大于0.5,则取出所述数据中所述位置th右边的第c(j)个数b,否则取出所述数组中基准的位置th左边的第c(j)个数b,将所述b赋值给x(i)并从所述数组中删除所述b,其中在下一次循环中以所述b的位置为基准,直至所述数组中的所有数赋值给x得到随机数。
所述数组c获得单元用于按顺序执行下述步骤以获得数组c:
另外,本发明还提供一种随机数检验系统,其特征在于,针对使用上述的快速的任意分布随机数产生系统所产生的随机数,所述随机数检验系统包括:
合格判定单元,用于在所述误差error小于预设定的误差阈值时,判定所述随机数的合格。
另外,本发明还提供一种存储介质,其上存储有程序,该程序被处理器执行时实现上述的随机数检验方法或上述的随机数检验方法。
另外,本发明还提供一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述的随机数检验方法或上述的随机数检验方法。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (10)
1.一种快速的任意分布随机数产生方法,其特征在于,所述快速的任意分布随机数产生方法包括:
配置随机数向量x及其对应的期望目标分布函数为y=f(x);其中所述随机数向量x的长度为N、小数位数最多为K、期望最大值为xmax、期望最小值为xmin以及分布范围bx=xmax-xmin;
获取在区间[0,1]上产生的均匀分布的随机数组rs,其中所述随机数组rs的数组长度与所述数组c的数组长度相同;以及
5.一种快速的任意分布随机数产生系统,其特征在于,所述快速的任意分布随机数产生系统包括:
配置单元,用于配置随机数向量x及其对应的期望目标分布函数为y=f(x);其中所述随机数向量x的长度为N、小数位数最多为K、期望最大值为xmax、期望最小值为xmin以及分布范围bx=xmax-xmin;
数组rs获取单元,用于获取在区间[0,1]上产生的均匀分布的随机数组rs,其中所述随机数组rs的数组长度与所述数组c的数组长度相同;以及
8.一种随机数检验系统,其特征在于,针对使用权利要求1-3中任意一项所述的快速的任意分布随机数产生系统所产生的随机数,所述随机数检验系统包括:
合格判定单元,用于在所述误差error小于预设定的误差阈值时,判定所述随机数的合格。
9.一种存储介质,其特征在于,其上存储有程序,该程序被处理器执行时实现权利要求1-3中任意一项所述的随机数检验方法或权利要求4中所述的随机数检验方法。
10.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1-3中任意一项所述的随机数检验方法或权利要求4中所述的随机数检验方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110776924.0A CN113419706A (zh) | 2021-07-09 | 2021-07-09 | 一种快速的任意分布随机数产生方法、系统及其检验方法、系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110776924.0A CN113419706A (zh) | 2021-07-09 | 2021-07-09 | 一种快速的任意分布随机数产生方法、系统及其检验方法、系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113419706A true CN113419706A (zh) | 2021-09-21 |
Family
ID=77720577
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110776924.0A Withdrawn CN113419706A (zh) | 2021-07-09 | 2021-07-09 | 一种快速的任意分布随机数产生方法、系统及其检验方法、系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113419706A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117368670A (zh) * | 2023-11-07 | 2024-01-09 | 东莞市一丁精密模具组件有限公司 | 一种模具放电特性柔性检测方法及系统 |
-
2021
- 2021-07-09 CN CN202110776924.0A patent/CN113419706A/zh not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117368670A (zh) * | 2023-11-07 | 2024-01-09 | 东莞市一丁精密模具组件有限公司 | 一种模具放电特性柔性检测方法及系统 |
CN117368670B (zh) * | 2023-11-07 | 2024-03-26 | 东莞市一丁精密模具组件有限公司 | 一种模具放电特性柔性检测方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107203467A (zh) | 一种分布式环境下监督学习算法的基准测试方法和装置 | |
CN109583594B (zh) | 深度学习训练方法、装置、设备及可读存储介质 | |
JP2019114158A (ja) | カバレッジテスト支援装置およびカバレッジテスト支援方法 | |
CN104750731A (zh) | 一种获取完整用户画像的方法及装置 | |
CN108122596B (zh) | 一种存储器的测试方法和装置 | |
JP2019510980A (ja) | 繰り返し交差検証を用いた相関式公差限界設定システム及びその方法 | |
CN107704704A (zh) | 一种基于贝叶斯理论的继电器类单机贮存可靠性评估方法 | |
US20180052441A1 (en) | Simulation system, simulation method, and simulation program | |
CN108845927B (zh) | 一种测试用例的筛选方法及装置 | |
CN113419706A (zh) | 一种快速的任意分布随机数产生方法、系统及其检验方法、系统 | |
CN112348055A (zh) | 一种聚类评估度量方法、系统、装置和存储介质 | |
CN111506878B (zh) | 基于暂降系统指标随机样本估计的节点数量选择装置及方法 | |
CN115794570A (zh) | 压力测试方法、装置、设备及计算机可读存储介质 | |
CN113255927A (zh) | 逻辑回归模型训练方法、装置、计算机设备和存储介质 | |
CN107644145A (zh) | 一种基于蒙特卡洛和决策逻辑的故障行为仿真方法 | |
US9245067B2 (en) | Probabilistic method and system for testing a material | |
US20220215144A1 (en) | Learning Apparatus, Learning Method and Learning Program | |
CN113887989B (zh) | 电力系统可靠性评估方法、装置、计算机设备和存储介质 | |
CN112365039B (zh) | 一种基于纵横相关性进行月度用电量预测的方法及系统 | |
CN109189673A (zh) | 一种软件的测试方案、测试用例的确定方法及装置 | |
CN106909497B (zh) | 测试方法和装置 | |
Chatterjee et al. | Transfer function modelling in software reliability | |
CN117091236B (zh) | 一种暖通空调系统的控制方法 | |
CN115600352A (zh) | 故障检测方法、装置、电子设备和可读存储介质 | |
CN112613263A (zh) | 仿真验证方法、装置、电子设备和计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20210921 |
|
WW01 | Invention patent application withdrawn after publication |