999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

隨機抽樣中的Alias算法及其改進

2012-12-26 08:58:26賈文寶王仲奇張本愛
東北師大學報(自然科學版) 2012年1期
關鍵詞:計算機方法

賈文寶,王仲奇,張本愛

(1.南京航空航天大學,江蘇 南京 210016;

2.中國原子能科學研究院,北京 102413;

3.北京應用物理與計算數學研究所,北京 100088)

隨機抽樣中的Alias算法及其改進

賈文寶1,王仲奇2,張本愛3

(1.南京航空航天大學,江蘇 南京 210016;

2.中國原子能科學研究院,北京 102413;

3.北京應用物理與計算數學研究所,北京 100088)

為減少隨機數的使用次數和降低抽樣時間,基于等概化思路(或古典概型思路),對著名的Alias抽樣方法進行了改進.以存儲空間的少量增加為代價,使改進后的抽樣方法A_Ⅰ和A_Ⅱ隨機數的平均使用次數為Alias方法的75%和62.5%,平均抽樣時間大約為Alias方法的80%和70%.

Alias方法;改進;隨機抽樣

隨機變量抽樣是蒙特卡羅方法的基礎,同時也在其他許多領域廣泛使用.由于計算機的特征與限制,通常連續型隨機變量也要化作離散型隨機變量來處理,因此離散型隨機變量的抽樣方法是概率統計學科中的一個重要問題.為了方便起見,除特殊指明外,我們提到的隨機變量均為離散型隨機變量.

同時為了論述方便,首先將任意離散型隨機變量不失一般性地轉換成為

式中P1,P2,…為相應的概率.

直接抽樣方法也稱查找算法,完全基于離散隨機變量概率分布的定義而得到的.它的抽樣思路十分簡潔,被稱為“非常理想”的方法[1].它是通過將隨機數與階梯性的隨機變量分布值逐項比較而確定相應的隨機事件.為了得到所需要的隨機事件,直接抽樣方法所需進行的比較次數同樣也形成了另外一個隨機變量,而這個隨機變量的數學期望與原隨機變量的數學期望是一致的.這就形成2個問題:不確定的比較次數提高了抽樣算法實現的復雜程度,影響了計算機的編譯系統對程序的優化程度,這在并行化處理中頗受關注;對于數學期望比較大的隨機變量來說,不斷的比較將增加抽樣所需時間.

A.J.Walker在1974年給出了一個很巧妙的算法——Alias算法[2-4],大大改善了對隨機變量的抽樣方法.在Alias算法中,只需要使用2個隨機數,進行一次與隨機數的比較操作,即可得到隨機變量的樣本.

我們將討論Alias算法,并以此為基礎進行改進,減少對隨機數的使用,減少抽樣所需的時間.

1 直接抽樣方法

對于隨機變量(1)有直接抽樣方法

很明顯,對于任意的離散型分布,都可以利用(2)式實現其抽樣.因此,從這個角度上說,直接抽樣是一個簡單而理想的算法.

由于在計算機處理中,進行一次比較操作所需時間將超過進行四則運算操作所需時間,而且比較操作將影響計算機處理的流程,妨礙編譯系統對程序的優化,也就是說,在計算機上“比較”操作是一個“不好”的操作,應該盡量避免和減少.因此所需比較的次數是抽樣方法優劣的一個標志,應想辦法減少所需比較的次數.

由(2)式可知,要確定對應于隨機數ξ的樣本值XF,需要通過將ξ與F(xi)不斷的比較而得到.對于一個確定的離散型分布,抽樣所需要進行的比較次數的數學期望應為

總的來說,抽樣所需比較次數首先取決于隨機變量的容量,即包含的隨機事件的數量.隨機事件越多所需比較的次數就越多;其次隨機事件的排列秩序的不同也將影響抽樣所需比較次數的不同,概率大的事件秩序越靠前,所需比較的次數越少,反之亦然.例如下面一個隨機變量的不同表述方法所需抽樣比較的次數就會不同:

計算將顯示,利用(2)式抽樣,基于X1表述的隨機變量所需的比較次數將大于基于X2的比較次數.

