數學建模各種節(jié)離散_第1頁
數學建模各種節(jié)離散_第2頁
數學建模各種節(jié)離散_第3頁
數學建模各種節(jié)離散_第4頁
數學建模各種節(jié)離散_第5頁
已閱讀5頁,還剩125頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

離散事件系統(tǒng)仿真基礎主要內容基本概念隨機變量模型的確定隨機數的產生隨機變量的產生第一節(jié)基本概念離散事件系統(tǒng)狀態(tài)僅在離散時間點上變化,且離散時間點一般不確定面向事件;反映系統(tǒng)各部分相互作用的一些事件,模型為反映事件狀態(tài)的數集,仿真結果是產生處理這些事件的時間歷程連續(xù)系統(tǒng):時間常為均勻間隔計時;系統(tǒng)動力學模型由表征系統(tǒng)變量間關系的方程描寫,結果常為變量隨時間的變化歷程例:單服務臺排隊系統(tǒng)系統(tǒng)工作時間長度固定顧客到達時間隨機服務員服務時間隨機系統(tǒng)的狀態(tài):服務臺的狀態(tài)(忙或閑)、顧客排隊等待的隊列長度(0,1,2,…)。狀態(tài)量的變化也只能在離散的隨機時間點上發(fā)生。要求通過仿真估計系統(tǒng)工作情況,以決定是否增加服務臺顯然,離散事件系統(tǒng)一般有固有的隨機性(注意:連續(xù)系統(tǒng)也有隨機性,如白噪聲,但兩者行為不同)研究的理論基礎:經典的概率及數理統(tǒng)計理論、隨機過程理論簡單系統(tǒng)可能有理論解析解,但對實際系統(tǒng),只有靠計算機仿真計算才有可能提供較完整的結果常用概念實體永久實體:永久駐留在系統(tǒng)中,是系統(tǒng)處于活動的必要條件,如服務員臨時實體:僅在系統(tǒng)中存在一段時間,按一定規(guī)律到達,如顧客關系:臨時實體按一定規(guī)律不斷產生,在永久實體作用下通過系統(tǒng),最后離開系統(tǒng)服務員超市系統(tǒng)顧客進入系統(tǒng)顧客排隊接受服務的顧客顧客離開臨時實體永久實體屬性屬性反映實體的某些性質,是實體特征的描述,用特征參數或變量表示,它可以是文字型、數字型或邏輯型。選用哪些特征參數作為實體的屬性與建模目的有關。它們可以是時間的函數,也可以不隨時間變化.選取原則:(1)便于實體的分類。(2)便于實體行為的描述。(3)便于排隊規(guī)則的確定。狀態(tài)系統(tǒng)的狀態(tài)是指在某一時刻實體及其屬性值的集合。

系統(tǒng)中全部實體的屬性在某時刻t所取量值的集合S(t)定義為"系統(tǒng)狀態(tài)".

