• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            Creative Commons License
            本Blog采用 知識(shí)共享署名-非商業(yè)性使用-禁止演繹 3.0 Unported許可協(xié)議 進(jìn)行許可。 —— Fox <游戲人生>

            游戲人生

            游戲人生 != ( 人生 == 游戲 )
            站點(diǎn)遷移至:http://www.yulefox.com。請(qǐng)訂閱本博的朋友將RSS修改為http://feeds.feedburner.com/yulefox
            posts - 62, comments - 508, trackbacks - 0, articles - 7

            如何產(chǎn)生隨機(jī)數(shù)

            Posted on 2008-04-15 14:01 Fox 閱讀(4361) 評(píng)論(3)  編輯 收藏 引用 所屬分類(lèi): G游戲編程

            Author: Fox

            John von Neumann說(shuō):Any one who considers arithmetical methods of producing random digits is , of course, in a state of sin.

            所以,在討論算法實(shí)現(xiàn)隨機(jī)數(shù)的時(shí)候,總是說(shuō)“偽隨機(jī)數(shù)”。

            現(xiàn)在,應(yīng)用最廣的隨機(jī)數(shù)生成算法是由Derrick Henry Lehmer1951年給出的線性同余法

            ????????????? Xn+1 = ( aXn + c ) mod m,? n>=0.

            上一篇偽隨機(jī)數(shù)的論述中,并沒(méi)有給出X0, a, c, m的取值規(guī)則,只是給出了ANSI CMicrosoft Visual C++的實(shí)現(xiàn)。

            在這兒我們可以自己先思考一下,我們期望從上式中得到的隨機(jī)數(shù)應(yīng)該滿(mǎn)足:

            1) 上式的輸出足夠隨機(jī),這是最基本的要求;

            2) 上式給出盡量多的輸出,越接近m個(gè)越好(不可能超過(guò)m),即周期盡量長(zhǎng),最好為m,這樣才能保證上式滿(mǎn)足均勻分布m個(gè)數(shù)在周期m中各出現(xiàn)一次m個(gè)數(shù)出現(xiàn)的概率相等);

            3) 上式的生成速度足夠快。

            最容易想到的,m的取值為計(jì)算機(jī)字大小(如2^32或2^64)

            但是這兒有個(gè)很?chē)?yán)重的問(wèn)題:Xn低位的隨機(jī)性很弱。原因如下:

            令d|m, 且

            ????????????? Yn = Xn mod d

            ????????????? Yn+1 = ( ( aXn + c ) mod m ) mod d

            ????????????????????? = ( aYn + c ) mod d

            上述表達(dá)式的意義即:Yn為Xn低k位(d=2^k),這樣的Yn序列形成周期為d甚至更短的同余序列。舉例說(shuō)明:d為2^1時(shí),Yn為Xn的最低位(可假定為1或0),若Yn+1 != Yn,則Yn+2 == Yn必定成立,僅當(dāng)a、c皆為奇數(shù)時(shí)Yn、Yn+1將0、1交替,否則,為常數(shù)(0或1)。

            暫時(shí)拋開(kāi)隨機(jī)性不管,先找到周期為m的隨機(jī)序列中的取值規(guī)則。

            Donald KnuthThe Art of Computer Programming, Volume 2: Seminumerical Algorithms中的3.2.1.2節(jié)對(duì)m, a, c和X0取值規(guī)則的表述:

            1) gcd(c, m) = 1. 即c, m互素,再白一點(diǎn),c, m除1之外沒(méi)有其他公因子;

            2) 任給質(zhì)數(shù)p, p|m ==> p|(a-1). 即m%p==0,則(a-1)%p==0。

            3) 4|m ==> 4|(a-1). 即m%4==0,則(a-1)%4==0。

            這個(gè)證明過(guò)程對(duì)于我這樣的數(shù)論基礎(chǔ)不是很扎實(shí)的搞應(yīng)用技術(shù)的人來(lái)說(shuō)有點(diǎn)難以理解了。有興趣的話,還是去看3.2.1.2的證明吧:-)。

            上面的規(guī)則告訴我們,滿(mǎn)足了上述規(guī)則后,可以保證序列周期為m。對(duì)于前面提到的關(guān)于隨機(jī)性的問(wèn)題,既然Xn低位的隨機(jī)性比較弱,可以只取Xn的高位作為輸出。高位的隨機(jī)性和統(tǒng)計(jì)意義由a, c確定,其取值涉及統(tǒng)計(jì)檢驗(yàn),具體的也還是看3.3吧。

            這篇文章解決了具有統(tǒng)計(jì)意義的隨機(jī)數(shù)的部分理論問(wèn)題。

            PS: 之前曾經(jīng)BS過(guò)Windows Live Writer,當(dāng)時(shí)覺(jué)得Writer編輯功能太少,不能直接設(shè)定鏈接文字的字體顏色,知道CSS可以設(shè)定之后,又覺(jué)得Word 2007編輯的Blog轉(zhuǎn)成html之后太大,而且也知道Word 2007上面是可以設(shè)置鏈接的target為_(kāi)blank的。現(xiàn)在發(fā)現(xiàn)Writer還是很不錯(cuò)的了,原來(lái)是可以設(shè)定格式的,也可以直接編輯html,而且可以Web預(yù)覽,鏈接還可以加入到鏈接詞匯表,挺方便的。

            越來(lái)越發(fā)現(xiàn)Wikipedia是個(gè)和Google一樣的好東西!

            Feedback

            # re: 如何產(chǎn)生隨機(jī)數(shù)  回復(fù)  更多評(píng)論   

            2009-12-07 17:27 by Condor
            把你的CSS上傳下吧。

            # re: 如何產(chǎn)生隨機(jī)數(shù)  回復(fù)  更多評(píng)論   

            2009-12-08 00:18 by Fox
            <style type=text/css>
            #top a{ border-bottom:1px dashed; color:white; }
            #top a:link{ border-bottom:1px dashed; color:white; }
            #top a:hover{ border-bottom:1px dashed; color:white; }
            #top a:visited{ border-bottom:1px dashed; color:white; }
            .post a:link{ border-bottom:1px dashed; color:maroon; }
            .post a:hover{ border-bottom:1px dashed; color:maroon; }
            .post a:visited{ border-bottom:1px dashed; color:maroon; }
            .postbody a{ color:white; background:maroon; }
            .postbody a:link{ color:white; background:maroon; }
            .postbody a:hover{ color:white; background:maroon; }
            .postbody a:visited{ color:white; background:maroon; }
            </style>

            # re: 如何產(chǎn)生隨機(jī)數(shù)  回復(fù)  更多評(píng)論   

            2012-08-17 22:19 by swiss watches uk
            uk swiss watches
            精品久久久久久无码中文野结衣| 99久久精品国产综合一区| 亚洲?V乱码久久精品蜜桃 | 久久中文字幕精品| 少妇人妻综合久久中文字幕| 久久精品国产亚洲AV蜜臀色欲 | 精品久久久久中文字幕日本| 97热久久免费频精品99| 日日狠狠久久偷偷色综合96蜜桃| 久久久久久久久久久精品尤物| a高清免费毛片久久| 亚洲精品WWW久久久久久| 2021精品国产综合久久| 久久久久亚洲精品无码网址 | 久久久久久久久久久久久久| 香蕉久久夜色精品国产小说| 久久这里只精品99re66| 国产毛片久久久久久国产毛片 | 久久91综合国产91久久精品| 亚洲精品97久久中文字幕无码| 精品久久久久久国产91| 伊人久久大香线蕉av一区| 久久久中文字幕日本| 久久电影网一区| 77777亚洲午夜久久多喷| 国产69精品久久久久9999APGF| 嫩草影院久久国产精品| 久久Av无码精品人妻系列| 无码任你躁久久久久久老妇App| 国产激情久久久久影院| 久久精品国产亚洲麻豆| www久久久天天com| 久久中文骚妇内射| 亚洲乱码中文字幕久久孕妇黑人| 一级A毛片免费观看久久精品| 久久久久久国产a免费观看不卡| 精品久久香蕉国产线看观看亚洲 | 久久综合伊人77777| 久久综合九色综合欧美就去吻| 欧美精品丝袜久久久中文字幕 | www亚洲欲色成人久久精品|