CN113419706A - 一种快速的任意分布随机数产生方法、系统及其检验方法、系统 - Google Patents

一种快速的任意分布随机数产生方法、系统及其检验方法、系统 Download PDF

Info

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
Application number
CN202110776924.0A
Other languages
English (en)
Inventor
刘春静
马利祥
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Anhui Institute of Information Engineering
Original Assignee
Anhui Institute of Information Engineering
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Anhui Institute of Information Engineering filed Critical Anhui Institute of Information Engineering
Priority to CN202110776924.0A priority Critical patent/CN113419706A/zh
Publication of CN113419706A publication Critical patent/CN113419706A/zh
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/588Random 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
计算出拉普拉斯分布随机数
Figure BDA0003155815010000021
因此,不同分布形式的随机数对应的计算公式不同,且存在较为复杂的计算步骤,包括开方、平方、求幂次、求对数等。
发明内容
本发明的目的是提供一种快速的任意分布随机数产生方法、系统及其检验系统、方法,该快速的任意分布随机数产生方法、系统及其检验方法、系统可以产生均匀度较高的随机数,符合标准函数的要求,且拥有较高的处理效率。
为了实现上述目的,本发明提供了一种快速的任意分布随机数产生方法,所述快速的任意分布随机数产生方法包括:
配置随机数向量x及其对应的期望目标分布函数为y=f(x);其中所述随机数向量x的长度为N、小数位数最多为K、期望最大值为xmax、期望最小值为xmin以及分布范围bx=xmax-xmin
将所述分布范围bx=xmax-xmin平均划分为L段,其中所述L段中的第l段的数值范围为
Figure BDA0003155815010000022
以所述L段等间距的方式从函数y=f(x)中在区间[xmin,xmax]上抽取L个值,其中所述L个值中的第l个值yl对应的随机数为
Figure BDA0003155815010000023
计算所述L段中的第l段区间的随机数个数
Figure BDA0003155815010000024
其中,l=1,2,…,L;
针对所述L段中的第l个区间,产生nl个在区间[0,1]均匀分布的随机数rl,计算所述L段中的第l个区间中获得的随机数向量
Figure BDA0003155815010000031
获取组合得到的所有L个区间的数据
Figure BDA0003155815010000032
基于数据向量
Figure BDA0003155815010000033
中的每相邻两个字符获得数组c;
获取在区间[0,1]上产生的均匀分布的随机数组rs,其中所述随机数组rs的数组长度与所述数组c的数组长度相同;以及
基于所述数据
Figure BDA0003155815010000034
的长度确定第一次循环中基准的位置th,从所述随机数组rs的第一个数开始依次执行下述循环步骤,其中在第i次循环中,当前位置位于所述随机数组rs的第j个数,若所述随机数组rs中第j个数大于0.5,则取出所述数据
Figure BDA0003155815010000035
中所述位置th右边的第c(j)个数b,否则取出所述数组
Figure BDA0003155815010000036
中基准的位置th左边的第c(j)个数b,将所述b赋值给x(i)并从所述数组
Figure BDA0003155815010000037
中删除所述b,其中在下一次循环中以所述b的位置为基准,直至所述数组
Figure BDA0003155815010000038
中的所有数赋值给x得到随机数。
优选地,所述基于数据向量
Figure BDA0003155815010000039
中的每相邻两个字符获得数组c包括按顺序执行下述步骤以获得数组c:
从所述数据向量
Figure BDA00031558150100000310
中的第一个字符开始将相邻两个字符构成一个数,若最后存在一个单独的字符,则该单独的字符作为一个数
优选地,所述基于所述数据
Figure BDA00031558150100000311
的长度确定第一次循环中基准的位置th包括:
将所述数据
Figure BDA00031558150100000312
的长度除以2后四舍五入以得到所述基准的位置th。
另外,本发明提供一种随机数检验方法,针对使用上述的快速的任意分布随机数产生方法所产生的随机数,所述随机数检验方法包括:
将区间[xmin,xmax]平均划分为2L段,其中,所述2L段中第j段的数值范围为
Figure BDA00031558150100000313
以2L段等间距的方式抽取函数y在区间[xmin,xmax]上的2L个值形成标准函数数组h,其中第j个值y′j对应的随机数为
Figure BDA0003155815010000041
统计x在区间
Figure BDA0003155815010000042
上的数据个数,形成检验函数数组k;
计算随机数组x与标准函数数组h之间的误差
Figure BDA0003155815010000043
其中xi和hi分别表示x和h的第i个数;以及
在所述误差error小于预设定的误差阈值时,判定所述随机数的合格。
另外,本发明提供一种快速的任意分布随机数产生系统,所述快速的任意分布随机数产生系统包括:
配置单元,用于配置随机数向量x及其对应的期望目标分布函数为y=f(x);其中所述随机数向量x的长度为N、小数位数最多为K、期望最大值为xmax、期望最小值为xmin以及分布范围bx=xmax-xmin
划分单元,用于将所述分布范围bx=xmax-xmin平均划分为L段,其中所述L段中的第l段的数值范围为
Figure BDA0003155815010000044
抽取单元,用于以所述L段等间距的方式从函数y=f(x)中在区间[xmin,xmax]上抽取L个值,其中所述L个值中的第l个值yl对应的随机数为
Figure BDA0003155815010000045
随机数计算单元,用于计算所述L段中的第l段区间的随机数个数
Figure BDA0003155815010000046
其中,l=1,2,…,L;
随机数向量计算单元,用于针对所述L段中的第l个区间,产生nl个在区间[0,1]均匀分布的随机数rl,计算所述L段中的第l个区间中获得的随机数向量
Figure BDA0003155815010000051
数据获取单元,用于获取组合得到的所有L个区间的数据
Figure BDA0003155815010000052
数组c获得单元,用于基于数据向量
Figure BDA0003155815010000053
中的每相邻两个字符获得数组c;
数组rs获取单元,用于获取在区间[0,1]上产生的均匀分布的随机数组rs,其中所述随机数组rs的数组长度与所述数组c的数组长度相同;以及
随机数生成单元,用于基于所述数据
Figure BDA0003155815010000054
的长度确定第一次循环中基准的位置th,从所述随机数组rs的第一个数开始依次执行下述循环步骤,其中在第i次循环中,当前位置位于所述随机数组rs的第j个数,若所述随机数组rs中第j个数大于0.5,则取出所述数据
Figure BDA0003155815010000055
中所述位置th右边的第c(j)个数b,否则取出所述数组
Figure BDA0003155815010000056
中基准的位置th左边的第c(j)个数b,将所述b赋值给x(i)并从所述数组
Figure BDA0003155815010000057
中删除所述b,其中在下一次循环中以所述b的位置为基准,直至所述数组
Figure BDA0003155815010000058
中的所有数赋值给x得到随机数。
优选地,所述数组c获得单元用于基于数据向量
Figure BDA0003155815010000059
中的每相邻两个字符获得数组c包括
所述数组c获得单元用于按顺序执行下述步骤以获得数组c:
从所述数据向量
Figure BDA00031558150100000510
中的第一个字符开始将相邻两个字符构成一个数,若最后存在一个单独的字符,则该单独的字符作为一个数
优选地,所述随机数生成单元用于基于所述数据
Figure BDA00031558150100000511
的长度确定第一次循环中基准的位置th包括:
所述随机数生成单元用于将所述数据
Figure BDA00031558150100000512
的长度除以2后四舍五入以得到所述基准的位置th。
另外,本发明还提供一种随机数检验系统,其特征在于,针对使用上述的快速的任意分布随机数产生系统所产生的随机数,所述随机数检验系统包括:
平均划分单元,用于将区间[xmin,xmax]平均划分为2L段,其中,所述2L段中第j段的数值范围为
Figure BDA0003155815010000061
标准函数数组形成单元,用于以2L段等间距的方式抽取函数y在区间[xmin,xmax]上的2L个值形成标准函数数组h,其中第j个值yj′对应的随机数为
Figure BDA0003155815010000062
检验函数数组形成单元,用于统计x在区间
Figure BDA0003155815010000063
上的数据个数,形成检验函数数组k;
误差计算单元,用于计算随机数组x与标准函数数组h之间的误差
Figure BDA0003155815010000064
其中xi和hi分别表示x和h的第i个数;以及
合格判定单元,用于在所述误差error小于预设定的误差阈值时,判定所述随机数的合格。
另外,本发明还提供一种存储介质,其上存储有程序,该程序被处理器执行时实现上述的随机数检验方法或上述的随机数检验方法。
另外,本发明还提供一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述的随机数检验方法或上述的随机数检验方法。
根据上述技术方案,本发明通过将期望分布函数均匀划分为多段分别进行拟合分析,从而提出了一种适用范围广、计算简单高效的快速随机数产生及检验方法,该方法不仅能够用于任何场景下的随机分布产生,不需要推导该分布函数与均匀分布之间的关系,而且处理过程简单、灵活,没有复杂的运算操作,同时能够很好地适应有限维度随机数的产生与分析。本发明适用于任何统计分布的随机数产生,只需要用户给定该统计分布的标准函数,并给出该随机数的期望数值范围;在产生随机数的过程中不需要复杂的运算公式,都是由最基本的加减乘除运算完成,简化了算法设计,提高了算法的处理效率;本发明还给出了对产生随机数的2倍分段检验法,以衡量最终生成随机数的统计分布与期望统计分布之间的误差。
本发明的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本发明的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明,但并不构成对本发明的限制。在附图中:
图1是说明本发明的一种快速的任意分布随机数产生方法的流程图;
图2是期望分布与本发明产生的分布曲线比较示意图;以及
图3是期望分布与本发明产生的分布曲线比较(中间局部区域放大图)的效果图。
具体实施方式
以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。
图1是本发明提供的一种快速的任意分布随机数产生方法的流程图,如图1所示,所述快速的任意分布随机数产生方法包括:
S101,配置随机数向量x及其对应的期望目标分布函数为y=f(x);其中所述随机数向量x的长度为N、小数位数最多为K、期望最大值为xmax、期望最小值为xmin以及分布范围bx=xmax-xmin
S102,将所述分布范围bx=xmax-xmin平均划分为L段,其中所述L段中的第l段的数值范围为
Figure BDA0003155815010000081
S103,以所述L段等间距的方式从函数y=f(x)中在区间[xmin,xmax]上抽取L个值,其中所述L个值中的第l个值yl对应的随机数为
Figure BDA0003155815010000082
S104,计算所述L段中的第l段区间的随机数个数
Figure BDA0003155815010000083
其中,l=1,2,…,L;
S105,针对所述L段中的第l个区间,产生nl个在区间[0,1]均匀分布的随机数rl,计算所述L段中的第l个区间中获得的随机数向量
Figure BDA0003155815010000084
S106,获取组合得到的所有L个区间的数据
Figure BDA0003155815010000085
S107,基于数据向量
Figure BDA0003155815010000086
中的每相邻两个字符获得数组c;
S108,获取在区间[0,1]上产生的均匀分布的随机数组rs,其中所述随机数组rs的数组长度与所述数组c的数组长度相同;以及
S109,基于所述数据
Figure BDA0003155815010000087
的长度确定第一次循环中基准的位置th,从所述随机数组rs的第一个数开始依次执行下述循环步骤,其中在第i次循环中,当前位置位于所述随机数组rs的第j个数,若所述随机数组rs中第j个数大于0.5,则取出所述数据
Figure BDA0003155815010000088
中所述位置th右边的第c(j)个数b,否则取出所述数组
Figure BDA0003155815010000089
中基准的位置th左边的第c(j)个数b,将所述b赋值给x(i)并从所述数组
Figure BDA00031558150100000810
中删除所述b,其中在下一次循环中以所述b的位置为基准,直至所述数组
Figure BDA00031558150100000811
中的所有数赋值给x得到随机数。
优选地,所述基于数据向量
Figure BDA00031558150100000812
中的每相邻两个字符获得数组c包括:
按顺序执行下述步骤以获得数组c:从所述数据向量
Figure BDA00031558150100000813
中的第一个字符开始将相邻两个字符构成一个数,若最后存在一个单独的字符,则该单独的字符作为一个数
优选地,所述基于所述数据
Figure BDA0003155815010000091
的长度确定第一次循环中基准的位置th包括:将所述数据
Figure BDA0003155815010000092
的长度除以2后四舍五入以得到所述基准的位置th。
另外,本发明还提供一种随机数检验方法,针对使用权利要求1-3中任意一项所述的快速的任意分布随机数产生方法所产生的随机数,所述随机数检验方法包括:
将区间[xmin,xmax]平均划分为2L段,其中,所述2L段中第j段的数值范围为
Figure BDA0003155815010000093
以2L段等间距的方式抽取函数y在区间[xmin,xmax]上的2L个值形成标准函数数组h,其中第j个值y′j对应的随机数为
Figure BDA0003155815010000094
统计x在区间
Figure BDA0003155815010000095
上的数据个数,形成检验函数数组k;
计算随机数组x与标准函数数组h之间的误差
Figure BDA0003155815010000096
其中xi和hi分别表示x和h的第i个数;以及
在所述误差error小于预设定的误差阈值时,判定所述随机数的合格。
举例而言,设期望产生的随机数向量x的长度为N=10000,x的小数位数最多为K=4,x的期望目标分布函数为
Figure BDA0003155815010000097
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)段区间的随机数个数
Figure BDA0003155815010000101
对于第l个区间,分别产生nl个在区间[0,1]均匀分布的随机数rl,计算第l个区间获得的随机数向量xl=-100+0.2(l-1+rl);组合所有1000个区间的数据得到
Figure BDA0003155815010000102
将数据向量
Figure BDA0003155815010000103
按照字符串的形式组合起来,每相邻两个字符构成一个数,如果最后只剩一个字符,该字符单独为一个数,所有数按顺序组成数组c;在区间[0,1]上产生均匀分布的随机数组rs,rs的数组长度与数组c相同;令
Figure BDA0003155815010000104
在第一次循环中以th的位置为基准,从rs的第一个数开始循环执行,在第i次循环中,当前位置位于rs的第j个数,若rs>0.5,则取出数组
Figure BDA0003155815010000105
中th右边的第c(j)个数b,否则取出数组
Figure BDA0003155815010000106
中th左边的第c(j)个数b,将b赋值给x(i),同时从数组
Figure BDA0003155815010000107
中剔除掉b,在下一次循环中以b的位置为基准,直到数组
Figure BDA0003155815010000108
中的所有数赋值给x。
对产生的随机数组x进行统计检验,将[-100,100]平均划分为2000段,以2000段等间距的方式抽取函数y在区间[-100,100]上的2000个值,形成标准函数数组h;统计x在区间[xmin+0.1(j-1),xmin+0.1j]上的数据个数,形成检验函数数组k;计算随机数组x与标准函数数组h之间的误差
Figure BDA0003155815010000109
图2和图3给出了期望分布与本专利方法产生的分布曲线比较。
另外,本发明还提供一种快速的任意分布随机数产生系统,所述快速的任意分布随机数产生系统包括:
配置单元,用于配置随机数向量x及其对应的期望目标分布函数为y=f(x);其中所述随机数向量x的长度为N、小数位数最多为K、期望最大值为xmax、期望最小值为xmin以及分布范围bx=xmax-xmin
划分单元,用于将所述分布范围bx=xmax-xmin平均划分为L段,其中所述L段中的第l段的数值范围为
Figure BDA0003155815010000111
抽取单元,用于以所述L段等间距的方式从函数y=f(x)中在区间[xmin,xmax]上抽取L个值,其中所述L个值中的第l个值yl对应的随机数为
Figure BDA0003155815010000112
随机数计算单元,用于计算所述L段中的第l段区间的随机数个数
Figure BDA0003155815010000113
其中,l=1,2,...,L;
随机数向量计算单元,用于针对所述L段中的第l个区间,产生nl个在区间[0,1]均匀分布的随机数rl,计算所述L段中的第l个区间中获得的随机数向量
Figure BDA0003155815010000114
数据获取单元,用于获取组合得到的所有L个区间的数据
Figure BDA0003155815010000115
数组c获得单元,用于基于数据向量
Figure BDA0003155815010000116
中的每相邻两个字符获得数组c;
数组rs获取单元,用于获取在区间[0,1]上产生的均匀分布的随机数组rs,其中所述随机数组rs的数组长度与所述数组c的数组长度相同;以及
随机数生成单元,用于基于所述数据
Figure BDA0003155815010000117
的长度确定第一次循环中基准的位置th,从所述随机数组rs的第一个数开始依次执行下述循环步骤,其中在第i次循环中,当前位置位于所述随机数组rs的第j个数,若所述随机数组rs中第j个数大于0.5,则取出所述数据
Figure BDA0003155815010000118
中所述位置th右边的第c(j)个数b,否则取出所述数组
Figure BDA0003155815010000119
中基准的位置th左边的第c(j)个数b,将所述b赋值给x(i)并从所述数组
Figure BDA00031558150100001110
中删除所述b,其中在下一次循环中以所述b的位置为基准,直至所述数组
Figure BDA0003155815010000121
中的所有数赋值给x得到随机数。
优选地,所述数组c获得单元用于基于数据向量
Figure BDA0003155815010000122
中的每相邻两个字符获得数组c包括
所述数组c获得单元用于按顺序执行下述步骤以获得数组c:
从所述数据向量
Figure BDA0003155815010000123
中的第一个字符开始将相邻两个字符构成一个数,若最后存在一个单独的字符,则该单独的字符作为一个数
优选地,所述随机数生成单元用于基于所述数据
Figure BDA0003155815010000124
的长度确定第一次循环中基准的位置th包括:
所述随机数生成单元用于将所述数据
Figure BDA0003155815010000125
的长度除以2后四舍五入以得到所述基准的位置th。
另外,本发明还提供一种随机数检验系统,其特征在于,针对使用上述的快速的任意分布随机数产生系统所产生的随机数,所述随机数检验系统包括:
平均划分单元,用于将区间[xmin,xmax]平均划分为2L段,其中,所述2L段中第j段的数值范围为
Figure BDA0003155815010000126
标准函数数组形成单元,用于以2L段等间距的方式抽取函数y在区间[xmin,xmax]上的2L个值形成标准函数数组h,其中第j个值y′j对应的随机数为
Figure BDA0003155815010000127
检验函数数组形成单元,用于统计x在区间
Figure BDA0003155815010000128
上的数据个数,形成检验函数数组k;
误差计算单元,用于计算随机数组x与标准函数数组h之间的误差
Figure BDA0003155815010000129
其中xi和hi分别表示x和h的第i个数;以及
合格判定单元,用于在所述误差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
将所述分布范围bx=xmax-xmin平均划分为L段,其中所述L段中的第l段的数值范围为
Figure FDA0003155815000000011
以所述L段等间距的方式从函数y=f(x)中在区间[xmin,xmax]上抽取L个值,其中所述L个值中的第l个值yl对应的随机数为
Figure FDA0003155815000000012
计算所述L段中的第l段区间的随机数个数
Figure FDA0003155815000000013
其中,l=1,2,…,L;
针对所述L段中的第l个区间,产生nl个在区间[0,1]均匀分布的随机数rl,计算所述L段中的第l个区间中获得的随机数向量
Figure FDA0003155815000000014
获取组合得到的所有L个区间的数据
Figure FDA0003155815000000015
基于数据向量
Figure FDA0003155815000000016
中的每相邻两个字符获得数组c;
获取在区间[0,1]上产生的均匀分布的随机数组rs,其中所述随机数组rs的数组长度与所述数组c的数组长度相同;以及
基于所述数据
Figure FDA0003155815000000017
的长度确定第一次循环中基准的位置th,从所述随机数组rs的第一个数开始依次执行下述循环步骤,其中在第i次循环中,当前位置位于所述随机数组rs的第j个数,若所述随机数组rs中第j个数大于0.5,则取出所述数据
Figure FDA0003155815000000018
中所述位置th右边的第c(j)个数b,否则取出所述数组
Figure FDA0003155815000000019
中基准的位置th左边的第c(j)个数b,将所述b赋值给x(i)并从所述数组
Figure FDA00031558150000000110
中删除所述b,其中在下一次循环中以所述b的位置为基准,直至所述数组
Figure FDA00031558150000000111
中的所有数赋值给x得到随机数。
2.根据权利要求1所述的快速的任意分布随机数产生方法,其特征在于,所述基于数据向量
Figure FDA0003155815000000021
中的每相邻两个字符获得数组c包括
按顺序执行下述步骤以获得数组c:
从所述数据向量
Figure FDA0003155815000000022
中的第一个字符开始将相邻两个字符构成一个数,若最后存在一个单独的字符,则该单独的字符作为一个数。
3.根据权利要求1所述的快速的任意分布随机数产生方法,其特征在于,所述基于所述数据
Figure FDA0003155815000000027
的长度确定第一次循环中基准的位置th包括:
将所述数据
Figure FDA0003155815000000028
的长度除以2后四舍五入以得到所述基准的位置th。
4.一种随机数检验方法,其特征在于,针对使用权利要求1-3中任意一项所述的快速的任意分布随机数产生方法所产生的随机数,所述随机数检验方法包括:
将区间[xmin,xmax]平均划分为2L段,其中,所述2L段中第j段的数值范围为
Figure FDA0003155815000000023
以2L段等间距的方式抽取函数y在区间[xmin,xmax]上的2L个值形成标准函数数组h,其中第j个值y′j对应的随机数为
Figure FDA0003155815000000024
统计x在区间
Figure FDA0003155815000000025
上的数据个数,形成检验函数数组k;
计算随机数组x与标准函数数组h之间的误差
Figure FDA0003155815000000026
其中xi和hi分别表示x和h的第i个数;以及
在所述误差error小于预设定的误差阈值时,判定所述随机数的合格。
5.一种快速的任意分布随机数产生系统,其特征在于,所述快速的任意分布随机数产生系统包括:
配置单元,用于配置随机数向量x及其对应的期望目标分布函数为y=f(x);其中所述随机数向量x的长度为N、小数位数最多为K、期望最大值为xmax、期望最小值为xmin以及分布范围bx=xmax-xmin
划分单元,用于将所述分布范围bx=xmax-xmin平均划分为L段,其中所述L段中的第l段的数值范围为
Figure FDA0003155815000000031
抽取单元,用于以所述L段等间距的方式从函数y=f(x)中在区间[xmin,xmax]上抽取L个值,其中所述L个值中的第l个值yl对应的随机数为
Figure FDA0003155815000000032
随机数计算单元,用于计算所述L段中的第l段区间的随机数个数
Figure FDA0003155815000000033
其中,l=1,2,...,L;
随机数向量计算单元,用于针对所述L段中的第l个区间,产生nl个在区间[0,1]均匀分布的随机数rl,计算所述L段中的第l个区间中获得的随机数向量
Figure FDA0003155815000000034
数据获取单元,用于获取组合得到的所有L个区间的数据
Figure FDA0003155815000000035
数组c获得单元,用于基于数据向量
Figure FDA0003155815000000036
中的每相邻两个字符获得数组c;
数组rs获取单元,用于获取在区间[0,1]上产生的均匀分布的随机数组rs,其中所述随机数组rs的数组长度与所述数组c的数组长度相同;以及
随机数生成单元,用于基于所述数据
Figure FDA0003155815000000041
的长度确定第一次循环中基准的位置th,从所述随机数组rs的第一个数开始依次执行下述循环步骤,其中在第i次循环中,当前位置位于所述随机数组rs的第j个数,若所述随机数组rs中第j个数大于0.5,则取出所述数据
Figure FDA0003155815000000042
中所述位置th右边的第c(j)个数b,否则取出所述数组
Figure FDA0003155815000000043
中基准的位置th左边的第c(j)个数b,将所述b赋值给x(i)并从所述数组
Figure FDA0003155815000000044
中删除所述b,其中在下一次循环中以所述b的位置为基准,直至所述数组
Figure FDA0003155815000000045
中的所有数赋值给x得到随机数。
6.根据权利要求5所述的快速的任意分布随机数产生系统,其特征在于,所述数组c获得单元用于基于数据向量
Figure FDA0003155815000000046
中的每相邻两个字符获得数组c包括
所述数组c获得单元用于按顺序执行下述步骤以获得数组c:
从所述数据向量
Figure FDA0003155815000000047
中的第一个字符开始将相邻两个字符构成一个数,若最后存在一个单独的字符,则该单独的字符作为一个数。
7.根据权利要求5所述的快速的任意分布随机数产生系统,其特征在于,所述随机数生成单元用于基于所述数据
Figure FDA0003155815000000048
的长度确定第一次循环中基准的位置th包括:
所述随机数生成单元用于将所述数据
Figure FDA0003155815000000049
的长度除以2后四舍五入以得到所述基准的位置th。
8.一种随机数检验系统,其特征在于,针对使用权利要求1-3中任意一项所述的快速的任意分布随机数产生系统所产生的随机数,所述随机数检验系统包括:
平均划分单元,用于将区间[xmin,xmax]平均划分为2L段,其中,所述2L段中第j段的数值范围为
Figure FDA0003155815000000051
标准函数数组形成单元,用于以2L段等间距的方式抽取函数y在区间[xmin,xmax]上的2L个值形成标准函数数组h,其中第j个值y′j对应的随机数为
Figure FDA0003155815000000052
检验函数数组形成单元,用于统计x在区间
Figure FDA0003155815000000053
上的数据个数,形成检验函数数组k;
误差计算单元,用于计算随机数组x与标准函数数组h之间的误差
Figure FDA0003155815000000054
其中xi和hi分别表示x和h的第i个数;以及
合格判定单元,用于在所述误差error小于预设定的误差阈值时,判定所述随机数的合格。
9.一种存储介质,其特征在于,其上存储有程序,该程序被处理器执行时实现权利要求1-3中任意一项所述的随机数检验方法或权利要求4中所述的随机数检验方法。
10.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1-3中任意一项所述的随机数检验方法或权利要求4中所述的随机数检验方法。
CN202110776924.0A 2021-07-09 2021-07-09 一种快速的任意分布随机数产生方法、系统及其检验方法、系统 Withdrawn CN113419706A (zh)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117368670A (zh) * 2023-11-07 2024-01-09 东莞市一丁精密模具组件有限公司 一种模具放电特性柔性检测方法及系统

Cited By (2)

* Cited by examiner, † Cited by third party
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