Научная статья на тему 'О раскраске графов в классе параллельных локальных алгоритмов'

О раскраске графов в классе параллельных локальных алгоритмов Текст научной статьи по специальности «Математика»

CC BY
1041
198
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
РАСКРАСКА ГРАФОВ / РАСПРЕДЕЛЕННЫЙ АЛГОРИТМ / ЛОКАЛЬНЫЙ АЛГОРИТМ / ЖАДНЫЙ АЛГОРИТМ / СОВЕР-ШЕННЫЕ ГРАФЫ / T-РАСКРАСКА / СУММИРУЮЩАЯ РАСКРАСКА

Аннотация научной статьи по математике, автор научной работы — Турсунбай Кызы Ы.

Одним из способов улучшения выполнения локального алгоритма является представление стратегии раскраски в алгоритм, который, как известно, является эффективным в нераспределенных алгоритмах. В статье показано, что применение некоторых эвристик последовательного алгоритма раскраски, таких как наибольшие-первые (НП), наи-меньшие-последние (ПН) и наибольшие-первые насыщенности (НПН), для некоторых классов графов и для частных случаев вершинной раскраски в локальных алгоритмах дают нам оптимальную или почти оптимальную раскраску.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «О раскраске графов в классе параллельных локальных алгоритмов»

ПРИКЛАДНАЯ МАТЕМАТИКА

УДК 519.174.7, 004.75

Ы.Турсунбай кызы

О РАСКРАСКЕ ГРАФОВ В КЛАССЕ ПАРАЛЛЕЛЬНЫХ ЛОКАЛЬНЫХ

АЛГОРИТМОВ

1. ВВЕДЕНИЕ.

1.1. Постановка задачи. Пусть О - конечный неориентированный граф с множеством вершин

V = {,...,уп} и множеством ребер Е = {,...,еп}.

Обозначим через n=\V\ , т=\Е\ и для каждой вершины V определим открытую окрестность

N(V) = {и : (и, V) е Е} и степень deg О V = N(V) .

Рассмотрим задачу раскраски графа О в классе параллельных локальных алгоритмов. Раскраской вершин графа О называется такое сопоставление цветов его вершинам, что никакие две смежные вершины не получают одинаковые цвета. Хроматическое число %(О) графа О определяется как наименьшее количество цветов в такой раскраске, а сама раскраска называется оптимальной раскраской графа. Задача раскраски графа заключается в поиске оптимальной раскраски.

Последовательные алгоритмы, обсуждаемые в данной работе, имеют практическое значение из-за многочисленности классов графов, для которых они всегда дают оптимальные или почти оптимальные результаты. Поэтому естественно сформулировать задачу построения локальных алгоритмов с аналогичными свойствами.

1.2. Локальные алгоритмы. Теория локальных алгоритмов ведет свое начало от работ Ю.И. Журавлева по локальным алгоритмам решения задач дискретной оптимизации, в том числе на графах [1, 2]. За рубежом работы в этом направлении начались в начале 80-х годов под флагом разработки алгоритмов для распределенных вычислений [3, 4, 5, 6]. Дальнейшее развитие этого подхода привело к понятию последовательного, параллельного, а также вычислительного локального алгоритма [7]. Автором статьи была доказана разрешимость в классе локальных алгоритмов таких задач как отыскание бикомпонент в ориентированном графе [8] и разделяющих вершин и блоков в неориентированном графе, подсчет числа вершин в графе (заодно и задачи нумерации графа) [7], нахождение вершин с наибольшей степенью [10] и др.

Полное определение локального алгоритма можно найти в работах [1, 7]. Здесь мы приведем более строгое определение локального алгоритма. Вначале сформулируем принцип локальности:

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

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

Локальным алгоритмом в общем смысле называется алгоритм, удовлетворяющий принципу локальности.

Из этого определения, в частности, следует что локальный алгоритм не использует глобальных операций в смысле, поясненном выше, и не получает информации иначе, нежели использование информации из локальной памяти соседей. Это означает, что в основе любого локального алгоритма лежит организация взаимодействия с соседними вершинами и пересылка локальной информации.

Локальный алгоритм называется параллельным локальным алгоритмом, если один шаг его состоит в одновременном и независимом перевычислении меток на всех вершинах графа на основании информации, полученной на предыдущем шаге [7].

Трудоемкость локального алгоритма можно оценивать по разному. Мы будем оценивать ее по числу шагов с учетом трудоемкости шага в алгоритмах параллелльного типа.

1.3. Модель вычислений. Перейдем к описанию реализации локальных алгоритмов, а именно рассмотрим реализацию локальных алгоритмов на

сети процессоров, моделирующих структуру исследуемой граф-модели.

