Jump to content

Конкурентный анализ (онлайн-алгоритм)

(Перенаправлено с «Соотношение конкурентов »)

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

Для многих алгоритмов производительность зависит не только от размера входных данных, но и от их значений. Например, сортировка массива элементов различается по сложности в зависимости от начального порядка. Такие зависящие от данных алгоритмы анализируются для данных среднего и наихудшего случая. Конкурентный анализ — это способ анализа наихудшего случая для онлайновых и рандомизированных алгоритмов , которые обычно зависят от данных.

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

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

Классической онлайн-проблемой, впервые анализируемой с помощью конкурентного анализа ( Sleator & Tarjan 1985 ), является проблема обновления списка : учитывая список элементов и последовательность запросов на различные элементы, минимизируйте стоимость доступа к списку, в котором элементы ближе к доступ к началу списка обходится дешевле. (Обычно стоимость доступа к элементу равна его положению в списке.) После доступа список можно переупорядочить. Большинство перестановок имеют свою цену. Алгоритм Move-To-Front просто перемещает запрошенный элемент на передний план после доступа без каких-либо затрат. Алгоритм транспонирования заменяет доступный элемент на элемент, расположенный непосредственно перед ним, также бесплатно. Классические методы анализа показали, что транспонирование оптимально в определенных контекстах. На практике Move-To-Front показал себя намного лучше. Конкурентный анализ был использован, чтобы показать, что противник может заставить Transpose работать сколь угодно плохо по сравнению с оптимальным алгоритмом, тогда как Move-To-Front никогда не может потребовать более чем двукратной стоимости оптимального алгоритма.

В случае онлайн-запросов с сервера используются конкурентные алгоритмы для преодоления неопределенности относительно будущего. То есть алгоритм не «знает» будущее, а воображаемый противник («конкурент») «знает». Аналогично, конкурентные алгоритмы были разработаны для распределенных систем, где алгоритм должен реагировать на запрос, поступающий в одно место, не «зная», что только что произошло в удаленном месте. Эта установка была представлена ​​в ( Awerbuch, Kutten & Peleg 1992 ).

См. также

[ редактировать ]
  • Слейтор, Д. ; Тарьян, Р. (1985), «Амортизированная эффективность правил обновления списков и пейджинга», Communications of the ACM , 28 (2): 202–208, doi : 10.1145/2786.2793 .
  • Аспнес, Джеймс (1998), «Конкурентный анализ распределенных алгоритмов», в Fiat, A .; Воегингер, Г.Дж. (ред.), Онлайн-алгоритмы: современное состояние , Конспект лекций по информатике, том. 1442, стр. 118–146, doi : 10.1007/BFb0029567 , ISBN.  978-3-540-64917-5 .
  • Бородин А. ; Эль-Янив, Р. (1998), Онлайн-вычисления и конкурентный анализ , издательство Кембриджского университета, ISBN  0-521-56392-5 .
  • Авербух, Б.; Каттен, С. ; Пелег, Д. (1992), «Конкурентоспособное распределенное планирование заданий», ACM STOC, Виктория, Британская Колумбия, Канада .
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 7560fa3d7bd8a172084826ef1c1f12ed__1710842100
URL1:https://arc.ask3.ru/arc/aa/75/ed/7560fa3d7bd8a172084826ef1c1f12ed.html
Заголовок, (Title) документа по адресу, URL1:
Competitive analysis (online algorithm) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)