在理發(fā)店服務系統(tǒng)模型中,“顧客”有“等待服務”、“接受服務”等狀態(tài),“服務員”有“忙”、“閑”等狀態(tài)?;顒涌偸桥c一個或幾個實體的狀態(tài)相對應。事件引起系統(tǒng)狀態(tài)發(fā)生變化的行為離散事件系統(tǒng)本質是由事件驅動的例:顧客到達事件使服務員狀態(tài)由閑到忙,或使隊列長度加1事件的發(fā)生一般與某一類實體相聯系,放在事件表中管理,事件表通常記錄事件類型、發(fā)生條件、時間及相關實體的有關屬性顧客到達事件顧客開始接受服務事件顧客服務完畢離去顧客離開超市系統(tǒng)顧客進入系統(tǒng)顧客排隊服務員接受服務的顧客臨時實體永久實體活動導致系統(tǒng)狀態(tài)變化的一個過程為活動活動表示兩個可區(qū)分事件之間的過程,標志著系統(tǒng)狀態(tài)的轉移如顧客到達事件與顧客開始接受服務事件之間為一活動,使服務員忙及隊列長度減1超市系統(tǒng)顧客進入系統(tǒng)顧客排隊服務員接受服務的顧客顧客離開顧客到達事件顧客開始接受服務事件顧客服務完畢離去排隊活動接受服務活動臨時實體永久實體進程相當于系統(tǒng)的子集或子系統(tǒng),包含若干個事件及活動,并且描述了其所包含事件及活動間的邏輯關系和時序關系如某一顧客在系統(tǒng)中的全部活動為一進程超市系統(tǒng)顧客進入系統(tǒng)顧客排隊服務員接受服務的顧客顧客離開顧客到達事件顧客開始接受服務事件顧客服務完畢離去排隊活動接受服務活動臨時實體永久實體顧客超市結帳服務進程事件、活動、進程的關系圖13[思考題]在一個有較大水位落差河段上的船閘運行系統(tǒng),從上游新來的船只到達船閘時,進行排隊,排到時,船閘打開,船只過閘,最后船只離開船閘.該系統(tǒng)的實體、事件、活動和進程,它們之間的關系?實體:船只為臨時實體,船閘為永久實體.事件:船只到達事件,過閘服務開始事件,過閘服務結束事件(船只離開事件)活動:船只排隊活動,過閘服務活動進程:船只過閘服務進程船只到達事件過閘服務開始事件過閘服務結束事件船只過閘服務進程排隊活動過閘服務活動仿真時鐘離散事件動態(tài)系統(tǒng)的狀態(tài)本來就只在離散時間點上發(fā)生變化,因而不需要進行離散化處理。離散事件系統(tǒng)一般不以時間推動,但事件間有時序關系,仿真中仍必須有控制時間的部件由于引起狀態(tài)變化的事件發(fā)生時間的隨機性,仿真鐘的推進步長則完全是隨機的兩個相鄰發(fā)生的事件之間系統(tǒng)狀態(tài)不會發(fā)生任何變化,因而仿真鐘可以跨過這些“不活動”周期,仿真鐘的推進呈現跳躍性,推進速度具有隨機性。統(tǒng)計計數器因固有的隨機性,某一次仿真運行得到的狀態(tài)變化過程只不過是隨機過程的一次取樣,離散事件系統(tǒng)的仿真結果只有在統(tǒng)計意義下才有參考價值。如判斷管制員工作負荷在仿真模型中,需要有一個統(tǒng)計計數部件,以便統(tǒng)計系統(tǒng)中的有關變量,如排隊系統(tǒng)中的顧客等待時間、隊列長度等離散事件系統(tǒng)仿真特點與連續(xù)系統(tǒng)仿真相比,離散事件系統(tǒng)仿真具有如下特點:連續(xù)系統(tǒng)仿真,主要研究系統(tǒng)的動態(tài)過程,并以此分析系統(tǒng)的性能,故模型一般由表示系統(tǒng)變量之間關系的方程來描述。離散事件系統(tǒng)中的系統(tǒng)變量是反映系統(tǒng)各部分之間相互作用的一些事件,系統(tǒng)模型則是反映這些事件狀態(tài)的集合,一般用概率模型或流程圖描述。連續(xù)系統(tǒng)的仿真結果為系統(tǒng)變量隨時間變化的時間歷程,仿真目的通過一次或若干次仿真運行即可達到。離散事件系統(tǒng)中的變量大多是隨機的,仿真的目的是力圖用大量抽樣試驗的通過結果來逼近總體分布的統(tǒng)計特征值,仿真結果是產生處理系統(tǒng)事件的時間歷程。因此,需要進行多次仿真,且仿真時間較長。連續(xù)系統(tǒng)仿真通常采用固定步長(或變步長)推進原則。而離散事件系統(tǒng)仿真中,時間的推進是不確定的,它決定于系統(tǒng)的狀態(tài)條件和事件發(fā)生的可能性。蒙特卡洛(Monte-Carlo)仿真蒙特卡洛法的基本思想:當實驗次數充分多時,某一事件發(fā)生的頻率近似于該事件發(fā)生的概率----隨機抽樣法或統(tǒng)計實驗法。蒙特卡洛仿真:在計算機上模仿復雜隨機系統(tǒng)的行為,建立仿真模型,用蒙特卡洛方法,在計算機上進行獨立、重復實驗,經過統(tǒng)計推斷,可以獲得樣本參數代表總體參數的置信度或置信區(qū)間。離散事件系統(tǒng)的仿真模型

離散事件系統(tǒng)仿真建模的目的,是要建立與系統(tǒng)模型有同構或同態(tài)關系的能在數字機上試驗的模型,模型中有對隨機變量概率分布的函數. 連續(xù)系統(tǒng)仿真建模需要通過各種算法將系統(tǒng)離散化,而與連續(xù)系統(tǒng)不同,從描述形式來看,離散事件系統(tǒng)模型為直接用于仿真創(chuàng)造了條件.

