Algorithm 版 (精华区)
发信人: sino (茶水博士), 信区: Theory
标 题: Re: 哪位大虾知道真正的随机数算法?
发信站: 哈工大紫丁香 (Sun Aug 27 13:32:57 2000), 转信
发信人: Striker (Winter Cherry), 信区: Algorithm
发信站: 南京大学小百合站 (Mon Mar 13 23:46:49 2000), 转信
问题在于,即使这样,只要算法一公开,大家就可以根据产生随机数
的时间,把这个随机数给估计出来
【 在 Symbol (鲨鱼木菠萝-待业一青年) 的大作中提到: 】
: 【 在 seagullx (树欲静而风不止) 的大作中提到: 】
: : 这种随机数是不可能的
: : 我就是灌水!
: 好象还是有一点希望。我简单说一下,具体程序你自己去编写。
: 取一个映射:Y=a*X*(1-X)
: 初值X好象可以任意取,但不要去0,比如取个0.5
: a要去一个特定的值,我建议你取在3.7附近,注意一定要比4小,不能太小。
: 在这个映射下不断去叠代,x会在(0..1)之间取值,有人在一篇论文中证明过,这样
: 叠代产生的点在区间(0..1)是稠密的,还有一些性质,具体细节我记不清了,论文的
: 结论就是得到的这种数字序列可以做随机数,好象和那个什么混沌的有一些联系。
: 关于a的取值,你可以自己写一个程序,横坐标是a (从0到4)。
: 对于每一个a,你使用上式不断叠代,将得到的点作为纵坐标 (从0到1)。
: 那个图象在许多书籍上出现过,好象叫什么“逻辑提丝映射”
: a取值适当的时候,可以得到随机数。
: 既然你需要一个几百位十进制的随机数发生器,就拿这个先拼凑拼凑,讲究着先
: 用。比如去一个叠代序列中的数,去它个小数点后5,6位。再从另一个a对应的叠代
: 序列中拿一个数,取它的若干位,总之能凑出来。
: x的初始点还可用毫秒级时钟的个位数做一个自变量。
: 如果你能发现这个随机数发生器产生的叠代序列的一些规律,请数学系
: 主任联系。
--
简单是生化,复杂的是生活
※ 修改:.fib 於 Aug 27 13:30:35 修改本文.[FROM: bbs.hit.edu.cn]
--
※ 转寄:.南京大学小百合 bbs.nju.edu.cn.[FROM: bbs.hit.edu.cn]
--
☆ 来源:.哈工大紫丁香 bbs.hit.edu.cn.[FROM: fib.bbs@bbs.nju.edu.]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:2.433毫秒