Jump to content

Проблема с мячами в контейнерах

(Перенаправлено из «Шарики в мусорные баки »)

« шары в корзины » (или сбалансированное распределение ) Задача — классическая задача теории вероятностей , имеющая множество приложений в информатике . В задаче участвуют m шаров и n коробок (или «корзин»). Каждый раз в одну из корзин помещается один мяч. После того, как все шары оказались в ящиках, мы смотрим на количество шаров в каждом ящике; мы называем это число нагрузкой на бункер. Задачу можно смоделировать с помощью полиномиального распределения и включить в нее такой вопрос, как: каково ожидаемое количество ящиков с мячом в них? [ 1 ]

Очевидно, что можно сделать загрузку минимальной, равной m / n , поместив каждый шар в наименее загруженный контейнер. Интересен случай, когда бин выбирается случайным образом или, по крайней мере, частично случайным образом. Мощная парадигма «шары в мусорные ведра» — это «сила двух случайных выборов». [ 2 ] «где каждый шар выбирает две (или более) случайные ячейки и помещается в менее загруженную корзину. Эта парадигма нашла широкое практическое применение в эмуляции общей памяти, эффективных схемах хеширования, рандомизированной балансировке нагрузки задач на серверах и маршрутизации пакеты внутри параллельных сетей и центров обработки данных. [ 2 ]

Случайное распределение

[ редактировать ]

Когда контейнер для каждого шара выбирается случайным образом, независимо от других вариантов, максимальная загрузка может достигать . Однако можно вычислить более точную оценку, которая выполняется с высокой вероятностью . «Высокая вероятность» — это вероятность , т.е. вероятность стремится к когда растет до бесконечности.

Для случая , с вероятностью максимальная нагрузка составляет: [ 3 ] [ 4 ]

.

Гонне [ 5 ] дал точную оценку ожидаемого значения максимальной нагрузки, которая для является , где является обратной гамма -функцией , и она известна [ 6 ] что .

Максимальная нагрузка также может быть рассчитана для и, например, для это и для это , с большой вероятностью. [ 7 ]

Точные вероятности для малых может быть вычислено как для определено в OEIS A208250.

Частично случайное распределение

[ редактировать ]

Вместо того, чтобы просто выбирать случайную корзину для каждого шара, можно выбрать две или более корзины для каждого шара, а затем поместить мяч в наименее загруженную корзину. Это компромисс между детерминированным распределением, при котором проверяются все ячейки и выбирается наименее загруженная ячейка, и полностью случайным распределением, при котором выбирается одна ячейка без проверки других ячеек. Эта парадигма, которую часто называют «силой двух случайных выборов», изучалась в ряде случаев, описанных ниже. [ 2 ]

В простейшем случае, если выделить шары в контейнеры (с ) последовательно по одному и для каждого шара выбирают случайные ячейки на каждом шаге, а затем распределяет шар в наименее загруженную из выбранных ячеек (связи разрываются произвольно), тогда с высокой вероятностью максимальная загрузка составит: [ 8 ]

что почти экспоненциально меньше, чем при полностью случайном распределении.

Этот результат можно обобщить на случай ), когда с большой вероятностью максимальная нагрузка составит: [ 9 ]

которая точна с точностью до аддитивной константы. (Все оценки выполняются с вероятностью не менее для любой константы .) Обратите внимание, что для , процесс случайного распределения дает только максимальную нагрузку с высокой вероятностью, поэтому улучшение между этими двумя процессами особенно заметно при больших значениях .

Другими ключевыми вариантами парадигмы являются «параллельные шары в контейнеры», где шары выбирают случайные ячейки параллельно, [ 10 ] «взвешенные шары в контейнеры», когда шары имеют неединичный вес, [ 11 ] [ 12 ] [ 13 ] и «шары в контейнеры с удалениями», где мячи можно как добавлять, так и удалять. [ 2 ] [ 14 ]

Бесконечный поток шариков

[ редактировать ]

Вместо того, чтобы просто класть m шаров, можно рассмотреть бесконечный процесс, в котором на каждом временном шаге добавляется один шар и берется один шар, так что количество шаров остается постоянным. При m = n через достаточно долгое время с высокой вероятностью максимальная нагрузка аналогична конечному варианту, как при случайном распределении, так и при частично случайном распределении. [ 8 ]

