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

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

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

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

Определение [ править ]

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

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

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

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

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

Разложение дерева ( Х , Т = ( I , F )) от древесной ширины к является гладким , если для всех , и для всех . [3]

Минимальное количество деревьев в разложении дерева является дерево число из G.

Treewidth [ править ]

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

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

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

Динамическое программирование [ править ]

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

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

где сумма в вычислении превышает дочерние элементы узла .

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

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

См. Также [ править ]

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

Заметки [ править ]

  1. ^ Diestel (2005) pp.354-355
  2. ^ Diestel (2005) раздел 12.3
  3. ^ a b c Бодлендер (1996) .
  4. ^ Arnborg, Corneil & Proskurowski (1987) .
  5. ^ Bertele & Brioschi (1972) .
  6. ^ Арнборг и Проскуровски (1989) ; Берн, Лоулер и Вонг (1987) ; Бодлендер (1988) .

Ссылки [ править ]

  • Arnborg, S .; Корнейл, Д .; Proskurowski, А. (1987), "Сложность нахождения вложения в K -tree", SIAM журнал на матричный анализ и приложения , 8 (2): 277-284, DOI : 10,1137 / 0608024.
  • Arnborg, S .; Проскуровский А. (1989), "Алгоритмы с линейным временем для NP-сложных задач, ограниченных частичными k -деревьями", Дискретная прикладная математика , 23 (1): 11–24, DOI : 10.1016 / 0166-218X (89) 90031- 0.
  • Берн, МВт; Лоулер, Э.Л . ; Вонг, Л. (1987), "Линейное время вычисление оптимальных подграфов разлагаемых графов", журнал алгоритмы , 8 (2): 216-235, DOI : 10,1016 / 0196-6774 (87) 90039-3.
  • Бертеле, Умберто; Бриоски, Франческо (1972), Несерийное динамическое программирование , Academic Press, ISBN 0-12-093450-7.
  • Бодлендер, Ханс Л. (1988), "Динамическое программирование на графах с ограниченной шириной дерева", Proc. 15-й Международный коллоквиум по автоматам, языкам и программированию , конспект лекций по информатике, 317 , Springer-Verlag, стр. 105–118, doi : 10.1007 / 3-540-19488-6_110 CS1 maint: discouraged parameter (link).
  • Бодлендер, Ханс Л. (1996), «Алгоритм линейного времени для поиска разложения дерева с малой шириной дерева», SIAM Journal on Computing , 25 (6): 1305–1317, CiteSeerX  10.1.1.113.4539 , doi : 10.1137 / S0097539793251219 CS1 maint: discouraged parameter (link).
  • Дистель, Рейнхард (2005), Теория графов (3-е изд.), Springer , ISBN 3-540-26182-6.
  • Халин, Рудольф (1976), " S -функции для графов", журнал геометрии , 8 : 171-186, DOI : 10.1007 / BF01917434 CS1 maint: discouraged parameter (link).
  • Робертсон, Нил ; Сеймур, Пол Д. (1984), «Миноры графа III: плоская ширина дерева», журнал комбинаторной теории, серия B , 36 (1): 49–64, DOI : 10.1016 / 0095-8956 (84) 90013-3 CS1 maint: discouraged parameter (link).