from:千杯湖底沙.
一些定義
事件發生的概率
-
在一個特定的環境下,\(A\)、\(B\)等代表可能發生的所有單個事件,\(S\)代表所有可能發生的單個事件的集合。所以有\(A \in S , B \in S\)。
-
如果有一個集合\(C\),滿足\(C \cap S = \emptyset\),我們就說\(C\)是不可能事件。如果有一個集合\(D\),滿足\(D=S\),就說\(D\)是必然事件。因為不管\(S\)中的事件發生多少次,\(C\)都不可能發生,\(D\)都一定發生。
事件的和積事件
-
事件\(A \cup B\)稱為事件\(A\)和事件\(B\)的和事件,如果\(A\)和\(B\)至少任意發生一個,我們就說事件\(A \cup B\)發生。(也可記作\(A + B\))
-
事件\(A \cap B\)成為事件\(A\)和事件\(B\)的積事件,如果\(A\)和\(B\)至少同時發生一個,我們就說事件\(A \cap B\)發生。(也可記作\(A \times B\))
-
當有多個事件的時候我們可以用\(\bigcup_{k=1}^{n}A_k\)和\(\bigcap_{k=1}^{n}A_k\)
互斥和互補
- 如果\(A \cap B = \emptyset\),稱事件\(A\)和事件\(B\)互質,指\(A\)和\(B\)不能同時發生。
- 如果\(A \cup B =S\),且\(A \cap B = \emptyset\),稱事件\(A\)和事件\(B\)互為對立事件(補集)。
頻率和概率
- 頻率:在相同的條件下,進行了\(n\)次實驗,在\(n\)次實驗中,事件A發生了\(N_A/n\)次,那么\(N_A/n\)稱為事件\(A\)發生的頻率(\(n\)是頻數)
- 我們可以發現,當\(n=\infty\),對於相同事件,頻率無限接近概率
概率的性質
我們設事件\(A\)發生的概率是\(P(A)\)。那么有:
顯然的性質
- 非負性:對於任意事件\(A\),都有\(0 \le P(A) \le 1\)
- 規范性:對於每個必然事件\(A\),\(P(A)=1\);每個不可能事件\(A\),\(P(A)=0\)
- 互斥性:對於任意兩個事件\(A\)和\(B\),\(P(A \cup B)=P(A)+P(B)-P(A \cap B)\)
- 互斥事件的可加性:如果事件\(A\)和\(B\)是互斥的,那么\(P(A \cup B)=P(A)+P(B)-P(A \cap B)\)
- 對立事件的概率之和\(=1\)
- 獨立事件的可乘性:如果事件\(A\)和\(B\)之間是相互不干擾的,我們就說\(A\)和\(B\)是相互獨立的事件,那么就有\(P(A \cap B)=P(A) \times P(B)\)
不顯然的性質
- 伯努利大數定理:如果在一次實驗中,某事件發生的概率是\(p\),不發生的概率是\(q\),則在\(n\)次試驗中至少發生\(m\)次的概率等於\((p+q)^n\)的 展開式 中從\(p^n\)到包括\(p^mq^{n−m}\)為止的各項之和。 如果在一次實驗中,某事件發生的概率為\(p\),那么在\(n\)次獨立重復的試驗中這個事件恰好發生\(k\)次\(0 \le k \le n\)的概率是\(P_n(k)=C^n_k \times p^k \times (1−p)^{n−k}\)
例題
yty找文件
yty有一張書桌,有8個抽屜,分別用數字1~8編號。每次拿到一個文件后,他都會把這份文件隨機地放在某一個抽屜中。但是,可憐的yty非常粗心,有\(\frac{1}{5}\)的概率會忘了把這個文件放進抽屜,最終因為沒有放進抽屜而把文件弄丟。現在,yty要找一個文件,他按照編號順序依次打開每一個抽屜,直到找到這份文件為止,或者最終發現文件已經丟失。
請回答下列問題:
- 如果yty打開了第一個抽屜,但是沒有發現他要的文件,請問這份文件在其余7個抽屜的概率是多少?
- 如果yty打開了前4個抽屜,里面沒有發現他要的文件,請問這份文件在其余4個抽屜里的概率是多少?
- 如果yty打開了前7個抽屜,里面沒有他要的文件,請問這份文件在最后一個抽屜里的概率是多少?
題解
我們可以假設yty有10個櫃子,不過后兩個櫃子是扔進去就扔不出來的(即弄丟了),然后就可以進行愉快的概率計算啦。
假設yty打開了前\(i\)個抽屜,里面沒有發現他想要的文件,那么這份文件在其余\(8-i\)個抽屜的概率是\(\frac{8-i}{10-i}\)
古典概率
- 古典概率也叫事前概率,也就是在事情發生之前我們就可以推算出來任何事件發生的概率。概率用的最早的就是一些概率游戲和賭博中。
特點
- 樣本容量有限
- 事件可能性相同
- 事件互斥
計算公式
在計算古典概率的時候,如果在全部可能出現的基本事實范圍內構成事件\(A\)的基本事件有\(a_n\)個,不構成事件\(A\)的基本事件有\(b_n\)個,那么出現事件\(A\)的概率是\(P(A)=a/(a+b)\)
數學期望
數學期望可以理解為某件事情大量發生之后的平均結果(這個事件的概率會受到一些因素的干擾),可以這樣分辨:概率針對幾率,期望針對最終結果。
計算公式
在計算時不能簡單的使用古典概率的計算方法,不能只考慮樣本容量,還得考慮樣本中每個事件出現的概率,假設我們規定\(x_1,x_2,x_3,...,x_n\)是隨機輸出值,這些隨機輸出值對應的概率就是\(p_1,p_2,p_3,...,p_n\)(\(\sum_{i=1}^{n}p_i=1\)),數學期望的公式是\(E(X)=\sum_{i=1}^{n}p_i \times x_i\)
擴展公式
-
期望的“線性”性。\(E(aX)+E(bY)=aE(X)+bE(Y)\)
-
全概率公式。假設\(\{B_n|n=1,2,3,...,n\}\)是一個概率空間的有限或者可數無限的分割,且每個集合\(B_n\)是一個可測集合,則對任意事件\(A\)有全概率公式\(P(A)=\sum_{i=1}^{n}P(A|B_n)P(B_n)\)。其中\(P(A|B)\)是\(B\)發生后\(A\)的條件概率。
-
引申:\(P(A|B)=\frac{P(A)}{P(B)}\)
-
全期望公式。\(P_{ij}=P(X=x_i,Y=y_i)(i,j=1,2,..n)\),當\(X=x_i\)時,隨機變量\(Y\)的條件期望以\(E(Y|X=x_i)\)表示,則全期望公式:
\[\begin{split} E(E(Y|X))& =\sum_{i=1}^{n}P=(X=x_i)E(Y|X=x_i)\\ & =\sum_{i=1}^{n}p_i\sum_{k=i}^{n}yk\frac{p_ik} {p_i}\\ & =\sum_{i=1}^{n}\sum_{k=i}^{n}p_iy_k\frac{p_ik}{p_i}\\ & =E(Y) \end{split} \]所以:\(E(Y)=E(E(Y|X))=\sum_{i=1}^{n}P(X=x_i)E(Y|X=x_i)\)
例題
如果yty一個人搬磚,平均需要4小時,而hh有0.4的概率來幫yty搬磚,兩個人一起搬磚平均只需要3小時。
題解
令X表示搬磚的人數,Y表示搬磚的期望時間,則\(E(Y)=P(X==1)E(Y|X==1)+P(X=2)E(Y|X==2)=(1-0.4)*4-0.4*3=3.6\)
用遞推解決期望問題
對於期望問題,利用已經求出的期望推出其他狀態的期望,也可以根據一些特點和結果相同的情況,求出其概率。對於一些比較難找到遞推關系的數學期望問題可以使用期望的定義式:\(E(X)=\sum_{i=1}^{n}p_ix_i\),根據實際情況以概率或者方案數(也就是概率 * 總方案數)作為一種狀態,而下標直接或間接對應了這個概率下的變量值,將問題變成比較一般的統計方案數問題或者利用全概率公式計算概率的遞推問題。對於另外一些帶有決策的期望問題,可以使用DP解決,這類題由於要滿足最優子結構,一般都用期望來表示狀態,而期望正或負表現了這單個狀態的優或劣。對於遞推和動態規划都無法有效結局的模型,由於迭代的效率低,而且迭代的致命缺點是無法得到精確解,可以建立線性方程組並利用高斯消元的方法來解決。
例題
- 題面:有\(n\)個不同的瓶蓋,每種瓶蓋出現的概率相同,平均買幾瓶飲料才能湊齊所有瓶蓋?
- 數據范圍:\(2\le n \le 33\)
題解
設\(f(n,k)\)表示一共有\(n\)個球星,現在還剩下\(k\)個球星沒有收集到,則\(f(n,k)=\frac{n-k}{n}f(n,k)+\frac{k}{n}f(n,k-1)+1\)
化簡可得:\(f(n,k)=f(n,k-1)+\frac{n}{k}\)
Code
\[\mathcal{show \enspace you \enspace the \enspace code} \]
int n;
LL fm=1,fz,shu;
inline LL gcd(LL a,LL b){
return b==0?a:gcd(b,a%b);
}
int main(){
scanf("%d",&n);fz=n;
for(int i=2;i<=n;i++){
fz=fz*i+n*fm;fm*=i;//這里注意順序
int GCD=gcd(fm,fz);
fz/=GCD;fm/=GCD;
}
if(fz%fm==0){printf("%lld",fz/fm);return 0;}
shu=fz/fm;fz=fz%fm;
int cnt1=0;LL s=shu;
while(s){cnt1++;s/=10;}
int cnt2=0;s=fm;
while(s){cnt2++;s/=10;}
for(int i=1;i<=cnt1;i++)printf(" ");
printf("%lld\n%lld",fz,shu);
for(int i=1;i<=cnt2;i++)printf("-");puts("");
for(int i=1;i<=cnt1;i++)printf(" ");
printf("%lld",fm);
return 0;
}
概率 習題
小魔女帕琪
- 題面:給定7種屬性的能量晶體,求7個不同屬性的能量晶體相連的數量期望(注:12345671是2個)
題解
- "1234567"的可能是\(sum=a[1]/sum \times a[2]/(sum-1)... \times a[6]/(sum-5) \times a[7]\)
- 但實際上在上面的基礎上有全排列種可能,即\(sum \times 7!\)
Code
\[\mathcal{show \enspace you \enspace the \enspace code} \]
int a[9],sum;
int jie=1;
int main(){
for(int i=1;i<=7;i++){
a[i]=read();sum+=a[i];jie*=i;
}
printf("%.3lf",1.0*a[1]/sum*a[2]/(sum-1)*a[3]/(sum-2)*a[4]/(sum-3)*a[5]/(sum-4)*a[6]/(sum-5)*a[7]*jie);
return 0;
}