Skip to main content

Tedshd's Dev note

Computer Science - 亂數

Table of Contents

# 亂數

數位電腦如何產生隨機訊號?項電腦這樣的決定性系統(deterministic system)可以產生一串真正的隨機數列嗎?嚴格說起來,答案是否定的.因為數位電腦所做的每個工作都是由其設計及輸入所決定的,就好像俄羅斯輪盤,球最後所落下的位置是由球的物理性質及輪盤來決定.理論上,若我們了解輪盤的設計及控制其旋轉與擲球力道等詳細[輸入]內容,就應該能預測球的落點.但輪盤停止轉動後的結果看起來卻是隨機的.

電腦也可以用同樣的觀念產生隨機數列,事實上電腦也可以用一種數學模型模擬俄羅斯輪盤的物理性質,每次用稍微不同的角度擲球,已便產生隨機數列.即使丟球的角度只是固定的週期性變化,電腦所模擬的動態轉輪也會將這些些微差異轉化成不可預測的隨機數列.這種隨機數列稱為假隨機(pseudorandom)序列,因為只有不了解其計算方式的觀察者才認為它是隨機的.這種由[假隨機數產生器]所產生的數列可通過所有的標準統計隨機檢測.

數位電腦和真實世界一樣是可預期的,卻也是不可預期的,它們都遵循著決定性的法則,但這些法則會導致相當難以預測的複雜結果.在電腦執行之前猜測它所要做的動作是很不切實際的,而通常不需太大的功夫就可以讓計算變得很複雜.