Правила сложения и умножения, независимость

Зная вероятности простых событий, можно вычислить вероятность их комбинаций — для этого есть всего два правила.

Независимые события — те, у которых исход одного никак не влияет на исход другого (два разных броска монеты). Несовместные — не могут произойти одновременно (на одной кости выпало и 2, и 5).

Правило умножения: «И»

Вероятность того, что произойдут оба независимых события, равна произведению их вероятностей. Орёл на первой монете И орёл на второй: 1/2 · 1/2 = 1/4.

from fractions import Fraction

p_heads = Fraction(1, 2)
# Два независимых броска: орёл И орёл
p_both = p_heads * p_heads
print("P(орёл и орёл):", p_both)

# Три шестёрки подряд на кости
p_six = Fraction(1, 6)
print("P(три шестёрки подряд):", p_six ** 3)

Вывод:

P(орёл и орёл): 1/4
P(три шестёрки подряд): 1/216

Важно: правило P(A и B) = P(A)·P(B) работает только для независимых событий. Если события связаны, формула другая — об этом следующий урок про условную вероятность.

Правило сложения: «ИЛИ»

Вероятность того, что произойдёт хотя бы одно из двух событий, в общем случае: P(A) + P(B) − P(A и B). Вычитаем пересечение, чтобы не посчитать его дважды.

from fractions import Fraction

# Одна кость. A = чётное {2,4,6}; B = больше 3 {4,5,6}
p_a = Fraction(3, 6)            # чётное
p_b = Fraction(3, 6)            # больше 3
p_both = Fraction(2, 6)         # пересечение {4,6}

p_or = p_a + p_b - p_both
print("P(чётное или больше 3):", p_or)

# Проверим прямым подсчётом исходов
space = [1, 2, 3, 4, 5, 6]
event = [x for x in space if x % 2 == 0 or x > 3]   # {2,4,5,6}
print("Прямой подсчёт:", Fraction(len(event), len(space)), "->", sorted(set(event)))

Вывод:

P(чётное или больше 3): 2/3
Прямой подсчёт: 2/3 -> [2, 4, 5, 6]

Обе дороги ведут к 2/3. Если бы мы забыли вычесть пересечение {4, 6}, получили бы завышенные 1.

Несовместные события: «ИЛИ» упрощается

Если события не могут произойти одновременно (пересечение пустое, P(A и B) = 0), правило сложения упрощается до простого сложения: P(A или B) = P(A) + P(B). На кости «выпало 1» и «выпало 6» несовместны.

from fractions import Fraction

# Несовместные: выпала 1 ИЛИ выпала 6 (одновременно невозможно)
p_one = Fraction(1, 6)
p_six = Fraction(1, 6)
print("P(1 или 6):", p_one + p_six)

Вывод:

P(1 или 6): 1/3

Проверим независимость симуляцией

Перемножение вероятностей для независимых событий — не магия, а наблюдаемый факт. Смоделируем 100000 пар бросков монеты и посчитаем долю «орёл-орёл».

import random
random.seed(7)

N = 100000
both_heads = 0
for _ in range(N):
    c1 = random.choice("ОР")   # О = орёл, Р = решка
    c2 = random.choice("ОР")
    if c1 == "О" and c2 == "О":
        both_heads += 1

print("Доля 'орёл-орёл':", both_heads / N)
print("Теория (1/4):", 0.25)

Вывод:

Доля 'орёл-орёл': 0.25206
Теория (1/4): 0.25

Симуляция дала 0.25206 — почти ровно теоретические 0.25. Правило умножения подтвердилось экспериментом.

Памятка

Слово в задачеПравило
«и», «оба», «подряд»умножение: P(A)·P(B) (если независимы)
«или», «хотя бы одно»сложение: P(A)+P(B)−P(A и B)
несовместные «или»P(A)+P(B)

Итог

  • Для независимых событий P(A и B) = P(A)·P(B) (умножение).
  • Для «или»: P(A или B) = P(A) + P(B) − P(A и B) (вычитаем пересечение).
  • Для несовместных событий пересечение нулевое, и «или» — просто сумма.
  • Симуляция подтверждает правило умножения: доля «орёл-орёл» ≈ 1/4.
Проверьте себя
1. Чему равна вероятность выпадения двух орлов подряд при двух бросках честной монеты?
A1/2
B1/4
C1/3
D1
2. Почему в правиле сложения P(A или B) вычитают P(A и B)?
AЧтобы результат был меньше
BЧтобы не посчитать пересечение событий дважды
CПотому что события всегда несовместны
DЭто опечатка, вычитать не нужно
3. Когда вероятность «A или B» равна просто P(A) + P(B)?
AВсегда
BКогда события независимы
CКогда события несовместны (не могут произойти одновременно)
DКогда P(A) = P(B)
Поддержать проект