Обобщенная двухсерверная задача: различия между версиями

Перейти к навигации Перейти к поиску
(Новая страница: «== Ключевые слова и синонимы == CNN-задача == Постановка задачи == В обобщенной двухсерверной…»)
 
 
(не показано 17 промежуточных версий 1 участника)
Строка 3: Строка 3:


== Постановка задачи ==
== Постановка задачи ==
В обобщенной двухсерверной задаче имеются два сервера, один из которых перемещается в метрическом пространстве X, а другой – в метрическом пространстве Y. Они обслуживают запросы r 2 X x Y, которые поступают один за одним. Запрос r = (x, y) обслуживается посредством перемещения X-сервера в точку x либо Y-сервера в точку y. Решение, какой из двух серверов переместить при следующем запросе, не подлежит отменен и принимается в отсутствие каких-либо знаний о будущих запросах. Задача заключается в минимизации расстояния, пройденного обоими серверами.
В обобщенной двухсерверной задаче имеются два сервера, один из которых перемещается в метрическом пространстве <math>\mathbb{X} \;</math>, а другой – в метрическом пространстве <math>\mathbb{Y} \;</math>. Они обслуживают запросы <math>r \in \mathbb{X} \times \mathbb{Y} \;</math>, которые поступают один за одним. Запрос r = (x, y) обслуживается посредством перемещения <math>\mathbb{X}</math>-сервера в точку x либо <math>\mathbb{Y}</math>-сервера в точку y. Решение, какой из двух серверов переместить при следующем запросе, не подлежит отмене и принимается в отсутствие каких-либо знаний о будущих запросах. Задача заключается в минимизации расстояния, пройденного обоими серверами.




'''Задача онлайн-маршрутизации'''
[[Файл:GTSP.png]]


Обобщенная двухсерверная задача относится к классу задач маршрутизации под названием «метрической системы сервисов» [5, 10]. Подобную систему определяют метрическое пространство M всех возможных конфигураций системы, начальная конфигурация C0 и множество R возможных запросов, в котором каждый запрос r 2 R является подмножеством M. Пусть дана последовательность запросов r1, r 2, ... rn. Допустимым решением является последовательность конфигураций C1, C2, ... Cn, такая, что Ci 2 ri для всех i 2 {1, ..., n}.
Рис. 1. В этом примере оба сервера перемещаются по плоскости и начинают движение с конфигурации (<math>x_0, y_0 \;</math>). <math>\mathbb{X}</math>-сервер перемещается при выполнении запросов 1 и 3, <math>\mathbb{Y}</math>-сервер обслуживает запросы 2 и 4. Стоимость решения представляет собой сумму длин путей




При моделировании обобщенной двухсерверной задачи метрической системой сервисов мы получаем M = X x Y и R = ffx xYjUjXx ygjx 2X;y 2 Yg. В классической двухсерверной задаче оба сервера перемещаются в однмо и том же пространстве и получают одни и те же запросы, т.е. M = X x X и K = {{xxX}U{Xxx}|x€X}.
'''Задачи онлайн-маршрутизации'''


Обобщенная двухсерверная задача относится к классу задач маршрутизации под названием ''метрических систем сервисов'' [5, 10]. Подобную систему определяют метрическое пространство <math>\mathbb{M} \;</math> всех возможных конфигураций системы, начальная конфигурация <math>C_0 \;</math> и множество <math>\mathcal{R} \;</math> возможных запросов, в котором каждый запрос <math>r \in \mathcal{R} \;</math> является подмножеством <math>\mathbb{M} \;</math>. Пусть дана последовательность запросов <math>r_1, r_2, ..., r_n \;</math>. Допустимым решением является последовательность конфигураций <math>C_1, C_2, ..., C_n \;</math>, такая, что <math>C_i \in r_i \;</math> для всех <math>i \in \{ 1, ..., n \} \;</math>.


Эффективность алгоритмов онлайн-оптимизации нередко измеряется при помощи сравнительного (конкурентного) анализа. Мы утверждаем, что алгоритм является a-конкурентным (a > 1) для некоторой задачи минимизации, если для любого возможного экземпляра задачи стоимость решения алгоритма не более чем в a раз превышает стоимость оптимального решения для этого экземпляра.


При моделировании обобщенной двухсерверной задачи метрической системой сервисов мы получаем <math>\mathbb{M} = \mathbb{X} \times \mathbb{Y}</math> и <math>\mathcal{R} = \{ \{ x \times \mathbb{Y} \} \cup \{ \mathbb{X} \times y \} | x \in \mathbb{X}, y \in \mathbb{Y} \}</math>. В классической двухсерверной задаче оба сервера перемещаются в одном и том же пространстве и получают одни и те же запросы, т.е. <math>\mathbb{M} = \mathbb{X} \times \mathbb{X}</math> и <math>\mathcal{R} = \{ \{ x \times \mathbb{X} \} \cup \{ \mathbb{X} \times x \} | x \in \mathbb{X} \}</math>.


