В Интернете имеются обширные ресурсы, в которых обсуждается знаменитый парадокс дня рождения.Мне понятно, как вы рассчитываете вероятность того, что у двух человек будет день рождения, то есть P (s) = 1-P (d).Однако, если я спрашиваю себя о чем-то более простом, я задерживаюсь: во-первых, скажем, я генерирую два случайных дня рождения.Получить тот же день рождения, как бросить монетку.Либо у двух человек день рождения (Главы), либо у них нет Дня рождения (Хвост).Выполните это 500 раз, и конечный результат (nbr Heads / 500) будет как-то близок к 0,5
Но как мне об этом подумать, если я сгенерирую три случайных дня рождения?Как я могу оценить вероятность тогда?Очевидно, что моя аналогия с монетами неприменима.
часть 2 моего вопроса: как только я разберусь с вышесказанным, мне нужно будет увеличить ее и создать 30 или 50 дней рождения.Существует ли рекомендуемая методика или алгоритм для выделения идентичных дней рождения из большого набора?Должен ли я положить их в массивы и перебрать их?
спасибо
вот что мне нужно:
part1
r = 25, т.е. каждый пробный прогон генерирует 25 дней рождения
Пробная версия 1> 3 дубликата: 0
Пробная версия 2> 3 дубликата: 0
Пробная версия 3> 3 дубликата: 2
Пробная версия 4> 3 дубликата: 1
...
T100> 3 дубликата: 2
предполагаемая вероятность того, что у 3 человек будет день рожденияв комнате 25 = (0 + 0 + 2 + 1 + ... + 2) / 100
part 2
создать массив для 2 дубликатов,массив для 3 дубликатов и один для более чем 3 дубликатов
добавляют каждый сгенерированный день рождения один за другим в первый массив.Но прежде чем сделать это, просмотрите массив, чтобы увидеть, есть ли он там.Если это так, добавьте его во второй массив, но перед этим повторите описанный выше процесс и т. Д.
, хотя это не кажется очень эффективным алгоритмом :) предложения по улучшению Big O здесь?