Jump to content

Проблема с прокатом лыж.

В информатике проблема аренды лыж — это название класса задач, в которых есть выбор между продолжением оплаты повторяющихся затрат или уплатой единовременных затрат, которые устраняют или уменьшают повторяющиеся затраты. [1]

Проблема

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

Многие онлайн-задачи имеют подзадачу, называемую проблемой аренды или покупки. Учитывая высокие первоначальные затраты или менее дорогие повторяющиеся затраты, без знания того, как будут развиваться события в будущем, в какой момент лучше оплатить первоначальные затраты, чтобы избежать дальнейших повторяющихся затрат?

Рассмотрим человека, который решает покататься на лыжах, но на неопределенное количество дней. Прокат лыж стоит 1 доллар в день, а покупка пары лыж — 10 долларов. Если человек заранее знает, сколько дней он хочет кататься на лыжах, то точка безубыточности составит 10 дней. Менее 10 дней предпочтительна аренда, а более 10 дней – покупка. Однако без предварительного знания того, как долго человек будет кататься на лыжах, точка безубыточности неясна. Хороший алгоритм минимизирует соотношение стоимости, когда количество дней заранее известно, к стоимости, когда количество дней заранее неизвестно. [2] Прокат лыж [3] [4] является одним из примеров этого класса проблем.

Алгоритм безубыточности

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

Алгоритм безубыточности предписывает арендовать лыжи на 9 дней и купить лыжи утром 10-го дня, если вы еще готовы кататься на лыжах. [5] Если вам придется прекратить кататься на лыжах в течение первых 9 дней, это будет стоить столько же, сколько вы заплатили бы, если бы знали, сколько дней вы будете кататься на лыжах. Если человеку придется прекратить кататься на лыжах после 10-го дня, его затраты составят 19 долларов, что на 90% больше, чем он заплатил бы, если бы заранее знал количество дней, в течение которых он будет кататься на лыжах. Это худший случай для алгоритма безубыточности.

Алгоритм безубыточности известен как лучший детерминированный алгоритм для решения этой задачи.

Рандомизированный алгоритм

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

Человек может подбросить монетку. Если выпадает решка, она покупает лыжи на восьмой день; в противном случае она покупает лыжи на 10-й день. Это пример рандомизированного алгоритма . Ожидаемая стоимость не более чем на 80% превышает сумму, которую человек заплатил бы, если бы знал, сколько дней он будет кататься на лыжах, независимо от того, сколько дней он катается на лыжах. В частности, если человек катается на лыжах 10 дней, ее ожидаемая стоимость составит 1/2 [7+10] + 1/2 [9+10] = 18 долларов, всего лишь 80% превышения вместо 90%.

Рандомизированный алгоритм можно понимать как совокупность различных алгоритмов, каждый из которых выполняется с заданной вероятностью. Мы определяем ожидаемый коэффициент конкуренции в данном случае i как:

, где - это коэффициент конкуренции, например, i, учитывая .

Следовательно, коэффициент конкуренции рандомизированного алгоритма определяется наихудшим значением по всем данным случаям. В случае с прокатом лыж подбрасыванием монеты мы отмечаем, что рандомизированный алгоритм имеет 2 возможных ответвления: если монета выпадает орлом, мы покупаем в день 8, в противном случае мы покупаем в день 10. Мы можем назвать ветви и , соответственно. , для .

,

, и

, для .

Таким образом, коэффициент конкуренции рандомизированного алгоритма подбрасывания монеты с прокатом лыж составляет 1,8.

Лучший рандомизированный алгоритм против ничего не замечающего противника состоит в том, чтобы случайным образом выбрать какой-нибудь день i в соответствии со следующим распределением p, арендовать его на i-1 дней и купить лыжи утром дня i, если кто-то еще готов кататься на лыжах. Карлин и др. [3] впервые представил этот алгоритм с распределением где покупка лыж стоит $ и аренда стоит 1 доллар. Его ожидаемая стоимость не превосходит e/(e-1) В 1,58 раза больше, чем заплатили бы, если бы знали, сколько дней придется кататься на лыжах. Ни один рандомизированный алгоритм не сможет добиться большего.

Приложения

