Параметризованные алгоритмы графического представления графов: различия между версиями
Irina (обсуждение | вклад) м (→Ссылка на код) |
Irina (обсуждение | вклад) м (→Нотация) |
||
Строка 3: | Строка 3: | ||
== Нотация == | == Нотация == | ||
Граф G описывается множеством его вершин V и ребер E, т.е. G = (V, E), где <math>E \subseteq V \times V \;</math>. Обозначим за <math>N(v) \;</math> (открытую) [[окрестность]] вершины v, включающую все вершины, смежные с v; за <math>N[v] = N(v) \cup \{ v \} \;</math> – закрытую окрестность v; за <math>deg(v) = |N(v)| \;</math> – [[степень вершины]] v. Для множества вершин S, <math>N(S) = \bigcup_{v \in S} N(v) \;</math> и <math>N[S] = N(S) \cup S \;</math>. <math>G[S] \;</math> обозначает граф, порожденный множеством вершин, т.е. <math>G[S] = (S, E \cap (S \times S)) \;</math>. Граф G = (V, E) с множеством вершин V и множеством дуг <math>E \subseteq V \times V \;</math> является [[двудольный граф|двудольным]], если существует разбиение <math>V \;</math> на два множества <math>V_1 \;</math> и <math>V_2 \;</math>, такие, что <math>V = V_1 \cup V_2 \;</math>, <math>V_1 \cap V_2 = \empty \;</math> и <math>E \subseteq V_1 \times V_2 \;</math>. Для наглядности запишем это в следующем виде: <math>G = (V_1, V_2, E) \;</math>. | Граф G описывается множеством его вершин V и ребер E, т.е. G = (V, E), где <math>E \subseteq V \times V \;</math>. Обозначим за <math>N(v) \;</math> (открытую) [[окрестность]] вершины v, включающую все вершины, смежные с v; за <math>N[v] = N(v) \cup \{ v \} \;</math> – закрытую окрестность v; за <math>deg(v) = |N(v)| \;</math> – [[степень вершины]] v. Для множества вершин S, <math>N(S) = \bigcup_{v \in S} N(v) \;</math> и <math>N[S] = N(S) \cup S \;</math>. <math>G[S] \;</math> обозначает граф, порожденный множеством вершин S, т.е. <math>G[S] = (S, E \cap (S \times S)) \;</math>. Граф G = (V, E) с множеством вершин V и множеством дуг <math>E \subseteq V \times V \;</math> является [[двудольный граф|двудольным]], если существует разбиение <math>V \;</math> на два множества <math>V_1 \;</math> и <math>V_2 \;</math>, такие, что <math>V = V_1 \cup V_2 \;</math>, <math>V_1 \cap V_2 = \empty \;</math> и <math>E \subseteq V_1 \times V_2 \;</math>. Для наглядности запишем это в следующем виде: <math>G = (V_1, V_2, E) \;</math>. | ||
Версия от 15:10, 1 апреля 2016
Постановка задачи
Задача односторонней минимизации пересечений (One-sided crossing minimization, OSCM) может рассматриваться как некоторая форма построения двудольного графа
Нотация
Граф G описывается множеством его вершин V и ребер E, т.е. G = (V, E), где
Двухуровневое графическое представление двудольного графа G =
Задача 1 (k-OSCM)
Дано: простой двудольный граф с n вершинами
Требуется: если это возможно, найти такой линейный порядок
Возьмем для примера
Таким образом, при выборе упорядочения
На рис. 1 приведен пример конкретного графического представления двудольного графа. Является ли это представление оптимальным в смысле количества пересечений, предполагая, что порядок верхнего уровня фиксирован? В случаях, когда пересекаются более двух ребер, на рисунке указано количество пересечений. Все пересечения отмечены красными квадратами.
Рис. 1. Пример графа из задачи односторонней минимизации пересечений.
Вычислим матрицу количества пересечений (
Количество пересечений в данном графическом представлении может быть вычислено следующим образом:
Основные результаты
Для задач, для которых не предполагается существования полиномиальных алгоритмов, очень желательно найти точные алгоритмы с экспоненциальным временем исполнения.
Теорема 1 ([6]). Задача разрешимости, соответствующая k-OSCM, является NP-полной.
Далее будем предполагать, что
Проверить, существует ли порядок на
Теорема 2 ([3]).
Ранее введенное понятие является критически важным по следующим причинам:
Лемма 3.
Теорема 4 ([9]). Если k – минимальное количество пересечений ребер в экземпляре задачи OSCM (
Нагамочи предложил алгоритм аппроксимации с коэффициентом меньше 1,4664.
Далее, для любого
Лемма 5 ([5]). При любом оптимальном отношении порядка
Это означает, что все подходящие пары встречаются в своем естественном порядке.
Теперь можно сформулировать первый параметризованный алгоритм односторонней минимизации пересечений (OSCM), представляющий собой простой алгоритм поиска по дереву. По мере выполнения этого алгоритма последовательно строится подходящий порядок
Лемма 5 позволяет сформулировать следующее правило:
Правило RR1: Для каждой пары вершин {u, v} из
Алгоритм 1 представляет собой простой алгоритм поиска по дереву для задачи OSCM, последовательно применяющий правило RR1.
Лемма 6. OSCM можно вычислить за время
Доказательство. До того, как будет производиться какое-либо ветвление, выполняется редукция экземпляра графа таким образом, чтобы любая невключенная пара вершин {u, v} из
Этот простой алгоритм поиска по дереву можно улучшить. Во-первых, отметим, что нет необходимости ветвления в {x, y} С V2, если cxy = cyx. Это позволяет внести две модификации в Алгоритм 1:
• На строке 5 следует исключить
• На строке 12 следует произвольным образом включить некоторую пару
В результате модификаций получен алгоритм решения задачи OSCM с параметром
• Как эффективно вычислить все количества пересечений cxy на этапе предварительной обработки?
• Как интегрировать в алгоритм элементы ветвления и обрезки, полезные с практической точки зрения?
• Как обобщить алгоритм для экземпляров, допускающих наличие целочисленных весов у ребер (параллельных ребер)?
Дальнейшие улучшения возможны в результате более глубокого анализа локальных паттернов
Теорема 7. Задачу односторонней минимизации пересечений можно решить за время
Возможный вариант исполнения улучшенного алгоритма поиска по дереву приведен на рис. 2, а его (оптимальный) результат – на рис. 3.
Алгоритм 1. Алгоритм OSCM-ST-simple поиска по дереву для задачи OSCM
Рис. 2. Пример дерева поиска для задачи OSCM
Рис. 3. Оптимальное решение для экземпляра задачи
Варианты этой задачи и родственные ей проблемы широко рассматривались в литературе.
1. Изменение цели оптимизации: минимизация количества дуг, участвующих в пересечениях – одноуровневая планаризация. Как было отмечено в [7, 10], из теоремы 2 практически непосредственно следует идея алгоритма решения этой задачи с временем исполнения
2. Можно повысить число степеней свободы, рассматривая два или более уровня присваиваний в одно и то же время. Параметризованные алгоритмы для минимизации пересечений и для планаризации были предложены в [3, 7, 10].
3. Можно рассмотреть другие дополнительные ограничения на графическое построение или допустимые отношения порядка; так, в [8] были рассмотрены параметризованные алгоритмы для задачи двухуровневого присваивания, в которой допустимые отношения порядка были ограничены бинарными деревьями.
Применение
Помимо рассмотрения вопроса графического построения двудольных графов как задачи, интересной самой по себе (т.е., например, для качественного изображения диаграмм отношений), этот вопрос естественным образом возникает при применении так называемого подхода Судзиямы к построению иерархических графов [12]. Этот исключительно популярный подход решает задачу укладки иерархического графа в три этапа: (1) удаление циклов, (2) присваивание вершин уровням, (3) присваивание вершин уровням. Последний этап обычно реализуется посредством алгоритма с заметающей прямой, в процессе работы решающего несколько экземпляров задачи односторонней минимизации пересечений. Третий вариант задачи, упомянутый выше, находит множество важных вариантов применения в вычислительной биологии.
Открытые вопросы
Как и для всех алгоритмов с экспоненциальным временем исполнения, оказывается непросто улучшить это время или доказать определенную нижнюю границу времени исполнения при наличии разумных теоретико-сложностных предположений. Заметим, что негласные предположения, лежащие в основе подхода параметризованных алгоритмов, в данном сценарии полностью удовлетворяются: к примеру, графическое представление с большим количеством пересечений будет неприемлемым (если такая ситуация встретится на практике, придется прибегнуть к другому способу представления информации); таким образом, можно обоснованно предполагать, что параметр действительно окажется малым.
Это верно также для других NP-полных подзадач, относящихся к подходу Судзиямы. Однако на наличие простых решений рассчитывать не стоит. Например, для задачи построения множества ориентированных обратных дуг [1], эквивалентной первой фазе, неизвестно о существовании подходящего параметризованного алгоритма [2].
Экспериментальные результаты
Садермен [10] провел эксперименты практически со всеми вариантами данной задачи; в [11] некоторые из экспериментальных результатов представлены в более наглядной форме.
Ссылка на код
Несколько 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)