stringtranslate.com

Модульная декомпозиция

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

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

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

Модули

Поскольку понятие модулей было заново открыто во многих областях, модули также назывались автономными множествами , однородными множествами , стабильными множествами , сгустками , комитетами , внешне связанными множествами , интервалами , неупрощаемыми подсетями и разделяющими множествами (Brandstädt, Le & Spinrad 1999). . Возможно, самая ранняя ссылка на них, а также первое описание модульных коэффициентов и разложения графов, которое они порождают, появились в ( Gallai 1967).

Модуль графа — это обобщение компонента связности . Связный компонент обладает тем свойством, что он представляет собой набор вершин, каждый член которого не является соседом каждой вершины, не принадлежащей . (Это объединение компонентов связности тогда и только тогда, когда оно обладает этим свойством.) В более общем смысле, модуль является модулем, если для каждой вершины либо каждый член не является соседом , либо каждый член является соседом .

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

В отличие от связных компонентов, модули графа такие же, как и модули его дополнения , и модули могут быть «вложенными»: один модуль может быть собственным подмножеством другого. Обратите внимание, что множество вершин графа является модулем, как и его одноэлементные подмножества и пустое множество; они называются тривиальными модулями . Граф может иметь или не иметь другие модули. Граф называется простым, если все его модули тривиальны.

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

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

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

Чтобы избежать возможности неоднозначности в приведенных выше определениях, дадим следующие формальные определения модулей. . является модулем if :

, и все синглтоны для являются модулями и называются тривиальными модулями . Граф является простым, если все его модули тривиальны. Связные компоненты графа или графа-дополнения также являются модулями графа .

является сильным модулем графа , если он не перекрывается ни с одним другим модулем : модуль , или или или .

Модульные коэффициенты и коэффициенты

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

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

На рисунке ниже вершина 1, вершины со 2 по 4, вершина 5, вершины 6 и 7 и вершины с 8 по 11 представляют собой модульный раздел. На верхней правой диаграмме ребра между этими наборами изображают частное, заданное этим разбиением, а ребра внутри наборов изображают соответствующие факторы.

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

Если — нетривиальное модульное разбиение, то это компактное представление всех ребер, имеющих концы в разных классах разбиения . Для каждого класса разбиения в подграф, индуцированный, называется фактором и дает представление всех ребер с обеими конечными точками в . Следовательно, ребра можно восстановить только по факторграфу и его факторам. Термин «граф простых чисел» возник из-за того, что граф простых чисел имеет только тривиальные факторы и факторы.

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

На рисунке ниже такое рекурсивное разложение представлено деревом, которое изображает один из способов рекурсивного разложения факторов исходного модульного разделения на более мелкие модульные разделы.

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

Модульная декомпозиция

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

Граф, его частное, в котором «мешки» вершин графа соответствуют дочерним элементам корня дерева модульного разложения, и его полное дерево модульного разложения: узлы серии обозначаются буквами «s», параллельные узлы «//» и простые числа. узлы «п».

Ниже приводится ключевое наблюдение для понимания модульной декомпозиции:

Если является модулем и является подмножеством , то является модулем , если и только если он является модулем .

В (Gallai, 1967) Галлай рекурсивно определил модульное разложение на графе с набором вершин следующим образом:

  1. В базовом случае, если у дерева только одна вершина, его модульное разложение представляет собой один узел дерева.
  2. Галлаи показал, что если связно и его дополнение связно, то максимальные модули, являющиеся собственными подмножествами, являются разбиением . Таким образом, они представляют собой модульную перегородку. Частное, которое они определяют, является простым. Корень дерева помечен как простой узел, и эти модули назначаются дочерними элементами . Поскольку они максимальны, каждый не представленный до сих пор модуль содержится в дочернем элементе . Для каждого потомка , замена деревом модульного разложения дает представление всех модулей , согласно ключевому наблюдению выше.
  3. Если несвязно, то его дополнение связно. Каждое объединение компонент связности является модулем . Все остальные модули являются подмножествами одного связного компонента. Здесь представлены все модули, за исключением подмножеств подключенных компонентов. Для каждого компонента замена деревом модульного разложения дает представление всех модулей , согласно ключевому наблюдению выше. Корень дерева помечается как параллельный узел и присоединяется вместо дочернего узла корня. Фактор, определенный детьми, является дополнением полного графа.
  4. Если дополнение отключено, то оно связно. Поддеревья, являющиеся дочерними, определяются симметрично случаю, когда несвязно, поскольку модули графа совпадают с модулями его дополнения. Корень дерева помечен последовательным узлом, а частное, определенное дочерними узлами, представляет собой полный граф.

Итоговое дерево имеет одноэлементные наборы вершин в качестве листьев из-за базового случая. Множество вершин является модулем тогда и только тогда, когда оно является узлом дерева или объединением детей последовательного или параллельного узла. Это неявно дает все модульные разделы . Именно в этом смысле дерево модулярного разложения «включает» все другие способы рекурсивного разложения на частное.

Алгоритмические проблемы

Структура данных для представления дерева модульной декомпозиции должна поддерживать операцию, которая вводит узел и возвращает набор вершин, которые этот узел представляет. Очевидный способ сделать это — назначить каждому узлу список вершин , которые он представляет. Учитывая указатель на узел, эта структура может возвращать набор вершин, которые она представляет во времени. Однако в худшем случае эта структура данных потребует места.

Представление модульного разложения

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

Модульное разложение, дополненное коэффициентом дочерних элементов каждого внутреннего узла, дает полное представление .

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

Многие комбинаторные задачи можно решить , решив задачу отдельно для каждого из этих отношений. Например, является графом сравнимости тогда и только тогда, когда каждое из этих факторов является графом сравнимости (Галлаи, 67; Мёринг, 85). Следовательно, чтобы выяснить, является ли граф графом сравнимости, нужно только выяснить, является ли таковым каждое из частных. Фактически, чтобы найти транзитивную ориентацию графа сравнимости, достаточно транзитивно ориентировать каждый из этих факторов его модульного разложения (Галлаи, 67; Мёринг, 85). Аналогичное явление применимо к графам перестановок (МакКоннелл и Спинрад '94), интервальным графам (Сюй и Ма '99), совершенным графам и другим классам графов. Некоторые важные задачи комбинаторной оптимизации на графах можно решить, используя аналогичную стратегию (Мёринг, 85).

Кографы — это графы, в дереве модульного разложения которых есть только параллельные или последовательные узлы.

Первый полиномиальный алгоритм для вычисления дерева модульной декомпозиции графа был опубликован в 1972 году (Джеймс, Стэнтон и Коуэн, 1972), а теперь доступны линейные алгоритмы (МакКоннелл и Спинрад, 1999, Теддер и др., 2007, Курнье и Хабиб, 1994).

Обобщения

Модульная декомпозиция ориентированных графов может быть выполнена за линейное время (МакКоннелл и де Монгольфье, 2005).

За небольшим количеством простых исключений, каждый граф с нетривиальным модульным разложением также имеет косое разбиение (Reed 2008).

Рекомендации

Внешние ссылки