Что такое вероятность
Вероятность — это число от 0 до 1, которое говорит, насколько правдоподобно событие. Это фундамент всего статистического вывода.
Вероятность события — мера его шанса: 0 — невозможно, 1 — обязательно произойдёт, 0.5 — пятьдесят на пятьдесят.
Классическое определение
Если все исходы равновозможны, вероятность события — это число благоприятных исходов, делённое на общее число исходов. У игральной кости 6 граней; вероятность выпадения чётного числа — 3 благоприятных исхода (2, 4, 6) из 6 возможных.
from fractions import Fraction
# Бросок честной кости. Событие: выпало чётное число
outcomes = [1, 2, 3, 4, 5, 6]
favorable = [x for x in outcomes if x % 2 == 0]
p = Fraction(len(favorable), len(outcomes))
print("Благоприятные исходы:", favorable)
print("Вероятность (дробь):", p)
print("Вероятность (число):", float(p))
Вывод:
Благоприятные исходы: [2, 4, 6] Вероятность (дробь): 1/2 Вероятность (число): 0.5
Модуль fractions входит в стандартную библиотеку и удобен, когда хочется точную дробь вместо приближённого десятичного числа.
Пространство исходов и события
Два ключевых слова:
- Пространство исходов — все возможные результаты эксперимента. Для кости это {1, 2, 3, 4, 5, 6}.
- Событие — интересующее нас подмножество исходов. «Выпало больше 4» — это {5, 6}.
Вероятность любого события — между 0 и 1, а сумма вероятностей всех исходов пространства равна 1. Это аксиомы, на которых стоит вся теория.
from fractions import Fraction
space = [1, 2, 3, 4, 5, 6]
# Вероятность каждого исхода
probs = [Fraction(1, 6) for _ in space]
print("Сумма всех вероятностей:", sum(probs))
event = [x for x in space if x > 4] # {5, 6}
print("P(больше 4):", Fraction(len(event), len(space)))
Вывод:
Сумма всех вероятностей: 1 P(больше 4): 1/3
Дополнение: вероятность «НЕ события»
Очень полезный приём: вероятность того, что событие не произойдёт, равна 1 минус его вероятность. Иногда «не событие» посчитать гораздо легче, чем само событие.
from fractions import Fraction
# Вероятность выпадения хотя бы одной шестёрки при двух бросках.
# Считать "хотя бы одну" сложно, а "ни одной" — легко.
p_no_six_one = Fraction(5, 6) # нет шестёрки в одном броске
p_no_six_two = p_no_six_one ** 2 # нет шестёрки в двух бросках
p_at_least_one = 1 - p_no_six_two
print("P(ни одной шестёрки):", p_no_six_two)
print("P(хотя бы одна шестёрка):", p_at_least_one)
print("Примерно:", round(float(p_at_least_one), 3))
Вывод:
P(ни одной шестёрки): 25/36 P(хотя бы одна шестёрка): 11/36 Примерно: 0.306
Трюк «посчитай дополнение» — один из самых частых в задачах на вероятность. Если в условии звучит «хотя бы один», почти всегда проще считать «ни одного» и вычесть из единицы.
Частотная интерпретация
Откуда вообще берётся «вероятность 0.5» для монеты? Частотный взгляд: это доля успехов, к которой стремится результат при очень большом числе повторений. Бросьте монету 10 раз — может выйти 7 орлов. Бросьте миллион раз — доля орлов будет почти ровно 0.5. К этой идее мы вернёмся в уроке про закон больших чисел.
Итог
- Вероятность — число от 0 (невозможно) до 1 (обязательно).
- Классически: благоприятные исходы / все исходы (при равновозможных исходах).
- Сумма вероятностей всех исходов равна 1; P(не A) = 1 − P(A).
- Частотно вероятность — доля успехов при большом числе повторений.