作者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
推 HuangJC:實際上繪圖時會出現一些特定形狀;是由此再反推猜測的 05/19 22:31
→ HuangJC:比如求 PI 值的一個統計方法,是用正方型和圓形面積的比值 05/19 22:32
→ HuangJC:我如果跑完所有 pixel,當然可以求出比值;但不想跑所有點時 05/19 22:32
→ HuangJC:我會用亂數去跑點,而又希望亂數夠平均,可當統計上的取樣 05/19 22:33
→ HuangJC:總之有很多方法可以繪圖,但圖裏卻出現一條直線.. 05/19 22:34
→ H45:以亂數在二維平面上隨機取點卻繪出一條直線的機率也太低了吧 05/20 05:16
推 HuangJC:因為沒有很均勻呀.. 05/20 10:33
→ H45:不對,不均勻和繪出一條直線是極不相似的概念 05/20 11:14
→ H45:我看到你回文了,請先無視我上面這行推文 05/20 11:24
→ HuangJC:好的式子可以解決直線啦;一定有解,只是我要數學家幫忙呀 05/20 11:39
→ HuangJC:我是在說,以一般功力來講,我懷疑我解得好不好.. 05/20 11:40
→ HuangJC:所以我後來對有序的偽亂數公式很佩服 ~^_^~ 05/20 11:40