Статьи

Основы теории вероятностей для геймдизайнеров. Часть 1

Предисловие

Большая часть данной статьи – лишь перевод статьи Джеймса Эрнеста. Огромное ему спасибо за прекрасный первоисточник! Однако я осмелился дополнить её в некоторых местах и заменить иллюстрации.. 

Введение

Теория вероятностей – важная часть геймдизайна. У каждого из нас есть примерное представление о теорвере, но многим новичкам не хватает инструментов для формального анализа даже самых простых систем в своих играх. Эта статья представляет собой введение в формальную теорию.

Шел 1654 год, а у французского дворянина Антуана Гомбальда, шевалье де Мере, была проблема – он был заядлым игроком. Он раз за разом ставил на то, что при броске одного игрального кубика четыре раза подряд хотя бы один раз выпадет шестерка. На этой игре он заработал неплохие деньги, но его друзьям надоело проигрывать, и впредь они отказывались с ним играть. В поисках новых способов обобрать своих друзей шевалье изобрел еще одну игру, которая, как он считал, использовала то же правило вероятности, что и предыдущая. В новой игре он ставил на то, что при броске двух кубиков двадцать четыре раза подряд один раз выпадет двенадцать. Сначала друзья отнеслись к новой игре с подозрением, но вскоре она начала им нравиться, ведь шевалье стремительно терял свои накопления! Он не мог понять, что происходит, ведь, по его подсчетам, обе игры использовали одно и то же правило вероятности.

Запутавшийся и разоренный, он написал письмо математику Блезу Паскалю, у которого попросил совета. Паскаль нашел проблему интригующей – официальная математика не могла ответить на эти вопросы. И тогда Паскаль обратился за помощью к другу своего отца, Пьеру де Ферма. Это положило начало долгой переписке между Паскалем и Ферма, в которой они обсуждали эту и другие похожие проблемы, пытались найти методы их решения и в итоге основали новый раздел математики – теорию вероятностей“, – Джесси Шелл, Книга Линз.

Именно так из-за азартных игроков и появилась теория вероятностей.

Базовые инструменты

В теории вероятностей мы говорим о «шансах» того, что что-то случится, выраженных числом от 0% до 100% (или от 0 до 1, если мы говорим про вероятность). Если что-то имеет 100% шанс произойти, это обязательно произойдет. При 50% это с одинаковой вероятностью произойдет или не произойдет.

Если вы подбрасываете монетку, то каковы шансы падения орла? Что ж, тут необходимо немного конкретизировать. Если вы подбрасываете лишь один раз, то 50%. Если же вы будете подбрасывать монетку целый день, то орел выпадет хотя бы раз почти со 100% вероятностью.

Если вы сложите шансы всех возможных исходов случайного эксперимента, результат всегда будет 100% (или 1). Например, исключая «крайний случай», когда монета приземляется на ребро, шансы выпадения решки (50%) и орла (50%) в сумме составляют 100%.

В двух подбрасываниях есть четыре возможных результата, хотя они часто маскируются под три. Могут выпасть две решки, два орла или орел и решка. Событие “орел и решка” на самом деле происходит при двух исходах, поэтому вероятность этого события в два раза выше, чем у двух других результатов. 

События:

Событие 1Событие 2Шанс 
РР25%
РО25%
ОР25%
ОО25%

Таким образом, шанс выкинуть орла и решку – 50%.

Небольшое отступление 

Для следующего упражнения необходимо знать одну формулу:

количество “хороших” событий  / всевозможные события

Например, в сундуке есть щит, меч и броня. Игрок может вытянуть каждый предмет с одинаковой вероятностью. Каков шанс, что выпадет меч? Правильно, ~33%! Или 1/3.

Упражнение: игра в кости

Каковы шансы выпадения 6 на шестигранном кубике? 

Ответ: 1/6 или 16,7%.

Как насчет вероятности выпадения любого другого числа или набора чисел на d6? Каждое индивидуальное число такое же, 1/6. Поскольку результаты исключают друг друга, вы можете сложить их вместе, так что вероятность выпадения 4 или 5 составляет 1/6 + 1/6 или 1/3.

Вы также можете найти вероятность результата, вычтя шансы противоположного результата из 1. Таким образом, вероятность выпадения чего-либо, кроме 6, будут 1 – 1/6 или 5/6.

Таким образом, мы вычитаем из 1, когда ищем противоположные события к найденному.

Упражнение: игра в пару

В игре «Пара» цель состоит в том, чтобы не поймать пару (две карты одного достоинства). Колода пар содержит одну единицу, две двойки, три  тройки …, десять десяток. Других карт в колоде нет. Всего 55 карт. Возникает вопрос: если вы вытянете одну карту в руку с 9 и 10, каковы шансы получить пару?

В этом упражнении мы проигнорируем все остальные карты на руках. В колоде осталось 53 карты плюс 9 и 10 в вашей руке. Из 53 карт осталось восемь девяток и девять десяток. Получается 17 карт из 53 карт, дают вам пару. С вероятностью 17/53 (~32%) вы проиграете 🙁

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

Вероятность того, что несколько событий произойдут вместе (или последовательно), можно определить, перемножив их индивидуальные шансы. Например, вероятность выпадения двух орлов подряд составляет 25%. Это 50% для первого броска, умноженное на 50% для второго. Шанс получить три решки будет 50% * 50% * 50%, или 12,5%. Эти шансы также могут быть выражены как вероятности – 1/2, 1/4, 1/8 и так далее.

