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