Вычислительная система, моделирующая топологию данного графа, есть множество однотипных процессоров, каждый из которых соответствует вершине графа. Каждый процессор имеет локальную память ограниченного объема. Два процессора связаны каналом связи, если соответствующие вершины в графе смежны. Каждый процессор может производить некоторые вычисления, а также посылать и принимать сообщения; он имеет достаточно возможностей для одновременной посылки сообщений всем своим соседям и достаточно памяти, чтобы хранить все поступившие к нему сообщения. О скорости передачи не делается никаких предположений, но наложения одного сообщения на другое на одном звене связи не допускается. Ни центрального процессора, ни общей памяти в любом виде, ни таймера или другой какой синхронизации в такой системе не допускается. Системы подобного типа производят децентрализованную обработку информации и получаемый результат есть итог взаимодействия процессоров. Окончание вычислений наступает, когда каждая вершина придет в такое состояние, в котором она не посылает сообщений и не воспринимает сигналов и граф становится «мертвым».

Исследования данных систем привело к появлению так называемых эхо- или распределенных алгоритмов решения некоторых теоретикографовых задач [10, 5]. В последние годы все большее внимание уделяется распределенным системам и распределенной обработке информации. В [11,12] доказано, что распределенный алгоритм есть локальный вычислительный алгоритм порядка I, но понятие локального алгоритма шире и включает в себя возможности работы с полной окрестностью первого порядка, а также с окрестностями более высокого порядка, чего нет в распределенных алгоритмах.

Данная распределенная модель раскраски может быть использована в распределенных беспроводных сетях для устранения столкновений пакетов путем назначения ортогональных кодов радиостанциям [13].

1.4. Алгоритм жадной раскраски в контексте локальных алгоритмов.

Для упорядоченного множества вершин

V1, к, Vn графа О последовательной раскраской, отвечающей этому порядку, называется раскраска, использующая каждый из цветов с1,..., ск и определяемая следующей стратегией жадного алгоритма:

а) вершине V1 приписан цвет с1 ;

б) если подграф Н, v 1 , порожденный

\Ч,,,Ф,Ч-1/

вершинами v1,..., vг■_1, к' -раскрашен, к' < 1 — 1, то вершина vi получает цвет ст , где т < к' +1,

т.е. цвет с наименьшим номером, не встречающийся на смежных с вершиной Уі вершинах.

Рассмотрим различные стратегии при организации последовательных раскрасок; их более детальное описание можно найти в [14, 15].

• НП-алгоритмом называется алгоритм, основанный на НП-упорядочении («наибольшие -первыми») вершин в соответствии с убыванием их степеней и нахождения по нему раскраски графа.

• ПН-алгоритмом называется алгоритм, основанный на ПН-упорядочении («последними -наименьшие») вершин, которая строится следующим образом:

а) для П = |К| в качестве Уп выбирается вершина минимальной степени в графе G;

б) для і = п — 1, П — 2, к ,2,1 в качестве Уі выбирается вершина минимальной степени в подграфе н

(У\{Уп ,...^1+1}) .

• Степенью насыщения вершины V в частично раскрашенном графе называется число различных цветов на смежных с V вершинах. НПН (Б8АТиЯ)-алгоритмом называется алгоритм, в котором последовательно окрашиваются вершины с наибольшей степенью насыщения (в начале алгоритма, цвета получают вершины, имеющие наибольшую степень).

В отличие от последовательных алгоритмов раскраски, в параллельных алгоритмах раскраски граф как бы рассыпается на множество окрестностей, для которых ещё не назначены цвета. Эти окрестности изучаются параллельно и независимо друг от друга. Полученная информация становится доступной только на следующем шаге.

При оценке выполнения локального алгоритма раскраски графа имеется не менее двух случайных переменных, вызывающих наш интерес: СА^) - количество цветов, используемых алгоритмом для раскраски графа G, и ТА(0) - количество шагов для раскраски.

Хорошим локальным алгоритмом считается алгоритм, в котором СА(0) близок к %(0) и ТА(0) является маленьким относительно числа вершин в G. Разность СА^) — х(&) может рассматриваться как мера эффективности алгоритма. Хотя, в общем случае аппроксимации %(0) в пределах фак-

1/7 Є

тора п является №-трудной задачей для всех є

> 0 [16].

2. ОСНОВНЫЕ РЕЗУЛЬТАТЫ.

Заметим, что не всегда легко добиться и скорости, и эффективности алгоритма. В работе [17] представлен распределенный алгоритм для раскраски графа в (Д +1) цветов, где Д - наибольшая степень вершины в графе. Время работы алгоритма 0(1о§ п). Будем называть этот алгоритм тривиальным. Данный алгоритм достаточно простой и быстрый, но не оптимальный. Действительно, количество цветов, используемых алгоритмом близ-

ко к А, даже если граф двудольный. Неудивительно, что тривиальный алгоритм не имеет механизма экономии цветов. Дальнейшее усовершенствование тривиального алгоритма предложено в [18], где приведен новый алгоритм для раскраски в O^ / log А) цвета, но этот алгоритм работает только на графах без триангуляторов.