這說明隨機變量表述方法對抽樣所需比較次數存在影響,但這個影響是可以很簡單去掉的.而隨機變量容量對比較次數的影響則是本質.如何減少抽樣所需比較的次數,是改進抽樣方法的目標.

2 Alias算法

隨機變量X:{Pi=1/M,i=1,2,…,M},這是一個事件等概率的隨機變量.對它的抽樣是非常簡單的XF=i,如果[M·ξ]+1=i.這里不需要任何比較操作.這是因為隨機變量所包含的隨機事件具有等概率的獨特性質.如果將隨機事件進行“等概化變形”就可能會減少比較次數的途徑.

對i=1,2,…,m.基于這個表示,以1/m的等概率確定表中的一個單元(AI,BI,P(Ai)),再利用一個隨機數用直接抽樣確定AI或BI,進而確定XF.文獻[5-6]分別給出了相應的證明.

可以將Alias算法的流程表述如下[7].持續執行上述過程直至所有的事件都完全歸入表中,再將所有的P(Ai)乘上相同的倍數m即可.

第二步:抽樣

由此可以看出無論多大容量的隨機變量,使用Alias算法抽樣都只需進行1次與隨機數的比較,這樣將大大的節省抽樣所需時間,這將從后面的計算中體現出來.但是在減少比較操作次數的同時,Alias算法比直接抽樣方法多使用了一個隨機數.

3 對Alias算法的改進

Alias算法的思路是將隨機變量進行適當變形向等概率方向靠近.沿著這個思路,繼續嘗試對Alias算法進行再次變形,以考察其是否能夠進一步減少判斷比較的次數或減少隨機數的使用次數.

基于表T構造新的 Alias表:T′={A′i,B′i,P(A′i),i=1,2,…,2m},即將每一個單元(Ai,Bi,P(Ai))變為2個單元

這樣我們將隨機變量變形為等概率的2部分組成,各由等概率單元組成.其中一部分的單元由概率為1的單“子事件”構成(原隨機事件可以包含多個“子事件”);而另一部分的單元由2個不等概率的“子事件”組成.

使用Alias抽樣方法,當確定的單元為單“子事件”單元則必然事件發生,不必繼續判斷;當確定的單元為雙“子事件”單元,與Alias算法做相同的工作.我們稱上面Alias算法的變化為1次改進.

同理,以構造對Alias算法的1改進(為方便起見,將Alias方法記做A方法,將對Alias方法的1改進記做A_Ⅰ方法,將對Alias方法的2改進記做A_Ⅱ方法).這樣隨機變量就變形為由等概率的4部分組成,其中3部分的單元均為單“子事件”單元,只有1部分的單元為雙“子事件”單元.

4 計算分析

為了直觀的比較Alias算法以及其改進算法與直接抽樣方法,隨機地構造隨機變量,計算上述各種方法在對已確定的隨機變量抽樣時產生的誤差和花費的計算機時間.

首先均勻隨機產生各個事件的概率,作為待抽樣隨機變量.對于這個隨機變量分別用直接抽樣方法(DI),Alias抽樣方法(Alias)以及關于Alias方法的1改進(A_Ⅰ)與2改進方法(A_Ⅱ)進行抽樣,考察它們所形成的抽樣誤差和所耗費的計算機時間.

計算結果顯示,這幾種方法所形成的抽樣誤差是相當的.而在計算機時間上則隨著隨機變量容量的增大體現出明顯的區別.

圖1給出對于不同容量的隨機變量,各種抽樣方法所需抽樣時間.從圖1可以看出,當隨機變量容量比較小時,Alias系列方法并不比直接抽樣方法優越;當容量比較大時,Alias系列抽樣方法體現出其優勢所在.Alias系列抽樣方法的抽樣時間在隨機變量容量變化時保持穩定,不隨容量的增大而增大,而直接抽樣的抽樣時間與隨機變量的容量是相關的.

前面提到,對于不同的隨機事件排列次序的相同容量的隨機變量,直接抽樣方法的比較次數并不相同,因此其抽樣時間也是不相同的.圖2給出了容量為40的不同隨機變量的抽樣時間的分布情況.圖2中所顯示的是不同抽樣方法對于所含隨機事件容量相同但排列次序不同的隨機變量的抽樣時間,出于方便的考慮直接抽樣所需的比較次數來放映隨機事件的不同排列.這個結果反映了Alias系列方法的抽樣時間既不隨隨機變量的容量變化而變化,也基本上不隨隨機事件排列次序的變化而變化.

