❶ 隨機模擬方法
2.2.1 隨機模擬的直接演算法
對隨機問題(帶有場域隨機性或時域隨機性)分析的直接模擬方法的基本步驟是:
(1)建立描述和刻畫系統行為功能的確定性分析模型,並確定其求解方法。
(2)分析和確認基本的隨機變數(隨機場)及其分布函數。採用蒙特卡羅方法產生隨機數(隨機樣本)。
(3)根據所產生的隨機樣本,按確定性分析方法求解所模擬問題的輸出量(系統反應)。
(4)計算分析系統反應量的樣本反應估計值,如樣本反應均值,樣本反應方差及樣本反應譜密度估計等。
2.2.2 Neumann展開演算法
對許多工程問題的分析計算最終都歸結為計算求解下列形式的線性方程組:
地下水系統隨機模擬與管理
式中:K——受隨機變數影響的系統結構整體剛度矩陣;
F——由邊界和系統外部條件確定的列向量;
H——系統狀態反應列向量。
由於矩陣K一般具有對稱正定性,所以可用Cholesky分解法求解上述方程,即取:
地下水系統隨機模擬與管理
而H可由下列兩步求解過程給出:
地下水系統隨機模擬與管理
在隨機模擬的直接演算法中,每產生一次隨機樣本結構,就要進行一次(2.14)式的分解運算,而為了獲得更加精確的隨機樣本的統計量,必然會有大量的隨機樣本產生,所以其計算工作量非常之大,而利用Neumann展開思想,可以在全部模擬計算過程中只進行Cholwsky分解,從而使計算工作量大大降低。為此設:
地下水系統隨機模擬與管理
式中:K0——均值參數結構所對應的系統整體結構矩陣;
ΔK——樣本結構關於均值參數結構的偏差部分。
顯然:
地下水系統隨機模擬與管理
由式(2.13)及式(2.17)有:
令:
地下水系統隨機模擬與管理
則由Neuman展開公式有:
地下水系統隨機模擬與管理
將式(2.21)代入式(2.19)有:
地下水系統隨機模擬與管理
顯然可得下列遞推公式:
地下水系統隨機模擬與管理
將式(2.20)代入式(2.23)並稍作變換即有:
地下水系統隨機模擬與管理
於是,一旦由K0 H0=F(2.25)
求出H0,即可用遞推公式依此求得H1,H2,…,Hn。代入(2.22)便得樣本反應量H。
原則上,Neumann展開演算法只是隨機模擬演算法實施過程中為節省運算工作量而採取的一項技術措施,而對於隨機模擬的思想則未做任何改進。
2.2.3 攝動演算法
對於確定性物理問題的控制方程可以表示為帶有小參數的方程。
地下水系統隨機模擬與管理
式中:L——一般的線性運算元;
H——所研究物理問題的解,H一般可表示為H=H(X,ε);
X——控制自變數;
ε——小參數。
一般地說,方程(2.26)所描述的問題往往不能精確地解出,但根據H為X和ε的函數且ε是小參數的特點,可以用ε的一個漸近展開式來表示H,即:
地下水系統隨機模擬與管理
式中Hi(x)與ε無關。
將式(2.27)代入式(2.26),並將ε的同次冪系數合並起來可得:
地下水系統隨機模擬與管理
式中:L0,L1,L2,…——空間H中的線性運算元;
h——關於x的實函數,可根據具體情況給出它們的形式。
由於方程(2.28)對所有的ε都必須成立,又因為ε的序列是線性無關的,故ε各次冪前面的系數項必須自動為零,即有:
地下水系統隨機模擬與管理
式(2.29)構成了關於Hi(x)的遞推方程組。
根據邊初值條件可依次求得序列H0,H1,H2,…從而代入式(2.27)可得H(x,ε)的近似解。
將上述關於確定性物理問題的攝動求解思想推廣到帶有隨機參數的問題中來,就構成了隨機參數攝動問題,為此,設所考慮問題的隨機微分運算元方程為:
地下水系統隨機模擬與管理
式中:L——運算元符號;
x——自變數;
ξ——某一給定分布的隨機變數;
Y——一隨機函數,可表示為Y=Y(x,ξ)。
隨機變數 可轉化為用標准隨機變數表示的形式:
地下水系統隨機模擬與管理
式中:ξ0——隨機變數ξ的均值;
ξr——隨機變數ξ的均方差;
b——均值為零,方差為1的標准化隨機變數。
將式(2.31)代入式(2.30)有:
地下水系統隨機模擬與管理
利用隨機函數的冪級數展開式可將解Y(x,ξ)展開為關於隨機變數b的級數:
地下水系統隨機模擬與管理
由於-b=0,故上式可表示為:
地下水系統隨機模擬與管理
由於 y 未知,所以系數式等也是未知的,但可將上式等價地寫為:
地下水系統隨機模擬與管理
顯然,上式中的系數Ui(x)與b無關,為一確定性函數。
將式(2.34)代入式(2.32)並經適當的運算後將b的不同次冪系數項合並起來,可得:
地下水系統隨機模擬與管理
式中:L0,L1,L2,…,Ln——確定性運算元;
h——關於x的實函數。
由於隨機變數b具有任意性,因此,式(2.35)成立的充分條件是各系數項皆為零,由此可得:
地下水系統隨機模擬與管理
上述方程組為一組確定性運算元方程,當給定邊界條件和初值條件以後,便可依次求出解U0,U1,U2,…回代方程(2.13)後即可得到y(x,ξ)的形式解答,而解答的均值與方差分別為:
地下水系統隨機模擬與管理
❷ 請問臨床試驗中「採用中心分層、區組隨機化方法」的通俗含義
多中心臨床試驗中普遍採用的方法是以中心分層, 然後在各中心內進行區組隨機化, 即稱為分層的區
組隨機化。該法可保證試驗結束時各中心例數接近便於管理。但是, 分層區組隨機化只能在影響因素( 分層因素) 比較少( <3) 時保證組間均衡性。
❸ 什麼是隨機化快排
隨機快速排序演算法是對快速演算法的一種優化,本質沒什麼區別,隨機快速排序的最壞情況就是和快速排序一樣。
快速排序的最壞情況基於每次劃分對主元的選擇。基本的快速排序選取第一個元素作為主元。這樣在數組已經有序的情況下,每次劃分將得到最壞的結果。一種比較常見的優化方法是隨機化演算法,即隨機選取一個元素作為主元。這種情況下雖然最壞情況仍然是O(n^2),但最壞情況不再依賴於輸入數據,而是由於隨機函數取值不佳。實際上,隨機化快速排序得到理論最壞情況的可能性僅為1/(2^n)。所以隨機化快速排序可以對於絕大多數輸入數據達到 O(nlogn)的期望時間復雜度。一位前輩做出了一個精闢的總結:隨機化快速排序可以滿足一個人一輩子的人品需求。
隨機化快速排序的唯一缺點在於,一旦輸入數據中有很多的相同數據,隨機化的效果將直接減弱。對於極限情況,即對於n個相同的數排序,隨機化快速排序的時間復雜度將毫無疑問的降低到O(n^2)。解決方法是用一種方法進行掃描,使沒有交換的情況下主元保留在原位置。
❹ 隨機化的演算法
在我們的生活中,人們經常會去擲色子來看結果,投硬幣來決定行動,這就牽涉到一個問題:隨機。
計算機為我們提供好了隨機方法(部分計算器也提供了),那麼對於有些具有瑕疵的演算法,如果配上隨機化演算法的話,又是可以得到一樣不到的結果。
這種演算法看上去是憑著運氣做事,其實,隨機化演算法是有一定的理論基礎的,我們可以想像,在[1,10000]這個閉區間里,隨機1000次,隨機到2這個數的幾率是多大,何況1000次的隨機在計算機程序中僅僅是一眨眼的功夫。可以看出,隨機化演算法有著廣闊的前景。只是由於隨機化演算法比較難於掌控,所以並不是很多人都接觸過他,但肯定有很多人都聽說過。
下面,我們就隨機化問題,舉一個例子:
一個長度在4..10的字元串中,需要判定是否可以在字元串中刪去若干字元,使得改變後字元串符合以下條件之一:
(1)AAAA;(2)AABB;(3)ABAB;(4)ABBA。
例如:長度為6字元串「POPKDK」,若刪除其中的「O」,「D」兩個字母,則原串變為:「PPKK」,符合條件(2)AABB。
分析:
這道題很容易想到一種演算法:運用排列組合:枚舉每4個字母,然後逐一判斷。演算法是可行的,但是如果需要題目中加上一句話:需要判斷n個字元串,且n<=100000,那麼這樣的耗時是不能讓人忍受①的,因為在枚舉的過程中,是非常浪費時間的。
(①:這里是指信息學中要求演算法的普遍運算時間為:1000ms)
所以這道題有可能可以藉助於隨機化演算法,下面我們來算一下在10個組符中取4個字元一共有多少種取法:C(4,10)=210。那麼很容易得知,隨機化演算法如果隨機100次,能都到的結果基本上就正確了,而隨機時的時間消耗是O(1),只需要判斷沒有隨機重復即可,判重的時間復雜度也為O(1),並且最多隨機100次,這樣就可以有效地得到答案,最大運算次數為:O(100n),這是在計算機的承受范圍內(1000ms)的。
從這里就能看出,隨機化演算法是一個很好的概率演算法,但是它並不能保證正確,而且它單獨使用的情況很少,大部分是與其他的演算法:例如貪心、搜索等配合起來運用。
再舉一個例子:
排序問題。快速排序是排序方法中較為便捷的方法之一,但是由於它極不穩定,最好的時候時間復雜度為O(n㏒n),這里的㏒是指以2為底的對數運算。最壞的時候能達到與普通排序方法一樣的O(n^2)。
而制約快速排序的有兩個:一是數據,越無序的數據,快排的速度越快;二是中間點的枚舉。
因為兩個制約條件都與隨機有著不可分開的關系。
所以,在快速排序中加入隨機化演算法無疑是十分重要的。
❺ 產生隨機數的常用方法
簡單隨機抽樣是一種最簡單、最基本的抽樣方法,簡單隨機抽樣有兩種選取個體的方法:放回和不放回,我們在抽樣調查中用的是不放回抽樣,常用的簡單隨機抽樣方法有抽簽法和隨機數法.例:人們打橋牌時,將洗好的撲克牌隨機確定一張為起始牌,這時按次序搬牌時,對任何一家來說,都是從52張牌中抽取13張牌,問這種抽樣方法是否是簡單隨機抽樣?[分析] 簡單隨機抽樣的實質是逐個地從總體中隨機抽取樣本,而這里只是隨機確定了起始張,其他各張牌雖然是逐張起牌,但是各張在誰手裡已被確定,所以不是簡單隨機抽樣.
❻ 隨機化演算法的舉例
下面,我們就隨機化問題,舉一個例子:
一個長度在4..10的字元串中,需要判定是否可以在字元串中刪去若干字元,使得改變後字元串符合以下條件之一:
(1)AAAA;(2)AABB;(3)ABAB;(4)ABBA。
例如:長度為6字元串「POPKDK」,若刪除其中的「O」,「D」兩個字母,則原串變為:「PPKK」,符合條件(2)AABB。
分析:
這道題很容易想到一種演算法:運用排列組合:枚舉每4個字母,然後逐一判斷。演算法是可行的,但是如果需要題目中加上一句話:需要判斷n個字元串,且n<=100000,那麼這樣的耗時是不能讓人忍受①的,因為在枚舉的過程中,是非常浪費時間的。
(①:這里是指信息學中要求演算法的普遍運算時間為:1000ms)
所以這道題有可能可以藉助於隨機化演算法,下面我們來算一下在10個字元中取4個字元一共有多少種取法:C(4,10)=210。那麼很容易得知,隨機化演算法如果隨機300次,能得到的結果基本上就正確了(概率為1-(209/210)^300,約為0.76),而隨機時的時間消耗是O(1),只需要判斷沒有隨機重復即可,判重的時間復雜度也為O(1),並且最多隨機300次,這樣就可以有效地得到答案,最大運算次數為:O(300n),這是在計算機的承受范圍內(1000ms)的。
從這里就能看出,隨機化演算法是一個很好的概率演算法,但是它並不能保證正確,而且它單獨使用的情況很少,大部分是與其他的演算法:例如貪心、搜索等配合起來運用。 排序問題。快速排序是排序方法中較為便捷的方法之一,但是由於它極不穩定,最好的時候時間復雜度為O(n㏒n),這里的㏒是指以2為底的對數運算。最壞的時候能達到與普通排序方法一樣的O(n^2)。
而制約快速排序的有兩個:一是數據,越無序的數據,快排的速度越快;二是中間點的枚舉。
因為兩個制約條件都與隨機有著不可分開的關系。
所以,在快速排序中加入隨機化演算法無疑是十分重要的。
運用在:
(1)數據讀入時,隨機排放數據位置。
(2)中間點的枚舉進行多次隨機化後決定。
這樣就基本上將快速排序的時間復雜度維持在最好狀態。
❼ 實驗性研究中基本隨機化分組方法有哪幾種
實驗性研究中基本隨機化分組方法有簡單隨機化、區組隨機化分層(或分段)隨機化、分層區組隨機化及動態隨機化等。
❽ 隨機抽樣方法有幾種
1,簡單隨機抽樣,又叫隨機抽樣.方法:
①直抽樣法
②抽簽法或抓鬮法,抽樣單位全部編上號碼,將號碼寫在底片上搓成團
③隨機數表法(可保證隨機性)
2,等距隨機抽樣(機械隨機抽樣).首先,編制抽樣框,將抽樣框內各抽樣單位按一定標志排列編號,其次,用抽樣框內抽樣單位總數除以樣本數,求出抽樣間隔距離;再次,在第一個抽樣間隔內隨機抽取一個號碼每個樣本;最後,按照抽樣間隔距離,等距離抽取調查樣本,等距離抽取調查樣本,直到抽取到最後一個樣本為止.
3,分類隨機抽樣,又叫類型隨機抽樣.首先編制抽樣框,將若干樣框內各抽樣單位按一定標准分成若干類(或層);其次,根據各類所包含的抽樣單位與抽樣單位總數的比例,確定種類抽取樣本單位的數量;最後,按照簡單隨機抽樣或等距隨機抽樣方法從各類中抽取調查樣本.
4,整群隨機抽樣又稱集體隨機抽樣.首先,先將抽樣框內抽樣單位按一定標准分成許多群體,並把每一個群體看做一個抽樣單位;然後,按照隨機原則從這些群體中抽出若幹人群體作為調查樣本;最後,對樣本群體中的每一個抽樣單位逐個進行調查.
5,多段隨機抽樣又稱多級隨機抽樣或分段隨機抽樣.
①確定抽樣單位
②抽取各級樣本
③對最後抽出的樣本單位逐個進行調查.
❾ 常用的簡單隨機抽樣的方法有哪些
簡單隨機抽樣也稱為單純隨機抽樣、純隨機抽樣、SRS抽樣 ,是指從總體N個單位中任意抽取n個單位作為樣本,使每個可能的樣本被抽中的概率相等的一種抽樣方式。
❿ 隨機化演算法的隨機化演算法概述
在我們的生活中,人們經常會去擲色子來看結果,投硬幣來決定行動,這就牽涉到一個問題: 隨機。
計算機為我們提供好了隨機方法(部分計算器也提供了),那麼對於有些具有瑕疵的演算法,如果配上隨機化演算法的話,又是可以得到意想不到的結果。