為了正確的進行離散事件系統(tǒng)的仿真建模,還需弄清楚離散事件仿真程序的主要組成成分、流程管理及相關的概念.1919船只到達查詢船閘空閑狀態(tài)?船閘服務船只離開置船閘為閑Y排隊等候N開始置仿真開始和結束時間船只到達時間間隔70分鐘船閘服務系統(tǒng)流程圖:船閘服務系統(tǒng)仿真模型圖:系統(tǒng)流程大于結束時間?結束YN仿真程序的主要成分:采用步長法仿真的程序主要由以下部分組成:①仿真時鐘:提供仿真時間的當前值②事件表:由策劃和事件調度生成事件名稱、時間的二維表,即有關未來事件的表③系統(tǒng)的狀態(tài)變量:描述系統(tǒng)狀態(tài)的變量④初始化子程序:用于模型初始化⑤事件子程序:每一類事件的服務子程序⑥調度子程序:將未來事件插入事件表的子程序⑦時鐘推進子程序:根據事件表決定下次的事件,將仿真時鐘推進到事件發(fā)生時刻⑧隨機數產生子程序:產生給定分布隨機數的子程序⑨輸出函數子程序:用于系統(tǒng)性能分析的子程序⑩統(tǒng)計計數器:用來存放與系統(tǒng)性能分析有關的統(tǒng)計數據的各個變量值⑾主程序:調用上述各子程序并完成仿真任務全過程2. 仿真程序的流程管理:仿真流程管理(即仿真調度)是仿真建模的核心.(1)仿真時鐘 離散事件系統(tǒng)仿真中時間的變化是用一個邏輯時鐘的時間數來表示.仿真時間與所有實體的活動及所有事件的調度有關系,仿真時間與真實時間可以通過選定的時間的比例尺相關聯.每一事件通過被調度事件時間與仿真時鐘相關聯,當對應的物理事件發(fā)生時,這個事件時間就對應于實際系統(tǒng)的真實時間. 仿真時鐘一般有兩種推進方式:時間步長法: 在進行系統(tǒng)仿真的同時,可以把整個仿真過程分成許多相等的時間間隔,時間步長的長度可根據實際問題分別取秒、分、小時等,程序中按此步長前進的時鐘就是仿真時鐘. 選取系統(tǒng)的一個初始狀態(tài)作為仿真時鐘的零點,仿真時鐘每步進一次,就對系統(tǒng)的所有實體、屬性和活動進行一次全面的掃描考察,按照預定的計劃和目標進行分析、計算和記錄系統(tǒng)狀態(tài)的變化,這個過程一直進行到仿真時鐘結束為止.事件步長法: 以事件發(fā)生的時間為增量,按照時間的進展,一步一步地對系統(tǒng)的行為進行仿真,直到預定的仿真時間結束為止.事件步長法和時間步長法的主要區(qū)別: ①兩者都是以時間為增量來考察系統(tǒng)狀態(tài)的變化的.但在時間步長法中,仿真時鐘以等步長前進,而在事件步長法中,仿真時鐘步長取決與事件的時間間隔. ②時間步長法在一個步長內,認為系統(tǒng)所處的狀態(tài)相同,因而所選的步長大小將影響系統(tǒng)的精度.而在事件步長法中,每個事件的發(fā)生均有確切的時刻,不需要人為地選取步長,步長的大小對仿真的精度影響較小. ③時間步長法每步都要對系統(tǒng)進行一次全面的考察,即使系統(tǒng)狀態(tài)沒有發(fā)生變化.事件步長法只在事件發(fā)生時才進行掃描.一般來說,當事件數目較大或事件變化呈周期性特點時,用時間步長法可以節(jié)省用機時間.而當相繼兩個事件出現的平均間隔較長時,更適合于采用事件步長法. 如上所述,事件進程管理有面向事件的,為變步長法,也有面向時間間隔的,為定步長法.2. 仿真程序的流程管理:(2)事件表 為了使仿真程序能如實地模擬實際系統(tǒng)的變化,在某些離散事件的仿真中,采用事件表的形式進行調度.事件表一般是一個有序的記錄表,每個記錄包括發(fā)生的時間、事件的類型等一些內容. 事件步長法中常用到的事件表法的主要思想是將系統(tǒng)的仿真過程看成是一個事件點序列,根據事件出現的時序,用一個稱之為事件表的表格來調度事件執(zhí)行的順序. 這種方法要求對系統(tǒng)的各種事件進行詳細的描述,當事件之間沒有太多相互作用或事件數目不多時,事件表法比較有效.2. 仿真程序的流程管理:(3)同時事件管理 同類同時事件管理: 發(fā)生在同一時刻并且隸屬于同一類型的幾個事件叫同類同時事件.它會導致模型的下一狀態(tài)出現多種可能值,即可能出現集中排隊順序.為此,我們需要先定好條件,使狀態(tài)取值為唯一,也就是規(guī)定一種排隊規(guī)則來管理這些同類同時事件.例如,先進先出(先到先服務)規(guī)則、后進先出(后到先服務)原則、隨機規(guī)則、優(yōu)先服務原則.

