Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Yan_Shrayber_-_vse_3.docx
Скачиваний:
4
Добавлен:
01.07.2025
Размер:
8.77 Mб
Скачать

Как вычислить вероятность при помощи подсчёта

У вас, возможно, возник вопрос: как мы можем вычислить точную вероятность выпадения определенного результата? На самом деле это довольно важно для многих игр, потому что, если вы бросаете игральную кость, изначально, скорее всего, есть какой-то оптимальный результат. Ответ таков: нам нужно посчитать два значения. Во-первых, посчитайте максимальное число исходов при бросании игральной кости (независимо от того, какой будет исход). Затем посчитайте число благоприятных исходов. Разделив второе значение на первое, вы получите нужную вероятность. Чтобы получить процентное отношение, умножьте полученный результат на 100.

Примеры:

Вот очень простой пример. Вы хотите, чтобы выпало число 4 или выше и бросаете один раз шестигранную игральную кость. Максимальное число исходов составляет 6 (1, 2, 3, 4, 5, 6). Из них 3 исхода (4, 5, 6) являются благоприятными. Значит, чтобы посчитать вероятность, делим 3 на 6 и получаем 0,5 или 50%.

Вот пример немного сложнее. Вы хотите, чтобы выпало чётное число при бросании 2d6. Максимальное число исходов 36 (6 для каждой игральной кости, и так как одна игральная кость не влияет на другую, умножаем 6 результатов на 6 и получаем 36). Сложность вопроса данного типа заключается в том, что легко посчитать дважды. Например, на самом деле есть два варианта результата 3 при бросании 2к6: 1+2 и 2+1. Они выглядят одинаково, но разница в том, какое число отображено на первой игральной кости и какое на второй. Вы также можете представить себе, что игральные кости разных цветов, так, например, в данном случае одна игральная кость красного цвета, другая синего. Затем посчитайте количество вариантов выпадения чётного числа: 2 (1+1), 4 (1+3), 4 (2+2), 4 (3+1), 6 (1+5), 6 (2+4), 6 (3+3), 6 (4+2), 6 (5+1), 8 (2+6), 8 (3+5), 8 (4+4), 8 (5+3), 8 (6+2), 10 (4+6), 10 (5+5), 10 (6+4), 12 (6+6). Оказывается, что есть 18 вариантов для благоприятного исхода из 36, как и в предыдущем случае, вероятность будет равна 0,5 или 50%. Возможно, неожиданно, но довольно точно.

Моделирование методом Монте-Карло

Что если у вас для такого подсчёта слишком много игральных костей? Например, вы хотите знать какова вероятность того, что выпадет сумма равная 15 или больше при броске 8d6. Для восьми игральных костей существует МНОЖЕСТВО разных индивидуальных результатов и их подсчёт вручную займет очень много времени. Даже если мы найдем какое-нибудь хорошее решение, чтобы сгруппировать разные серии бросков игральных костей, всё равно на подсчёт понадобится очень много времени. В данном случае самым простым способом посчитать вероятность будет не считать вручную, а воспользоваться компьютером. Есть два способа подсчёта вероятности на компьютере.

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

int wincount=0, totalcount=0;

for (int i=1; i<=6; i++) {

for (int j=1; j<=6; j++) {

for (int k=1; k<=6; k++) {

… // insert more loops here

if (i+j+k+… >= 15) {

wincount++;

}

totalcount++;

}

}

}

float probability = wincount/totalcount;

Если вы не разбираетесь в программировании и вам просто нужен неточный, а примерный ответ, вы можете смоделировать данную ситуацию в Excel, где вы подбросите 8d6 несколько тысяч раз и получите ответ. Чтобы бросить 1d6 в Excel, используйте следующую формулу:

=FLOOR(RAND()*6)+1

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]