Во многих онлайн-играх, когда игроки выполняют сложное задание, иногда дается специальная награда, которую может использовать каждый, кто выполнил задание. обычно это верховое животное (способ транспортировки) или другой предмет тщеславия (предметы, которые не улучшают характеристики персонажа и в основном используются для настройки внешнего вида).
Когда такая награда дается, наиболее распространенный способ определить, кто получает награду, это через случайные числа. В игре обычно есть специальная команда, которая генерирует случайное (вероятно, псевдослучайное, не крипто-безопасное случайное) число от 1 до 100 (иногда игрок может выбрать другой спред, но 100 является наиболее распространенным). Каждый игрок использует эту команду, все игроки могут видеть, кто что бросил, и предмет вручается тому, кто бросает наивысший. В большинстве игр даже есть встроенная система, в которой игроки просто нажимают кнопку, а когда все нажимают на кнопку, игра делает все остальное автоматически.
Иногда некоторые игроки генерируют одинаковое большое количество, и никто не побеждает их. это обычно решается теми игроками, восстанавливающими их числа, пока не будет уникального наибольшего числа.
Мой вопрос заключается в следующем: предположим, что генератор случайных чисел может генерировать любое число от 1 до 100 с одинаковой вероятностью. Предположим, что у вас есть группа из 25 игроков, каждый из которых генерирует 1 число с таким генератором случайных чисел (каждый со своим начальным числом). У вас будет 25 чисел от 1 до 100, без ограничений по количеству игроков, выбрасывающих определенный номер, и без связи между числами. Какова вероятность того, что наибольшее количество сгенерированных генерируется более чем одним игроком? Другими словами, какова вероятность галстука?
Ответы:
Позволять
Для любого числа количество последовательностей из n чисел с каждым числом в последовательности ≤ y равно y n . Из этой последовательности число, не содержащее y s, равно ( y - 1 ) n , а число, содержащее один y, равно n ( y - 1 ) n - 1 . Следовательно, число последовательностей с двумя или более y s равно y n - ( y - 1 ) ny≤x n ≤y yn y (y−1)n y n(y−1)n−1 y
Общее число последовательностей из n чисел с наибольшим числом y, содержащих не менее двух y s, равно
x ∑ y = 1 ( y n - ( y - 1 ) n - n ( y - 1) ) n - 1 )
Общее количество последовательностей просто . Все последовательности одинаково вероятны, поэтому вероятность равна x n - n ∑ y = x - 1 y = 1 y n - 1xn
С я делаю вероятность 0.120004212454.x=100,n=25
Эта программа выведена
источник
n = 10^7; Total[Boole[Equal @@ (#[[Ordering[#, -2]]])] & /@ x = RandomInteger[{1, 100}, {n, 25}]] / n
Я бы подумал, чтобы найти вероятность того, что победитель будет первым
Победитель может выиграть с его числом, равным от 2 до 100, поэтому общая вероятность
источник
Похоже, вопрос очень похож на парадокс дня рождения ( http://en.wikipedia.org/wiki/Birthday_problem ), единственное отличие состоит в том, что в этом случае вы не хотите совпадать ни с одним числом, а только с самым большим числом. На первом этапе расчета рассчитывают вероятность того, что не случайные числа перекрываются (п ). (см. ссылку выше), а затем вероятность того, что некоторые из 25 чисел перекрываются,1 - р где p - это вероятность, которую вы уже рассчитали. В этом случае вероятность того, что 25 чисел не пересекаются с максимумом, определяется как:
р = 1 * ( 1 - 1 / 100 ) * ( 1 - 1 / 100 ) . , , , , , * ( 1 - 1 / 10 ) = ( 1 - 1 / 100 )24 тогда вероятность, которую вы ищете п= 1 - р = 1 - ( 1 - 1 / 100 )24= 0,214
источник