作者H45 (!H45)
看板ask-why
标题Re: [请益] 乱数表有没有规律??
时间Tue May 19 19:37:22 2009
:
: 然而,如果将自然乱数再做一次虚拟乱数演算法所得到的数值,并不能称之为自然乱数
: 因为每一次运算所得到数值都与自然乱数相关
: 连续做多次虚拟乱数演算法所得到一连串数字彼此之间有关联
: 这些数字只能代表同一个自然乱数的衍生物
: 只要知道第一个数字是多少,後面的数字全部都可以推算出来
: 相对地,一连串真正的自然乱数是知道第一个数字,仍然无法推算出其他乱数是多少。
:
: 举例而言,你有办法知道另一个使用者 (人) input 的时间间隔吗?
:
: --
:
※ 发信站: 批踢踢实业坊(ptt.cc)
: ◆ From: 140.116.247.13
: → HuangJC:乱数的乱度也很重要,以前拿到一个 0x00~0xFF 的乱数时,都 05/19 12:48
: → HuangJC:自己任意扩展到 0x0000~0xFFFF 使用,老实说没数学底子,心 05/19 12:48
: → HuangJC:里很虚,不知有没有造成某一区特别偏重的问题 05/19 12:48
乱度我不清楚是什麽,但是我知道均匀度可以用数字简单估测。
假设你说的乱度就是我说的均匀度
我必须提出一点:
自然乱数的分布不太均匀
若自然乱数比任何虚拟乱数都均匀
那麽下一个时间点的自然乱数比虚拟乱数更容易预测
然而事实却是自然乱数比虚拟乱数还要难预测,而且自然乱数的分布并没有比较均匀
换言之,以均匀为目标的虚拟乱数反而比自然乱数还要均匀。
回到你的问题,0x00~0xFF 扩展至 0x0000~0xFFFF 是非 onto 的对映关系
也就是说,有些对应域的数值不会被定义域的数值对映到。
如果你早就知道这一点的话,下一个问题是「会不会有某一区特别偏重」
答案是视你的乱数产生法而定,就我所知的三个乱数产生法而言
有些乱数产生法非常不均匀,但是很难预测下一个时间点运算出来的乱数
也有些乱数产生法非常均匀,可是用人脑都知道下一个时间点算出来的会是多少。
以你担心某一区偏重的问题而言
可以用均匀分布之乱数产生器来解决
(附带一提,Java 内建的 Random 之演算法是属於不均匀,但是很难预测的那种)
: → HuangJC:人输入的时间间隔也会受 clock 取样影响,出现数位化的边界 05/19 12:49
: → HuangJC:当然如果能以量子级的取样,那我绝不担心 :P 05/19 12:50
取样得愈细,某位数以下的数值愈可以当作乱数 (想像细至 1E-10 cm)
这麽小的数值,几乎可以归至误差或是杂讯
只要误差或杂讯干扰大到某个程度 (想像误差是 -1E-9 ~ 1E-9 cm)
下一个时间点的取样结果几乎不可能被预测,毕竟人类还没办法完全掌握误差和杂讯。
以你说的 clock 取样影响,人输入的时间间隔之最小单位就是一个 clock
但是人输入的时间间隔难以预测,再加上其他电路的干扰
可以让误差大过 clock 取样的好几倍……这样还需要担心乱数不乱吗?
我是不太懂为什麽一定要到量子级才不用担心,难道 clock 还不够细...?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 122.117.172.148
1F:推 HuangJC:实际上绘图时会出现一些特定形状;是由此再反推猜测的 05/19 22:31
2F:→ HuangJC:比如求 PI 值的一个统计方法,是用正方型和圆形面积的比值 05/19 22:32
3F:→ HuangJC:我如果跑完所有 pixel,当然可以求出比值;但不想跑所有点时 05/19 22:32
4F:→ HuangJC:我会用乱数去跑点,而又希望乱数够平均,可当统计上的取样 05/19 22:33
5F:→ HuangJC:总之有很多方法可以绘图,但图里却出现一条直线.. 05/19 22:34
6F:→ H45:以乱数在二维平面上随机取点却绘出一条直线的机率也太低了吧 05/20 05:16
7F:推 HuangJC:因为没有很均匀呀.. 05/20 10:33
8F:→ H45:不对,不均匀和绘出一条直线是极不相似的概念 05/20 11:14
9F:→ H45:我看到你回文了,请先无视我上面这行推文 05/20 11:24
10F:→ HuangJC:好的式子可以解决直线啦;一定有解,只是我要数学家帮忙呀 05/20 11:39
11F:→ HuangJC:我是在说,以一般功力来讲,我怀疑我解得好不好.. 05/20 11:40
12F:→ HuangJC:所以我後来对有序的伪乱数公式很佩服 ~^_^~ 05/20 11:40