Условие
Бросаем честную монету. Какое математическое ожидание числа бросков до появления трёх орлов подряд (ООО)?
Решение
Подход — цепь Маркова с состояниями «прогресс»
Состояния:
S0— ноль орлов подряд (только что начали или выпала решка).S1— один орёл подряд.S2— два орла подряд.S3— три орла подряд (конец).
Из любого состояния:
- Орёл (вероятность 1/2) → переход в следующее.
- Решка (вероятность 1/2) → возврат в
S0.
Пусть E_i = ожидание оставшихся бросков из состояния S_i.
E_0 = 1 + 0.5 · E_1 + 0.5 · E_0
E_1 = 1 + 0.5 · E_2 + 0.5 · E_0
E_2 = 1 + 0.5 · 0 + 0.5 · E_0
E_3 = 0
Решение системы
Из E_2 = 1 + 0.5 E_0 → 2 E_2 = 2 + E_0.
Из E_1 = 1 + 0.5 E_2 + 0.5 E_0:
E_1 = 1 + 0.5 (1 + 0.5 E_0) + 0.5 E_0
= 1 + 0.5 + 0.25 E_0 + 0.5 E_0
= 1.5 + 0.75 E_0
Из E_0 = 1 + 0.5 E_1 + 0.5 E_0 → 0.5 E_0 = 1 + 0.5 E_1 → E_0 = 2 + E_1.
Подставляем:
E_0 = 2 + 1.5 + 0.75 E_0
0.25 E_0 = 3.5
E_0 = 14
Ответ: 14 бросков
Общая формула
Для появления k орлов подряд при честной монете:
E_k = 2^(k+1) − 2
Проверка: k=1 → 2, k=2 → 6, k=3 → 14, k=4 → 30.
Симуляция
import numpy as np
rng = np.random.default_rng(0)
def trial(k):
streak, count = 0, 0
while streak < k:
count += 1
if rng.random() < 0.5:
streak += 1
else:
streak = 0
return count
print(np.mean([trial(3) for _ in range(100_000)])) # ≈ 14.0Несимметричная монета (P(H) = p, P(T) = q = 1-p)
E_k = (1 / p^k) · (1 + p + p² + ... + p^(k-1))
= (1 - p^k) / (p^k · (1 - p))
= (1 - p^k) / (q · p^k)
При p = 0.5: E_k = (1 - 1/2^k) · 2^k · 2 = 2^(k+1) - 2. ✓
При p = 0.6, k = 3: E_3 = (1 - 0.216) / (0.4 · 0.216) ≈ 0.784 / 0.0864 ≈ 9.07.
Сравнение с «ОРО» (орёл-решка-орёл)
«ООО» vs «ОРО» — разное ожидание! Для «ОРО» оказывается 10 (не 8). Это парадокс Penney's game: одна последовательность может «съесть» другую.
ООО: E = 14
ОРО: E = 10
ОРР: E = 8
РРР: E = 14
Контринтуитивно: «ОРО» появляется быстрее, чем «ООО», хотя обе имеют вероятность 1/8.
Подводные камни
- «1/8 → ожидание = 8» — неверно. Это работало бы для позиции в последовательности, но не для первого появления в результате последовательных бросков.
- Симметрия по кажущейся равноправности ломается: ООО при «провале» отбрасывает всю серию, ОРО — частично сохраняет (О из ОРО продолжает следующую попытку).
- Honest coin assumption: если монета смещена — ожидание сильно меняется.
- Markov assumption: бросаемые монеты независимы; реальные физические монеты — слегка зависят (но это пренебрежимо).
whileбез верхней границы: в симуляции стоит ставить ограничение (1000 бросков) для безопасности.- Variance ожидания: σ для k=3 ≈ 16. То есть отдельные эксперименты часто длятся 50+ бросков.
Эталонный ответ
E = 2^(k+1) − 2, при p = 0.5
k = 3 → E = 14
Решение через цепь Маркова с состояниями «прогресс» (0/1/2/3 орлов подряд) и системой E_i = 1 + 0.5 E_{i+1} + 0.5 E_0. Контринтуитивно: «ОРО» имеет ожидание 10 при той же базовой вероятности 1/8 (парадокс Penney's game).