Повторные попадания мячей в контейнеры

[ редактировать ]

При повторном варианте процесса шары первоначально распределяются в ячейками произвольным образом, а затем на каждом последующем шаге процесса с дискретным временем из каждой непустой ячейки выбирается один шар и переназначается в одну из ячеек. контейнеры равномерно в случайном порядке. Когда , показано, что с большой вероятностью процесс сходится к конфигурации с максимальной нагрузкой после шаги. [ 15 ]

Приложения

[ редактировать ]

Онлайн-балансировка нагрузки : [ 16 ] Рассмотрим набор из n одинаковых компьютеров. Имеется n пользователей, которым необходимы вычислительные услуги. Пользователи не скоординированы - каждый пользователь приходит сам и выбирает, какой компьютер ему использовать. Каждому пользователю, конечно, хотелось бы выбрать наименее загруженный компьютер, но для этого необходимо проверять загрузку каждого компьютера, что может занять много времени. Другой вариант — выбрать компьютер наугад; это приводит с большой вероятностью к максимальной нагрузке в . Возможный компромисс заключается в том, что пользователь будет проверять только два компьютера и использовать менее загруженный из двух. Это приводит, с высокой вероятностью, к гораздо меньшей максимальной нагрузке .

Хеширование : рассмотрим хеш-таблицу , в которой все ключи, сопоставленные с одним и тем же местоположением, хранятся в связанном списке. Эффективность доступа к ключу зависит от длины его списка. Если мы используем одну хэш-функцию, которая выбирает местоположения с одинаковой вероятностью, с высокой вероятностью самая длинная цепочка будет иметь ключи. Возможным улучшением является использование двух хэш-функций и помещение каждого нового ключа в более короткий из двух списков. В этом случае с большой вероятностью самая длинная цепочка имеет только элементы. [ 17 ]

