stringtranslate.com

Разложение дерева

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

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

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

Концепция разложения дерева была первоначально введена Рудольфом Халином  (1976). Позднее она была переоткрыта Нилом Робертсоном и Полом Сеймуром  (1984) и с тех пор изучалась многими другими авторами. [2]

Определение

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

Каждое поддерево связывает вершину графа с набором узлов дерева. Чтобы определить это формально, мы представляем каждый узел дерева как набор вершин, связанных с ним. Таким образом, для заданного графа G = ( V , E ) , разложение дерева представляет собой пару ( X , T ) , где X = { X 1 , …, X n } — семейство подмножеств (иногда называемых сумками ) V , а T — дерево, узлы которого являются подмножествами X i , удовлетворяющими следующим свойствам: [3]

  1. Объединение всех множеств X i равно V. То есть каждая вершина графа связана по крайней мере с одним узлом дерева.
  2. Для каждого ребра ( v , w ) в графе существует подмножество X i , содержащее как v, так и w . То есть вершины являются смежными в графе только тогда, когда соответствующие поддеревья имеют общий узел.
  3. Если X i и X j оба содержат вершину v , то все узлы X k дерева в (уникальном) пути между X i и X j также содержат v . То есть узлы, связанные с вершиной v, образуют связное подмножество T . Это также известно как связность или свойство бегущего пересечения . Можно эквивалентно утверждать, что если X i , X j и X k являются узлами, а X k находится на пути от X i к X j , то .

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

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

Древовидная декомпозиция ( X , T = ( I , F )) древовидной ширины k является гладкой , если для всех и для всех . [4]

Ширина дерева

Два различных древовидных разложения одного и того же графа

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

NP-полной задачей является определение того, имеет ли заданный граф G древовидную ширину не более заданной переменной k . [5] Однако, когда k — любая фиксированная константа, графы с древовидной шириной k могут быть распознаны, и для них может быть построена древовидная декомпозиция ширины k за линейное время. [4] Зависимость этого алгоритма от времени k является экспоненциальной функцией k 3 .

Динамическое программирование

В начале 1970-х годов было замечено, что большой класс задач комбинаторной оптимизации, определенных на графах, может быть эффективно решен с помощью не последовательного динамического программирования, пока граф имеет ограниченную размерность [6] , параметр, связанный с древовидной шириной. Позже, в конце 1980-х годов, несколько авторов независимо друг от друга заметили [7], что многие алгоритмические задачи, которые являются NP-полными для произвольных графов, могут быть эффективно решены с помощью динамического программирования для графов с ограниченной древовидной шириной, используя древовидные разложения этих графов.

В качестве примера рассмотрим задачу поиска максимального независимого множества в графе с древовидной шириной k . Чтобы решить эту задачу, сначала произвольно выберем один из узлов разложения дерева в качестве корня. Для узла X i разложения дерева пусть D i будет объединением множеств X j , нисходящих от X i . Для независимого множества пусть A ( S , i ) обозначает размер наибольшего независимого подмножества I из D i такого, что Аналогично для смежной пары узлов X i и X j , где X i дальше от корня дерева, чем X j , и независимого множества пусть B ( S , i , j ) обозначает размер наибольшего независимого подмножества I из D i такого, что Мы можем вычислить эти значения A и B путем обхода дерева снизу вверх:

где сумма при вычислении берется по потомкам узла X i .

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

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

Смотрите также

Примечания

  1. ^ Готтлоб и др. (2012).
  2. ^ Дистель (2005) стр.354–355
  3. ^ Дистель (2005) раздел 12.3
  4. ^ abc Бодлендер (1996).
  5. ^ Арнборг, Корнейл и Проскуровски (1987).
  6. ^ Бертеле и Бриоски (1972).
  7. ^ Арнборг и Проскуровски (1989); Берн, Лоулер и Вонг (1987); Бодлендер (1988).

Ссылки