4817
правок
Irina (обсуждение | вклад) |
Irina (обсуждение | вклад) м (→Применение) |
||
Строка 60: | Строка 60: | ||
Рассмотрим сеть с линейной топологией, состоящую из линий связи. Каждый запрос на соединение – это запрос на путь между двумя узлами сети. Набор запросов, назначенных каналу, должен состоять из непересекающихся путей. Цель заключается в том, чтобы минимизировать количество используемых каналов (цветов). Запрос на соединение между a и b соответствует интервалу [a, b], и цель состоит в том, чтобы свести к минимуму количество каналов, необходимых для обслуживания всех запросов. | Рассмотрим сеть с линейной топологией, состоящую из линий связи. Каждый запрос на соединение – это запрос на путь между двумя узлами сети. Набор запросов, назначенных каналу, должен состоять из непересекающихся путей. Цель заключается в том, чтобы минимизировать количество используемых каналов (цветов). Запрос на соединение между <math>a</math> и <math>b</math> соответствует интервалу <math>[a, b]</math>, и цель состоит в том, чтобы свести к минимуму количество каналов, необходимых для обслуживания всех запросов. | ||
Еще один вариант применения, связанный с сетью, возникает, когда запросы имеют постоянную длительность c, и все запросы должны быть обслужены как можно быстрее. В этом случае цвета соответствуют временным интервалам, а общее количество цветов – длине расписания. | Еще один вариант применения, связанный с сетью, возникает, когда запросы имеют постоянную длительность <math>c</math>, и все запросы должны быть обслужены как можно быстрее. В этом случае цвета соответствуют временным интервалам, а общее количество цветов – длине расписания. | ||
Строка 72: | Строка 72: | ||
Варианты применения в сетях, упомянутые выше, поднимают более общую проблему, изучаемую в последние годы. В этих вариантах применения предполагается, что после удовлетворения запроса на соединение между двумя точками канал блокируется, по крайней мере, на время действия этого запроса. Интересный вопрос, поднятый Адами и Эрлебахом [ ], заключается в следующем. Предположим, что запрос состоит не только из запрашиваемого интервала, но и из требования к пропускной способности; то есть клиент канала связи указывает, какой именно объем канала ему нужен. Таким образом, в некоторых случаях возможно перекрытие запросов, использующих один и тот же канал. Требуется, чтобы в каждый момент времени сумма всех требований к пропускной способности запросов с общим цветом не превышала значения 1, которое является пропускной способностью канала. Эта задача называется онлайновой раскраской интервалов с учетом пропускной способности. В работе [ ] для этой задачи был разработан алгоритм с (большим) константным коэффициентом конкурентоспособности. Изначальная задача раскраски интервалов является частным случаем этой задачи, когда все запросы на пропускную способность равны 1. Заметим, что эта задача также является обобщением | Варианты применения в сетях, упомянутые выше, поднимают более общую проблему, изучаемую в последние годы. В этих вариантах применения предполагается, что после удовлетворения запроса на соединение между двумя точками канал блокируется, по крайней мере, на время действия этого запроса. Интересный вопрос, поднятый Адами и Эрлебахом [1], заключается в следующем. Предположим, что запрос состоит не только из запрашиваемого интервала, но и из требования к пропускной способности; то есть клиент канала связи указывает, какой именно объем канала ему нужен. Таким образом, в некоторых случаях возможно перекрытие запросов, использующих один и тот же канал. Требуется, чтобы в каждый момент времени сумма всех требований к пропускной способности запросов с общим цветом не превышала значения 1, которое является пропускной способностью канала. Эта задача называется ''онлайновой раскраской интервалов с учетом пропускной способности''. В работе [1] для этой задачи был разработан алгоритм с (большим) константным коэффициентом конкурентоспособности. Изначальная задача раскраски интервалов является частным случаем этой задачи, когда все запросы на пропускную способность равны 1. Заметим, что эта задача также является обобщением [[Задача_об_упаковке_в_контейнеры|задачи об упаковке в контейнеры]], поскольку упаковка контейнеров – это частный случай задачи, когда все запросы имеют общую точку. Азар и др. [2] разработали для этой задачи алгоритм с коэффициентом конкурентоспособности не более 10. Для этого они разделили запросы на четыре класса в зависимости от требований к пропускной способности и раскрасили каждый такой класс отдельно. Класс запросов с пропускной способностью в <math>(\frac{1}{2}, 1]</math> был раскрашен с помощью базового алгоритма из [11], поскольку два таких запроса, раскрашенных одним цветом, не могут пересекаться. Два других класса, а именно <math>(0, \frac{1}{4}]</math> и <math>(\frac{1}{4}, \frac{1}{2}]</math>, были раскрашены с помощью адаптированного алгоритма из [11]. Эпстайн и Леви [7, 8] разработали улучшенные нижние границы коэффициента конкурентоспособности, показав, что онлайновая раскраска интервалов с учетом пропускной способности сложнее, чем просто онлайновая раскраска интервалов. | ||
Еще одна задача, связанная с раскраской, – это задача о максимальной раскраске. В этой задаче каждому интервалу присваивается неотрицательный вес. Если задана раскраска, то весом цвета считается максимальный вес любой вершины этого цвета. Цель заключается в том, чтобы минимизировать сумму весов используемых цветов. Заметим, что если все веса равны 1, то задача о максимальной раскраске сводится к задаче раскраски графа. Пеммараджу, Раман и Варадараджан [13] исследовали оффлайновую задачу максимальной раскраски для графов интервалов. Они применили алгоритм, основанный на алгоритме из работы [ ]. Таким образом, они сортируют интервалы в соответствии с их весами в монотонном невозрастающем порядке. Однако, поскольку их алгоритм не является онлайновым, они использовали указанное выше свойство, заключающееся в том, что каждый уровень на самом деле является 2-цветным и, таким образом, это приводит к оффлайновой 2-аппроксимации задачи о максимальной раскраске на графах интервалов. | Еще одна задача, связанная с раскраской, – это задача о ''максимальной раскраске''. В этой задаче каждому интервалу присваивается неотрицательный вес. Если задана раскраска, то весом цвета считается максимальный вес любой вершины этого цвета. Цель заключается в том, чтобы минимизировать сумму весов используемых цветов. Заметим, что если все веса равны 1, то задача о максимальной раскраске сводится к задаче раскраски графа. Пеммараджу, Раман и Варадараджан [13] исследовали ''оффлайновую'' задачу максимальной раскраски для графов интервалов. Они применили алгоритм, основанный на алгоритме из работы [11]. Таким образом, они сортируют интервалы в соответствии с их весами в монотонном невозрастающем порядке. Однако, поскольку их алгоритм не является онлайновым, они использовали указанное выше свойство, заключающееся в том, что каждый уровень на самом деле является 2-цветным и, таким образом, это приводит к оффлайновой 2-аппроксимации задачи о максимальной раскраске на графах интервалов. | ||
Эпстайн и Левин [ ] исследовали онлайновую задачу о максимальной раскраске на графах интервалов. Они разработали редукцию общего вида, позволяющую преобразовать алгоритмы для раскраски графов в алгоритмы для максимальной раскраски. Снижение коэффициента конкурентоспособности составляет мультипликативный коэффициент 4 для детерминированных и e | Эпстайн и Левин [5] исследовали онлайновую задачу о максимальной раскраске на графах интервалов. Они разработали редукцию общего вида, позволяющую преобразовать алгоритмы для раскраски графов в алгоритмы для максимальной раскраски. Снижение коэффициента конкурентоспособности составляет мультипликативный коэффициент 4 для детерминированных и <math>e \approx 2,718</math> – для рандомизированных алгоритмов. Таким образом, используя алгоритм из [11] в качестве черного ящика, они получили 12-конкурентный детерминированный алгоритм и <math>З \cdot e \approx 8,155</math>-конкурентный рандомизированный алгоритм. Другим результатом [5] является нижняя граница коэффициента конкурентоспособности любого рандомизированного алгоритма, равная 4. | ||
== Открытые вопросы == | == Открытые вопросы == |
правок