Рассмотрим следующий процесс:
Есть корзин, расположенных сверху вниз. Первоначально, каждая корзина содержит один шар. На каждом шагу мы
- выбрать мяч равномерно наугад и
- переместите все шары из корзины, содержащей в корзину под ней. Если это уже была самая низкая корзина, мы удаляем шары из процесса.
Сколько шагов нужно ожидать, пока процесс не завершится, т. Е. Пока все шариков не будут удалены из процесса? Это изучалось раньше? Ответ легко следует из известных методов?
В лучшем случае процесс может завершиться через шагов. В худшем случае это может сделать шагов. Оба случая должны быть очень маловероятными, хотя. Моя гипотеза состоит в том, что он принимает шагов, и я провел несколько экспериментов, которые, кажется, подтверждают это.
(Обратите внимание, что выбор корзины равномерно наугад - это совсем другой процесс, который, очевидно, потребует шагов для завершения.)
Ответы:
Не совсем ответ, а расширенный комментарий к ответу Андраса.
Ответ Андраса содержит приятную интуицию, хотя я не верю, что это строгий расчет ожидаемого количества шагов. Я думаю, что это, возможно, хорошее приближение к ответу, но, похоже, оно не имеет должного отношения к случаям, когда корзина ниже самой высокой занятой корзины становится пустой до того, как верхняя корзина опустошается вниз. Тем не менее, это может быть разумным приближением (я не уверен).
Его расчет содержит ошибку, которая влияет на масштабирование. Я собираюсь взять точно такую же отправную точку, и повторить и расширить расчет.
Он пропускает коэффициент p внутри суммирования, так как вероятность случайного выбора правильного бина равна а не1pn . В результате мы имеем1n
где - это n-е гармоническое число . Чтобы приблизить H n, мы можем просто заменить суммирование на интеграл: H n ≈ ∫ n + 1 1 1ЧАСN= ∑Nр = 11 / р ЧАСN . Таким образом, масштабирование составляетn(1+log(n+1))или приблизительноnlog(n+1). Хотя это масштабирование не соответствует точно масштабированию задачи (см. Моделирование ниже), оно почти точно уменьшается вlog(2).ЧАСN≈ ∫n + 111Иксdх = лог( n + 1 ) n(1+log(n+1)) nlog(n+1) log(2)
Красные круги: Точки данных от моделирования процесса в среднем за 10 000 циклов. Зеленый: . Синий: n log ( n + 1 ) .nlog2(n+1) nlog(n+1)
источник
Редактировать: я оставляю этот ответ как есть (пока), чтобы проиллюстрировать грязный процесс доказательства теорем, что-то, что осталось из опубликованных работ. Основная интуиция здесь заключается в том, что достаточно сфокусироваться на верхнем шаре, так как он сметает все под ним. Пожалуйста, смотрите комментарии (в частности, @Michael, указывающий на возможные пробелы) и более поздний ответ @ Joe о том, как ошибки были выявлены и исправлены. Мне особенно нравится использование экспериментов Джо, чтобы перепроверить, что формулы были разумными.
источник