Системы метрических задач
Постановка задачи
Понятие системы метрических задач (Metrical task systems, MTS) было введено Бородиным, Линиалом и Саксом [5]. Она представляет собой задачу о минимизации стоимости, определенную на метрическом пространстве [math]\displaystyle{ (X, d_X) \; }[/math], и может быть неформально описана следующим образом. Дана система с множеством внутренних состояний X. Задача системы заключается в обслуживании заданной последовательности задач. Обслуживание каждой задачи имеет определенную стоимость, зависящую от самой задачи и от состояния системы. Система может поменять состояние перед обслуживанием задачи, так что общая стоимость обслуживания задачи будет равна сумме стоимости обслуживания задачи в новом состоянии и расстоянию между состояниями в метрическом пространстве, определенном на множестве состояний. Манасс, Макгиох и Слейтор [11] предложили расширенную модель, которая будет рассмотрена далее и в которой множество допустимых задач может быть ограничено.
Нотация
Обозначим за T* множество конечных последовательностей элементов множества T. Для [math]\displaystyle{ x, y \in T^* \; }[/math] обозначим за [math]\displaystyle{ x \circ y }[/math] конкатенацию последовательностей x и y, а за |x| – длину последовательности x.
Определение 1 (система метрических задач). Зафиксируем метрическое пространство [math]\displaystyle{ (X, d_X) \; }[/math]. Пусть [math]\displaystyle{ \Gamma = \{ (r_x)_{x \in X}: \forall x \in X, r(x) \in [0, \infty] \} }[/math] – множество всех возможных задач. Обозначим за [math]\displaystyle{ T \subset \Gamma \; }[/math] подмножество задач, называемых допустимыми.
[math]\displaystyle{ MTS((X, d_X), T, a_0 \in X) \; }[/math]:
Дано: конечная последовательность задач [math]\displaystyle{ \tau = (\tau_1, ..., \tau_m) \in T^* \; }[/math].
Требуется: найти последовательность точек [math]\displaystyle{ a = (a_1, ..., a_m) \in X^*, |a| = |\tau| \; }[/math],
Цель: минимизировать [math]\displaystyle{ cost(\tau, a) = \sum_{i = 1}^m (d_X(a_{i - 1}, a_i) + \tau_i(a_i)) }[/math].
В случае [math]\displaystyle{ T = \Gamma \; }[/math] задача MTS называется общей.
Если X конечно, а последовательность задач [math]\displaystyle{ \tau \in T^* \; }[/math] задана заранее, динамический алгоритм может вычислить оптимальное решение, используя память размером [math]\displaystyle{ O(|X|) \; }[/math] и время [math]\displaystyle{ О(| \tau | \cdot |X|) \; }[/math]. Задача MTS интереснее всего в онлайновом режиме, в котором система должна реагировать на задачу [math]\displaystyle{ \tau_i \; }[/math] переходом в состояние [math]\displaystyle{ a_i \in X \; }[/math], не зная будущих задач из [math]\displaystyle{ \tau \; }[/math]. Более формально:
Определение 2 (онлайн-алгоритмы для MTS). Детерминированный алгоритм решения задачи [math]\displaystyle{ MTS((X, d_X), T, a_0) \; }[/math] представляет собой отображение [math]\displaystyle{ S: T^* \to X^* \; }[/math], такое, что для любого [math]\displaystyle{ \tau \in T \; }[/math] имеет место [math]\displaystyle{ |S(\tau)| = |\tau| \; }[/math] . Детерминированный алгоритм [math]\displaystyle{ S: T^* \to X^* \; }[/math] называется онлайновым, если для любых [math]\displaystyle{ \tau, \sigma \in T^* \; }[/math] существует [math]\displaystyle{ a \in X^*, |a| = | \sigma | \; }[/math], такое, что [math]\displaystyle{ S(\tau \circ \sigma) = S(\tau) \circ \sigma \; }[/math]. Рандомизированный онлайн-алгоритм представляет собой вероятностное распределение над детерминированными онлайн-алгоритмами.
Онлайн-алгоритмы для MTS оцениваются с помощью (асимптотического) конкурентного анализа, который, грубо говоря, вычисляет наихудшее отношение стоимости алгоритма к оптимальной стоимости по всем возможным последовательностям задач.
Определение 3. Рандомизированный онлайн-алгоритм R для задачи [math]\displaystyle{ MTS((X, d_X), T, a_0) \; }[/math] называется c-конкурентным (по сравнению с рассеянными соперниками), если существует [math]\displaystyle{ b = b(X) \in \mathbb{R} \; }[/math], такое, что для любой последовательности задач [math]\displaystyle{ \tau \in T^* \; }[/math] и любой последовательности точек [math]\displaystyle{ a \in X^*, |a| = | \tau | \; }[/math]
имеет место соотношение [math]\displaystyle{ \mathbb{E} [cost(\tau, R(\tau))] \le c \cdot cost(\tau, a) + b \; }[/math], где математическое ожидание берется над распределением R.
Коэффициентом конкурентоспособности онлайн-алгоритма R является инфимум над [math]\displaystyle{ c \ge 1 \; }[/math], для которого R является c-конкурентным. Детерминированным [соответственно, рандомизированным] коэффициентом конкурентоспособности задачи [math]\displaystyle{ MTS((X, d_X), T, a_0) \; }[/math] является инфимум над коэффициентами конкурентоспособности всех детерминированных [соответственно, рандомизированных] онлайн-алгоритмов для этой задачи. Отметим, что в силу наличия квантора существования при b асимптотический коэффициент конкурентоспособности (как рандомизированный, так и детерминированный) задачи [math]\displaystyle{ MTS((X, d_X), T, a_0) \; }[/math] независим от [math]\displaystyle{ a_0 \; }[/math] и, следовательно, может быть исключен из нотации.