当前位置: 首页 > 专利查询>杜海洋专利>正文

一种随机数的生成方法及系统技术方案

技术编号:8562827 阅读:216 留言:0更新日期:2013-04-11 04:27
本发明专利技术涉及随机数技术领域,本发明专利技术公开了一种随机数生成方法,其具体包含以下步骤:1.输入需要处理的数列S,数列S中元素的进制为X;2.用随机数发生器生成X-1个(0,1]之间的随机数然后把这些数组成数列R;根据数列R计算得到长度为X的数列L(L0,L1,……,LX-1),其中L为数字0至X-1的随机排列;3.根据数列L对数字0至X-1进行授权,L0授权的权值为0,L1授权的权值为1,……,依次类推,LX-1授权的权值为X-1;4.数列S中的元素按照其权值进行排序,得到S的随机排序结果SR,从而得到数列S中的随机数。本发明专利技术还公开了一种随机数生成的系统。采用本发明专利技术的方法还可以节约时间、降低成本,系统的开销也得以降低。同时随机数的生成过程还可以再现,保证了随机数产生的真正随机性,随机性效果好。

【技术实现步骤摘要】

本专利技术涉及随机数
,尤其涉及一种随机数的生成方法及系统
技术介绍
随机数在计算机软件、硬件、信息安全、抽奖系统等等领域都有着非常广泛的应用,因而如何得到随机性高的随机数就显得非常重要。现有技术中得到随机数通常采用以下两种方式。第一,系统软件实现,通过纯软件系统生成的随机数是采用各种算法计算出来的随机数,通常称为伪随机数。目前,要得到优质的伪随机数,就不停地在算法上进行改进,如公开号为CN102520908A号专利申请中采用的双曲平方算法得到伪随机数,这样的方法一方面随机性不够另外一方面计算量太大,系统开销大。第二,采用硬件电路实现,硬件电路一般可以采用晶体管噪音作为生成“O”和 “ I ”的物理随机数,但这种硬件电路产生随机数的成本随着随机数列中元素数量的增加,成本也增加较多。比如要需要对70亿零I个数据进行随机排列,那么就需要首先制造一个能生成I到70亿零I之间任意数的随机数发生器,同时再产生70亿个随机数,然后才能实现对这些数据的随机排列。显然数据越多,成本越高。
技术实现思路
针对现有技术中随机数的生成方法存在随机性不高,以及成本高的技术问题,提供一种随机数生成方法。本专利技术还公开了实现这种随机数生成方法的系统。本专利技术的专利技术目的通过下述技术方案来实现一种随机数生成方法,其具体包含以下步骤1.输入需要处理的数列S,数列S中元素的进制为X ;2.用随机数发生器生成X-1个(0,I]之间的随机数然后把这些数组成数列R ; 根据数列R计算得到长度为X的数列L (L0L1,……,Ljh),其中L为数字O至X-1的随机排列;3.根据数列L对数字O至X-1进行授权,Ltl授权的权值为OA1授权的权值为1,……, 依次类推,Lx^1授权的权值为X-1 ;4.数列S中的元素按照其权值进行排序,得到S的随机排序结果SR,从而得到数列S中的随机数。更进一步地,上述方法还包括以下步骤根据数列S得到其特征值ST,步骤2中的随机数发生器为外置的随机数发生器,在外置的随机数发生器产生长度为X-1的数列R后, 保存R及其特征值RT,保存SR的特征值SRT,并根据S和R再现数列S R及随机数。更进一步地,上述方法还包括以下步骤将文字、图片、声音或者视频作为信息输入,并将输入的信息进行定长处理,处理后的单个输入作为数列S的一个元素。更进一步地,上述步骤4中对数列S的元素按照其权值进行排序,排序方式为依照权值的大小进行排序。本专利技术还公开了一种随机数生成系统, 具体包括数列生成模块、随机数生成模块、 数列授权模块、随机数排序模块;所述数列生成模块用于输入需要处理的数列S,S数列中元素的进制为X ;所述随机数生成模块用于采用随机数发生器生成长度为X-1的数列R,然后根据数列R计算得到长度为X的数列L (L0jL1,……,Ljh),其中L为数字O至X-1的随机排列;所述数列授权模块用于根据数列L对数字O至X-1进行授权,L0授权的权值为0, L1授权的权值为1,……,依次类推,Ljh授权的权值为X-1 ;所述随机数排序模块用于将数列S中的元素按照其权值进行排序,得到S的随机排序结果SR,从而得到数列S中的随机数。更进一步地,上述系统还包括随机结果再现模块,所述随机结果再现模块用于根据随机数数列S得到其特征值ST,所述随机数发生器为外置的随机数发生器,在外置的随机数发生器产生长度为X-1的数列R后,保存R及其特征值RT,保存SR的特征值SRT,根据 S和R再现数列S R及随机数。更进一步地,上述系统还包括输入信息处理模块,所述输入信息处理模块用于将文字、图片、声音或者视频信息输入进行定长处理,处理后的数据作为数列S的一个元素。更进一步地,上述随机数排序模块中对数列S中的元素的排序方式为依照其权值的大小进行排序。通过采用以上技术方案,本专利技术的有益效果是本专利技术中只需要随机数发生器产生的长度为X-1的数列R,其中X为输入需要处理的数列S中元素的进制。随机数发生器产生的数列R的长度不会随着S数列中元素量的增加而增加,比如当数列S为16进制时,只需要用随机数发生器产生15个随机数就可以使得70亿零一个或者更多个数据进行随机排列,得到其随机数,降低了因多次使用随机数发生器而增加的成本。随机数发生器在产生随机数时,产生的数据越多,花的时间也越长,采用本专利技术的方法还可以节约时间,降低了系统的开销及成本。同时随机数的生成过程还可以再现,保证了随机数产生的真正随机性,其数据输入可以采用各种形式的输入,方便了用户的使用,同时将用户输入的各种形式的数据作为随机数,随机性效果好。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合具体实施例,对本专利技术进行进一步详细的说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。本专利技术公开了一种随机数生成方法,其具体包含以下步骤1.输入需要处理的数列S,数列S中元素的进制为X ;2.用随机数发生器生成X-1个(0,I]之间的随机数然后把这些数组成数列R,根据数列R计算得到长度为X的数列L (L0L1,……,Ljh),其中L为数字O至X-1的随机排列;3.根据数列L对数字O至X-1进行授权,L0授权的权值为0,L1授权的权值为1,......,依次类推,Ljh授权的权值为X-1 ;4.数列S中的元素按照其权值进行排序,得到S的随机排序结果SR,从而得到数列S中的随机数。当输入的随机数数列S中的元素为32位16进制的数时,此时外置的随机数发生器产生一组数字长度为15的随机数数列R,并根据R计算得到长度为X的数列L,L中的数字为O—9,A-F中16个数字的随机排列,例如L为8012345679ABCDFE或者8056791234ABCDFE, 即8授权的权值为0,O授权的权值为1,……,依次类推,E授权的权值为F,并依照此方式对数列S中的每一个元素的每一位进行授权,假设S中的元素I由16个80组成,元素2由 16个08组成,则元素I授权后的权值为16个08,元素2授权后的权值为16个 80,授权后的元素依照其权值进行大小的比较时,得到元素I〈元素2。本专利技术中X可以任意设定16或 256等,其X数值的大小根据随机数的随机性要求进行设定,一般X的值越大时,随机程度 越高。本专利技术采用随机数数列L对数列S中元素的每一位进行授予随机权值的方式,使得 S数列中的元素随机排列,并选定排序后SR数列中固定位置的元素,从而得到随机数数列S 中的随机数,比如选择数列SR的第I个,或是第34个,或是第78,56,444个,也就是说指定 某些位置的数据有某些功能,比如有奖等。本专利技术中需要随机数发生器产生的随机数的个 数是由S的进制决定的,其不会随着S数列中元素量的增加而增加,一般为16进制时,只需 要产生长度为15的随机数数列R就可以使得70亿零一个数据进行随机排列,降低了因多 次使用随机数发生器而增加的成本。随机数发生器在产生随机数时,产生的数据越多,花的 时间也越长,采用本专利技术的方法还可以节约时间,降低了系统的开销。本专利技术中的数列R是由随机数发生器生成的(0,I ]之间的的数组成的,长度为 X-1o数列L是根据R中的随机数对之间的整数进行随机排列而得到的,长度为 X。根据(0,I ]之间的随机数本文档来自技高网...

