『壹』 概率演算法
最近做了一個活動抽獎需求,項目需要控制預算,概率需要分布均勻,這樣才能獲得所需要的概率結果。
例如抽獎得到紅包獎金,而每個獎金的分布都有一定概率:
現在的問題就是如何根據概率分配給用戶一定數量的紅包。
演算法思路 :生成一個列表,分成幾個區間,例如列表長度100,1-40是0.01-1元的區間,41-65是1-2元的區間等,然後隨機從100取出一個數,看落在哪個區間,獲得紅包區間,最後用隨機函數在這個紅包區間內獲得對應紅包數。
時間復雜度 :預處理O(MN),隨機數生成O(1),空間復雜度O(MN),其中N代表紅包種類,M則由最低概率決定。
優缺點 :該方法優點是實現簡單,構造完成之後生成隨機類型的時間復雜度就是O(1),缺點是精度不夠高,佔用空間大,尤其是在類型很多的時候。
演算法思路 :離散演算法通過概率分布構造幾個點[40, 65, 85, 95,100],構造的數組的值就是前面概率依次累加的概率之和。在生成1~100的隨機數,看它落在哪個區間,比如50在[40,65]之間,就是類型2。在查找時,可以採用線性查找,或效率更高的二分查找。
演算法復雜度 :比一般演算法減少佔用空間,還可以採用二分法找出R,這樣,預處理O(N),隨機數生成O(logN),空間復雜度O(N)。
優缺點 :比一般演算法佔用空間減少,空間復雜度O(N)。
演算法思路 :Alias Method將每種概率當做一列,該演算法最終的結果是要構造拼裝出一個每一列合都為1的矩形,若每一列最後都要為1,那麼要將所有元素都乘以5(概率類型的數量)。
此時會有概率大於1的和小於1的,接下來就是構造出某種演算法用大於1的補足小於1的,使每種概率最後都為1,注意,這里要遵循一個限制:每列至多是兩種概率的組合。
最終,我們得到了兩個數組,一個是在下面原始的prob數組[0.75,0.25,0.5,0.25,1],另外就是在上面補充的Alias數組,其值代表填充的那一列的序號索引,(如果這一列上不需填充,那麼就是NULL),[4,4,0,1,NULL]。當然,最終的結果可能不止一種,你也可能得到其他結果。
舉例驗證下,比如取第二列,讓prob[1]的值與一個隨機小數f比較,如果f小於prob[1],那麼結果就是2-3元,否則就是Alias[1],即4。
我們可以來簡單驗證一下,比如隨機到第二列的概率是0.2,得到第三列下半部分的概率為0.2 * 0.25,記得在第四列還有它的一部分,那裡的概率為0.2 * (1-0.25),兩者相加最終的結果還是0.2 * 0.25 + 0.2 * (1-0.25) = 0.2,符合原來第二列的概率per[1]。
演算法復雜度 :預處理O(NlogN),隨機數生成O(1),空間復雜度O(2N)。
優缺點 :這種演算法初始化較復雜,但生成隨機結果的時間復雜度為O(1),是一種性能非常好的演算法。
『貳』 概率的公式是怎麼計算的
1、C 3 10 = (10*9*8)/(1*2*3)
A 3 10=10*9*8
2、A(n,m)=n*(n-1)*(n-2)……(n-m+1),也就是由n往下每個數連乘。
C(n,m)=A(n,m)/A(m,m)。一般地,從n個不同的元素中,任取m(m≤n)個元素為一組,叫作從n個不同元素中取出m個元素的一個組合。
(2)常見的控制概率演算法擴展閱讀:
概率的加法法則
定理:設A、B是互不相容事件(AB=φ),則:
P(A∪B)=P(A)+P(B)
推論1:設A1、 A2、…、 An互不相容,則:P(A1+A2+...+ An)= P(A1) +P(A2) +…+ P(An)
推論2:設A1、 A2、…、 An構成完備事件組,則:P(A1+A2+...+An)=1
推論3:為事件A的對立事件。
推論4:若B包含A,則P(B-A)= P(B)-P(A)
推論5(廣義加法公式):對任意兩個事件A與B,有P(A∪B)=P(A)+P(B)-P(AB)[1]
條件概率
條件概率:已知事件B出現的條件下A出現的概率,稱為條件概率,記作:P(A|B)
條件概率計算公式:
當P(A)>0,P(B|A)=P(AB)/P(A)
當P(B)>0,P(A|B)=P(AB)/P(B)
乘法公式
P(AB)=P(A)×P(B|A)=P(B)×P(A|B)
推廣:P(ABC)=P(A)P(B|A)P(C|AB)[1]
『叄』 概率計算公式
12粒圍棋子從中任取3粒的總數是C(12,3)
取到3粒的都是白子的情況是C(8,3)
∴概率
C(8,3)
P=——————=14/55
C(12,3)
附:排列、組合公式
排列:從n個不同的元素中取m(m≤n)個元素,按照一定的順序排成一排,叫做從n個不同的元素中取m個元素的排列。
排列數:從n個不同的元素中取m(m≤n)個元素的所有排列的個數,叫做從n個不同元素中取出m個元素的排列數,記為Anm
排列公式:A(n,m)=n*(n-1)*.....(n-m+1)
A(n,m)=n!/(n-m)!
組合:從n個不同的元素中,任取m(m≤n)個元素並成一組,叫做從n個不同的元素中取m個元素的組合。
組合數:從n個不同的元素中取m(m≤n)個元素的所有組合的個數,叫做從n個不同元素中取出m個元素的組合數,記為Cnm
組合公式:C(n,m)=A(n,m)/m!=n!/(m!*(n-m)!)
C(n,m)=C(n,n-m)
『肆』 哪些控制類的演算法驚艷了你
經典控制設計方法,都是針對單輸入單輸出系統的頻域設計方法簡單的系統,用根軌跡法,分析控制參數變化對系統性能的影響。復雜的系統,用波特圖法,去看相頻裕度和幅頻裕度的大小,以及帶寬。現代控制系統設計方法,是針對多輸入多輸出的系統建立在狀態方程之上的,這方面研究的不多,不敢妄加評論。由於PID應用的太廣,所以形成了自己獨特的整定方法PID就是針對單輸入單輸出系統的,站在頻域角度去設計的,有一些經典的參數整定方法,比如ZN等,還有好多好多,為啥應用這么廣,因為簡單實用。
『伍』 求教各方面的概率演算法
第一章 隨機事件
互斥對立加減功,條件獨立乘除清;
全概逆概百分比,二項分布是核心;
必然事件隨便用,選擇先試不可能。
第二、三章 一維、二維隨機變數
1)離散問模型,分布列表清,邊緣用加乘,條件概率定聯合,獨立試矩陣
2)連續必分段,草圖仔細看,積分是關鍵,密度微分算
3)離散先列表,連續後求導;分布要分段,積分畫圖算
第五、六章 數理統計、參數估計
正態方和卡方出,卡方相除變F,
若想得到t分布,一正n卡再相除。
樣本總體相互換,矩法估計很方便;
似然函數分開算,對數求導得零蛋;
區間估計有點難,樣本函數選在前;
分位維數惹人嫌,導出置信U方甜。
第七章 假設檢驗
檢驗均值用U-T,分位對稱別大意;
方差檢驗有卡方,左窄右寬不稀奇;
不論卡方或U-T,維數減一要牢記;
代入比較臨界值,拒絕必在否定域!
有需要的話 我可以把概率筆記給你 我的e-mail [email protected]
『陸』 概率是怎麼計算的
P(A)=A所含樣本點數/總體所含樣本點數。實用中經常採用「排列組合」的方法計算·
定理:設A、B是互不相容事件(AB=φ),則:
P(A∪B)=P(A)+P(B)
推論1:設A1、 A2、…、 An互不相容,則:P(A1+A2+...+ An)= P(A1) +P(A2) +…+ P(An)
推論2:設A1、 A2、…、 An構成完備事件組,則:P(A1+A2+...+An)=1
(6)常見的控制概率演算法擴展閱讀
條件概率
條件概率:已知事件B出現的條件下A出現的概率,稱為條件概率,記作:P(A|B)
條件概率計算公式:
當P(A)>0,P(B|A)=P(AB)/P(A)
當P(B)>0,P(A|B)=P(AB)/P(B)
乘法公式
P(AB)=P(A)×P(B|A)=P(B)×P(A|B)
推廣:P(ABC)=P(A)P(B|A)P(C|AB)
參考資料來源:網路-概率計算
『柒』 怎麼計算概率
概率是對事件發生可能性大小的度量。不會發生的概率為0,一定會發生的概率是100%,也可以說是1.例如拋硬幣,正面和反面出現的可能性都是50%,篩子每面出現的可能性都是六分之一,這些概率值通過直覺和經驗就能想出來。雖然我們知道實驗幾次不一定是這個結果,但試驗次數很多時,出現的頻率就會接近概率值,無窮次時,頻率就會等於概率。
通過直觀和經驗就能知道概率的幾個基本命題,也可以說是公理,蘇聯的數學家柯爾莫哥洛夫總結了3條概率公理。
1. 事件發生的概率不小於0
2. 集合中的事件必有一件發生,則發生的概率之和等於1
3. 集合中事件互相不容,沒有交集,則發生至少一個的概率等於每個事件概率之和
這3個公理不需記憶,應用時也不需刻意用,用直覺和經驗靠算術思維就能想出概率計算方法。
通過這3個公理也可以推導出6個定理,也不需記憶,甚至不需要知道。
概率計算不像方程應用,簡單地分別考慮每個數值含義列出等式,然後變換方程就能求解。列概率算式無法這樣做,那些概率定理和概率公式以及寫法,如:貝葉斯公式 P(A|B)=P(B|A)*P(A)/P(B) ,對列出概率算式幫助不大,也無法降低分析和推理難度,也就是說概率知識的公理化意義不大。概率計算時,只需按算術思維,按直覺和經驗直接列出算式,然後進行四則運算即可。簡單的場合,可以直接列出一個算式就可以算出概率值,在稍微復雜的場合需要分別列出幾個算式,然後再去轉換,這些復雜場合的概率演算法常見的有頻次演算法,集合對應演算法,和反向演算法。
『捌』 概率計算演算法
由於已知馬爾可夫模型參數和觀察序列,所以有
所以,利用最後一條公式就可求出概率,但是此時運算次數為 (T+T+2)*N T ,時間復雜度為O(TN T )
把隱馬模型想像成一個T×N個頂點的圖,其意義為T個時刻,每個時刻都有N種可能的狀態。每個點為T個時刻,N中狀態集合中的一種,每條邊為從 i 時刻某個狀態到 i+1 時刻另外一個狀態的轉移。
每個點存儲前向概率,每條邊記錄 a i T j T *b jk 。即 T 時刻是狀態 i ,且從狀態 i 轉移到狀態 j 的概率以及狀態 j 產生觀測 k 的概率。
前向概率定義:在此模型下,輸入如此觀測序列且當前狀態為 q i 的概率
演算法:
後向概率:此刻狀態為q i ,後面序列出現的概率是多大。
『玖』 控制演算法都有哪些
控制演算法分為模糊PID控制演算法和自適應控制演算法。各自的特點如下:模糊PID控制演算法的特點:
1、簡化系統設計的復雜性,特別適用於非線性、時變、滯後、模型不完全系統的控制。
2、不依賴於被控對象的精確數學模型。
3、利用控製法則來描述系統變數間的關系。
4、不用數值而用語言式的模糊變數來描述系統,模糊控制器不必對被控制對象建立完整的數學模式。
5、模糊控制器是一語言控制器,便於操作人員使用自然語言進行人機對話。
6、模糊控制器是一種容易控制、掌握的較理想的非線性控制器,具有較佳的魯棒性、適應性、強健性(Robustness)及較佳的容錯性(FaultTolerance)。自適應控制演算法的特點:1、實現了控制器參數的在線自動整定。2、與常規PID控制器有相同的結構。3、採用單片微機實現了控制演算法,實用性強,可靠性好。