圖1 不同抽樣方法的隨機變量的容量與抽樣時間的變化趨勢

Alias系列方法的這個特點是非常重要的.在研究容量巨大的隨機變量的抽樣和考慮抽樣的并行化問題時,充分利用Alias系列方法,將非常有利于問題的解決.

在Alias抽樣中需要使用2個隨機數,進行1次比較.在Alias的1次改進抽樣中,對于一半的情況只需使用1個隨機數,不需要進行比較;而對另一半情況需要使用2個隨機數進行1次比較.在Alias的2次改進抽樣中,對1和4情況需要使用2個隨機數,進行1次比較,而對其他3/4情況只需使用1個隨機數,不需要進行比較.但是在這2個改進方法中,確定屬于需要使用第2個隨機數情況需要增加1次比較.也就是說利用上述2種改進的Alias方法1次抽樣分別需要使用1.5,1.25個隨機數和1.5,1.25次比較(依概率的意義).

從使用隨機數方面,改進方法的確具有優勢.因為在許多情況下,隨機數也是一種短缺的資源.Alias系列方法抽樣時間比較見圖3.

但從需要進行比較的次數這個指標來看,似乎這里所謂改進的抽樣方法不是在前進而是在后退,盡管從圖3可以得到結論,但改進的方法在計算時間上具有很大的優勢.

圖2 規模為40的不同隨機變量的抽樣時間分布

圖3 Alias系列方法抽樣時間比較

在Alias算法中需要進行1次實數之間的比較,而改進的Alias算法只需要進行0.5(A_Ⅰ),0.25(A_Ⅱ)次實數之間的比較.綜合其他因素,2種對于Alias的改進算法的平均耗費時間分別大約為Alias方法的80%和70%.

上述對Alias算法的改進是以增加存儲空間的耗費為代價的.對于容量為M的隨機變量,直接抽樣方法需要使用1個M長的整數數組和1個M長的實數數組;Alias方法需要使用2個M長的整數數組和1個M長的實數數組;A_Ⅰ方法需要使用3個M長的整數數組和1個M長的實數數組;A_Ⅱ方法需要使用5個M長的整數數組和1個M長的實數數組.

在對Alias算法的改進中,逐漸減少對隨機數的使用,減少與隨機數的比較次數.在減少隨機數使用次數的同時,降低了平均抽樣時間.

5 討論

我們在這里仔細分析了著名的Alias方法,并在此基礎上對其做了改進,以適當的存儲空間為代價,進一步節省了抽樣所需隨機數和抽樣所需時間.

不僅如此,可以看出,沿著這里給出的思路,可以繼續減少對隨機數的使用,減少與隨機數的比較次數,以達到節省資源的目的,但是同時也要考慮到對存儲空間的消耗.

[1] 裴鹿成,張孝澤.蒙特卡羅方法及其在粒子輸運問題中的應用[M].北京:科學出版社,1980:58.

[2] 上官丹驊.任意分布抽樣程序的設計與實現[J].計算機工程與應用,2004,7:107-109.

[3] WALKER A J.New fast method for generating discrete random numbers with arbitrary frequency distribution[J].Electronic Letters,1974,10:127-128.

[4] WALKER A J.An efficient method for generating discrete random number with general distribution[J].ACM Trans Math.Software,1977,3:253-256.

[5] KRONMAL R A,PETERSON A V.On the alias method for generating random variables from a discrete distribution[J].Amer Statist,1979,4:214-218.

[6] DIETER U.An alternative proof for the representation of discrete distributions by equiprobable mixtures[J].J Appl Prob,1982,19 :869-872.

[7] FISHMAN G S.Monte Carlo concepts,algorithms,and applications[M].New York:Springer,1995:165-169.

Alias algorithm and improved in the random sampling

JIA Wen-bao1,WANG Zhong-qi2,ZHANG Ben-ai3