【技术保护点】
一种随机数生成方法,其具体包含以下步骤:1.输入需要处理的数列S,数列S中元素的进制为X;2.用随机数发生器生成X?1个(0,1]之间的随机数然后把这些数组成数列R;根据数列R计算得到长度为X的数列L(L0,L1,……,LX?1),其中L为数字0至X?1的随机排列;3.根据数列L对数字0至X?1进行授权,L0授权的权值为0,L1授权的权值为1,……,依次类推,LX?1授权的权值为X?1;4.数列S中的元素按照其权值进行排序,得到S的随机排序结果SR,从而得到数列S中的随机数。

【技术特征摘要】
1.一种随机数生成方法,其具体包含以下步骤1.输入需要处理的数列S,数列S中元素的进制为X ;2.用随机数发生器生成X-1个(0,I]之间的随机数然后把这些数组成数列R ;根据数列R计算得到长度为X的数列L (L0L1,……,Ljh),其中L为数字O至X-1的随机排列;3.根据数列L对数字O至X-1进行授权,L0授权的权值为0,L1授权的权值为1,……,依次类推,Ljh授权的权值为X-1 ;4.数列S中的元素按照其权值进行排序,得到S的随机排序结果SR,从而得到数列S中的随机数。2.如权利要求1所述的随机数生成方法,其特征在于所述方法还包括以下步骤根据数列S得到其特征值ST,步骤2中的随机数发生器为外置的随机数发生器,在外置的随机数发生器产生长度为X-1的数列R后,保存R及其特征值RT,保存SR的特征值SRT,并根据S和R再现数列S R及随机数。3.如权利要求2所述的随机数生成方法,其特征在于所述方法还包括以下步骤将文字、图片、声音或者视频作为信息输入,并将输入的信息进行定长处理,处理后的单个输入作为数列S的一个元素。4.如权利要求3所述的随机数生成方法,其特征在于所述步骤4中对数列S的元素按照其权值进行排序,排序方式为依照权值的大小进行排序。5.一种随机数生成系统,其特征在于具体包括数列生成模块、随机数生成...

【专利技术属性】
技术研发人员:杜海洋
申请(专利权)人:杜海洋
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1