周強
摘 要:在對反饋移位寄存器法的基礎上。改進它的算法,能在軟件上快速的實現,提出一個基于矩陣模2運算的隨機數發生器算法,蘊含反饋移位寄存器法。
關鍵詞:隨機數;算法;反饋移位寄存器;矩陣;模運算
1 概述
反饋移位寄存器在硬件上實現簡單,耗的資源少,而在軟件上實現就沒有硬件那么快速。通過改進反饋移位寄存器的算法,適合嵌入式系統。
在此基礎上提出一個新的隨機數生成算法,利用矩陣的冪乘的模運算產生隨機數,更加適合嵌入式系統。
2 反饋移位寄存器法
1965年Tauswonhe在論文中提出了一種通過對寄存器進行位移(遞推)[1],直接在存儲單元中形成偽隨機數的方法,他給出的線性反饋移位寄存器的遞推公式可以寫成:
其中L為長度,通過對參數p以及ci的調整可以得出不同的反饋移位寄存器。
3 矩陣與向量的模運算
矩陣和向量的模運算我們有如下定義:
其中&為位運算并,^為位運算與或。
6 總結與展望
本文僅僅提出了一個矩陣模運算的隨機數算法,對于參數矩陣和向量如何選取還有待研究,參數選取的差距對于隨機數的周期、分布都有很大影響。對于32位64位隨機數能用位運算解決,那么在任意位隨機數用位運算來實現的可行性有待研究。
[參考文獻]
[1]E.H.Sibley,Random Number Generators:Good Ones are hard to find,Communications ofthe ACM.1998.31(10):1192—1201.