Теория вероятностей

Комбинаторика: искусство подсчёта

Цели урока

  • Освоить два золотых правила: умножение (И) и сложение (ИЛИ)
  • Понять разницу между перестановками, размещениями и сочетаниями
  • Научиться выбирать правильную формулу по ситуации
  • Применять комбинаторику для вычисления вероятностей

Предварительные знания

  • Понятие вероятности и пространства исходов
  • Факториал: $n! = 1 \cdot 2 \cdot 3 \cdot \ldots \cdot n$
  • What is Probability?

GPT-4 выбирает следующий токен из словаря размером 50 257 вариантов. Один inference = тысячи таких выборов подряд. Число возможных ответов на один запрос - больше атомов во Вселенной. Но модель находит хороший ответ за долю секунды - именно потому, что вероятность сжимает этот взрыв до управляемой формы. А сжать взрыв можно только если сначала его посчитать. Комбинаторика - это счёт.

  • **LLM vocabulary:** GPT-4 словарь - 50 257 токенов. Beam search с шириной 10 исследует $50257^{10}$ путей - комбинаторика объясняет, почему без pruning это невозможно
  • **BPE токенизация:** алгоритм Byte Pair Encoding строит словарь из $C_n^2$ пар на каждой итерации - классическое сочетание
  • **Пароли:** 8 символов из 62 (a-z, A-Z, 0-9) = $62^8 \approx 218$ триллионов комбинаций - это размещение с повторениями
  • **Лотерея "6 из 49":** $C_{49}^6 = 13\,983\,816$ вариантов. Вероятность джекпота - $0.000007\%$. Вот почему не выигрывают
  • **Надёжность систем:** вероятность отказа из $k$ компонентов среди $n$ считается через $C_n^k$ - формула за каждым SLA в AWS и Azure

От магических квадратов к Big Data

Комбинаторикой занимались ещё в Древнем Китае (магические квадраты) и Индии. Но систематическое изложение дал Якоб Бернулли в "Ars Conjectandi" (1713) - той самой книге, где родилась теория вероятностей. Ирония: он умер за 8 лет до публикации и не увидел, как его работа изменила математику. Сегодня комбинаторика - основа криптографии, машинного обучения и анализа данных.

Комбинаторика: искусство подсчёта

**Задача о рукопожатиях:** на вечеринке 30 гостей, каждый пожал руку каждому ровно один раз. Сколько всего рукопожатий? Первый импульс - $30 \times 30 = 900$. Неверно. Почему - станет ясно через несколько минут.

Комбинаторика - это математика подсчёта возможностей. Звучит просто, но именно здесь интуиция ломается чаще всего. Число путей в beam search, число конфигураций нейросети, число коллизий хеша - всё это комбинаторика. Начнём с двух правил, из которых строится всё остальное.

Почему в задаче о рукопожатиях 30 гостей дают $\binom{30}{2}=435$ рукопожатий, а не $30\times 30 = 900$?

$30\times 30$ считает упорядоченные пары вместе с самопожатиями. Реальный счёт: $\binom{30}{2} = \frac{30\cdot 29}{2} = 435$ - выбираем 2 человек из 30 без порядка.

Два золотых правила: "И" vs "ИЛИ"

Два золотых правила: "И" vs "ИЛИ"

Прежде чем учить формулы - два фундаментальных правила. Они объясняют, почему одни задачи решаются умножением, другие - сложением, и почему путаница между ними даёт ответ в тысячи раз неправильным.

Правило умножения: когда "И"

Если нужно сделать действие A **И** действие B, и A можно сделать $m$ способами, а B - $n$ способами, то вместе: $m \times n$ способов.

Утренний образ

Выбираем одежду

5 рубашек **И** 3 пары брюк. Сколько образов? $5 \times 3 = 15$ образов Почему умножение? Для каждой рубашки подходят все 3 пары брюк - выборы независимы. Добавить 4 пары обуви: $5 \times 3 \times 4 = 60$ образов. То же правило стоит за числом конфигураций нейросети: если слой 1 имеет $m$ возможных состояний, слой 2 - $n$, сеть из двух слоёв имеет $m \times n$ конфигураций.

Правило сложения: когда "ИЛИ"