[ редактировать ]
  • Снупи-кэширование : [3] несколько кэшей используют одно и то же пространство памяти, разделенное на блоки. Когда кеш записывает в блок, кеш-память, разделяющая этот блок, тратит 1 цикл шины на обновление. Эти кеши могут сделать блок недействительным, чтобы избежать затрат на обновление. Но существует штраф в p циклов шины за аннулирование блока из кэша, которому вскоре после этого потребуется доступ к нему. Мы можем разбить последовательности запросов записи для нескольких кешей на последовательности запросов для двух кешей. Один кэш выполняет последовательность операций записи в блок. Другой кэш должен решить, следует ли обновляться, оплачивая 1 цикл шины за операцию, или сделать блок недействительным, заплатив p циклов шины за будущий запрос на чтение самого себя. Проблема с двумя кэшами и одним блоком слежения за кешированием — это всего лишь проблема проката лыж.
  • TCP-подтверждение : [6] Поток пакетов прибывает в пункт назначения и требует подтверждения протоколом TCP по прибытии. Однако мы можем использовать один пакет подтверждения для одновременного подтверждения нескольких ожидающих пакетов, тем самым уменьшая накладные расходы на подтверждения. С другой стороны, слишком большая задержка подтверждений может помешать механизмам контроля перегрузки TCP, и поэтому мы не должны допускать слишком большого увеличения задержки между временем прибытия пакета и временем отправки подтверждения. Карлин и др. [7] описал семейство входных данных с одним параметром, называемое базовыми входными данными, и показал, что при ограничении этими базовыми входными данными проблема подтверждения TCP ведет себя так же, как проблема аренды лыж.
  • Планирование общего времени завершения : [2] Мы хотим запланировать задания с фиксированным временем обработки на m одинаковых машинах. Время обработки задания j равно p j . Каждое задание становится известно планировщику в момент его выпуска r j . Цель состоит в том, чтобы минимизировать сумму времени завершения для всех заданий. Упрощенная задача — это одна машина со следующими входными данными: в момент времени 0 поступает задание со временем обработки 1; k заданий со временем обработки 0 приходят в неизвестное время. Нам нужно выбрать время начала для первого задания. Ожидание требует затрат 1 доллара за единицу времени, однако запуск первого задания до того, как последующие k заданий могут повлечь за собой дополнительные затраты в размере k в худшем случае. Эту упрощенную задачу можно рассматривать как непрерывную версию проблемы аренды лыж.
  • Рефакторинг против работы с плохим дизайном . При разработке программного обеспечения инженерам приходится выбирать между трудностями и риском ошибок при работе со слишком сложным дизайном и уменьшением сложности проекта перед внесением изменений. Дополнительные затраты на каждое изменение в старом дизайне — это стоимость «аренды», стоимость рефакторинга — это стоимость «покупки». «Сколько раз приходится работать с плохим дизайном, прежде чем его исправить?» проблема с прокатом лыж.

См. также

[ редактировать ]
  1. ^ Блюм, Аврим. «cos 521: Лекция 24 по разработке расширенных алгоритмов: Онлайн-алгоритмы» (PDF) . Компьютерные науки Принстонского университета . Принстонский университет . Проверено 16 июля 2022 г.
  2. ^ Jump up to: а б Стивен С. Сейден. Игра в угадайку и рандомизированные онлайн-алгоритмы. Ежегодный симпозиум ACM по теории вычислений, 2000 г. http://portal.acm.org/citation.cfm?id=335385.
  3. ^ Jump up to: а б с А. Р. Карлин , М. С. Манасс, Л. А. МакГеоч и С. Овицкий. Конкурентные рандомизированные алгоритмы для решения неоднородных задач. В материалах первого ежегодного симпозиума ACM-SIAM по дискретным алгоритмам, Сан-Франциско, Калифорния, 22–24 января 1990 г., стр. 301–309. Также в Algorithmica, 11(6): 542-571, 1994. http://courses.csail.mit.edu/6.895/fall03/handouts/papers/karlin.pdf.
  4. ^ Клэр Матье . Брауновский университет. Примечание к лекции: http://www.cs.brown.edu/~claire/Talks/skirental.pdf
  5. ^ А. Р. Карлин , М. Манасс, Л. Рудольф и Д. Слиатор. Конкурентное шпионское кэширование. Алгоритмика, 3(1): 79-119, 1988.
  6. ^ Дули, Дэниел Р.; Голдман, Салли А .; Скотт, Стивен Д. (1998). «Динамическая задержка подтверждения TCP: теория и практика (расширенное резюме)». В Виттере, Джеффри Скотт (ред.). Материалы тридцатого ежегодного симпозиума ACM по теории вычислений, Даллас, Техас, США, 23-26 мая 1998 г. {АКМ}. стр. 389–398. дои : 10.1145/276698.276792 .
  7. ^ Анна Р. Карлин , Клэр Кеньон и Дана Рэндалл. Динамическое TCP-подтверждение и другие истории про e/(e-1). Тридцать третий ежегодный симпозиум ACM по теории вычислений (STOC), 2001. Algorithmica. http://www.cs.brown.edu/people/claire/Publis/ACKpaper.ps
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 66850899a46aa9e26b1336298f9b1b5b__1712772900
URL1:https://arc.ask3.ru/arc/aa/66/5b/66850899a46aa9e26b1336298f9b1b5b.html
Заголовок, (Title) документа по адресу, URL1:
Ski rental problem - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)