Задача о k официантах (The k-server Problem) Алгоритмы обрабатывающие вход по мере поступления Козлов Вадим гр.3539 6 октября 2005г. Содержание 1. 2. 3. Вступление и постановка задачи Work-Function алгоритм Главные результаты теории 2 Вступление Постановка задачи The k-server Problem Постановка задачи В некотором метрическом пространстве k официантов располагаются в конкретных точках Заказы официантам происходят от столиков (точек в пространстве) обслуживаются немедленно: передвижением какого-то официанта в точку заказа Последовательность заказов r r1r 2... , где ri точка в M, конечна, но за ранее не известна Требуется online алгоритм приводящий к минимизации суммарных передвижений 4 с-оптимальность Алгоритм А называется с-оптимальным (c-competitive), если для любого r и для любого opt выполняется неравенство costA(r) < с · costopt(r) + а где opt – некий оптимальный алгоритм 5 The k-server Problem Развитие решающих алгоритмов Сomplicated algorithm kO(k) (Fiat-Rabani-Ravid) Harmonic algorithm 2k (Grove) Work-Function algorithm (WFA) 2k - 1 (Koutsoupias-Papadimitriou) 6 Work-Function algorithm Work-Function algorithm Определения Состояние системы – множество координат столиков, у которых стоят официанты r r1r 2...rn - последовательность заказов Рабочая функция Wr(X) – функция, сопоставляющая состоянию X наименьшую стоимость обслужить r из начального состояния A0, придя в X Стоимость – суммарное пройденное расстояние. (наименьший путь определяется оптимальным offline алгоритмом, т.е. знающим r) 8 Work-Function algorithm Находимся в состоянии X Приходит (i+1)-ый заказ r (ρ=r1r2…ri - предыдущие) Выбираем такое X', чтобы минимизировать Wr ( X ' ) D( X , X ' ) D ( X , X ' ) - стоимость оптимального перехода из состояния X в X' 9 Главные результаты теории Главные результаты теории1 Почему достигается минимум Wr ( X ' ) D( X , X ' ) Лемма: a X : X ' X a r 11 Главные результаты теории2 заметим W W - старая рабочая функция W' Wr - новая рабочая функция W'(A) min {W'(A a r) D(r,a)} aA min {W(A a r) D(r,a) W(A) aA 12 Главные результаты теории3 W называется квазивыпуклой, если для любого состояния А и В существует биекция h : А —> В такая, что для любого разбиения А на мультимножества X и Y, справедливо W(A) + W(B) > W(X + h(Y)) + W(h(X) + Y) Смысл заключается в том, что А можно переделать в В (параллельно переделывая В в А) "маленькими шажками", не увеличивая суммарную работу. Лемма: Все рабочие функции квазивыпуклы 13 Главные результаты теории4 Состояние А назовем минимизатором точки а относительно W, если на нем достигается минимум W ( A) xA D( x, a) Лемма: Если А — минимизатор для r относительно Wρ, то А — минимизатор для r относительно Wρr 14 Главные результаты теории5 Теорема: Work-Function algorithm является (2k-1)-оптимальным, т.е. costA(r) < (2k-1) · costopt(r) + а 15 Вопросы 16 Ссылки Конспект лекций Э.А.Гирша http://logic.pdmi.ras.ru/~hirsch/students/effalg /031210_190933.pdf Решение задачи http://www.icsi.berkeley.edu/~yairb/courses/o n-line/scribes/lec8-9.ps Решение задачи гармоническим методом www.cse.cuhk.edu.hk/~cslui/RANDOMIZED/ kserver.ppt 17