Авторы работ [19, 2Q] представили детерминированный распределенный алгоритм для правильной раскраски кольца, использующий три цвета, со сложностью O (log*n). Обобщение данной техники может использоваться для раскраски корневых деревьев и произвольных графов с постоянной степенью в (А + 1) цветов за время O(log*n) [2Q]. Для произвольных графов (А + 1) раскраска может быть вычислена за время O(log*n + А2) [21] или O^ log n) [22]. Авторы [2З] представили распределенные методы нахождения раскрасок в графах, допускающих раскраску в менее, чем А + 1 цветов. В работе [24] описан распределенный алгоритм для раскраски произвольных графов, использующий 0(А2 log n) раундов. Наконец, экспериментальное исследование различных алгоритмов раскрасок вершин дано в [25].

З. ЛОКАЛЬНЫЙ ПН-АЛГОРИТМ ДЛЯ РАСКРАСКИ w -СОВЕРШЕННЫХ ГРАФОВ

Принципиальные трудности, которые возникают при раскраске графа и нахождении его хроматического числа, вынуждают, во-первых, найти и исследовать практически интересные классы графов, для которых задача раскраски полиномиально разрешима, и, во-вторых, вычислить или оценить хроматическое число графа с помощью других, более легко вычисляемых характеристик графа.

Одной из важных характеристик, связанных с хроматическим числом, является число Секереша-Вилфа