Обобщенная двухсерверная задача, рис. 1
В этом примере оба сервера перемещаются на плоскости и начинают движение с конфигурации (x0, y0). X-сервер перемещается при выполнении запросов 1 и 3, Y-сервер обслуживает запросы 2 и 4. Стоимость решения представляет собой сумму длин путей


Эффективность алгоритмов онлайн-оптимизации нередко измеряется при помощи ''сравнительного (конкурентного) анализа''. Мы утверждаем, что алгоритм является <math> \; \alpha</math>-''конкурентным'' (<math>\alpha \ge 1 \;</math>) для некоторой задачи минимизации, если для любого возможного экземпляра задачи стоимость решения алгоритма не более чем в <math>\alpha \;</math> раз превышает стоимость оптимального решения для этого экземпляра.


Стандартный алгоритм, который доказуемо эффективно справляется с несколькими элементарными задачами маршрутизации – это так называемый алгоритм рабочей функции [2, 6, 8]. После каждого запроса алгоритм перемещается в конфигурацию с низкой стоимостью, находящуюся не слишком далеко от текущей конфигурации. Точнее говоря, если после обслуживания запроса система имеет конфигурацию C, а r С M – следующий запрос, то алгоритм рабочей функции с параметром A > 1 переходит к конфигурации C0 2 r, которая минимизирует соотношение
 
где d(C, C0) – расстояние между конфигурациями C и C0, а WG}r{C') – стоимость оптимального решения, обслуживающего все запросы (по порядку) в a плюс запрос r с тем ограничением, что оно завершает работу в конфигурации C0.
Стандартный алгоритм, который доказуемо эффективно справляется с несколькими элементарными задачами маршрутизации – это так называемый ''алгоритм рабочей функции'' [2, 6, 8]. После каждого запроса алгоритм перемещается в конфигурацию с низкой стоимостью, находящуюся не слишком далеко от текущей конфигурации. Точнее говоря, если после обслуживания последовательности <math>\sigma \;</math> система имеет конфигурацию C, а <math>r \subseteq \mathbb{M} \;</math> – следующий запрос, то алгоритм рабочей функции с параметром <math>\lambda \ge 1 \;</math> переходит к конфигурации <math>C' \in r \;</math>, которая минимизирует соотношение <math>\lambda W_{\sigma, r} (C') + d(C, C') \;</math>, где d(C, C') – расстояние между конфигурациями C и C', а <math>W_{\sigma, r} (C') \;</math> – стоимость оптимального решения, обслуживающего все запросы (по порядку) в <math>\sigma \;</math> плюс запрос r с тем ограничением, что оно завершает работу в конфигурации C'.


== Основные результаты ==
== Основные результаты ==
Основным результатом работы [ ] является достаточное условие наличия константно-конкурентного алгоритма для метрической системы сервисов. Кроме того, авторы продемонстрировали, что это условие выполняется и для обобщенной двухсерверной задачи.
Основным результатом работы [11] является достаточное условие наличия константно-конкурентного алгоритма для метрической системы сервисов. Кроме того, авторы продемонстрировали, что это условие выполняется и для обобщенной двухсерверной задачи.
 
 
Для фиксированной метрической системы сервисов S с метрическим пространством <math>\mathbb{M} \;</math> обозначим за <math>A(C, \sigma) \;</math> стоимость работы алгоритма A на входной последовательности <math>\sigma \;</math>, начинающего работу с конфигурации C. Пусть <math>OPT(C, \sigma) \;</math> – стоимость соответствующего оптимального решения. Мы говорим, что путь T в <math>\mathbb{M} \;</math> ''обслуживает'' последовательность <math>\sigma \;</math>, если он посещает все запросы по порядку. Следовательно, допустимым путем является такой путь, который обслуживает всю последовательность и начинается с исходной конфигурации.




Для фиксированной метрической системы сервисов S с метрическим пространством M обозначим за A(C, a) стоимость работы алгоритма A на входной последовательности a, начинающего работу с конфигурации C. Пусть OPT(C, CT) – стоимость соответствующего оптимального решения. Мы говорим, что путь T в M обслуживает последовательность a, если он посещает все запросы по порядку. Следовательно, допустимым путем является такой путь, который обслуживает все запросы и начинается с исходной конфигурации.
Пути <math>T_1 \;</math> и <math>T_2 \;</math> называются ''независимыми'', если они разделены следующим образом: <math>|T_1| + |T_2| < d(C^s_1, C^t_2) + d(C^s_2, C^t_1) \;</math>, где <math>C_i^s \;</math> и <math>C_i^t \;</math> начальная и конечная точки пути <math>T_i \; (i \in \{ 1, 2 \})</math>, соответственно. Заметим, в частности, что пересекающиеся пути не являются независимыми.