Если нужно выбрать действие A **ИЛИ** действие B (не оба!), и A можно сделать $m$ способами, а B - $n$ способами, то: $m + n$ способов.

Как добраться до офиса

Альтернативы

До офиса ходят 3 автобуса **ИЛИ** 2 троллейбуса. $3 + 2 = 5$ способов **Почему сложение?** Потому что это *альтернативы* - едешь или на одном, или на другом, не на обоих сразу.

"И" в условии - умножай. "ИЛИ" - складывай. Это работает в 90% задач. Оставшиеся 10% - это когда альтернативы пересекаются, и тогда нужна формула включения-исключения из урока 01.

В меню 4 салата, 5 основных блюд и 3 десерта. Сколько способов заказать обед из салата, основного И десерта?

Ключевое слово - "И". Нужно выбрать И салат, И основное, И десерт. Каждый выбор независим → умножаем.

Перестановки: расставляем ВСЁ

Перестановки: расставляем ВСЁ

**Перестановка** - это когда берём ВСЕ объекты и расставляем их в определённом порядке.

Возьмём очередь из $n$ человек. Сколько способов их расставить?

**Почему факториал?** На первое место - $n$ вариантов. На второе - $(n-1)$ (один уже занят). На третье - $(n-2)$. И так далее.

Фотография друзей

4 человека в ряд

Аня, Боря, Вася, Галя встают в ряд для фото. $P_4 = 4! = 4 \times 3 \times 2 \times 1 = 24$ способа Логика: - Первым может встать любой из 4 - Вторым - любой из оставшихся 3 - Третьим - любой из 2 - Последний - единственный оставшийся

$5! = 120$ $10! = 3\,628\,800$ (3.6 миллиона) $20! \approx 2.4 \times 10^{18}$ - больше секунд с Большого Взрыва $52!$ (колода карт) $\approx 8 \times 10^{67}$ - больше атомов в наблюдаемой Вселенной Именно поэтому полный перебор токенов в LLM невозможен - пространство $50257^n$ взрывается факториально быстро. Beam search, sampling с температурой, nucleus sampling - всё это способы обойти комбинаторный взрыв, не перебирая все пути.

Перестановки с повторениями

А если некоторые объекты **одинаковые**? Тогда перестановки одинаковых между собой не дают нового результата.

Анаграммы слова "АББА"

Сколько разных перестановок?

Слово "АББА" - 4 буквы: А(2 раза), Б(2 раза) Если бы все были разные: $4! = 24$ Но А можно переставить между собой $2!$ способами, и Б тоже $2!$ - это не меняет слово! $P = \frac{4!}{2! \cdot 2!} = \frac{24}{4} = 6$ Проверка: ААББ, АБАБ, АББА, БААБ, БАБА, ББАА - ровно 6!

Spotify хочет перемешать плейлист из 10 треков. Сколько существует порядков?

Это классическая перестановка: расставить все 10 треков в определённом порядке. Первый трек - 10 вариантов, второй - 9, и т.д. Итого $10!$

Размещения: выбираем ЧАСТЬ с порядком

Размещения: выбираем ЧАСТЬ с порядком

**Размещение** - это когда выбираем $k$ объектов из $n$, и **порядок важен**.

Призовые места

Забег 10 спортсменов

Сколько способов распределить золото, серебро, бронзу среди 10 спортсменов? $A_{10}^3 = 10 \times 9 \times 8 = 720$ способов **Порядок важен!** "Иванов-золото, Петров-серебро" ≠ "Петров-золото, Иванов-серебро"

Размещения С повторениями

Если элементы можно использовать **повторно** (цифры в PIN-коде, буквы в пароле):

4-значный PIN-код

Сколько комбинаций?

Цифры: 0-9 (n = 10), длина: 4 (k = 4) $\bar{A}_{10}^4 = 10^4 = 10\,000$ кодов От 0000 до 9999 - ровно 10 000 вариантов. GPU перебирает их меньше чем за миллисекунду. Именно поэтому PIN из 4 цифр - лишь замедление, не защита. 8 символов из 62 - $62^8 \approx 218$ триллионов: уже другой масштаб.

"Размещение и перестановка - одно и то же"

Перестановка - это размещение ВСЕХ элементов ($k = n$)