(1.Nanjing University of Aeronautics and Astronautics,Nanjing 210016,China;
2.China Institute of Atomic Energy,Beijing 102413,China;
3.Beijing Application Physics and Computational Mathematics Research Institute,Beijing 100088,China)

Based on the generalizability theory(or the classical probability model),the famous Alias sampling method has been improved for reduce the using times of random numbers and the sampling time.A small increase in the storage space for the cost,the average using time of the improved method is 75%and 62.5%to Alias method's,and the average sampling time of the improved method is about 80%and 70%to Alias method's.

Alias algorithm;improving;random sampling

O242.1

110·61

A

1000-1832(2012)01-0023-05

2010-11-05

江蘇省博士后基金資助項目(0602034B).

賈文寶(1968—),男,博士,副教授,主要從事核信息處理及核技術應用研究;通訊作者:王仲奇(1962—),男,研究員,主要從事計算物理研究.

石紹慶)

猜你喜歡
計算機方法
計算機操作系統
穿裙子的“計算機”
趣味(數學)(2020年9期)2020-06-09 05:35:08
基于計算機自然語言處理的機器翻譯技術應用與簡介
科技傳播(2019年22期)2020-01-14 03:06:34
計算機多媒體技術應用初探
科技傳播(2019年22期)2020-01-14 03:06:30
學習方法
信息系統審計中計算機審計的應用
消費導刊(2017年20期)2018-01-03 06:26:40
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
賺錢方法
捕魚
主站蜘蛛池模板: 国产又粗又猛又爽视频| 无码AV日韩一二三区| 精品久久高清| 不卡视频国产| 欧美日本在线一区二区三区| 综合亚洲色图| 久久久久亚洲Av片无码观看| 久久久久中文字幕精品视频| 国产无遮挡裸体免费视频| 国产精品永久免费嫩草研究院| 一边摸一边做爽的视频17国产 | 欧美v在线| 免费欧美一级| 欧美成人h精品网站| 久久午夜夜伦鲁鲁片无码免费| 五月婷婷中文字幕| 国产精品55夜色66夜色| 国产人在线成免费视频| 精品久久777| 成人福利在线视频| 国产网站免费| 国内精自视频品线一二区| 国产精品极品美女自在线网站| 亚洲高清在线天堂精品| 黄色在线不卡| 黄色国产在线| 91福利一区二区三区| 亚洲精品自在线拍| 亚洲精品成人7777在线观看| 国产成人精彩在线视频50| 国产经典三级在线| 国产精品成人一区二区| 丰满少妇αⅴ无码区| 国产成人亚洲综合A∨在线播放| 最新国产高清在线| 大陆国产精品视频| 精品一区二区三区四区五区| 国产精品嫩草影院av| 亚洲男人天堂2018| 在线日韩日本国产亚洲| 一级看片免费视频| 国产原创第一页在线观看| 天天色综网| 欧美一区二区三区不卡免费| 一级在线毛片| 免费人成在线观看成人片| 亚洲 成人国产| 老司机久久精品视频| 国产精品欧美日本韩免费一区二区三区不卡| 亚洲大学生视频在线播放| 色婷婷亚洲综合五月| 91久久性奴调教国产免费| 国产va欧美va在线观看| 六月婷婷激情综合| 国产欧美另类| 亚洲欧美日韩动漫| 免费一级毛片在线播放傲雪网| 在线人成精品免费视频| 国产手机在线小视频免费观看| 免费一极毛片| 国产高清在线精品一区二区三区| 国产成人福利在线视老湿机| 国产综合色在线视频播放线视| 亚洲欧美综合另类图片小说区| 91无码视频在线观看| 国产美女在线观看| 国产av一码二码三码无码| 日本高清成本人视频一区| 亚洲男人在线| 国产一级α片| 亚洲天堂视频在线免费观看| 日韩 欧美 国产 精品 综合| 网友自拍视频精品区| 国产免费观看av大片的网站| aⅴ免费在线观看| 亚洲一区免费看| 国产乱论视频| 人妻丰满熟妇AV无码区| 日韩毛片免费| 狠狠色噜噜狠狠狠狠色综合久| 亚洲精品欧美日韩在线| 久青草免费视频|