Разложение дерева - Tree decomposition
В теория графов, а разложение дерева является отображением график в дерево который можно использовать для определения ширина дерева графа и ускорить решение некоторых вычислительных задач на графе.
Древовидные декомпозиции также называют соединительные деревья, кликовые деревья, или присоединяться к деревьям; они играют важную роль в таких проблемах, как вероятностный вывод, удовлетворение ограничений, оптимизация запросов,[нужна цитата ] и матричное разложение.
Концепция разложения дерева была первоначально введена Рудольф Халин (1976 ). Позже это было открыто заново Нил Робертсон и Пол Сеймур (1984 ) и с тех пор изучается многими другими авторами.[1]
Определение
Интуитивно древовидная декомпозиция представляет вершины данного графа. г как поддеревья дерева, таким образом, что вершины в данном графе смежны только тогда, когда соответствующие поддеревья пересекаются. Таким образом, г образует подграф из граф пересечений поддеревьев. Полный граф пересечений - это хордовый граф.
Каждое поддерево связывает вершину графа с набором узлов дерева. Чтобы определить это формально, мы представляем каждый узел дерева как набор связанных с ним вершин. Таким образом, для данного графа г = (V, E), разложение дерева - это пара (Икс, Т), где Икс = {Икс1, ..., Иксп} - это семейство подмножеств (иногда называемых сумки) из V, и Т дерево, узлами которого являются подмножества Икся, удовлетворяющие следующим свойствам:[2]
- Объединение всех множеств Икся равно V. То есть каждая вершина графа связана по крайней мере с одним узлом дерева.
- Для каждого ребра (v, ш) в графе существует подмножество Икся который содержит оба v и ш. То есть вершины смежны в графе только тогда, когда соответствующие поддеревья имеют общий узел.
- Если Икся и Иксj оба содержат вершину v, то все узлы Иксk дерева на (уникальном) пути между Икся и Иксj содержать v также. То есть узлы, связанные с вершиной v образуют связное подмножество Т. Это также известно как согласованность или свойство бегущего пересечения. Аналогично можно сказать, что если , и узлы, и находится на пути от к , тогда .
Древовидная декомпозиция графа далеко не единственная; например, тривиальное разложение дерева содержит все вершины графа в его единственном корневом узле.
Разбиение дерева, в котором базовое дерево является граф путей называется разложением пути, а параметр ширины, полученный из этих специальных типов разложения дерева, известен как ширина пути.
Разложение дерева (Икс, Т = (я, F)) ширины дерева k является гладкий; плавный, если для всех , и для всех .[3]
Минимальное количество деревьев в разложении дерева - это номер дерева из Г.
Ширина дерева
В ширина разложения дерева - это размер его наибольшего множества Икся минус один. В ширина дерева tw (г) графа г минимальная ширина среди всех возможных древовидных разложений г. В этом определении размер самого большого набора уменьшается на единицу, чтобы сделать ширину дерева равной единице. Ширина дерева также может быть определена из структур, отличных от древовидной декомпозиции, включая хордовые графы, ежевики, и убежища.
NP-полный, чтобы определить, г имеет ширину не более заданной переменной k.[4]Однако когда k - любая фиксированная константа, графики с шириной дерева k можно распознать, а ширина k построенное для них разложение дерева за линейное время.[3] Временная зависимость этого алгоритма от k экспоненциально.
Динамическое программирование
В начале 1970-х годов было замечено, что большой класс задач комбинаторной оптимизации, определенных на графах, может быть эффективно решен непоследовательными методами. динамическое программирование пока граф имел ограниченный измерение,[5] параметр, связанный с шириной дерева. Позже несколько авторов независимо друг от друга наблюдали, в конце 1980-х годов,[6] столько алгоритмических проблем, которые НП-полный для произвольных графов может быть эффективно решена динамическое программирование для графов с ограниченной древесной шириной, используя древовидные разложения этих графов.
В качестве примера рассмотрим задачу поиска максимальный независимый набор в графике ширины дерева k. Чтобы решить эту проблему, сначала произвольно выберите один из узлов разложения дерева в качестве корня. Для узла Икся разложения дерева, пусть Dя - объединение множеств Иксj спускающийся с Икся. Для независимого набора S ⊂ Икся, позволять А(S,я) обозначают размер наибольшего независимого подмножества я из Dя такой, что я ∩ Икся = S. Аналогично для соседней пары узлов Икся и Иксj, с участием Икся дальше от корня дерева, чем Иксj, и независимый набор S ⊂ Икся ∩ Иксj, позволять B(S,я,j) обозначают размер наибольшего независимого подмножества я из Dя такой, что я ∩ Икся ∩ Иксj = S. Мы можем рассчитать эти А и B значения путем обхода дерева снизу вверх:
где сумма в расчете находится над дочерними элементами узла .
На каждом узле или ребре не более 2k наборы S для которого нам нужно вычислить эти значения, поэтому, если k является константой, тогда весь расчет занимает постоянное время для каждого ребра или узла. Размер максимального независимого набора - это наибольшее значение, хранящееся в корневом узле, а сам максимальный независимый набор может быть найден (как это стандартно в алгоритмах динамического программирования) путем обратного отслеживания этих сохраненных значений, начиная с этого наибольшего значения. Таким образом, в графах с ограниченной шириной дерева задача о максимальном независимом множестве может быть решена за линейное время. Подобные алгоритмы применимы ко многим другим задачам с графами.
Этот подход динамического программирования используется в машинное обучение через алгоритм дерева соединений для распространение веры в графах ограниченной ширины дерева. Он также играет ключевую роль в алгоритмах вычисления ширины дерева и построения декомпозиций дерева: обычно такие алгоритмы имеют первый шаг, который приблизительно ширина дерева, построение разложения дерева с этой приблизительной шириной, а затем второй шаг, который выполняет динамическое программирование в приблизительном разложении дерева для вычисления точного значения ширины дерева.[3]
Смотрите также
- Ежевика и убежища - Два вида структур, которые можно использовать в качестве альтернативы древовидной декомпозиции при определении ширины дерева графа.
- Ветка-разложение - Тесно связанная структура, ширина которой находится в пределах постоянного множителя ширины дерева.
- Метод разложения - Древовидная декомпозиция используется в методе декомпозиции для решения проблемы удовлетворения ограничений.
Заметки
использованная литература
- Arnborg, S .; Корнейл, Д.; Проскуровский А. (1987), "Сложность нахождения вложений в k-дерево ", Журнал SIAM по матричному анализу и приложениям, 8 (2): 277–284, Дои:10.1137/0608024.
- Arnborg, S .; Проскуровский А. (1989), "Линейные временные алгоритмы для NP-трудных задач, ограниченных частичными k-деревья ", Дискретная прикладная математика, 23 (1): 11–24, Дои:10.1016 / 0166-218X (89) 90031-0.
- Bern, M. W .; Лоулер, Э.; Вонг, А. Л. (1987), "Вычисление за линейное время оптимальных подграфов разложимых графов", Журнал алгоритмов, 8 (2): 216–235, Дои:10.1016/0196-6774(87)90039-3.
- Бертеле, Умберто; Бриоски, Франческо (1972), Несерийное динамическое программирование, Academic Press, ISBN 0-12-093450-7.
- Бодландер, Ханс Л. (1988), «Динамическое программирование на графах с ограниченной шириной дерева», Proc. 15-й Международный коллоквиум по автоматам, языкам и программированию, Конспект лекций по информатике, 317, Springer-Verlag, стр. 105–118, Дои:10.1007/3-540-19488-6_110.
- Бодландер, Ханс Л. (1996), "Алгоритм линейного времени для нахождения древовидных разложений малой ширины", SIAM Журнал по вычислениям, 25 (6): 1305–1317, CiteSeerX 10.1.1.113.4539, Дои:10.1137 / S0097539793251219.
- Дистель, Рейнхард (2005), Теория графов (3-е изд.), Springer, ISBN 3-540-26182-6.
- Халин, Рудольф (1976), "S-функции для графиков », Журнал геометрии, 8: 171–186, Дои:10.1007 / BF01917434.
- Робертсон, Нил; Сеймур, Пол Д. (1984), "Миноры графа III: Планарная ширина дерева", Журнал комбинаторной теории, серия B, 36 (1): 49–64, Дои:10.1016/0095-8956(84)90013-3.