混合同時事件管理: 發(fā)生在同一時刻但不屬于同一類型的幾個事件叫混合同時事件.確定這些混合同時事件所造成的狀態(tài)的變化,通常有一步法與解結法. 一步法就是直接確定混合同時事件所形成的結果狀態(tài),解結法是把幾個同時事件分解成多個單獨事件的序列進行處理. 對于簡單的情況,一步法與解結法將會得到相同的結果.但一步法不易寫成通用形式,且比較復雜,而解結模型簡單,通用性好因為模型類型不同,仿真方法也會不同.我們主要介紹最常用的排隊網絡模型所使用的仿真方法.在離散事件模型里,實體活動、進程都是以事件為基礎構成的,所以從事件、活動、進程三個層次來組織事件構成了處理離散事件模型的三種典型方法:事件調度法(EventScheduling)

這種方法有一個時間控制程序,從事件表中選擇具有最早發(fā)生時間的事件,并將仿真時鐘改到該事件發(fā)生的時刻,再調用與該事件相應的程序模塊,對事件進行處理,該事件處理完畢后,返回時間控制程序.這樣,事件的選擇和處理不斷交替進行,直到仿真終止的程序發(fā)生.

在這種方法中,任何條件的測試均在相應的事件模塊中進行,顯然是一種面向事件的仿真方法.

4.2離散事件系統(tǒng)仿真原理4.2.3離散事件系統(tǒng)的仿真策略活動掃描法(ActivityScanning)

系統(tǒng)由成分組成,而成分包含有活動,該活動是否發(fā)生取決于規(guī)定的條件,有一個專門的模塊來確定激活條件,若條件滿足,則激活相應部件的活動模塊.時間控制程序較其它的條件有更高的優(yōu)先級,即在判斷激活條件時首先判斷該活動發(fā)生的時間是否滿足,然后再判斷其它條件.若所有條件滿足,則執(zhí)行該成分的活動模塊,然后再對其它成分掃描,對所有成分掃描一遍后,按同樣順序進行循環(huán)掃描,直到仿真終止.進程交互法(ProcessInteraction)

這種方法綜合了事件調度法和活動掃描法的特點,采用兩張事件表,即當前事件表(CEL)和將來事件表(FEL).首先按一定的分布產生到達實體并置于FEL中,實體進入排隊等待;然后對CEL進行活動掃描,判斷各種條件是否滿足;再將滿足條件的活動進行處理,仿真鐘推進到服務結束并將相應的實體從系統(tǒng)中清除;最后將FEL中最早發(fā)生的當前事件實體移到CEL中,繼續(xù)推進仿真時鐘,對CEL進行活動掃描,直到仿真結束.

出納員隊列模型到達事件流程圖離開事件流程圖出納員服務活動流程圖

出納員服務進程流程圖

作業(yè)機場跑道系統(tǒng)的事件流程圖活動流程圖進程流程圖離散事件系統(tǒng)仿真

的一般步驟系統(tǒng)建模:一般用流程圖描述,反映臨時實體在系統(tǒng)內部歷經的過程、永久實體對臨時實體的作用及相互間邏輯關系關鍵:確定隨機變量的模型確定仿真算法產生隨機變量確定仿真建模策略事件調度法:面向事件建立仿真模型活動掃描法:面向活動建模進程交互法:面向進程建模三階段法:結合活動掃描與事件調度圖形仿真方法:Petri網建立仿真模型定義狀態(tài)變量、定義系統(tǒng)事件及有關屬性、活動及進程、設計仿真鐘的推進方法等仿真程序設計及運行仿真語言或高級語言長期運行或多次運行仿真結果分析統(tǒng)計結果、可信度分析等第二節(jié)隨機變量模型的確定無序中蘊含著有序,隨機過程也有數學描述形式,可近似歸納總結為幾種變量分布模式,使定量研究成為可能沒有絕對的無序和有序,如混沌以單服務臺排隊系統(tǒng)中顧客到達時刻為例,總可以找到一種接近的隨機變量分布通常需要從觀測數據中尋找規(guī)律在尋找分布形式時,根據對隨機變量(Randomvariable,r.v.)的特性了解程度,一般會遇到三種情況分布類型已知,需要由觀測數據確定分布參數需要由觀測數據確定概率分布類型及參數難以由觀測數據確定理論分布形式,需要定義實驗分布一、分布參數的確定分布參數的類型定義分布所采用的大多數參數,由物理或幾何解釋,可分為三個基本類型位置參數比例參數形狀參數位置參數γ確定了一個分布函數取值范圍的橫坐標當改變時,分布函數僅平移而無其它變化,又稱位移參數例均勻分布函數U(a,b),密度函數其中a,b均可定義為位置參數比例參數β決定分布函數在其取值范圍內取值的比例尺的改變只壓縮或擴張分布函數,不改變基本形狀例:指數分布函數EXPO(β),密度函數形狀參數確定分布函數的形狀,從而改變分布函數的性質例:韋伯分布Weibull(α,β),密度函數:分布參數的估計常用方法最大似然估計(maximumlikelihoodestimation)在已經得到試驗結果的情況下,應該尋找使這個結果出現的可能性最大的那個參數值作為真值的估計最小二乘估計(least-squareestimation)無偏估計(unbiasedestimation)最大似然估計法估計分布參數討論一個未知參數θ的情形,設觀測數據為離散分布情形:可令為該分布的概率質量函數,定義似然函數L(θ)為:

