免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: qingfengjianke
打印 上一主题 下一主题

[算法] 设计一个完美的随机数 [复制链接]

论坛徽章:
0
31 [报告]
发表于 2008-02-21 11:56 |只看该作者
可以用openssl里面的代码,随机性很好。


通过鼠标键、屏幕可以得到最初状态。我这里有一个USB接口的硬件随机数生成器,几十元,便宜:)

扩大状态机的空间,这个很容易做到,当将5K内存作为种子的时候,理论上就是真得不能再真的随机数了。

运行中,有各种事件发生,也可以每隔一段时间向硬件随机数生成器申请一个,推动状态机改变。


停止运行前,保存状态,再次启动后,立即更新状态。

论坛徽章:
0
32 [报告]
发表于 2008-02-21 20:16 |只看该作者
Random.org这个网站就提供了真正的随机数序列,他通过大气噪音 (Atmospheric Noise) 这种大自然的随机现象来产生

论坛徽章:
0
33 [报告]
发表于 2008-02-21 23:42 |只看该作者
up

论坛徽章:
95
程序设计版块每日发帖之星
日期:2015-09-05 06:20:00程序设计版块每日发帖之星
日期:2015-09-17 06:20:00程序设计版块每日发帖之星
日期:2015-09-18 06:20:002015亚冠之阿尔艾因
日期:2015-09-18 10:35:08月度论坛发贴之星
日期:2015-09-30 22:25:002015亚冠之阿尔沙巴布
日期:2015-10-03 08:57:39程序设计版块每日发帖之星
日期:2015-10-05 06:20:00每日论坛发贴之星
日期:2015-10-05 06:20:002015年亚冠纪念徽章
日期:2015-10-06 10:06:482015亚冠之塔什干棉农
日期:2015-10-19 19:43:35程序设计版块每日发帖之星
日期:2015-10-21 06:20:00每日论坛发贴之星
日期:2015-09-14 06:20:00
34 [报告]
发表于 2008-02-22 09:19 |只看该作者
原帖由 柳拂风 于 2008-2-21 11:31 发表
电子云好像是真正随机的

who knowns

论坛徽章:
95
程序设计版块每日发帖之星
日期:2015-09-05 06:20:00程序设计版块每日发帖之星
日期:2015-09-17 06:20:00程序设计版块每日发帖之星
日期:2015-09-18 06:20:002015亚冠之阿尔艾因
日期:2015-09-18 10:35:08月度论坛发贴之星
日期:2015-09-30 22:25:002015亚冠之阿尔沙巴布
日期:2015-10-03 08:57:39程序设计版块每日发帖之星
日期:2015-10-05 06:20:00每日论坛发贴之星
日期:2015-10-05 06:20:002015年亚冠纪念徽章
日期:2015-10-06 10:06:482015亚冠之塔什干棉农
日期:2015-10-19 19:43:35程序设计版块每日发帖之星
日期:2015-10-21 06:20:00每日论坛发贴之星
日期:2015-09-14 06:20:00
35 [报告]
发表于 2008-02-22 09:21 |只看该作者
原帖由 galaxywar 于 2008-2-21 10:48 发表

拿那些东西作种子就行了.
不过"真正的随机"是什么意思?

就是完全没有规律,即使全知全能的上帝也无法预测。BTW,这里有个矛盾

论坛徽章:
0
36 [报告]
发表于 2008-02-22 09:42 |只看该作者

没有绝对的随机,全是伪随机!!

任何随机都是伪随机,好像数学家也正在证明这个问题。但是迄今为止找不到真随机。整个世界都这样。

论坛徽章:
1
2016猴年福章徽章
日期:2016-02-18 15:30:34
37 [报告]
发表于 2008-02-22 15:49 |只看该作者

可以买一个随机数发生器。

不是程序上的。是电子运动产生的。

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
38 [报告]
发表于 2008-02-22 16:39 |只看该作者
RSA的书上介绍过一种随机数发生器
利用劣质内存芯片工作在高温下,其数据是变幻无常的
读取这里面的数据,就会得到难以预测的随机数
有采用用这种技术制作随机数发生器板卡

用过早期486电脑的都知道,那个时代普通PC机都要上ECC内存
否则根本没法用,内存数据经常没准
空调也要好,不然连CPU都会瞎算数

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
39 [报告]
发表于 2008-02-22 16:50 |只看该作者
原帖由 MMMIX 于 2008-2-22 09:19 发表

who knowns



电子云是可计算的空间概率的,并非均匀分布
真要是均匀分布,受热发光可就是完美连续光谱了
光谱学证明电子只能处于非连续的特定能级(运行状态)

论坛徽章:
1
双子座
日期:2013-11-14 17:43:24
40 [报告]
发表于 2008-02-22 16:55 |只看该作者
如果樓主用Java寫的話, 可以使用java.security.SecureRandom 產生真正的隨機數.
如果用C/C++寫的話:
在Linux平台: 2樓的兄弟(tianshanxue2005 骑士)說的是對的. 用:Linux里面系统有/dev/random,/dev/urandom向用户提供随机数
在Windows平台: 用
CryptGenRandom 函數產生真正的安全的隨機數.

如果你用rand/srand之類的函數, 呵呵, 告訴你不會存在完美的隨機數(無論你的種子如何取); 用程序可以輕鬆的預測你的隨機值.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP