Параметризованные алгоритмы графического представления графов

Материал из WEGA
Версия от 16:43, 30 марта 2016; Irina (обсуждение | вклад) (Новая страница: «== Постановка задачи == Задача односторонней минимизации пересечений (ONE-SIDED CROSSING MINIMIZATION, OS…»)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)

Постановка задачи

Задача односторонней минимизации пересечений (ONE-SIDED CROSSING MINIMIZATION, OSCM) может рассматриваться как некоторая форма построения двудольного графа G = (V1, V2, E), у которого все вершины из разбиения Vi присвоены к одной и той же линии (также называемой уровнем) Li на плоскости, при этом L1 и L2 параллельны. Присваивание вершин к линии L1 фиксировано; присваивание к линии L2 свободно и выбирается таким образом, чтобы минимизировать количество пересечений между ребрами, представленными в виде отрезков прямых.


Нотация

Граф G описывается множеством его вершин V и ребер E, т.е. G = (V, E), где E С V x V. Обозначим за N(v) (открытую) окрестность вершины v, включающую все вершины, смежные с v; за N[v] = N(v) [ fvg – закрытую окрестность v; за deg(v) = jN(v)j – степень вершины v. Для множества вершин S, N(S) = Sv2S N(v) и N[S] = N(S) [ S. G[S] обозначает граф, порожденный множеством вершин, т.е. G[S] = (S;E \ (S x S)). Граф G = (V, E) с множеством вершин V и множеством дуг E С V x V является двудольным, если существует разбиение V на два множества V1 и V2, такие, что V = V1 [ V2, VI \ V2 = ; и E С V1 x V2. Для наглядности запишем это в следующем виде: G = (V1, V2, E).


Двухуровневое графическое представление двудольного графа G = (V1, V2, E) может быть описано при помощи двух отношений линейного порядка: <1 на V1 и <2 на V2. Это представление можно реализовать следующим образом: вершины из подмножества V1 располагаются на линии L1 (также называемой уровнем) в порядке, порождаемом отношением <1, а вершины из V2 располагаются на втором уровне L2, параллельном первому, в порядке, порождаемом отношением <2; затем следует изобразить прямолинейный отрезок для каждого ребра e = (u1, щ) из E, соединяющего точки, представляющие u1 и u2, соответственно. Пересечение представляет собой пару ребер e = (U1 ; u2) и f = (v1 ; v2), которые пересекаются в реализации двухуровневого графического представления (G; <1 ; <2). Хорошо известно, что два ребра пересекаются в том и только том случае, если щ <1 v1 и v2 <2 u2; иными словами, это понятие несет чисто комбинаторный смысл, не зависящий от конкретной реализации двухуровневого графического представления. Обозначим за cr(G; <1 ; <2) количество пересечений в описываемом двухуровневом представлении. В контексте представления графов, разумеется, очень желательно получить минимальное число пересечений. В самой простой (и, вероятно, самой важной) форме это выглядит следующим образом: порядок вершин на одном уровне фиксируется, задача заключается в минимизации количества пересечений путем выбора порядка на втором уровне. Более формально:


Задача 1 (k-OSCM)

Дано: простой двудольный граф с n вершинами G = (V1, V2, E) и отношение линейного порядка<1 на V1; неотрицательное целое число k (параметр).

Требуется: если это возможно, найти такой линейный порядок <2 на V2, что cr(G; <1; <2) < k. Если такого линейного порядка не существует, алгоритм должен выдать соответствующее сообщение.


Возьмем для примера G = (V1, V2, E) и <1 из задачи односторонней минимизации пересечений (OSCM) и две вершины u, v 2 V2.


Вычислим матрицу количества пересечений (cuv, crossing number matrix) для этого графа.

cuv a b с d e a — 4 5 0 1 b 1 — 1 0 0 с 3 3 - 0 1 d 3 2 3 - 1 e 2 3 2 0 -


Количество пересечений в данном графическом представлении может быть вычислено следующим образом: cab + cac + cad + cae + cbc + cbd + cbe + ccd + cce + cde = 13 :


Основные результаты

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


Теорема 1 ([6]). Задача разрешимости, соответствующая k-OSCM, является NP-полной. Далее будем предполагать, что G = (V1, V2, E) – экземпляр задачи OSCM с фиксированным порядком <1 на V1. Проверить, существует ли порядок на V2, позволяющий избежать пересечений, можно за полиномиальное время. Это наблюдение основывается на одной из следующих теоретико-графовых характеристик:


Теорема 2 ([3]). cr(G; <1; <2) = 0 в том и только том случае, если G является ациклическим и для любого пути (x, a;y) в G, x;y 2 V1, выполняется следующее: для всех u 2 V1 при x <1u <1 y единственным ребром, инцидентным u, если таковое существует, является (u, a).


Ранее введенное понятие является критически важным по следующим причинам:


Таким образом, при выборе упорядочения u <2 v необходимо рассматривать замкнутые окрестности u и v.


Рассмотрим следующий пример:


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


Рис. 1. Пример графа из задачи односторонней минимизации пересечений.


Лемма 3. Pu;v2V2;u<2v cuv = cr(G; <1 ; <2):


Теорема 4 ([ ]). Если k – минимальное количество пересечений ребер в экземпляре задачи OSCM (G = (V1, V2, E); <1), то ^ minfcuv; cvug < k < 1:4664 E minfcuv;cvug : =v

Нагамочи предложил алгоритм аппроксимации с коэффициентом меньше 1,4664.

Далее, для любого u 2 V2 with deg(u) > 0 обозначим за lu самого левого соседа u в L1, а за ru – самого правого. Две вершины u; v 2 V2 называются неподходящими, если существует некоторое x 2 N(u), такое, что lv <1 x <1 rv, либо существует некоторое x 2 N(v), такое, что lu <1 x <1 ru. В противном случае они называются подходящими. Заметим, что для подходящих {u, v} cuv • cvu = 0. Джумович и Уайтсайдз показали:


Лемма 5 ([5]). При любом оптимальном отношении порядка <2 на вершинах V2, u <2 v найдено, если ru <\ lv. Это означает, что все подходящие пары встречаются в своем естественном порядке.


Теперь можно сформулировать первый параметризованный алгоритм односторонней минимизации пересечений (OSCM), представляющий собой простой алгоритм поиска по дереву. По мере выполнения этого алгоритма последовательно строится подходящий порядок <2 на V2; при установлении отношения порядка между u и v на V2 в него будет включено u <2 v или v <2 u. Таким образом, обобщенный экземпляр задачи OSCM помимо двудольного графа G = (V1, V2, E) содержит отношение частичного порядка <2 на V2. Вершина v 2 V2 полностью включена, если для всех u 2 V2 \ U; VG, FU; VG включены.


Лемма 5 позволяет сформулировать следующее правило:

Правило RR1: Для каждой пары вершин {u, v} из V2 с cuv = 0 необходимо включить u <2 v. В приведенном примере d будет полностью включено в результате применения правила RR1, поскольку столбец d в матрице пересечений заполнен нулями; следовательно, в последующих действиях d можно игнорировать. Алгоритм 1 представляет собой простой алгоритм поиска по дереву для задачи OSCM, последовательно применяющий правило RR1.


Лемма 6. OSCM можно вычислить за время 0*{2k).

Доказательство. До того, как будет производиться какое-либо ветвление, выполняется редукция экземпляра графа таким образом, чтобы любая невключенная пара вершин {u, v} из V2 удовлетворяла условию minf cuv;cvug > 1. Следовательно, каждое рекурсивное ветвление уменьшает параметр как минимум на 1. □ Этот простой алгоритм поиска по дереву можно улучшить. Во-первых, отметим, что нет необходимости ветвления в {x, y} С V2, если cxy = cyx. Это позволяет внести две модификации в

Алгоритм 1: yx. • На строке 5 следует исключить cxy = c • На строке 12 следует произвольным образом включить некоторую пару {x, y} С V2, которая еще не была включена, и рекурсивно повторить действие; только если включены все пары {x, y} С V2, следует вернуть значение ДА.


В результате модификаций получен алгоритм решения задачи OSCM с параметром <9*(1.6182i). Он составляет ядро алгоритма Джумовича и Уайтсайдза [ ]. В их работе более детально обсуждаются следующие вопросы: • Как эффективно вычислить все количества пересечений cxy на этапе предварительной обработки? • Как интегрировать в алгоритм элементы ветвления и обрезки, полезные с практической точки зрения? • Как обобщить алгоритм для экземпляров, допускающих наличие целочисленных весов у ребер (параллельных ребер)?


Дальнейшие улучшения возможны в результате более глубокого анализа локальных паттернов {x, y} 2 V2, таких, что cxycyx — 2. Таким образом было показано:


Теорема 7. Задачу односторонней минимизации пересечений можно решить за время O*(lA656k). Возможный вариант исполнения улучшенного алгоритма поиска по дереву приведен на рис. 2, а его (оптимальный) результат – на рис. 3.


В различных публикациях рассматривались варианты этой задачи и родственные ей проблемы.

1. Изменение цели оптимизации: минимизация количества дуг, участвующих в пересечениях – одноуровневая планаризация. Как было отмечено в [7, 10], из теоремы 2 практически непосредственно следует идея алгоритма решения этой задачи с временем исполнения O*(3k), которое впоследствии было улучшено до O*(2k)m[W].

2. Можно повысить число степеней свободы, рассматривая два или более уровня присваиваний в одно и то же время. Параметризованные алгоритмы для минимизации пересечений и для планаризации были предложены в [3, 7, 10].

3. Можно рассмотреть другие дополнительные ограничения на графическое построение или допустимые отношения порядка; так, в [8] были рассмотрены параметризованные алгоритмы для задачи двухуровневого присваивания, в которой допустимые отношения порядка были ограничены бинарными деревьями.


Применение

Помимо рассмотрения вопроса графического построения двудольных графов как задачи, интересной самой по себе (т.е., например, для качественного изображения диаграмм отношений), этот вопрос естественным образом возникает при применении так называемого подхода Судзиямы к построению иерархических графов [12]. Этот исключительно популярный подход решает задачу укладки иерархического графа в три этапа: (1) удаление циклов, (2) присваивание вершин уровням, (3) присваивание вершин уровням. Последний этап обычно реализуется посредством алгоритма с заметающей прямой, в процессе работы решающего несколько экземпляров задачи односторонней минимизации пересечений. Третий вариант задачи, упомянутый выше, находит множество важных вариантов применения в вычислительной биологии.


Требуется: двудольный граф G = (V1, V2, E), целое число k, отношение линейного порядка<1 на V1, отношение частичного порядка <2 на V2. Результат: ДА в том и только том случае, если данный экземпляр задачи односторонней минимизации пересечений (OSCM) имеет решение repeat Исчерпывающим образом применить правила редукции, соответственно корректируя <2 и k. Определить вершины, порядок которых был установлен при помощи транзитивности, и соответствующим образом скорректировать <2 и k, до тех пор, пока не останется вариантов изменения <2 и k: if k < 0 or <2 содержит и (x, y), и (y; x) then return НЕТ. else if 9fx; у} С V2 : не имеет места ни x <2 y, y <2 x then if OSCM-ST-simple(G,fc- 1;<1;<2 [ f(x, y)g) then return ДА 10: else return OSCM-ST-simple(G ;k - 1; <b <2 [ f(y;x)g) end if else return ДА 15: end if


Алгоритм 1. Алгоритм OSCM-ST-simple поиска по дереву для задачи OSCM


Рис. 2. Пример дерева поиска для задачи OSCM


Рис. 3. Оптимальное решение для экземпляра задачи


Открытые вопросы

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


Это верно также для других NP-полных подзадач, относящихся к подходу Судзиямы. Однако на наличие простых решений рассчитывать не стоит. Например, для задачи построения множества ориентированных обратных дуг [ ], эквивалентной первой фазе, неизвестно о существовании подходящего параметризованного алгоритма [2].


Экспериментальные результаты

Садермен [10] провел эксперименты практически со всеми вариантами данной задачи; в [ ] некоторые из экспериментальных результатов представлены в более наглядной форме.


Ссылка на код

Несколько JAVA-апплетов для решения задач, упомянутых в данной статье, приведены Садерменом на http://cgm.cs.mcgill. ca/~msuder/.


См. также

Другие параметризованные алгоритмы поиска по дереву можно найти в совместной работе «Деревья поиска в задаче о вершинном покрытии» (Чен, Кань, Цзя).


Литература

1. Chen, J., Liu, Y., Lu, S., O'Sullivan, B., Razgon, I.: A Fixed-Parameter Algorithm for the Directed Feedback Vertex Set Problem. In: 40th ACM Symposium on Theory of Computing STOC 2008, May 17-20, Victoria (BC), Canada (2008)

2. Downey, R.G., Fellows, M.R.: Parameterized Complexity. Springer, Berlin (1999)

3. Dujmovic, V., Fellows, M.R., Hallett, M., Kitching, M., Liotta, G., McCartin, C., Nishimura, N., Ragde, P., Rosamond, F.A., Suderman, M., Whitesides, S., Wood, D.R.: A fixed-parameter approach to 2-layer planarization. Algorithmica 45, 159-182 (2006)

4. Dujmovic, V., Fernau, H., Kaufmann, M.: Fixed parameter algorithms for one-sided crossing minimization revisited. In: Liotta G. (ed.) Graph Drawing, 11th International Symposium GD 2003. LNCS, vol. 2912, pp. 332-344. Springer, Berlin (2004). A journal version has been accepted to J. Discret. Algorithms, see doi: 10.1016/j.jda.2006.12.008

5. Dujmovic, V., Whitesides, S.: An efficient fixed parameter tractable algorithm for 1-sided crossing minimization. Algorithmica 40,15-32 (2004)

6. Eades, P., Wormald, N.C.: Edge crossings in drawings of bipartite graphs. Algorithmica 11, 379^03 (1994)

7. Fernau, H.: Two-layer planarization: improving on parameterized algorithmics. J. Graph Algorithms Appl. 9, 205-238 (2005)

8. Fernau, H., Kaufmann, M., Poths, M.: Comparing trees via crossing minimization. In: Ramanujam R., Sen S. (eds.) Foundations of Software Technology and Theoretical Computer Science FSTTCS 2005. LNCS, vol. 3821, pp. 457-469. Springer, Berlin (2005)

9. Nagamochi, H.: An improved bound on the one-sided minimum crossing number in two-layered drawings. Discret. Comput. Geom. 33,569-591 (2005)

10. Suderman, M.: Layered Graph Drawing. Ph.D. thesis, McGill University, Montreal (2005)

11. Suderman, M., Whitesides, S.: Experiments with the fixed-parameter approach for two-layer planarization. J. Graph Algorithms Appl. 9(1), 149-163 (2005)

12. Sugiyama, K., Tagawa, S., Toda, M.: Methods for visual understanding of hierarchical system structures. IEEE Trans. Syst. Man Cybernet. 11 (2), 109-125 (1981)