θ的最大似然估計值使L(θ)取最大值連續(xù)分布情形:令為概率密度函數,定義似然函數為連續(xù)分布例:指數分布密度函數為,被估計的參數由為求使取最大值的,取對數因嚴格遞增,取最大值等價于最大求極值考慮到當時,由于為正,顯然為最大值離散分布例:泊松分布被估計參數質量函數由令故為最大似然估計值對多個參數的估計問題,上述方法原則上適用,只是計算更繁瑣,有時不能解析計算,必須用數值計算方法常見分布的參數的最大似然估計均勻分布密度函數

參數正態(tài)分布

密度函數

位置參數比例參數二項分布

質量函數t為正整數,,t已知時二、分布類型的假設對觀測數據進行預處理后,才能對分布類型進行假設連續(xù)分布數據的預處理方法點統(tǒng)計法、直方圖法、概率圖法離散分布數據的預處理方法點統(tǒng)計法、線圖法定義實驗分布連續(xù)分布類型的假設(1)點統(tǒng)計法:基于連續(xù)分布的偏差系數特征進行分布類型假設偏差系數(方差、均值)常見分布的偏差系數取值范圍指數分布均勻分布,取值,除0以外正態(tài)分布,,取值同上預處理 ,則顯然不能唯一確定分布類型,且計算不一定無偏,但對確定理論分布具有指導作用連續(xù)分布類型的假設(2)直方圖法將的取值范圍等分為k個區(qū)間,令表示第j個區(qū)間上觀測數據個數占總數的比例,即定義函數作出h(x)的直方圖,并與理論分布的密度函數圖形比較,選擇接近的分布困難:區(qū)間長度Δb的取值太大:丟失很多信息太?。翰荒芤种朴^測噪聲一般應多選幾個Δb,取使直方圖包絡線較光滑的區(qū)間長度連續(xù)分布類型的假設(3)概率圖法通過比較分布函數確定理論分布設有m個取值,記為x(1)…x(m)定義實驗分布其中表示小于或等于x(i)的觀測數據的個數,顯然為避免由有限個觀測數據得到的實驗分布函數值=1,修正為概率圖不能直接比較(基本都是S型),而是采用“分位點”比較法定義:設0<g<1,則稱為F(x)的分位點若F(x),G(y)同分布,取不同的g,得,應形成斜率為45度的直線當軌跡呈非45度直線時,仍為同分布類型,僅參數不同,可作變換:使其成為同分布函數例:某交通干道車輛流模型,觀測90min,共220輛汽車通過觀測點,時間間隔如下單位:min1.點統(tǒng)計法由表中數據直接計算可得偏差系數接近1,因此可假設觀測數據服從指數分布,其參數為0.399

2.直方圖法:將觀測數據取值范圍分為若干等長區(qū)間,區(qū)間長度Δb分別取為0.05,0.075,0.10,得直方圖如下基本形狀接近指數分布Δb=0.05Δb=0.075Δb=0.103.概率圖法:定義觀測數據的實驗分布函數:用概率圖法分別與指數分布(左圖)和正態(tài)分布(右圖)進行比較顯然與指數分布更接近線性離散分布類型的假設(1)點統(tǒng)計法與連續(xù)分布的情形相同,偏差系數常見分布:離散分布類型的假設(2)線圖法觀測數據,m個取值記x(i)的數據個數占總數的比例為由函數值向相應的自變量x(i)作垂線得線圖,與理論分布的質量函數進行比較即可注意:與連續(xù)分布的情形相比,沒有信息的丟失例:庫存系統(tǒng)觀測統(tǒng)計每天發(fā)送的零件數量,結果如下表,現根據數據確定零件發(fā)送模型點統(tǒng)計法因此可假設觀測數據服從泊松分布線圖法與Poisson(6)比較,形狀接近思考在離散分布數據預處理時,能否有類似連續(xù)分布數據預處理方法中的概率圖法?三、實驗分布若不能確定觀測數據對應的理論分布,則只能用實驗分布作模型即直接由觀測數據擬合分布函數連續(xù)實驗分布的擬合原始數據為單個數據,即按取值排序為,則實驗分布定義為:觀測數據為分組數據僅知道n個數據分布在m個相鄰區(qū)間上的個數,而不知道具體的數據值,設區(qū)間為:記第j個區(qū)間上的數據個數為定義實驗分布函數:實驗分布的缺點所擬合的隨機變量,其取值只可能在或范圍內為消除這種有界性,可考慮在F(x)的頭部和尾部增加一個“指數尾”離散實驗分布的擬合對原始單個數據,定義實驗分布的質量函數為:對分組數據,質量函數為:然后與連續(xù)情形類似構建實驗分布函數五、擬合優(yōu)良度檢驗檢驗擬合分布與觀測數據的吻合程度檢驗按數據取值范圍等分區(qū)間后,計算

并按某準則判別K-S檢驗直接比較擬合的分布函數與實驗分布函數無信息丟失、不需逆運算二者都需要查表第三節(jié)隨機數的產生

現實世界充滿不確定性,我們所研究的現實對象往往難以擺脫隨機因素的影響.為使數學模型能夠較真實地刻畫實際對象,必須考慮如何描述這種不確定性。概率論是用數學的思想和方法研究隨機現象的一個有效的工具,在復雜系統(tǒng)的動態(tài)仿真時,還需要使用計算機處理復雜系統(tǒng)的隨機模型。對隨機現象進行模擬,實質上是要給出隨機變量的模擬,即利用計算機隨機地產生一系列數值,它們的出現服從一定的概率分布,稱為隨機數。離散事件系統(tǒng)仿真的基礎就是產生隨機數產生隨機數的方法1.隨機數表1927年,4萬隨機數表,以后有100萬隨機數表(可以輸入內存,隨時調用)2.硬件設備從真實物理現象的隨機因素中產生隨機數,放射性粒子的放射源,電子晶體管的固有噪音等,單位時間內放射出的粒子數是隨機的。優(yōu)點:真正的隨機數;缺點:外部設備,無法重復產生隨機數的方法3.數學公式產生偽隨機數:用數學公式或位移寄存器的移位操作來產生的隨機數,稱為偽隨機數。偽隨機數并非概率論意義下的真正的隨機數。因為真實的隨機數,只能從客觀真實的隨機現象本身產生出來,所以產生理想的偽隨機數列不是一件容易的事。一般偽隨機數要保證有較好的統(tǒng)計特性以下將偽隨機數與隨機數等同對于產生偽隨機數的方法,有如下要求要求偽隨機數列有較理想的隨機性和均勻性,即對其隨機性和均勻性進行統(tǒng)計檢驗時,有合乎要求的精度產生偽隨機數的程序應當運算速度快、占用計算機的內存少偽隨機數列的循環(huán)周期應當盡可能地大,以滿足模擬的需要偽隨機數列中,前后之間和各子列之間要求相互獨立隨機數的基礎——均勻分布的隨機數均勻分布的隨機數(均勻隨機數)是產生其它隨機數的基礎。例如,拋硬幣、抽簽、統(tǒng)計經驗分布都可以由它產生。最常用的是在[0,1]區(qū)間內均勻分布的隨機數,即這組數值可以看作是[0,1]區(qū)間內均勻分布的隨機變量的一組獨立的樣本值。記

X~U(0,1),[0,1]區(qū)間上均勻分布的隨機變量X的概率密度f(x)和概率分布函數F(x)分別為:數學期望:E(X)=1/2;方差:

=

1/12均勻分布的密度函數和分布函數示意圖110隨機數發(fā)生器產生[0,1]區(qū)間上均勻分布的隨機變量的算法,稱為“隨機數發(fā)生器”常用線性同余發(fā)生器組合發(fā)生器一、線性同余發(fā)生器遞推公式:所有參數值均為非負整數,Z0稱為隨機數源則[0,1]區(qū)間上的隨機數可證明:顯然本質上非隨機且取值有限例:m=16,a=5,C=3,Z0=7該發(fā)生器特點適當的m,a,c可使Zi循環(huán)產生,循環(huán)周期稱為發(fā)生器周期,記為P;當P=m時,稱發(fā)生器具有滿周期適當的m,a,c可使每個周期內每個數僅出現一次,即具有均勻性當m足夠大且發(fā)生器滿周期、均勻時,Ui在[0,1]上均勻分布,且取值足夠密(滿周期條件)定理:當且僅當滿足下列條件,線性同余發(fā)生器滿周期m與c無公因子若q是整除m的素數,在q能整除a-1若m能被4整除,則a-1也能被4整除當c>0時稱混合乘同余法,c=0稱乘同余法素數取模乘同余法(PMMLCG)m是小于2b的最大素數,而a的選擇滿足al-1被m整除的最小整數l=m-1,也就是說能被m整除的al-1的最小整數為am-1-1,那么得到的zj的周期為m-1,且在每個周期內,1,2,…,m-1這些整數嚴格地只出現一次。兩個經過檢驗性能較好的PMMLCG

(mod235

-31)(mod231

-1)

二、組合發(fā)生器為提高性能,可用一個發(fā)生器控制另一個發(fā)生器產生隨機數,兩種方式發(fā)生器1產生,發(fā)生器2產生[1,k]上均勻分布的隨機整數I,取出并重新產生UI發(fā)生器1,2產生和,在二進制下循環(huán)移位次得,再次與“異或”后得思路:減少遞推公式的自相關性,提高獨立性加長發(fā)生器周期,提高隨機數密度和均勻性三、隨機數發(fā)生器的測試1.均勻性檢驗常用頻率檢驗:將隨機數發(fā)生器取值范圍[0,1]分為k個等長區(qū)間,由該發(fā)生器產生N個隨機數,則落在每個子區(qū)間上隨機數個數理論值為n=N/k,稱為理論頻率,實際第j個區(qū)間上的數據個數nj總會有偏差,由此可得,其大小反映均勻性程度2.獨立性檢驗計算該隨機數序列相鄰一定間隔的隨機數之間的相關系數,判斷相關程度先由隨機數發(fā)生器產生N個隨機數Ui,則前后相隔為j個數的相關系數的均值為其中S2為隨機數方差的估計值:再根據統(tǒng)計理論處理C語言中與隨機數有關的函數randomize(void);初始化x=random(intM);產生0~M之間的隨機數x=rand(void);產生0~215-1之間的隨機數Matlab中與隨機數有關的函數Rand(n):n個[0,1]之間均勻分布隨機數Rand(m,n):m*n個[0,1]之間均勻分布隨機數randn(n):n個N(0,1)標準正態(tài)分布隨機數randn(m,n):m*n個N(0,1)標準正態(tài)分布隨機數例射擊命中率

在我方某前沿防守地域,敵人以一個炮排(含兩門火炮)為單位對我方進行干擾和破壞.為躲避我方打擊,敵方對其陣地進行了偽裝并經常變換射擊地點.經過長期觀察發(fā)現,我方指揮所對敵方目標的指示有50%是準確的,而我方火力單位,在指示正確時,有1/3的射擊效果能毀傷敵人一門火炮,有1/6的射擊效果能全部消滅敵人.現在希望能用某種方式把我方將要對敵人實施的20次打擊結果顯現出來,確定有效射擊的比率及毀傷敵方火炮的平均值說明這是一個概率問題,只涉及到簡單的隨機數的產生和處理,可以通過理論計算得到相應的概率和期望值。但這樣只能給出作戰(zhàn)行動的最終靜態(tài)結果,而顯示不出作戰(zhàn)行動的動態(tài)過程為了能顯示我方20次射擊的過程,考慮采用計算機模擬1.問題分析需要模擬出以下兩件事:(1)觀察所對目標的指示正確與否模擬試驗有兩種結果,每一種結果出現的概率都是1/2因此,可以用投擲一枚硬幣的方式予以確定,當硬幣出現正面時為指示正確,反之為不正確(2)當指示正確時,我方火力的射擊結果模擬試驗有三種結果:毀傷一門火炮的可能性為1/3(即2/6),毀傷兩門的可能性為1/6,沒能毀傷敵火炮的可能性為1/2(即3/6).這時可用投擲骰子的方法來確定:出現1、2、3點:則認為沒擊中敵人;出現4、5點:則認為擊毀敵人一門火炮;出現6點:則認為擊毀敵人兩門火炮2.符號假設i:要模擬的打擊次數;k1:沒擊中敵人火炮的射擊總數;k2:擊中敵人一門火炮的射擊總數;k3:擊中敵人兩門火炮的射擊總數.E:有效射擊比率;E1:20次射擊平均每次毀傷敵人的火炮數3.程序流圖初始化:i=0,k1=0,k2=0,k3=0i=i+1骰子點數?k1=k1+1k2=k2+1k3=k3+1k1=k1+1i<20?E=(k2+k3)/20E1=0*k1/20+1*k2/20+2*k3/20停止硬幣正面?YNNY1,2,34,564.模擬結果從以上模擬結果可以計算出:有效射擊

E=7/20=0.35

平均值5.理論計算則由全概率公式:6.結果比較模擬結果與理論計算雖然結果不完全一致,但仍反映了事件發(fā)生的隨機性。只要多次實驗求平均值,模擬值就會很接近理論值例:趕火車的仿真一列火車從A站經過B站開往C站,某人每天趕往B站乘這趟火車。已知火車從A站到B站運行時間為均值30分鐘、標準差為2分鐘的正態(tài)隨機變量?;疖嚧蠹s在下午1點離開A站,離開時刻的頻率分布為出發(fā)時刻(T)