Перестановка $P_n = n!$ - частный случай размещения при $k = n$: $A_n^n = n!/(n-n)! = n!/0! = n!$. При $k < n$ - это уже размещение. Различие важно: beam search выбирает $k$ токенов из словаря размером $n$ с учётом порядка - это $A_n^k$, не $n!$.

Пароль из 8 символов (a-z, A-Z, 0-9 = 62 символа), повторения разрешены. Сколько вариантов?

Размещение с повторениями: на каждую из 8 позиций - 62 варианта. Итого $62^8$ ≈ 218 триллионов. Поэтому 8-символьный пароль считается надёжным!

Сочетания: порядок НЕ важен

Сочетания: порядок НЕ важен

**Сочетание** - это когда выбираем $k$ объектов из $n$, и **порядок НЕ важен** (только состав).

Лотерея "6 из 49"

Шанс сорвать джекпот

Нужно угадать 6 чисел из 49. Порядок не важен - только какие выпали. $C_{49}^6 = \frac{49!}{6! \cdot 43!} = \frac{49 \times 48 \times 47 \times 46 \times 45 \times 44}{720} = 13\,983\,816$ **Вероятность джекпота:** $\frac{1}{13\,983\,816} \approx 0.000007\%$ Чтобы гарантировать выигрыш, нужно купить 14 миллионов билетов!

Команда для проекта

Выбираем 3 из 10

Сколько способов выбрать команду из 3 человек из группы в 10? $C_{10}^3 = \frac{10!}{3! \cdot 7!} = \frac{10 \times 9 \times 8}{6} = 120$ способов В команде нет ролей - {Аня, Боря, Вася} = {Вася, Аня, Боря}.

$C_n^k = C_n^{n-k}$ Почему? Выбрать $k$ элементов **взять** - то же самое, что выбрать $n-k$ элементов **оставить**. $C_{10}^3 = C_{10}^7 = 120$ $C_{100}^{98} = C_{100}^2 = 4950$ **Лайфхак:** Если $k$ близко к $n$, считай через $n-k$!

"Если не знаю, использую сочетания - формула проще"

Сочетания или размещения - зависит ТОЛЬКО от того, важен ли порядок

Один вопрос расставляет всё по местам: если переставить выбранные элементы местами - изменится ли результат? ДА (медали, должности, токены в тексте) - размещение. НЕТ (лотерея, команда без ролей, набор признаков) - сочетание. Наивный Байес предполагает, что слова в письме - это именно сочетание: порядок не важен, важно только какие слова есть.

Выбираем президента, вице-президента и казначея из 10 человек. Что использовать?

Порядок ВАЖЕН! Президент ≠ казначей. Одни и те же 3 человека могут занять должности по-разному. Поэтому размещение, а не сочетание.

Как выбрать формулу?

Как выбрать формулу?

**Шаг 1:** Порядок важен? - ДА → размещение или перестановка - НЕТ → сочетание **Шаг 2:** Повторения разрешены? - ДА → с повторениями ($n^k$) - НЕТ → без повторений **Шаг 3:** Берём все или часть? - ВСЕ → перестановка $n!$ - ЧАСТЬ → размещение $A_n^k$ или сочетание $C_n^k$

Что делаемФормулаПример
Все в ряд$P_n = n!$Очередь, shuffle плейлиста
k из n, порядок важен$A_n^k$Медали, должности
k из n, с повторениями$n^k$PIN, пароль
k из n, порядок не важен$C_n^k$Лотерея, команда

Вернёмся к рукопожатиям: 30 гостей, каждый пожал руку каждому. Сколько рукопожатий?

Рукопожатие - это пара людей. Порядок НЕ важен: "Аня-Боря" = "Боря-Аня". Поэтому сочетание! $C_{30}^2 = \frac{30 \times 29}{2} = 435$. Ошибка "$30 \times 30$" считает каждое рукопожатие дважды + рукопожатия с самим собой.

Комбинаторика в вероятности

Комбинаторика в вероятности

Классическая вероятность: $P(A) = \frac{|A|}{|\Omega|}$. Всё красиво - но как посчитать $|A|$ и $|\Omega|$, когда исходов миллионы? Вот где вступает комбинаторика. Без неё формула работает только для задач уровня "вытянуть шар из урны".

Покер: вероятность пары

Одна из самых частых комбинаций

