Рассчитываем вероятности для статьи «Нечестная игра, или как нас обманывают организаторы розыгрышей»
Статья с разбором игры известной торговой сети вызвала у нас в Cloud4Y живой интерес. Вот небольшие отрывки, чтобы ввести вас в курс дела:
Игра (акция), посвящённая чемпионату мира по футболу, представляла собой незамысловатое поле три на три, заполненное футбольными мячами. Однажды, солнечным весенним утром, почитывая городской форум, я наткнулся на ссылку с простенькой игрой от известной торговой сети. При открытии трёх одинаковых картинок участнику гарантировалось бесплатное получение данного товара в одном из магазинов сети. Кликая по мячу, мы открывали картинку с тем или иным товаром. Также под одним из мячей имелось изображение красной карточки, открытие которой означало конец игры.
Автор статьи принялся расследовать причины своего проигрыша и по результатам расчетов выяснил следующее:
Для 5 полей пришлось повозиться, но расчётная вероятность получилась также 25%.
...
Запустив скрипт, я получил неожиданный результат — 25% выигрышей. Быстрый набросок формул на салфетке, и выяснилось, что вероятность выигрыша — 1/4. Поиграв с количеством выигрышных элементов и общим количеством полей, я выяснил, что вероятность выигрыша в подобной игре не зависит от количества полей и равна единице, поделенной на количество выигрышных элементов, увеличенных на единицу.
Нас заинтересовала правильность такого расчета и, заменив салфетку на Excel, мы взялись за дело в поисках математической истины. Читателей, увлекающихся теорией вероятности, приглашаем под кат, дабы проверить правильность наших вычислений.
Прежде всего выясняем правила игры. В этом нам, сам того не зная, помог пользователь Хабра Stecenko в своем комментарии. Также он пишет:
Если посмотреть скрипт автора, то он написан из предположения, что на поле ОБЯЗАТЕЛЬНО есть три карточки одного товара, по одной карточке еще пяти других товаров, и одна красная карточка, в то время как из описания игры этого абсолютно не следует — в правилах не сказано, что на поле обязана присутствовать выигрышная комбинация.
В правилах, однако, сказано, что всего участвует 26 товаров. Получается, что генерируется выдача из 9 карт: 8 карт — это сочетания 26 товаров с повторениями, а одна карточка красная.
Игра состоит из нескольких слоев: В таких условиях расчет математической вероятности выигрыша несколько сложнее, чем предположил автор оригинального поста.
- Вероятность открыть N карт, не открывая красную — вероятность разной продолжительности игры без учета будет ли приз.
- Вероятность собрать комбинацию из 3 карт с одинаковыми товарами. Эта вероятность изменяется при разной продолжительности игры. Важно понимать, что набор из 8 карт с товарами и всегда одной красной не обязательно содержит хотя бы одну пару одинаковых карточек, не говоря о сразу трёх.
Начнём с простого — с понимания как будет уменьшаться число участников при росте числа открытых ими карт из-за правила красной карточки.
Шансы разной продолжительности игры
Мы вычисляем, насколько вероятно, что за N испытаний (открытых карточек) будет открыта красная.
Это не гарантировало нам строго 1 красную карточку, при таком распределении вероятнее всего была одна красная карточка, но их могло быть как 0, так и все 9 с очень-очень маленькой вероятностью. UPD: Первоначально мы рассчитывали вероятность открыть красную с помощью биномиального распределения. Опять же, спасибо Stecenko за то, что в комментарии указал нам на ошибку и предложил верное решение.
Остальные игроки выбывают по причине красной карточки, так и не узнав, была ли выигрышная комбинация в выданном наборе карточек. В последнем столбце показано сколько игроков из ста остаются в игре с такой продолжительностью.
Это является условием получения приза. Теперь рассчитаем вероятности собрать комбинацию из трех карточек с одинаковыми товарами.
Шансы на призы
Разложим игру логически. Мы открываем первую карту, а затем под эту карту подбираем пару, под пару подбираем тройку. С таким подходом мы можем рассчитать вероятность получить 3 одинаковых карты за три или больше попыток, исходя из того, что всего товаров в игре 26.
Для задач с фиксированным числом тестов или испытаний, если результатом любого испытания может быть только успех или неудача, испытания независимы, а вероятность успеха остается постоянной в течение всего эксперимента будем использовать формулу Бернулли — в Excel функция БИНОМ.РАСП.
Какова вероятность открыть три одинаковые за три попытки? С помощью функции БИНОМ.РАСП можно вычислить, например, вероятность того, что двое из трех следующих новорожденных будут мальчиками.
=БИНОМ.РАСП(3;3;1/26;0) по маске
=БИНОМ.РАСП(число_успехов; число_испытаний; вероятность_успеха; интегральная)
Или вот формула для расчета вероятности получить 3 одинаковых и определенных товара за 8 попыток.
=БИНОМ.РАСП(3;8;1/26;0), так?
Когда мы достигли продолжительности игры в 4 испытания, не допустив открытия красной и продолжая играть, мы получаем ситуацию с возможностью двух пар для подбора выигрышной тройки. Не совсем.
Наши открытые карточки А-Б-А-Б. Условно два товара из 26 — это А и Б. Вероятность больше не 1/26, а 1/26+(1/26)*«Вероятность двух пар при данной продолжительности игры».
Вероятность двух пар при данной продолжительности игры = БИНОМ.РАСП(2;5;1/26;0)^2
Это означает, что вероятность теперь равна При достижении большей длины игры к 7 попытке у нас появляется комбинации типа А-Б-А-Б-В-В.
=1/26*(1 +БИНОМ.РАСП(2;7;1/26;0)^2 +БИНОМ.РАСП(2;7;1/26;0)^3) и мы ищем третью карту для 1, 2 или трёх пар.
Количество повторов товара в матрице это количество совпадений с любым одним товаром, а значит для выигрыша достаточно двух повторов к одному товару, а не совпадения 3 с определенным загаданным результатом. UPD: Также первоначально мы не учли, что первая попытка в нашем расчете выигрыша, очищенного от вероятности выбрать красную, — это открытие любого из 26 товаров, а значит 100% успех. Таким образом, первый выбор любой карты и две попытки подобрать ещё две такие же образуют в сумме три эксперимента.
Зная вероятности, мы строим матрицу:
Помним, что вероятность выигрыша меняется на 4 попытке и на 7, а значит учитываем это в формуле БИНОМ.РАСП В ней мы находим вероятность каждого максимального количества повторов какого-либо товара для каждого варианта продолжительности игры.
Так как игра прекратиться, как только мы соберем тройку, мы складываем вероятности по столбцам в области, выделенной жирным шрифтом. Нам нужны варианты с максимальным количеством повторов какого-либо товара 3 и более.
Суммируя эти произведения, мы получаем вероятность 0,0192 или 192 победителя на 10000 игроков. Далее мы перемножаем шансы каждой продолжительности игры на шансы выиграть приз при такой продолжительности.
Совсем не 25%. Да, действительно это очень низкая вероятность. Снова обратимся к правилам игры:
Призовой фонд: 8.
1. 8. Доступные призы: названия и количества
…
Итого 166000
116000 делим на вероятность выигрыша и получаем около 6 млн участников для того, чтобы разыграть все призы. Напомним, что на 1 января 2018 года по оценке Росстата в России было 146 938 921 постоянных жителей. Видимо, такова задумка организаторов игры — предоставить шанс выиграть почти каждому гражданину России.
Сейчас мы можем проверить наши вычисления на практике с помощью скриптов, но удивителен Божий дар ума математиков-теоретиков предыдущих поколений, которые рассчитывали такое количество вероятностей, находя верное решение на бумаге и с помощью мысленных экспериментов. UPD: Итоговая вероятность изменилась после внесенных правок.
Зная математическую сторону вопроса, вы сможете сами сделать вывод о честности организаторов. Анализ кода показал автору оригинальной публикации, что скрипт ещё до начала игры “знает” её итог, однако никто не знает какой предопределенный результат выдаст скрипт конкретному пользователю.