Re: [請益] 亂數表有沒有規律??

看板ask-why (知識奧秘)作者 (!H45)時間17年前 (2009/05/19 03:47), 編輯推噓0(005)
留言5則, 1人參與, 最新討論串11/19 (看更多)
※ 引述《StaticVortex ()》之銘言: : ※ 引述《semop (semop)》之銘言: : : 電腦可以產生合乎各種亂數檢測方法、基本上無法逆推的 "真實亂數" (當然 : : 有人不同意這是 "真實" 亂數,但這是定義問題) 。 : : 只是一般來說,產生這種亂數的運算成本甚高。 : : 一個簡單的例子是拿 pi 或 e 值或更不常見的無理數作為基準來製作亂數, : : 它們沒有常用的亂數方法的循環問題,永遠不會重複產生資料。 : : 但除非是使用硬體方法,無法產生 "自然亂數" 。 : : 現在已經有 http://random.org 這類網站出現,免費公開地提供硬體產生的 : : 自然亂數,以後電腦程式使用的亂數資料應該會逐漸改以自然亂數為主了。 : : 所以大家以後就別說電腦所使用的亂數都一定是假亂數了。這觀念要改一改。 : 對不起我是個門外漢, : 如果避免了重複使用同一個亂數種子, : 以及同一個亂數種子產生的亂數不要多過週期, : 為什麼還需要這種自然亂數呢? : 譬如以使用者的 input 時間間隔來取種子等等方式, 會遇到什麼限制嗎? : 使用偽亂數還會遇到什麼樣的問題與困擾呢? 此問題應回歸於:為何需要亂數? 因實際需求,有些亂數要求無法預測以提升系統安全 有些亂數要求分佈足夠均勻以提升搜尋效果 而有些亂數要求模擬真實環境以測試系統容錯能力 基於以上需求,有些情況並非虛擬亂數可以滿足 無法預測的特性乃自然亂數優於虛擬亂數的原因之一 在一般的情況下 虛擬亂數 (如 Java 內建 Random 類別所含演算法) 已經足以應付大部分的需求 好比說:隨機從題庫抓練習題、隨機閱讀網路的一篇文章 並不需要多麼難以預測的亂數源,只要虛擬亂數即可。 然而,需要絕對無法被猜到的情況下,自然亂數比虛擬亂數更加可靠 好比說:隨機產生加密金鑰、隨機產生雜訊 自然亂數保證任何人都無法準確地猜到未來的亂數是多少 畢竟人類還沒有能力預言這個世界的所有細節。 回到原發問者的問題:以使用者的 input 時間間隔來取種子的方式會遇到什麼限制? 假設使用者 input 時間間隔足夠稱為自然亂數 (不是由機器精準地以固定時間輸入) 那麼,此種子即為自然亂數,後面的種種運算都是基於自然亂數的結果 此時間間隔不能說是偽亂數。 然而,如果將自然亂數再做一次虛擬亂數演算法所得到的數值,並不能稱之為自然亂數 因為每一次運算所得到數值都與自然亂數相關 連續做多次虛擬亂數演算法所得到一連串數字彼此之間有關聯 這些數字只能代表同一個自然亂數的衍生物 只要知道第一個數字是多少,後面的數字全部都可以推算出來 相對地,一連串真正的自然亂數是知道第一個數字,仍然無法推算出其他亂數是多少。 舉例而言,你有辦法知道另一個使用者 (人) input 的時間間隔嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.116.247.13

05/19 12:48, , 1F
亂數的亂度也很重要,以前拿到一個 0x00~0xFF 的亂數時,都
05/19 12:48, 1F

05/19 12:48, , 2F
自己任意擴展到 0x0000~0xFFFF 使用,老實說沒數學底子,心
05/19 12:48, 2F

05/19 12:48, , 3F
裏很虛,不知有沒有造成某一區特別偏重的問題
05/19 12:48, 3F

05/19 12:49, , 4F
人輸入的時間間隔也會受 clock 取樣影響,出現數位化的邊界
05/19 12:49, 4F

05/19 12:50, , 5F
當然如果能以量子級的取樣,那我絕不擔心 :P
05/19 12:50, 5F
文章代碼(AID): #1A4Rj19m (ask-why)
討論串 (同標題文章)
文章代碼(AID): #1A4Rj19m (ask-why)