Обратите внимание, что этот тип анализа работает только с будущими событиями. Если вы уже выкинули двух орлов, вероятность того, что это произошло, составляет 1 (100%), а вероятность того, что следующий бросок также окажется орлом, составляет 1/2  (50%). Но если вы в будущем планируете получить трёх орлов подряд, то 1/8 (12,5%).

Упражнение: какова вероятность выбросить 5 или больше на каждом из 3D6?

Даже если вы бросите кубики вместе, можно подумать, что вы бросаете по одному за раз. Вероятность получить 5 или 6 на кубике – 2/6 (или 1/3). У нас три кубика, поэтому 1/3 * 1/3 * 1/3 = 1/27

Упражнение: выкинь шесть раз 

Чтобы выиграть эту игру, вам нужно бросить d10 шесть раз. Каждый ход вы должны бросить больше, чем текущий номер хода. Например, на третьем ходу вы должны выбросить 4 или выше. Если выпадет меньше, вы проиграете. Какой шанс выигрыша?

На 1 ходу вы должны выбросить 2 или больше. Это событие имеет вероятность 9/10 или 90%. На втором ходу шансы уменьшаются на 10% (то есть до 80%) и так каждый ход. Шанс выиграть: (9/10) * (8/10) * (7/10) * (6/10) * (5/10) * (4/10), или около 6%.

Несовместные события

Такие события не могут произойти одновременно. Например, вы не можете получить одновременно и орла, и решку в при броске монеты. Не может сразу быть «дождя» и «без дождя» за окном.

Но как выглядят совместные события? Рассмотрим шансы на выпадение карты треф или туза. Всего 13 треф и 4 туза, поэтому, если бы эти результаты были несовместными, было бы 17 способов добиться успеха. Но одна из карт – это туз-треф, поэтому мы должны быть осторожны, чтобы не сосчитать ее дважды. Так есть только 16 способов добиться успеха в этом событии.

В таком маленьком примере легко просто подсчитать успехи и неудачи. Но в большом наборе данных не всегда удается просчитать все возможные результаты.

Небольшое отступление: основы комбинаторики 

Нам часто приходится считать количество всех возможных событий или каких-то комбинаций. Например, сколько разных комбинаций может получиться при броске монеты три раза, при броске d6 дважды и так далее. Тут нам на помощь приходит формула размещений с повторениями:

nk

n – количество возможных событий на одном шаге (например, у d6 – 6 событий)

k – количество повторений (бросков и т.п.)

Почему эта формула работает? Распишем её немного иначе. Рассмотрим случай, когда мы кидаем 3d5:

  • шаг 1: возможных событий – 5
  • шаг 2: возможных событий – 5
  • шаг 3: возможных событий – 5

5 * 5 * 5 = 125 = 53

Однако стоит заметить, что это формулу мы используем, когда на каждом шаге количество событий одинаковое. Если на первом шаге будет M событий, а на втором N, то всего их будет: M * N.

В следующем упражнении предполагается, что вы без труда сможете посчитать количество комбинаций. 

Упражнение: совместные события 

Каковы шансы выпадения хотя бы одной 10 при броске 2d10? Фраза «хотя бы один 10» фактически включает в себя три разных набора результатов: все версии 10-X, X-10 и 10-10. Итак, всего есть 19 способов добиться успеха. Это 9 версий 10-X, 9 версий X-10 плюс один случай 10-10. Общее количество возможных бросков составляет 100 (10 *10), поэтому вероятность на успех составляют 19/100 (19%).

Другой способ решить эту задачу – выяснить, как не добиться успеха, а затем вычесть это значение из 1. Если вы проиграли, это означает, что вам не выпало 10 при первом броске (90%) и во втором броске (90%). Для достижения “успеха” в обоих случаях требуется вычислить произведение индивидуальных вероятностей, поэтому вероятность составляет 0,9 * 0,9 = 0,81. Вычитая шанс неудачи из 100%, мы получаем 19%.

Мы изучили уже довольно много, поэтому, пожалуй, сделаем остановку и дадим нашему мозгу немного передохнуть. Увидимся в следующей части!

Источник:


Мы принципиально не размещаем рекламу на наших страницах, чтобы она не мозолила вам глаза и существуем, только за счет поддержки читателей и членов нашего сообщества. Если вам нравится то, что мы делаем и вы считаете это важным, то вы можете поддержать нас так, как вам удобно.

Стать патроном на Patreon
Стать доном в ВК
VK Pay

Лев Кобелев

Сегодня ровно полгода, как я завтра допишу диздок.

Один комментарий

  • Nikita Krasov

    На “Упражнение: игра в пару” – вооружился калькулятором и перечитал 2 раза
    На “Последовательностных вероятностях” – перечитал 3 раза
    На “Упражнение: какова вероятность выбросить 5 или больше на каждом из 3D6?” – хватило двух перечитываний
    На “Упражнение: выкинь шесть раз ” – одно прочтение достаточно
    На “Несовместные события” – На всякий случай переспрошу – 30%? (не, ну 30…ну я же не совсем дибил) так только местами)
    На “Упражнение: совместные события ” – ( ╯°□°)╯┻┻

Добавить комментарий