Альтернативные показатели эффективности онлайновых алгоритмов: различия между версиями

Перейти к навигации Перейти к поиску
м
 
(не показаны 3 промежуточные версии 2 участников)
Строка 1: Строка 1:
== Ключевые слова и синонимы ==
Диффузная модель соперника для онлайновых алгоритмов; сравнительный анализ онлайновых алгоритмов
== Постановка задачи ==
== Постановка задачи ==
Несмотря на то, что онлайновые алгоритмы изучались более тридцати лет, явное введение ''конкурентного анализа'' в основополагающих статьях Слейтора и Тарьяна [8] и Манасса, Макгиоха и Слейтора [6] привело к взрывному росту объема исследований этого класса задач и алгоритмов, и с тех пор оба понятия (онлайновые алгоритмы и конкурентный анализ) остаются тесно связанными друг с другом. Однако уже на раннем этапе этих исследований возникли вопросы к реалистичности и практичности модели, связанные главным образом с ее пессимизмом. Эта характеристика в некоторых случаях сказывается на способности модели к различению хороших и плохих алгоритмов. В статье 1994 года «За пределами конкурентного анализа» [3] Кутсупиас и Пападимитриу предложили и исследовали два альтернативных показателя эффективности онлайновых алгоритмов, тесно связанные с конкурентным анализом и при этом лишенные вышеупомянутых слабостей. Окончательная версия этой работы вышла в 2000 году [4].
Несмотря на то, что онлайновые алгоритмы изучались более тридцати лет, явное введение ''конкурентного анализа'' в основополагающих статьях Слейтора и Тарьяна [8] и Манасса, Макгиоха и Слейтора [6] привело к взрывному росту объема исследований этого класса задач и алгоритмов, и с тех пор оба понятия (онлайновые алгоритмы и конкурентный анализ) остаются тесно связанными друг с другом. Однако уже на раннем этапе этих исследований возникли вопросы к реалистичности и практичности модели, связанные главным образом с ее пессимизмом. Эта характеристика в некоторых случаях сказывается на способности модели к различению хороших и плохих алгоритмов. В статье 1994 года «За пределами конкурентного анализа» [3] Кутсупиас и Пападимитриу предложили и исследовали два альтернативных показателя эффективности онлайновых алгоритмов, тесно связанные с конкурентным анализом и при этом лишенные вышеупомянутых слабостей. Окончательная версия этой работы вышла в 2000 году [4].




В процессе конкурентного анализа эффективность онлайнового алгоритма сравнивается с эффективностью его всемогущего соперника на входных данных, относящихся к наихудшему случаю. Коэффициент конкурентоспособности алгоритма A определяется как наихудшее возможное отношение <math>R_A = max_x \frac{A(x)}{opt(x)}</math>, где x пробегает все возможные входные данные задачи, а A(x) и opt(x) представляют собой стоимость решений, полученных алгоритмом A, и оптимальным оффлайновым алгоритмом для входного значения x, соответственно. [''Все задачи в данной статье предполагаются онлайновыми задачами минимизации, следовательно, цель заключается в минимизации затрат. Все представленные здесь результаты действительны и для онлайновых задач максимизации с соответствующими корректировками в определениях'']. Это понятие может быть расширено для определения коэффициента конкурентоспособности задачи как минимального коэффициента конкурентоспособности алгоритма ее решения, а именно <math>R = min_A R_A = min_A max_x \frac{A(x)}{opt(x)}.</math>
В процессе конкурентного анализа эффективность онлайнового алгоритма сравнивается с эффективностью его всемогущего соперника на входных данных, относящихся к наихудшему случаю. Коэффициент конкурентоспособности алгоритма A определяется как наихудшее возможное отношение <math>R_A = max_x \frac{A(x)}{opt(x)}</math>, где x пробегает все возможные входные данные задачи, а A(x) и opt(x) представляют собой стоимость решений, полученных алгоритмом A и оптимальным оффлайновым алгоритмом для входного значения x, соответственно. [''Все задачи в данной статье предполагаются онлайновыми задачами минимизации, следовательно, цель заключается в минимизации затрат. Все представленные здесь результаты действительны и для онлайновых задач максимизации с соответствующими корректировками в определениях'']. Это понятие может быть расширено для определения коэффициента конкурентоспособности задачи как минимального коэффициента конкурентоспособности алгоритма ее решения, а именно <math>R = min_A R_A = min_A max_x \frac{A(x)}{opt(x)}.</math>




Строка 23: Строка 27:




Доказательство этого утверждения основывается на понятии ''рабочей функции'', введенном в [5], которое используется в качестве инструмента отслеживания поведения оптимального оффлайнового алгоритма и оценки оптимальной стоимости последовательности запросов, а также тех же параметров для ''консервативных соперников'', которые назначают более высокие вероятности недавно запрошенным страницам. Этот тип соперника согласуется с ''локальностью ссылок'' – понятием, которое всегда было связано с алгоритмами подкачки и конкурентным анализом (хотя в работе [1] другое семейство распределений было предложено и проанализировано в рамках данной структуры, точнее отражающей это понятие).
Доказательство этого утверждения основывается на понятии ''рабочей функции'', введенном в [5], которая используется в качестве инструмента отслеживания поведения оптимального оффлайнового алгоритма и оценки оптимальной стоимости последовательности запросов, а также тех же параметров для ''консервативных соперников'', которые назначают более высокие вероятности недавно запрошенным страницам. Этот тип соперника согласуется с ''локальностью ссылок'' – понятием, которое всегда было связано с алгоритмами подкачки и конкурентным анализом (хотя в работе [1] другое семейство распределений было предложено и проанализировано в рамках данной структуры, точнее отражающей это понятие).




Первый результат говорит о том, что для любого соперника <math>D \in \Delta_{\epsilon}</math> существует консервативный соперник <math>\hat{D} \in \Delta_{\epsilon}</math>, такой, что коэффициент конкурентоспособности LRU относительно <math>\hat{D}</math> не меньше, чем коэффициент конкурентоспособности LRU относительно <math>D</math>. Было показано, что для любого консервативного соперника <math>D \in \Delta_{\epsilon}</math> относительно LRU существует консервативный соперник <math>D' \in \Delta_{\epsilon}</math> относительно онлайнового алгоритма A, такой, что коэффициент конкурентоспособности LRU относительно D не превышает коэффициент конкурентоспособности A относительно D'. Иными словами, для любого <math>\epsilon</math> LRU имеет оптимальный коэффициент конкурентоспособности <math>R(\Delta_{\epsilon})</math> для диффузной модели соперника. Это основной результат первой части работы [4].
Первый результат говорит о том, что для любого соперника <math>D \in \Delta_{\epsilon}</math> существует консервативный соперник <math>\hat{D} \in \Delta_{\epsilon}</math>, такой, что коэффициент конкурентоспособности LRU относительно <math>\hat{D}</math> не меньше, чем коэффициент конкурентоспособности LRU относительно <math>D</math>. Было показано, что для любого консервативного соперника <math>D \in \Delta_{\epsilon}</math> относительно LRU существует консервативный соперник <math>D' \in \Delta_{\epsilon}</math> относительно онлайнового алгоритма A, такой, что коэффициент конкурентоспособности LRU относительно D не превышает коэффициента конкурентоспособности A относительно D'. Иными словами, для любого <math>\epsilon</math> LRU имеет оптимальный коэффициент конкурентоспособности <math>R(\Delta_{\epsilon})</math> для диффузной модели соперника. Это основной результат первой части работы [4].




Строка 52: Строка 56:




Наконец, было показано, что для конкретной метрической системы задач эффективность просмотра вперед строго меньше вышеуказанной: для задачи подкачки сравнительное отношение составляет в точности min{''l + 1, k''}, то есть преимущество использования просмотра представляет собой минимальное из значений размера кэша и размера окна просмотра вперед плюс 1.
Наконец, было показано, что для конкретной системы метрических задач эффективность просмотра вперед строго меньше вышеуказанной: для задачи подкачки сравнительное отношение составляет в точности min{''l + 1, k''}, то есть преимущество использования просмотра представляет собой минимальное из значений размера кэша и размера окна просмотра вперед плюс 1.


== Применение ==
== Применение ==
Строка 73: Строка 77:
* [[Балансировка нагрузки]]
* [[Балансировка нагрузки]]
* [[Системы метрических задач]]
* [[Системы метрических задач]]
* [[Онлайн-алгоритм интервальной раскраски]]
* [[Онлайн-алгоритм раскраски интервалов]]
* [[Онлайн-алгоритм обновления списков]]
* [[Онлайн-алгоритм обновления списков]]
* [[Обмен пакетами при переключении между несколькими очередями]]
* [[Обмен пакетами при переключении между несколькими очередями]]
Строка 100: Строка 104:


9. Young, N.E.: On-Line Paging against Adversarially Biased Random Inputs. J. Algorithms 37, 218 (2000)
9. Young, N.E.: On-Line Paging against Adversarially Biased Random Inputs. J. Algorithms 37, 218 (2000)
[[Категория: Совместное определение связанных терминов]]
4846

правок

Навигация