Пути T1 и T2 называются независимыми, если они разделены следующим образом: |T1| + |T2| < d{C\,Cl2) + d{Cs2, C[), где Cis и Cit – начальная и конечная точки пути Ti(i 2 f1, 2g), соответственно. Заметим, в частности, что пересекающиеся пути не являются независимыми.
'''Теорема 1. Пусть S – метрическая система сервисов с метрическим пространством <math>\mathbb{M} \;</math>. Предположим, что существует алгоритм A и константы <math>\alpha \ge 1, \beta \ge 0, m \ge 2 \;</math>, такие, что для любой точки <math>C \in \mathbb{M} \;</math>, последовательности <math>\sigma \;</math> и попарно независимых путей <math>T_1, T_2, ... , T_m \;</math>, обслуживающих <math>\sigma \;</math>, выполняется соотношение'''


'''(1) <math>A(C, \sigma) \le \alpha OPT(C, \sigma) + \beta \sum^m_{i = 1} | T_i |</math>.'''


Теорема 1. Пусть S – метрическая система сервисов с метрическим пространством M. Предположим, что существует алгоритм A и константы a > 1; P > 0 и m > 2, такие, что для любой точки C 2 M последовательность a и попарно независимые пути T1, T2, ... , Tm, обслуживающие
'''Тогда существует алгоритм B, являющийся константно-конкурентным для S.'''
A(C, a) < aOPT(C, a) +
Тогда существует алгоритм B, являющийся константно-конкурентным для S.




Строка 42: Строка 44:




Для обобщенной двухсерверной задачи так называемый «алгоритм баланса» удовлетворяет условию (1). Этот алгоритм сохраняет кумулятивную стоимость обоих серверов и при получении каждого запроса перемещает тот сервер, при котором максимум двух новых значений будет минимальным. Сам по себе алгоритм баланса не является константно-конкурентным, однако, согласно теореме 1, если мы рационально объединим его с алгоритмом рабочей функции, мы получим константно-конкурентный алгоритм.
Для обобщенной двухсерверной задачи так называемый ''алгоритм баланса'' удовлетворяет условию (1). Этот алгоритм сохраняет кумулятивную стоимость обоих серверов и при получении каждого запроса перемещает тот сервер, при котором максимум двух новых значений будет минимальным. Сам по себе алгоритм баланса не является константно-конкурентным, однако, согласно теореме 1, если мы рационально объединим его с алгоритмом рабочей функции, мы получим константно-конкурентный алгоритм.


== Применение ==
== Применение ==
Множество метрических систем сервисов можно объединить, получив так называемую систему сумм [ ]. Запрос к системе сумм включает по одному запросу к каждой системе, и для его обслуживания необходимо обслужить по меньшей мере один из отдельных запросов. Обобщенная двухсерверная задача может рассматриваться как одна из самых простых систем сумм, поскольку две отдельных задачи являются совершенно тривиальными: имеется один сервер, и каждый запрос состоит из одного пункта.
Множество метрических систем сервисов можно объединить, получив так называемую ''систему сумм'' [9]. Запрос к системе сумм включает по одному запросу к каждой системе, и для его обслуживания необходимо обслужить по меньшей мере один из отдельных запросов. Обобщенная двухсерверная задача может рассматриваться как одна из самых простых систем сумм, поскольку две отдельных задачи являются совершенно тривиальными: имеется один сервер, и каждый запрос состоит из одного пункта.




Строка 59: Строка 61:
* [[Алгоритм DC-дерева для k серверов на деревьях]]
* [[Алгоритм DC-дерева для k серверов на деревьях]]
* [[Системы метрических задач]]
* [[Системы метрических задач]]
* [[Подкачка и кэширование интернет-страниц]]
* [[Онлайн-алгоритм подкачки и кэширования]]
* [[Алгоритм рабочей функции для k серверов]]
* [[Алгоритм рабочей функции для k серверов]]


Строка 86: Строка 88:


12. Sleator, D.D., Tarjan, R.E.: Self-adjusting binary search trees. J.ACM 32,652-686 (1985)
12. Sleator, D.D., Tarjan, R.E.: Self-adjusting binary search trees. J.ACM 32,652-686 (1985)
[[Категория: Совместное определение связанных терминов]]
[[Категория: Совместное определение связанных терминов]]

Навигация