3.4 条件概率¶
桌游结束后,小率把一副扑克牌摊在咖啡桌上。他抽出四张 K,又抽出所有红色牌,问均哥:“从整副牌里抽到 K 的概率是 \(4/52\),这个我会。可如果已经知道这张牌是红色呢?”
均哥把牌分成两堆:一堆红牌,一堆黑牌。
“你刚刚说的‘已经知道’,就是条件概率的开关。”他说,“它会把我们看的范围缩小。不是在 52 张牌里看,而是在条件指定的那一堆里看。”
这一节全程用这副扑克牌。我们会看到:条件概率的核心不是公式多复杂,而是分母变了。
3.4.1 已知条件会缩小分母¶
设:
- \(A\):抽到 K。
- \(B\):抽到红色牌。
如果没有任何条件,整副牌有 52 张,K 有 4 张:
但如果已经知道这张牌是红色,能看的范围就从 52 张缩到 26 张红牌。红牌里的 K 只有红桃 K 和方块 K 两张:
这个例子里数值刚好没变,但原因不是条件无效,而是 K 在红牌和黑牌里分布得很均匀。
3.4.2 公式从“只在条件里看”长出来¶
如果 \(P(B)>0\),条件概率(Conditional Probability) 定义为:
用中文读就是:
在扑克牌例子里:
- \(A\cap B\):既是 K,又是红牌,共 2 张。
- \(B\):红牌,共 26 张。
所以:
把公式移项,就得到乘法公式:
它很适合读“先缩小范围,再在范围里挑”的问题:先走到红牌这堆,再在红牌里找 K。
3.4.3 条件方向一换,问题就换了¶
小率又问:“那‘红牌里是 K’和‘K 里面是红牌’,是不是一个意思?”
均哥把两张红色 K 和两张黑色 K 放到桌面中央:“这正是条件概率最容易错的地方。竖线右边换了,分母就换了。”
比较两句话:
| 问法 | 符号 | 分母是谁 | 结果 |
|---|---|---|---|
| 已知是红牌,问是不是 K | \(P(K\mid 红牌)\) | 26 张红牌 | \(2/26=1/13\) |
| 已知是 K,问是不是红牌 | \(P(红牌\mid K)\) | 4 张 K | \(2/4=1/2\) |
两个问题都在看“红色 K”这 2 张牌,但分母不同,所以答案不同。
这也是条件概率最容易出错的地方:句子里换了“已知谁”,问题就已经变了。做题时不要先看两个事件是不是一样,而要先看竖线右边是谁。
3.4.4 条件可以让概率变大、变小或不变¶
已知“红牌”没有改变抽到 K 的概率,因为 K 在红黑两堆里各有 2 张。但条件并不总是这么温和。
换一个条件:
- \(C\):抽到人头牌,也就是 J、Q、K。
整副牌里 K 的概率是:
但如果已经知道这张牌是人头牌,范围缩小到 J、Q、K 共 12 张,其中 K 有 4 张:
这个条件让“抽到 K”的概率明显变大,因为它排除了 2 到 10 和 A 这些不可能是 K 的牌。
三步读条件概率
先圈出条件指定的范围;再在这个范围里圈出目标事件;最后用“目标格子数 / 条件格子数”计算。不要一上来就套公式。
3.4.5 用 Python 检查条件方向¶
suits = ["红桃", "方块", "黑桃", "梅花"]
ranks = ["A", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K"]
cards = [(suit, rank) for suit in suits for rank in ranks]
is_red = {card for card in cards if card[0] in ["红桃", "方块"]}
is_king = {card for card in cards if card[1] == "K"}
is_face = {card for card in cards if card[1] in ["J", "Q", "K"]}
p_king_given_red = len(is_king & is_red) / len(is_red)
p_red_given_king = len(is_king & is_red) / len(is_king)
p_king_given_face = len(is_king & is_face) / len(is_face)
print(f"P(K | 红牌) = {p_king_given_red:.3f}")
print(f"P(红牌 | K) = {p_red_given_king:.3f}")
print(f"P(K | 人头牌) = {p_king_given_face:.3f}")
代码做的事情和手算完全一样:先生成 52 张牌,再用集合筛选条件和目标。你可以试着把条件换成“黑牌”“红桃”“A 或 K”,观察分母如何改变。
需要注意
看到“已知”“在……中”“如果已经发生”“已经筛出来”这类词,就要先停一下:分母可能已经变了。很多概率题错,不是错在计算,而是错在分母没换。
小率的笔记本
- \(P(A\mid B)\) 表示“已知 B 发生后,A 发生的概率”。
- 条件概率的分母是 \(P(B)\),不是整个样本空间。
- \(P(A\mid B)\) 和 \(P(B\mid A)\) 通常不是一回事。
- 分子相同不代表概率相同,因为分母可能不同。
- 乘法公式 \(P(A\cap B)=P(B)P(A\mid B)\) 是条件概率的变形。