1:00

1:051:10

頻率

0.7

0.2

0.1此人到達B站時的頻率分布為:

模擬火車開出、火車到達B站、此人到達B站的情況,并給出能趕上火車的仿真結果。引入以下變量:T1

火車從A站開出的時刻;T2火車從A站運行到B站所需要的時間;T3

此人到達B站的時刻;

0.1

0.2

0.4

0.3

頻率1:34

1:32

1:30

1:28到達時刻(T)T1,T2,T3

是隨機變量,其概率分布為

x=0.7,x2=0.9,y1=0.3,y2=0.7,y3=0.9

0.1

0.2

0.7P(頻率)10

5

0

T1(分)

T3(分)28303234P(頻率)

0.3

0.4

0.2

0.1開車時間的仿真測試s1=0;s2=0;s3=0;x=rand(10000,1);fori=1:10000ifx(i)<0.7s1=s1+1;endifx(i)>0.9s3=s3+1;endend[s1/10000,1-s1/10000-s3/10000,s3/10000]

s1=0;s2=0;s3=0;s4=0;x=rand(10000,1);fori=1:10000ifx(i)<0.3s1=s1+1;elseifx(i)<0.7s2=s2+1;elseifx(i)<0.9s3=s3+1;elses4=s4+1;endendend[s1/10000,s2/10000,s3/10000,s4/10000]人到達時刻仿真測試火車運行時間的仿真測試x=randn(10000,1);fori=1:10000y(i)=30+2*x(i);end趕上火車的仿真結果s=0;x1=rand(10000,1);x2=rand(10000,1);x3=randn(10000,1);fori=1:10000ifx1(i)<0.7T1=0;elseifx1(i)<0.9T1=5;elseT1=10;endT2=30+2*x3(i);ifx2(i)<0.3T3=28;elseifx2(i)<0.7T3=30;elseifx2(i)<0.9T3=32;elseT3=34;endendifT3<T1+T2s=s+1;endend[s/10000]第四節(jié)隨機變量的產生原理對產生隨機變量的方法的性能要求準確性:即由這種方法產生的隨機變量應準確地具有所要求的分布快速性要求,在離散事件仿真中,一次運行往往需要產生幾萬甚至幾十萬個隨機變量,產生隨機變量的速度將極大地影響著仿真執(zhí)行的效率。產生隨機變量的常用方法反變換法、組合法、卷積法及取舍法一、反變換法常用且直觀,以概率積分變換定理為基礎設隨機變量x的分布函數為F(x),則x的抽樣值可按如下方法求:產生在[0,1]上的均勻分布的獨立隨機變量u,由反分布函數得到的值即為所需要的隨機變量x該方法對分布函數進行反變換,故此得名例:連續(xù)隨機變量對指數分布產生x抽樣值解:用隨機數發(fā)生器產生令則因同分布則有由上面的例子可以看到,用反變換法產生隨機變量時首先必須用隨機數發(fā)生器產生在[0,1]上均勻分布的獨立的u,以此為基礎得到的隨機變量x才能保證分布的正確性,可見,選擇一個均勻性及獨立性較好的隨機數發(fā)生器在產生隨機變量中是十分重要的當x是離散隨機變量時,其反變換法的形式略有不同,原因在于離散隨機變量的分布函數也是離散的,因而不能直接利用反函數來獲得隨機變量的抽樣值對有離散隨機變量

x,分別以概率取值,其中,由此可劃分n個子區(qū)間:用隨機數發(fā)生器產生,若則取x=xi即可顯然,區(qū)間搜索策略直接影響抽樣值產生速度例:離散隨機變量質量函數及累積分布函數如下用反變換法產生隨機變量x

先由隨機數發(fā)生器產生[0,1]區(qū)間上均勻分布的隨機變量u,設u=0.72,按反變換法,逐區(qū)間搜索比較,得x=x3=3二、組合法若分布函數可表示成若干其它分布函數之和,且這些分布函數更易取樣時,選擇組合法設隨機變量x的分布函數或密度函數其中,且,易于取樣則組合法步驟:(1)產生一個隨機整數J,滿足即決定采用哪一個分布函數進行取樣(2)產生具有分布函數Fi(x)或密度函數fi(x)

的隨機變量,則x=xi第一步可用離散反變換法實現第二步可用反變換法或以下介紹的其它方法顯然,兩步都需要產生相互獨立的例:設密度函數為產生服從該分布的隨機變量x

直接用反變換法產生隨機變量x很困難,分析f(x)的特點,可知它以縱軸為對稱軸分為兩部分f(x)可寫成

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論