24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1568  |  回复: 8

upc_hhy

银虫 (初入文坛)

[求助] 怎样产生真正的随机数?已有3人参与

老师留个作业,(1)那些物理现象具有随机性?(2)有怎样才能产生真正的随机数?小弟我思前想后只想到了原子核衰变这一种,但感觉这玩意儿又不好测量,也没法产生随机数。所以在这儿求教万能的虫友们,希望可以帮我解答一下这两个问题。金币真的不多,望大神们不吝赐教。
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

liuichini

铁杆木虫 (正式写手)

很简单,读取运行时刻的时间滴答数作为种子。

发自小木虫Android客户端
2楼2015-10-13 00:05:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

weiguang7910

木虫 (正式写手)

这其实是个难题。几年前有个新闻不知道你还记得否。说的是几个数学家组队去赌博,专找赌博机玩,结果赚了很多钱。这事充分说明了计算机只能产生伪随机数,所以赌博机是有规律的。

就我所知,目前好像还没有特别简单有效的方法产生真正的随机数。有一个方法是最近利用大气湍流的随机性实现的,发表在Scientific Report上

发自小木虫Android客户端
3楼2015-10-13 00:12:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

铸剑人

金虫 (正式写手)

【答案】应助回帖

★ ★ ★ ★ ★
感谢参与,应助指数 +1
upc_hhy: 金币+5, ★★★很有帮助 2015-10-14 20:15:02
现在有随机数发生器【RNG】;包括伪随机、准随机、真随机。真随机需要通过物理学系统产生;电子学噪声系统、混沌现象、量子系统中都可以产生;量子系统下目前有基于光子路径的真随机数;基于真空态炼制噪声的真随机数,ID quantique公司以及推出了相关产品;可以搜一下。
绝尘。
4楼2015-10-13 22:15:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

merlonwin

金虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
upc_hhy: 金币+10, ★★★★★最佳答案 2015-10-14 20:14:53
原子衰变的确属于真随机,除此之外,电子元件的零点漂移、白噪声也可以视为真随机。
电脑产生的随机数属于伪随机数,这一类方法主要是通过算法和种子获得一个周期足够长(远大于实验所需要的随机数数量)的数列,之后从中挑选随机数。
阁下望着深渊之时,深渊也正望着阁下。
5楼2015-10-14 13:55:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

--八云--

专家顾问 (知名作家)

博览众家之长,终集百家之短

【答案】应助回帖

引用回帖:
2楼: Originally posted by liuichini at 2015-10-12 18:05:14
很简单,读取运行时刻的时间滴答数作为种子。

我记得听本科老师讲蒙特卡洛方法计算的时候说过,世上没有一种办法可以产生真正数学意义上的随机数,我们使用的,往往是一段很长的数字序列,从中截取一段作为近似随机。

只要数字序列的周期相比使用的那一段足够长,那么截取的时候得到的就越趋于随机
人原本是不死的,后来他创造了死亡,故而人们歌颂他。
6楼2015-10-16 14:49:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

math2000

铁杆木虫 (职业作家)

真正的随机数是通过物理现象来产生的,但很难获取,有真正的随机数发生器,但一般的单位买不起,太贵了。
所以楼主别去想了。
7楼2015-10-16 16:46:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

liuichini

铁杆木虫 (正式写手)

引用回帖:
6楼: Originally posted by --八云-- at 2015-10-16 14:49:37
我记得听本科老师讲蒙特卡洛方法计算的时候说过,世上没有一种办法可以产生真正数学意义上的随机数,我们使用的,往往是一段很长的数字序列,从中截取一段作为近似随机。

只要数字序列的周期相比使用的那一段足 ...

哦,那是我理解错了你的问题,
不过,我不认为你有必要去追求你那个意义上的随机数。
8楼2015-10-16 19:21:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

--八云--

专家顾问 (知名作家)

博览众家之长,终集百家之短

引用回帖:
8楼: Originally posted by liuichini at 2015-10-16 13:21:45
哦,那是我理解错了你的问题,
不过,我不认为你有必要去追求你那个意义上的随机数。...

你所回答的,好像是一般电脑程序里用的办法,用当前系统时间做种子生成随机数

有人研究过,这样生成的随机数可以满足一般的计算,但是大规模使用随机数的计算还是要慎重的,因为可能长程上会出现循环,具体的数量级我已经记不清了。
人原本是不死的,后来他创造了死亡,故而人们歌颂他。
9楼2015-10-16 21:43:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 upc_hhy 的主题更新
信息提示
请填处理意见