第 14 章 排列組合與機率¶
本章介紹高中數學中常見的排列、組合、基本機率概念與 wxMaxima 的計算方法。本章著重「計算與理解並重」,並提供 CAS 作為工具輔助學生檢查答案。
14.1 階乘(factorial)¶
階乘定義:
$$ n! = n (n-1) (n-2) \cdots 1 $$
wxMaxima 使用 ! 或 factorial(n):
5!;
factorial(6);
n!/(n-k)!;
▶ 例子¶
10! / (10-3)!;
binomial(n,k);
▶ 例子¶
binomial(10,3);
3 * 4;
factorial(n-1);
makelist(i+j, i, 1, 6); /* 列出 i 從 1 到 6 和 j 搭配 */
s_nested: makelist(makelist(i+j, i, 1, 6), j, 1, 6); /* 生成所有可能點數和的列表 */
s: flatten(s_nested); /* 將二維列表展平為一維列表,包含 36 個元素 */
sublist(s, lambda([x], x=7));
favorable_outcomes: length(sublist(s, lambda([x], x=7))); /* 計算點數和為 7 的情況數 */
/* 計算所有可能結果的次數 */
total_outcomes: length(s);
/* 計算機率 (有利結果數 / 總結果數) */
probability: favorable_outcomes / total_outcomes;
其中 lambda([x], x = 7) 是判斷函數,若 x = 7 傳回 true; 其餘情況,傳回 false。
方法二
上面的步驟可以簡化為:
s : create_list(i + j, i, 1, 6, j, 1, 6);
prob : length(sublist(s, lambda([x], x = 7))) / length(s);
PA:1/3; PB:1/4;
PA*PB;
14.8 條件機率¶
$$ P(A|B) = \frac{P(A\cap B)}{P(B)} $$
例題: 把一顆骰子連續擲2次, 事件B: 已知第1次擲得偶數 事件A: 兩次點數的和是 5 請問條件機率 $P(A|B)$?
1. 事件定義
- 擲一顆公平骰子兩次,結果記為 ((X_1, X_2)),每次點數是 1–6。
- 事件 B:第 1 次擲得偶數 $$ B = {X_1 = 2,4,6} $$
- 事件 A:兩次點數的和是 5 $$ A = {(1,4),(2,3),(3,2),(4,1)} $$
1. 求 $P(B)$
第 1 次必須是偶數(2,4,6 共 3 種),第 2 次可為 1–6 共 6 種:
$$ |B| = 3 \times 6 = 18,\quad P(B) = \frac{18}{36} = \frac{1}{2} $$
3. 求 $P(A \cap B)$
- 的所有可能結果是:
$$ (1,4),(2,3),(3,2),(4,1) $$
其中要同時滿足「第 1 次是偶數」,只留下:
$$ A \cap B = {(2,3),(4,1)} $$
所以:
$$ |A \cap B| = 2,\quad P(A \cap B) = \frac{2}{36} = \frac{1}{18} $$
4. 用條件機率公式
$$ P(A \mid B) = \frac{P(A \cap B)}{P(B)} = \frac{\frac{1}{18}}{\frac{1}{2}} = \frac{1}{18} \times 2 = \frac{2}{18} = \frac{1}{9} $$
用wxMaxima模擬
/* 所有樣本點 */
S : create_list([i, j], i, 1, 6, j, 1, 6);
/* 事件 B:第 1 次偶數 */
B : sublist(S, lambda([x], evenp(x[1])));
/* 事件 A∩B:第 1 次偶數且和為 5 */
AB : sublist(S, lambda([x], evenp(x[1]) and x[1] + x[2] = 5));
/* P(A|B) */
P_A_given_B : length(AB) / length(B), ratsimp;
其中 evenp() 是 Maxima 的內建判斷函數,用來測試某個整數是否為「偶數 (even)」。
14.9 貝氏定理¶
貝氏定理 (Bayes’ Theorem) 描述了兩個條件機率之間的關係。
$$ P(A|B) = \frac{P(B|A) \times P(A)}{P(B)} $$
- (P(A)):事件 A 的先驗機率(prior)
- (P(B A)):在 A 發生的情況下觀察到 B 的機率(likelihood)
- (P(B)):證據 B 總機率(evidence)
- (P(A B)):給定 B 之後 A 的後驗機率(posterior)
範例
求某醫學檢驗呈陽性時,病人得病的機率。
A: 病人得病 B: 檢驗呈陽性
某疾病的盛行率為:
$$ P(A)=0.01 $$
在病人得病情況下,檢驗呈陽性的機率: $$ P(B \mid A)=0.9 $$
在未得病的人,檢驗呈陽性的機率: $$ P(B \mid A^c)=0.05 $$
求檢驗呈陽性時,病人得病的機率。:
$$ P(A \mid B) = ? $$
/* 先驗機率 P(A) */
PA : 0.01;
/* 在 A 下觀察到 B 的機率: P(B|A) */
PBgivenA : 0.9;
/* 在不是 A 時觀察到 B 的機率: P(B|A^c) */
PBgivenAc : 0.05;
/* 事件 A 的補集的機率 */
PAc : 1 - PA;
/* 總證據機率 P(B) = P(B|A)*P(A) + P(B|A^c)*P(A^c) */
PB : PBgivenA*PA + PBgivenAc*PAc;
/* 貝氏定理:P(A|B) */
PAgivenB : (PBgivenA * PA) / PB;
14.10 二項式分布¶
二項式分布:
$$ P(X=k)=C(n,k)p^k(1-p)^{n-k} $$
例題:
假設:
- 一枚硬幣每次正面朝上的機率為 (p = 0.3)
- 連續丟 (n = 10) 次
- (X):10 次中正面出現的次數
求: $$ P(X = 4) $$
依二項式分布公式: $$ P(X=k)=\binom{n}{k}p^k(1-p)^{n-k} $$
代入 $n=10, k=4, p=0.3$:
$$ P(X=4)=\binom{10}{4} (0.3)^4 (0.7)^6 $$
CAS 計算:
n:10;
p:0.3;
k:4;
binomial(n,k) * p^k * (1-p)^(n-k);
14.11 練習題¶
計算:
- $7!$
- $P(10,3)$
- $C(10,4)$
10 本書排成一排,3 本指定書必須相鄰,有幾種排法?
從 A、B、C、D、E 中選 3 個人組隊,有幾種方式?
擲兩顆骰子,求:
點數和為 9
點數和大於等於 10
若事件 A、B 互斥,$P(A)=0.3$, $P(B)=0.25$:
- 求 $P(A \cup B)$
若事件 A、B 獨立,$P(A)=0.4$, $P(B)=0.2$:
- 求 $P(A\cap B)$
14.11 本章小結¶
本章你學會:
使用階乘、排列、組合
用 CAS 進行排列組合快速計算
基本機率與等可能模型
聯集、交集、獨立與條件機率
利用 CAS 檢查手算機率問題
下一章將進入資料分析與統計量包含平均數、中位數、變異數、標準差等計算。