首页
社区
课程
招聘
真随机函数
发表于: 2018-8-24 15:15 8652

真随机函数

2018-8-24 15:15
8652
  在构造随机函数的基础上(见【构造随机函数】帖子),很容易实现真随机函数,构造随机函数是没有具体公式的,它生成随机数的机理也不是靠数学公式而是靠物理学定律,只要我们引进一些随机因素,就可以产生真随机数,真正做到1)看上去像随机数,2)不可预测,3)永不重复。
  从构造随机函数可知,其生成状态多得不可计数,也就是其参数任何微小的变动都会影响结果,我们只要引入随机因素,就可以达到真随机数的那三个特点,引入随机因素方法很多,例如不定期的取出本机CPU运行脉动数,当然这是个逐渐增大的数随机性并不好,用此数去除一个质数,得到的同余数作为一个优良的随机函数种子,然后用此随机函数值作为我们要取得随机因素,让其影响构造随机函数的走势从而达到生成真随机数的目的。

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 10014
活跃值: (2012)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
2
引入随机因素的方式也可以从时间那里得到,例如开机毫秒数,配合一个随机函数不定期的得到开机毫秒数,处理后得到种子得到下一个数值,从中引出数据来指导真随机函数的形成。这也是将动态的随机性和固态的随机性结合起来用于控制的方式。
2018-9-4 10:27
0
雪    币: 2375
活跃值: (433)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
sjdkx 引入随机因素的方式也可以从时间那里得到,例如开机毫秒数,配合一个随机函数不定期的得到开机毫秒数,处理后得到种子得到下一个数值,从中引出数据来指导真随机函数的形成。这也是将动态的随机性和固态的随机性结合 ...
现在电脑的rand函数都会把开机毫秒数作为每次调用的随机seed么?
2019-3-31 21:40
0
雪    币: 10014
活跃值: (2012)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
4
这是比较常见的做法,因为开机毫秒数是非常随机的。
2019-4-2 09:31
0
游客
登录 | 注册 方可回帖
返回
//