w(G) = max£(G' ) +1,

G cG

где S(G') = min d,,(x) — минимальная степень

V ’ хєУ (G) G V ’

графа G’, а dG,(x) — степень вершины x в G’. w(G) в качестве верхней оценки хроматического числа впервые рассмотрена в работе Секереша и Вилфа [2б].

Важность этой характеристики заключается в том, что, во-первых, w(G) является довольно нетривиальной верхней оценкой для x(G) [27], т.е. класс графов, для которых w(G) =X(G) довольно большой и содержит в себе много практически интересных классов, и, во-вторых, она легко вычисляемая.

Граф, обладающий таким свойством, что хроматическое число и вырожденность (число Секе-реша-Вилфа) равны не только у самого графа, но и у каждого его порожденного подграфа называется w -совершенным графом.

Важным подклассом w -совершенных графов

являются хордальные (триангулированные) графы [28], т.е. такие графы, в которых каждый их цикл длины > 3 содержит хорду, т.е. ребро, соединяющее несмежные вершины простого цикла.

Более подробные определения и свойства W -совершенных графов приведены в [28, 29].

Для вычисления w(G) применяется ПН-упорядочение вершин [14, 30] графа G. По своему строению ПН - алгоритм приводит к раскраске не более, чем w(G) цветами. Для класса w -совершенных графов существует линейный по времени последовательный алгоритм минимальной раскраски [30].

Применим эвристику последовательного ПН-алгоритма для раскраски w -совершенных графов в классе параллельных локальных алгоритмов.

Теорема 1. Задача раскраски w -совершенных графов ПН-алгоритмом разрешима в классе параллельных локальных алгоритмов.

Доказательство. Для доказательства построим соответствующий локальный алгоритм. Пусть каждая вершина графа имеет параметры:

• степень: deg(v);

• случайное значение: rndvalue (v);

• номер, соответствующий ПН-

упорядочению: SLnumber (v) (в начале номера всех вершин равны единице, т.е. SLnumber (v)=1);

• показатель состояния параметра SLnumber: state (v), который имеет либо значение I (intermediate) - промежуточное, либо значение F (final) - конечное (в начале все вершины имеют промежуточное состояние, state(v)=I);

• количество соседних вершин, для которых не установлены конечные номера, т.е. cond (v) = I: ddeg (v) (в начале ddeg (v) = deg (v) );

• палитра «запрещенных» цветов, т.е. цвета, которые были использованы соседними вершинами: usedcolor (v) (в начале пустая).

Пусть Vi, V2 е V. Мы говорим, что вершина

V1 имеет более высокий приоритет чем V2 , если: ddeg (V1) < ddeg (V2) или (ddeg (V1) = ddeg (V2))

и (rndvalue (V1) < rndvalue (V2)).

На каждом шаге алгоритма все неокрашенные вершины параллельно и независимо друг от друга проделывают следующие действия.

1. Вершина v выбирает параметр rndvalue (v) е [0..1].

2. Посылает всем соседям следующие параметры: ddeg (v), rndvalue (v).

3. Сравнивает свои параметры с полученными от соседей параметрами и проверяет, которая из вершин имеет более высокий приоритет. Если вершина v имеет высокий приоритет, то она оставляет себе текущее значение параметра SLnumber и меняет значение параметра state (v) с промежуточного на конечный. В противном случае, увеличивает на единицу значение параметра

SLnumber.

4. Пересчитывает параметр ddeg (v). Если ddeg (v) = Q, т.е. всем смежным вершинам назначены конечные ПН-номера, увеличить на единицу значение параметра SLnumber и изменить значение параметра state (v) с промежуточного на конечный, переход к шагу 5, иначе переход к шагу 2.

5. Посылает всем соседям параметры: SLnum-ber (v) и первый предполагаемый цвет с наименьшим номером (не находящийся в списке «запрещенных»).

6. Сравнивает свои параметры с полученными от соседей, проверяет, какая вершина имеет наибольший SLnumber, если вершина имеет наибольший номер, то оставляет предполагаемый цвет и завершает все действия.

7. В противном случае обновляет список used-color (v), переход к шагу 5.

ПН-алгоритм можно условно разделить на два этапа.

1. Прямой ход. Каждой вершине, имеющей минимальную степень, устанавливается номер, соответствующий ПН - упорядочению (1—4 шаги).

2. Обратный ход. Производится раскраска графа G, начиная с вершин, которые имеют большие ПН-номера (5-7 шаги).

Покажем, что данный алгоритм действительно решает поставленную задачу.

Алгоритм заканчивается, когда все вершины графа приходят в состояние бездействия.

После получения вершиной v сообщений от смежных вершин (шаг 3), определяется её приоритет. Вершина, имеющая высокий приоритет, оставляет у себя текущий ПН-номер и изменяет состояние данного параметра на конечный, остальные вершины увеличивают свой ПН-номер на 1. Таким образом, на данном шаге всем неконфликтующим вершинам, имеющим наименьшие степени в своей окрестности назначаются одинаковые ПН-номера. В соответствующем последовательном ПН-алгоритме данные вершины получили бы монотонно увеличивающиеся последовательные номера. Когда всем вершинам будут назначены конечные ПН-номера, алгоритм начнет раскрашивание вершин графа в соответствии с их ПН-номерами. Приоритет оставления за собой предполагаемого цвета с наименьшим номером остается за вершинами с наибольшими ПН-номерами. Так как, в каждой «рассыпанной» окрестности графа в классе параллельных локальных алгоритмов имеется хотя бы одна вершина, имеющая наибольший ПН-номер и так как таких окрестностей в графе может быть несколько, то данные вершины могут быть раскрашены параллельно на одном шаге в один цвет. Данная операция гарантируется шагом б рассматриваемого алгоритма. Этот шаг также гарантирует окончание алгоритма после назначения цветов всем вершинам. Теорема доказана.

Проведем анализ данного алгоритма.

Лемма 1. На каждом шаге хотя бы одна вершина получает ПН-номер или цвет.

Доказательство. Ни одна вершина не получит ПН-номер, если существует вершина с более высоким приоритетом (1-й этап), и не получит цвет, если существует вершина с большим ПН-номер (2-й этап). Могут возникнуть случаи, когда несколько вершин имеют одинаковые минимальные степени, но можно пренебречь возникновением подобной ситуации, так как в таких случаях приоритет той или иной вершины определяет случайное значение rndvalue(v). Что касается ПН-номер, то они уникальны для каждой вершины графа. Лемма доказана.

Лемма 2. Параллельный локальный ПН-алгоритм для W -совершенных графов никогда не использует более А + 1 цветов.

Доказательство. Рассмотрим не раскрашенную вершину u на том шаге, где она получит свой цвет. В наихудшем случае, все соседние вершины будут раскрашены в разные цвета. Таким образом, u получит цвет со значением deg(u) +1 < А + 1.

Лемма доказана.

Лемма 3. В полном графе на каждом шаге будет назначен либо один ПН-номер, либо один новый цвет.

Доказательство: Следует из определения алгоритма. Лемма доказана.

Лемма 4. Параллельный локальный ПН-алгоритм оптимально или почти оптимально (c(G) - x(G) < 1) красит графы из класса W-

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

совершенных графов не более чем w(G) цветами за время O(A2 log n).

Отметим, что время выполнения параллельного локального ПН-алгоритма уменьшается до O(log n) для раскраски r-регулярных графов с n вершинами. Использованные оценки не являются строгими, и граница для сложности не эффективна при Д = &(n). Однако графы, которые возникают в приложениях модели раскраски распределенного графа, обычно являются разреженными. Так, если рассмотрим графы, для которых Д = 0(log n), тогда сложность алгоритма будет равна О (log3 n).

4. РАЗНОВИДНОСТИ РАСКРАСКИ ГРАФОВ

4.1. Г-раскраска графов. Т-раскраска графа G является обобщением вершинной раскраски графа, она была введена в качестве модели для назначения передатчикам радиочастот [31, 32, 33].

Предположим, что G - простой граф и T - конечное множество неотрицательных целых чисел, включая 0. T-раскраска графа G - это некоторая функция с, которая назначает целое число (цвет) каждой вершине так, что, если {u, v} е E, тогда

c(u) — c(v) £ T . Назовем множество T множеством запрещенных расстояний.

Задача Т-раскраски графа является одной из наиболее применимых задач реального мира таких

как транспортная фазировка, быстрое обслуживание [34] и назначение задач. В последнем случае большая задача делится на несовместимые подзадачи (например, из-за конфликтов ресурса) и задача заключается в назначении множества интервалов времени на каждую подзадачу так, чтобы несовместимые подзадачи рассматривались в различные интервалы времени [35].

Самым важным применением Т-раскраски остается назначение радиочастот передатчикам. Есть несколько передатчиков, расположенных в одной области. В данном случае, вершины представляют передатчики и цвета назначаются их частотам с учетом определенных ограничений на интерференцию, т.е. Т-ограничений [31]. Эти Т-ограничения выражены в форме ограничений на возможные распределения частот между вершинами. Более подробно о Т-раскраске представлено в работах [34, 35].

Есть различные варианты оптимизации Т-раскраски, которые отличаются минимизируемой целевой функцией [31, 35]. В одном из вариантов требуется определить Т-порядок (или Т-хроматическое число), то есть, минимальное число целых чисел для которых существует Т-раскраска. Другой вариант оптимизации требует определить Т-интервал, то есть, минимальную разность между использованными цветами, для которой существует Т-раскраска. Другой альтернативой является установление границы количества доступных цветов и такое требование, чтобы Т-раскраска минимизировала число нарушений заданного ограничения.

Отметим, что вершинная раскраска и Т-раскраска графа взаимосвязаны, каждая Т-раскраска в является вершинной раскраской в и каждая вершинная раскраска в является его (01-раскраской. Легко увидеть, что каждый граф в имеет бесконечное число Т-раскрасок и по меньшей мере только одна из них является оптимальной (е-оптимальной).

Алгоритм Т-В8АТиЯ - это применение одного хорошо известного полиномиального НПН (В8АТиЯ)-алгоритма для Т-раскраски графов. Т-В8АТиЯ [36] является алгоритмом раскраски с динамически назначаемым порядком вершин. Он начинается назначением цвета 1 вершине с максимальной степенью. Затем, используя принцип жадного алгоритма, последовательно раскрашиваются вершины с наибольшей степенью насыщения deg ^ (V). Если в графе имеются, по крайней

мере, две вершины с одинаковыми степенями насыщения, то алгоритм выберет вершину с максимальной степенью.

Из-за трудности и сложности данной задачи имеется довольно небольшое количество работ, относящихся к Т-раскраске графов. Коста первым предложил обобщение эвристики В8АТиЯ для Т-раскраски графов [37]. Вычислительная сложность последовательного алгоритма Т-В8АТиЯ

0(п2(тахТ+1)). Известно, что К3 - это наименьший граф, которого трудно раскрасить алгоритмом Т-Б8АТиЯ.

Теорема 2. Задача Г-раскраски графов НПН (Б8АТиЯ)-алгоритмом разрешима в классе параллельных локальных алгоритмов.

Доказательство. Рассмотрим параллельный локальный алгоритм раскраски графа, использующий стратегию последовательного НПН (Э8АТиЯ)-алгоритма. Алгоритм получается

некоторой модификацией локального ПН-алгоритма, которая включает введение нового параметра вершины deg ж (V) , соответствующего

степени насыщения; изменение приоритетов, а также включение элементов множества Г в список использованных цветов шеёсо1ог(V). Таким образом, данный список будет содержать не только цвета использованные соседями, но и все запрещенные цвета. Например, если Г={0,2} и вершина

V имеет двух раскрашенных соседей: их в цвет 1

и и2 в цвет 3, тогда список теёсо1ог(V) состоит из (1, 3, 5}.

Главное отличие данных алгоритмов в том, что если локальный ПН-алгоритм условно состоит из двух этапов (прямого и обратного хода), то локальный НПН (Э8АТиЯ)-алгоритм состоит всего из одного этапа (прямого хода), т.е. после сравнения вершиной V своих и полученных от смежных вершин параметров, назначаются цвета вершинам, имеющим высокие приоритеты.

Доказательство проводим аналогично доказательству теоремы 1. Теорема доказана.

Покажем, что самые популярные последовательные алгоритмы раскраски налагают строгие нижние границы на ожидаемое время вычислений в распределенной среде.

Лемма 5. [38] Для любого исполнения локального НП или НПН (Э8АТиЯ)-алгоритма требуется 0.(п) времени.

Хотя, параллельный локальный НПН (Э8АТиЯ)-алгоритм требует больше времени на выполнение, но при этом он использует меньшее число цветов для раскраски произвольных графов и дает меньший интервал, чем другие последовательные алгоритмы.

Двудольным графом называется граф, у которого существует такое разбиение множества вершин на две части (доли), что концы каждого ребра принадлежат разным долям.

Лемма 6. Параллельный локальный НПН (Э8АТиЯ)-алгоритм оптимально или почти оптимально красит все двудольные графы для произвольных множеств Т за время О(п).

4.2. Суммирующая раскраска графов. Задача суммирующей раскраски состоит в нахождении правильной вершинной раскраски графа, в которой минимизируется общая сумма цветов всех вершин графа. Эта минимальная общая сумма на-

зывается хроматической суммой графа, т.е.

Iв := т1п!(О,с),

где

I (в С) = 1^(О) С(У)

и с := V(О) ^ N - правильная вершинная раскраска графа О. Раскраска графа, при которой достигнута минимальная хроматическая сумма, называется оптимальной раскраской. Существуют графы, для которых оптимальная суммирующая раскраска требует больше цветов, чем их хроматическое число.

Идея раскраски графа, в которой минимизируется общая сумма цветов, впервые появилась в 1987 году в двух различных источниках. В работе [39] Кубика ввела понятие хроматической суммы графов в вышеописанном изложении, как разновидность обычной вершинной раскраски. Второй источник вершинной суммирующей раскраски возник из применения проектирования СБИС. Автор работы [40] представил задачу хроматического разбиения оптимальных затрат, которая очень схожа с задачей суммирующей раскраски. Данная задача заключается в нахождении правильной раскраски графа, использующей заданное множество цветов {с1, с2, ..., ск}, в которой минимизируется общая сумма цветов. Другими словами, это то же самое, что и определение суммирующей раскраски, лишь только с модификацией, что множеством цветов является определенное заданное множество, а не множество натуральных чисел.

Николоско и др. [41] связывают изучение задачи суммирующей раскраски с задачей проектирования СБИС, известной как задача трассировки сверхячейки. Задано множество сетей с двумя терминалами, которые должны быть связаны электрической сетью. Существует основная линия, на которой имеются сети и несколько параллельных горизонтальных равномерно распределенных каналов, расположенных на расстояниях й=\, 2, 3. от основной линии. Связь двух сетевых терминалов, чьи позиции задаются, должна быть составлена из двух вертикальных сегментов и одного горизонтального сегмента, где горизонтальный сегмент должен лежать на одном из каналов. Отметим, что перекрывающиеся сети не могут быть трассированы через один канал (рис. 1).

Рис.1. Пример задачи трассировки сверхячейки

Цель задачи состоит в том, чтобы минимизировать полную длину проводов для соединения сетей. Полная длина горизонтальных проводов

фиксирована и равна общей сумме расстояний двух терминалов сетей. Поэтому мы должны минимизировать сумму длин вертикальных проводов. Легко заметить, что эта задача эквивалентна задаче суммирующей раскраски ограниченного интервального графа.

Предположим, что Р - оптимальная вершинная раскраска графа О с к цветами. Обозначим множество вершин, окрашенных в цвет /, через С, где 1 < I < к. Поэтому, по определению,

I (О) = 1*=17'|С,| и, следовательно, |Сг| < |Сг+1|

для 1 < 7 < к. Ясно, что к >х(О). Можно предположить, что оптимальную вершинную раскраску можно получить, найдя правильную раскраску с Х(О) цветами и затем присваивая цвет 1 наибольшему цветному классу, цвет 2 - следующему наибольшему цветному классу и т.д. Однако, это не всегда дает нам оптимальную вершинную раскраску, даже для деревьев.

Отметим, что оптимальная вершинная раскраска может сильно отличаться от суммирующей раскраски, полученной использованием некоторой вершинной х(О)-раскраски.

Рассмотрим ещё одну стратегию последовательной раскраски графа, а именно, НП-алгоритм для суммирующей раскраски в классе параллельных локальных алгоритмов. Из определения НП-алгоритма известно, что данный алгоритм раскрашивает вершины графа в порядке убывания их степеней. Наш алгоритм является обратным к НП-алгоритму, т.е. вершины графа раскрашиваются в порядке возрастания их степеней.

Для рассматриваемого алгоритма справедлива следующая теорема.

Теорема 3. Задача суммирующей раскраски графов, с помощью обратного НП-алгоритма разрешима в классе параллельных локальных алгоритмов.

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

Приведем некоторые классы графов, для которых параллельный локальный обратный НП-алгоритм дает оптимальную суммирующую раскраску.

Теорема 4. Параллельный локальный обратный НП-алгоритм оптимально красит полные к-дольные графы.

Доказательство. При к=1 доказательство очевидно. Для доказательства истинности теоремы при \=к , предположим, что теорема справедлива

для 7=1,2....,£-7. . Пусть V = Р1 и Р2 и ... и Рк, где Р7 является независимым множеством графа

в. Пусть V Є Р является вершиной, получившей цвет на первом шаге. Заметим, что первый цвет будет присвоен только вершинам из Р7. Таким образом, после первого шага будет раскрашено некоторое количество вершин из Р7. На втором шаге вершины из Р7 = V \ Р7 добавляют цвет с номером 1 в список «запрещенных» цветов. Так, вершины из Р7, не раскрашенные на первом шаге получат цвет 1 без всякого конфликта на втором шаге. Теперь мы можем отдельно рассмотреть

вершины из Р7, где Р7 образует полный (£-7) -

дольный граф, который будет раскрашен к-1 цветами. Теорема доказана.

Теорема 5. Параллельный локальный обратный НП-алгоритм оптимально красит двудольное колесо BWk , для к > 2, не более чем за три шага.

Доказательство. Двудольное колесо - это граф, получаемый из четного цикла длиной 2к путем добавления центральной вершины, соединенной с каждой второй вершиной цикла.

На первом шаге цвет 1 получат вершины, не соединенные с центральной вершиной и имеющие наименьшие степени в графе, на втором шаге цвет

2 получат вершины, соединенные с центральной вершиной, и на третьем шаге центральная верши-

на без всяких конфликтов получит цвет 1. Теорема доказана.

Теорема 6. Параллельный локальный обратный НП-алгоритм оптимально красит двойную звезду за три шага.

Доказательство. Двойная звезда - это дерево с п-2 листьями.

На первом шаге будут раскрашены все листья в цвет 1, на втором и на третьем шагах будут раскрашены оставшиеся две вершины в цвета 2 и 3. Теорема доказана.

ЗАКЛЮЧЕНИЕ. В настоящей работе рассмотрена задача вершинной раскраски неориентированных графов в классе параллельных локальных алгоритмов. Выполнены вычислительные эксперименты для случайных графов применительно к предлагаемым алгоритмам. Все тесты сделаны в параллельной среде, где каждая вершина разделяет процесс. Все процессы работают независимо без центрального управления. Эксперименты показали, что применение известных стратегий последовательного алгоритма, опирающихся на упорядочение вершин в определенном порядке для раскраски определенных классов графов, а также для частных случаев вершинной раскраски графов дают оптимальные или почти оптимальные результаты. Для Т-раскраски и суммирующей раскраски графов рассмотрены основные области их применения.

СПИСОК ЛИТЕРАТУРЫ

1. Журавлев Ю.И. Локальные алгоритмы вычисления информации. 1. - Кибернетика, 1965, №1, с. 12-19.

2. Журавлев Ю.И. Алгоритмы построения минимальных дизъюнктивных нормальных форм для функций алгебры логики. - В кн.: Дискретная математика и математические вопросы кибернетики, Т .1, М., Наука, 1974, с. 67-98.

3. Averbuch B. A new distributed depth-first-search algorithm // Inf. Process. Lett. - 1985. - Vol.20, N 3. -P.147-150.

4. Chandy K.M., Mistra J. .Distributed computation on graphs: shortest path algorithms // Com. ACM. - 1982. -Vol. 25, N 11. - P. 833-837.

5. Chang E.J.H. Echo-algorithms: depth parallel operations on general graphs // IEEE Trans. On Software Eng.

- 1982. - Vol. SE-8, N 4. - P. 391-401.

6. Herman T., Chandy K.M. On distributed search // Inf. Process. Lett. - 1985. - v. 21, N 8. - с. 666-677.

7. Евстигнеев В.А. О некоторых свойствах локальных алгоритмов на графах // Комбинаторноалгебраические методы в прикладной математике. - Горький, Изд-во ГГУ, 1983. - с. 72-105.

8. Евстигнеев В.А. Локальный алгоритм отыскания бикомпонент в ориентированном графе. - ЖВМ, 1978, Т. 18, № 5, с. 1345-1349.

9. Евстигнеев В.А. Локальные вычислительные алгоритмы и нахождение вершин с наибольшей степенью в неориентированном графе // Комбинаторно-алгебраические методы в прикладной математике. - Горький, Изд-во ГГУ, 1981. - с. 60-66.

10. Dijastra E.W., Scholton C.S. Termination detection for diffusing computations // Inf. Process. Lett. - 1980. -V. 11, N 1. - P. 1-4.

11. Евстигнеев В.А. Локальные алгоритмы на графах и проблема децентрализованной обработки информации // II Всес. конф. по прикладной логике. Тез. докл. - Новосибирск, 1988. - с. 75-77.

12. Евстигнеев В.А. Локальные алгоритмы и распределенные вычисления // “Проблемы теоретической кибернетики”. Тез. докл. VIII Всес. конф. - Горький, 1988. - с. 113-114.

13. Battiti R., Bertossi A.A., Bonuccelli M.A. Assigning codes in wireless networks. Wireless Networks, 1999. -N.5. - P. 195-209.

14. Евстигнеев В.А. Применение теории графов в программировании. - М.: Наука, 1985. - 352 с.

15. Емеличев В.А., Мельников О.И., Сарванов В.И., Тышкевич Р.И. Лекции по теории графов. - М.: Наука, 1990.

16. Bellare M., Goldreich O., Sudan M. Free bits, PCPs and non-approximability - towards tight results. - SIAM J. Comp., 1998. - Vol.27. - P.8Q4-915.

17. Johansson О. Simple distributed А + 1 - coloring of graphs. - Inf. Process. Letters, 1999. - Vol. 7Q. - P. 229232.

18. Grable D.A., Panconesi A. Fast distributed algorithms for Brooks-Vizing colorings. - J. Algorithms, - 2QQQ. -Vol.37. - P. 85-12Q.

19. Cole R., Vishkin U. Deterministic Coin Tossing with Applications to Optimal Parallel List Ranking. - Inf. Control, 1986. - Vol.7Q. N.1. - P.32-53.

2Q. Goldberg A. V., Plotkin S. A. Parallel А + 1 -Coloring of Constant-degree Graphs. - Information Processing Letters, 1987. - N.25. - P.241-245.

21. Panconesi A., Rizzi R. Some Simple Distributed Algorithms for Sparse Networks. - Distributed Computing, 2QQ1. -Vol.14. N.2. - P.97-1QQ.

22. Goldberg A., PlotMn S., Shannon G. Parallel symmetry-breaking in sparse graphs. - Proc. of the 19th Annual ACM Conference on Theory of Computing (STOC), 1987. - P. 315-324.

23. Grable D. A., Panconesi A. Fast Distributed Algorithms for Brooks-Vizing Colorings. - Proc. of the 9th Annual ACM-SIAM Symposium on Discrete Al-gorithms (SODA), 1998. - P. 473-48Q.

24. Hansen J., Kubale M., Kuszner L., Nadolski A. Distributed Largest-first al-gorithm for graph coloring. - Proc. of EuroPar. - Lect. Notes Comput. Sci. - Springer-Verlag, 2QQ4. - Vol. 3149. - P. 527-539.

25. Panconesi A., Silvestri R. Experimental Analysis of Simple, Distributed Vertex Coloring Algorithms. Proc. of the 13th ACM-SIAM Symposium on Discrete Algorithms (SODA), 2QQ2. - P. 6Q6-615.

26. Szekeres G., Wilf H.S. An inequality for the chromatic number of a graph. - J. Combin. Theory, 1964. - Vol.4.

- P. 1-3.

27. Волошин В.И. Свойство триангулированных графов // Исслед. операций и программирования. Мат.наук. - Кишинев, 1982. - C.24-32.

28. Маркосян С.Е., Гаспарян Г.С. W -совершенные графы // Ученые записки. Ереван.гос.универ-т, 1987. -№3 - C.9-15.

29. Евстигнеев В.А. Хордальные графы и их свойства // Проблемы систем информатики и программирования. - Новосибирск, 1999. - С.33-64.

3Q. Matula D.W., Bleck L.L. Smallest-last ordering and dustering and graph coloring algorithms. - J. Assoc. Comput. Math, 1983. - Vol.3Q. N.3. - P.417-427.

31. Hale W.K. Frequency assignment: theory and applications. - Proc. of the IEEE, 198Q. - Vol.68. N.12. -P.1497-1514. 38.

32. Cozzens M. B., Roberts F. S. T-colorings of graphs and the channel assignment problem. - Congressus Nu-merantium, 1982. - Vol.35. - P.191-2Q8.

33. Simon H. U. Approximation algorithms for channel assignment in cellular radio networks. - In Fundamentals of Computation Theory. - Springer-Verlag, 1989. - Lect. Notes Comput. Sci. - Vol. 38Q. - P. 4Q5-415.

34. Roberts F. S. T-colorings of graphs: Recent results and open problems. - Discrete Mathematics, 1991. -Vol.93. N.2-3. - P.229-245.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

35. Tesman B. A. Set T-colorings. - Congressus Numerantium, 199Q. - N.77. - P.229-242.

36. Brelaz D. New methods to color the vertices of a graph. Communications of the ACM. - 1979. - V.22.N.4. -P.251 - 256.

37. Costa D. On the use of some known methods for T-colorings of graphs. Annals of Operations Research, -1993. - Vol.41. N.4. - P.343-358.

38. Kosowski A., Kuszner L. On greedy graph coloring in the distributed model - Proc. of EuroPar. - Lect. Notes Comput. Sci. - Springer-Verlag, 2QQ6. - Vol. 4128. - P. 592-6Q1.

39. Kubika E. The chromatic sum of a graph: Ph.D dissertation. - Western Michigan University, 1989.

4Q. Supowit K.J. Finding a maximum planar subset of nets in a channel // IEEE Trans. on Computer Aided Design (CAD). - 1987. - V.6.N. 1. - P. 93-94.

41. Nicolosco S., SarrafzadehM., SongX. On the sum coloring problem on interval graphs. - Algorithmica, 1999.

- Vol.23. - P. 1Q9-126.

□ Автор статьи:

Турсунбай кызы Ырысгуль (Tursunbay Yrysgul)

- преподаватель, Кыргызский национальный университет им.Ж.Баласагына (г. Бишкек, Кыргызстан).

Email: [email protected]

i Надоели баннеры? Вы всегда можете отключить рекламу.