Пара - ровно две карты одного номинала (два туза, две семёрки и т.д.) **Благоприятных исходов:** 1. Выбираем номинал пары: $C_{13}^1 = 13$ 2. Выбираем 2 масти из 4: $C_4^2 = 6$ 3. Выбираем 3 номинала для остальных: $C_{12}^3 = 220$ 4. Для каждого - 1 масть из 4: $4^3 = 64$ Итого: $13 \times 6 \times 220 \times 64 = 1\,098\,240$ **Всего 5-карточных рук:** $C_{52}^5 = 2\,598\,960$ $P(\text{пара}) = \frac{1\,098\,240}{2\,598\,960} \approx 42.3\%$ Пара - самая частая ненулевая комбинация!

Считаем вероятность двух тузов в случайной 5-карточной руке. Какая часть формулы относится к числителю $|A|$?

Числитель $|A|$ перечисляет благоприятные исходы: фиксируем номинал пары, выбираем 2 масти из 4, затем добираем 3 непарных номинала и для каждого по 1 масти. $C_{52}^5$ - это знаменатель $|\Omega|$.

Практика

Практика

Сколько способов выбрать старосту и заместителя из группы 25 человек?

$A_{25}^2 = 25 \times 24 = 600$ способов

В урне 7 белых и 5 чёрных шаров. Вынимают 3 шара одновременно. Какова вероятность, что все три белые?

Благоприятных (3 белых из 7): $C_7^3 = 35$ Всего (3 любых из 12): $C_{12}^3 = 220$ $P = \frac{35}{220} = \frac{7}{44} \approx 15.9\%$

Автомобильный номер: 3 буквы (из 12 возможных) + 3 цифры. Буквы и цифры могут повторяться. Сколько номеров?

Букв: $12^3 = 1728$ вариантов Цифр: $10^3 = 1000$ вариантов Всего: $1728 \times 1000 = 1\,728\,000$ номеров

Сколько способов расставить 8 ладей на шахматной доске так, чтобы они не били друг друга?

Одна ладья на каждой горизонтали, одна на каждой вертикали. Первая ладья: 8 вертикалей Вторая: 7 (одна занята) Третья: 6 ...и так далее $8! = 40\,320$ способов *Это классическая задача, эквивалентная перестановкам чисел 1-8!*

В лотерее нужно угадать 6 номеров из 49. Какова вероятность сорвать джекпот, угадав все 6?

Порядок номеров не важен, повторений нет - значит сочетания. Благоприятный исход один, всего исходов $C_{49}^6 = 13\,983\,816$. Размещения завысят знаменатель в $6!$ раз, а $49^6$ ошибочно допускает повторения.

Комбинаторика повсюду

Это фундамент для многих областей:

  • Условная вероятность — Подсчёт при дополнительных условиях
  • Биномиальное распределение — $C_n^k$ - биномиальные коэффициенты
  • Криптография — Оценка сложности перебора ключей
  • Machine Learning — Комбинаторная сложность пространства признаков

Ключевые формулы

  • **Умножение (И):** $m \times n$ - независимые последовательные выборы перемножаются. Число конфигураций системы из $k$ компонентов - произведение
  • **Сложение (ИЛИ):** $m + n$ - взаимоисключающие альтернативы складываются
  • **Перестановки:** $P_n = n!$ - все $n$ в порядке. Факториал растёт быстрее любой экспоненты
  • **Размещения:** $A_n^k = n!/(n-k)!$ - $k$ из $n$, порядок важен. Beam search, пароли
  • **С повторениями:** $n^k$ - каждая позиция независима. Словарь токенов в степени длины последовательности
  • **Сочетания:** $C_n^k$ - $k$ из $n$, порядок не важен. Биномиальные коэффициенты, BPE-словарь, надёжность систем

Вопросы для размышления

  • Вернись к задаче о рукопожатиях. Теперь понимаешь, почему $30 \times 30$ - неправильно?
  • Почему лотерейные организаторы используют сочетания, а не размещения?
  • Пароль из 8 цифр vs пароль из 8 букв+цифр - во сколько раз второй надёжнее?
  • В покере 5-карточных рук $C_{52}^5 \approx 2.6$ млн. А сколько 7-карточных?

Связанные уроки

  • dm-01
Комбинаторика: искусство подсчёта

0

1

Войти