Справедливое разрезание торта : рассмотрим задачу создания частично пропорционального разделения разнородного ресурса между людей, так что каждый человек получает часть ресурса, который этот человек ценит как минимум от общей суммы, где — некоторая достаточно большая константа. Протокол Эдмондса-Пруса представляет собой рандомизированный алгоритм , в анализе которого используются аргументы «шары в ячейки». [ 18 ]

  1. ^ Оливейра, Рафаэль (20 мая 2021 г.). «Лекция 4: Шары и контейнеры» (PDF) .
  2. ^ Перейти обратно: а б с д Митценмахер, Михаэль ; Рича, Андреа ; Ситараман, Рамеш (июль 2001 г.). «Сила двух случайных выборов: обзор методов и результатов». Справочник по рандомизированным вычислениям . 1 . Клювер Пресс: 255–305. CiteSeerX   10.1.1.62.6677 .
  3. ^ Колчин, Валентин Федорович (1978). Случайные распределения . Вашингтон: Уинстон [и т. д.] ISBN  978-0470993941 .
  4. ^ Коц, Сэмюэл; Джонсон, Норман Ллойд (1977). Модели урн и их применение . Нью-Йорк, штат Нью-Йорк: Джон Уайли и сыновья. ISBN  978-0471446309 .
  5. ^ Гонне, Гастон Х. (1981). «Ожидаемая длина самой длинной пробной последовательности при поиске хэш-кода» . Журнал Ассоциации вычислительной техники . 28 (2): 289–304. дои : 10.1145/322248.322254 . S2CID   15483311 .
  6. ^ Деврой, Люк (1985). «Ожидаемая длина самой длинной пробной последовательности для поиска по сегментам, когда распределение неравномерно». Журнал алгоритмов . 6 (1): 1–9. дои : 10.1016/0196-6774(85)90015-X .
  7. ^ Рааб, Мартин (1998). « Шарики в корзины» — простой и точный анализ». Методы рандомизации и аппроксимации в информатике . Конспекты лекций по информатике. Том. 1518. стр. 159–170. дои : 10.1007/3-540-49543-6_13 . ISBN  978-3-540-65142-0 .
  8. ^ Перейти обратно: а б Азар, Йоси; Бродер, Андрей З.; Карлин, Анна Р.; Упфал, Эли (1999). «Сбалансированное распределение». SIAM Journal по вычислительной технике . 29 (1): 180–200. дои : 10.1137/s0097539795288490 .
  9. ^ Беренбринк, Петра; Чумай, Артур; Стегер, Анжелика; Фёкинг, Бертольд (2006). «Сбалансированное распределение: сильно загруженный случай». SIAM Journal по вычислительной технике . 35 (6): 180–200. дои : 10.1137/S009753970444435X .
  10. ^ Беренбринк, Петра; Чумай, Артур; Энглерт, Матиас; Фридецкий, Том; Нагель, Ларс (2012). Сбалансированное распределение с множественным выбором (почти) параллельно . ПРИБЛИЗИТЕЛЬНО 2012 Г., СЛУЧАЙНЫЙ 2012 Г.: Аппроксимация, рандомизация и комбинаторная оптимизация. Алгоритмы и методы. стр. 411–422. CiteSeerX   10.1.1.297.6120 . дои : 10.1007/978-3-642-32512-0_35 .
  11. ^ Талвар, Кунал; Уди, Видер (2007). Сбалансированное распределение: взвешенный случай . Труды 39-го ежегодного симпозиума ACM по теории вычислений (STOC). стр. 256–265. дои : 10.1145/1250790.1250829 .
  12. ^ Беренбринк, Петра; Фридецкий, Том; Цзэнцзянь, Ху; Рассел, Мартин (2005). Об играх «шарики в урны» с взвешиванием . СТАКС. стр. 231–243. дои : 10.1007/978-3-540-31856-9_19 .
  13. ^ Перес, Юваль; Талвар, Кунал; Видер, Уди (2015). Графическое сбалансированное распределение и -процесс выбора . Алгоритмы случайных структур . стр. 760–775. дои : 10.1002/rsa.20558 .
  14. ^ Коул, Ричард; Фриз, Алан; Мэггс, Брюс М.; Митценмахер, Майкл; Рича, Андреа; Ситараман, Рамеш; Упфал, Эли (1998). О шарах и урнах с удалениями . Методы рандомизации и аппроксимации в информатике (Барселона, 1998). стр. 145–158. дои : 10.1007/3-540-49543-6_12 .
  15. ^ Беккетти, Лука Беккетти; Клементи, Андреа; Натале, Эмануэле; Паскуале, Франческо; Поста, Густаво (13 июня 2015 г.). «Самостабилизирующиеся повторяющиеся шары в контейнеры» . Материалы 27-го симпозиума ACM по параллелизму в алгоритмах и архитектурах . СПАА '15. Портленд, Орегон, США: Ассоциация вычислительной техники. стр. 332–339. дои : 10.1145/2755573.2755584 . hdl : 11573/780594 . ISBN  978-1-4503-3588-1 .
  16. ^ Рааб, Мартин; Стегер, Анжелика (1998). « Шарики в корзины» — простой и точный анализ» . В Луби, Майкл; Ролим, Хосе ДП; Серна, Мария (ред.). Методы рандомизации и аппроксимации в информатике . Конспекты лекций по информатике. Том. 1518. Берлин, Гейдельберг: Springer. стр. 159–170. дои : 10.1007/3-540-49543-6_13 . ISBN  978-3-540-49543-7 .
  17. ^ Карп, Р.М. (1996). «Эффективное моделирование PRAM на машине с распределенной памятью». Алгоритмика . 16 (4–5): 517–542. дои : 10.1007/bf01940878 . S2CID   2535727 .
  18. ^ Эдмондс, Джефф; Прус, Кирк (2006). «Сбалансированное распределение торта» (PDF) . 2006 г. 47-й ежегодный симпозиум IEEE по основам информатики (FOCS'06) . стр. 623–634. дои : 10.1109/FOCS.2006.17 . ISBN  0-7695-2720-5 . S2CID   2091887 .
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: d7466a3baec8c19a4f6d62e74f8789d8__1717128240
URL1:https://arc.ask3.ru/arc/aa/d7/d8/d7466a3baec8c19a4f6d62e74f8789d8.html
Заголовок, (Title) документа по адресу, URL1:
Balls into bins problem - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)