В теории графов древовидная ширина неориентированного графа — это целое число, которое неформально указывает, насколько граф далек от того, чтобы быть деревом . Наименьшая древовидная ширина равна 1; графы с древовидной шириной 1 — это в точности деревья и леса . Графы с древовидной шириной не более 2 — это последовательно-параллельные графы . Максимальные графы с древовидной шириной точно k называются k -деревьями , а графы с древовидной шириной не более k называются частичными k -деревьями . [1] Многие другие хорошо изученные семейства графов также имеют ограниченную древовидную ширину.
Ширина дерева может быть формально определена несколькими эквивалентными способами: в терминах размера наибольшего множества вершин в древовидной декомпозиции графа, в терминах размера наибольшей клики в хордовом завершении графа, в терминах максимального порядка убежища , описывающего стратегию для игры преследования-уклонения на графе, или в терминах максимального порядка ежевики , набора связанных подграфов, которые все касаются друг друга.
Ширина дерева обычно используется как параметр в параметризованном анализе сложности графовых алгоритмов . Многие алгоритмы, которые являются NP-трудными для общих графов, становятся проще, когда ширина дерева ограничена константой.
Концепция ширины дерева была первоначально введена Умберто Бертеле и Франческо Бриоски (1972) под названием размерность . Позднее она была переоткрыта Рудольфом Халином (1976) на основе свойств, которые она разделяет с другим параметром графа, числом Хадвигера . Позже она была снова переоткрыта Нилом Робертсоном и Полом Сеймуром (1984) и с тех пор изучалась многими другими авторами. [2]
Древовидная декомпозиция графа G = ( V , E ) — это дерево T с узлами X 1 , …, X n , где каждый X i является подмножеством V , удовлетворяющим следующим свойствам [3] (термин узел используется для обозначения вершины T , чтобы избежать путаницы с вершинами G ):
Ширина древовидной декомпозиции — это размер ее наибольшего множества X i минус один. Древовидная ширина tw( G ) графа G — это минимальная ширина среди всех возможных древовидных декомпозиций G . В этом определении размер наибольшего множества уменьшается на единицу, чтобы сделать древовидную ширину дерева равной единице.
Эквивалентно, ширина дерева G на единицу меньше размера наибольшей клики в хордальном графе, содержащем G с наименьшим номером клики . Хордальный граф с таким размером клики может быть получен путем добавления к G ребра между каждыми двумя вершинами, которые обе принадлежат хотя бы одному из множеств X i .
Древовидную ширину также можно охарактеризовать в терминах убежищ , функций, описывающих стратегию уклонения для определенной игры преследования-уклонения, определенной на графе. Граф G имеет древовидную ширину k тогда и только тогда, когда у него есть убежище порядка k + 1 , но не более высокого порядка, где убежище порядка k + 1 — это функция β , которая отображает каждое множество X из не более чем k вершин в G в одну из связных компонент G \ X и которая подчиняется свойству монотонности , что β ( Y ) ⊆ β ( X ) всякий раз, когда X ⊆ Y .
Аналогичную характеристику можно также сделать с использованием ежевики , семейства связанных подграфов, которые все касаются друг друга (что означает, что они либо имеют общую вершину, либо соединены ребром). [4] Порядок ежевики — это наименьшее множество попаданий для семейства подграфов, а древовидная ширина графа на единицу меньше максимального порядка ежевики.
Каждый полный граф K n имеет древесную ширину n – 1. Это легче всего увидеть, используя определение древесной ширины в терминах хордовых графов: полный граф уже является хордовым, и добавление большего количества ребер не может уменьшить размер его наибольшей клики.
Связный граф с по крайней мере двумя вершинами имеет древесную ширину 1 тогда и только тогда, когда он является деревом. Дерево имеет древесную ширину один по тем же соображениям, что и для полных графов (а именно, оно хордальное и имеет максимальный размер клики два). Обратно, если граф имеет цикл, то каждое хордовое завершение графа включает по крайней мере один треугольник, состоящий из трех последовательных вершин цикла, из чего следует, что его древесная ширина равна по крайней мере двум.
Для любой фиксированной константы k графы с древовидной шириной не более k называются частичными k -деревьями . Другие семейства графов с ограниченной древовидной шириной включают кактусовые графы , псевдолеса , последовательно-параллельные графы , внешнепланарные графы , графы Халина и сети Аполлона . [5] Графы потока управления, возникающие при компиляции структурированных программ , также имеют ограниченную древовидную ширину, что позволяет эффективно выполнять на них определенные задачи, такие как распределение регистров . [6]
Планарные графы не имеют ограниченной древесной ширины, поскольку граф сетки n × n является планарным графом с древесной шириной ровно n . Следовательно, если F является замкнутым по минорам семейством графов с ограниченной древесной шириной, оно не может включать все планарные графы. И наоборот, если некоторый планарный граф не может встречаться как минор для графов в семействе F , то существует константа k такая, что все графы в F имеют древесную ширину не более k . То есть, следующие три условия эквивалентны друг другу: [7]
Для каждого конечного значения k графы древесной ширины не более k могут быть охарактеризованы конечным набором запрещённых миноров . (То есть любой граф древесной ширины > k включает в себя один из графов в наборе в качестве минора.) Каждый из этих наборов запрещённых миноров включает в себя по крайней мере один планарный граф.
Для больших значений k число запрещенных миноров растет по крайней мере так же быстро, как экспонента квадратного корня из k . [9] Однако известные верхние границы размера и числа запрещенных миноров намного выше этой нижней границы. [10]
Это NP-полная задача, чтобы определить, имеет ли заданный граф G древовидную ширину не более заданной переменной k . [11] Однако, когда k является любой фиксированной константой, графы с древовидной шириной k могут быть распознаны, и для них может быть построена древовидная декомпозиция ширины k за линейное время. [12] Зависимость этого алгоритма от времени k является экспоненциальной.
Из-за ролей, которые древовидная ширина играет в огромном количестве областей, были разработаны различные практические и теоретические алгоритмы вычисления древовидной ширины графа. В зависимости от приложения можно предпочесть лучшее отношение аппроксимации или лучшую зависимость времени выполнения от размера входных данных или древовидной ширины. В таблице ниже представлен обзор некоторых алгоритмов древовидной ширины. Здесь k — древовидная ширина, а n — количество вершин входного графа G. Каждый из алгоритмов выводит за время f ( k ) ⋅ g ( n ) разложение ширины, указанное в столбце «Аппроксимация». Например, алгоритм Бодлендера (1996) за время 2 O ( k 3 ) ⋅ n либо строит древовидную разложение входного графа G шириной не более k , либо сообщает, что древовидная ширина G больше k . Аналогично, алгоритм Бодлендера и др. (2016) за время 2 O ( k ) ⋅ n либо строит древовидную декомпозицию входного графа G шириной не более 5 k + 4 , либо сообщает, что древовидная ширина G больше k . Корхонен (2021) улучшил это до 2 k + 1 за то же время выполнения.
Неизвестно, является ли определение ширины дерева планарных графов NP-полной задачей или их ширина дерева может быть вычислена за полиномиальное время. [13]
На практике алгоритм Шойхета и Гейгера (1997) позволяет определить ширину дерева графов с числом вершин до 100 и шириной дерева до 11, находя хордовое завершение этих графов с оптимальной шириной дерева.
Для более крупных графов можно использовать методы поиска, такие как поиск ветвей и границ (BnB) и поиск по лучшему первому, чтобы вычислить ширину дерева. Эти алгоритмы всегда в том, что при ранней остановке они выведут верхнюю границу ширины дерева.
Первый алгоритм BnB для вычисления древовидной ширины, называемый алгоритмом QuickBB [14], был предложен Гогатом и Дехтером. [15] Поскольку качество любого алгоритма BnB сильно зависит от качества используемой нижней границы, Гогат и Дехтер [15] также предложили новый алгоритм для вычисления нижней границы древовидной ширины, называемый minor-min-width. [15] На высоком уровне алгоритм minor-min-width объединяет факты о том, что древовидная ширина графа никогда не превышает его минимальной степени или его минора , чтобы получить нижнюю границу древовидной ширины. Алгоритм minor-min-width многократно строит минор графа , стягивая ребро между вершиной минимальной степени и одним из ее соседей, пока не останется только одна вершина. Максимум минимальной степени по этим построенным минорам гарантированно будет нижней границей древовидной ширины графа.
Доу и Корф [16] улучшили алгоритм QuickBB, используя поиск по лучшему первому совпадению . На некоторых графах этот алгоритм поиска по лучшему первому совпадению на порядок быстрее, чем QuickBB.
В начале 1970-х годов было замечено, что большой класс задач комбинаторной оптимизации, определенных на графах, может быть эффективно решен с помощью не последовательного динамического программирования , пока граф имеет ограниченную размерность [17] , параметр, который, как показал Бодлендер (1998), эквивалентен древовидной ширине. Позднее, в конце 1980-х годов [18], несколько авторов независимо друг от друга заметили , что многие алгоритмические задачи, которые являются NP-полными для произвольных графов, могут быть эффективно решены с помощью динамического программирования для графов с ограниченной древовидной шириной, используя древовидные разложения этих графов.
Например, задача раскраски графа древовидной ширины k может быть решена с помощью алгоритма динамического программирования на древовидной декомпозиции графа. Для каждого множества X i древовидной декомпозиции и каждого разбиения вершин X i на цветовые классы алгоритм определяет, является ли эта раскраска допустимой и может ли она быть распространена на все дочерние узлы в древовидной декомпозиции, путем объединения информации аналогичного типа, вычисленной и сохраненной в этих узлах. Полученный алгоритм находит оптимальную раскраску n- вершинного графа за время O ( k k + O (1) n ) , ограничение по времени, которое делает эту задачу разрешимой с фиксированным параметром .
Для большого класса задач существует алгоритм линейного времени для решения задачи из класса, если предоставлена древовидная декомпозиция с постоянной ограниченной древовидной шириной. В частности, теорема Курселя [19] утверждает, что если графовая задача может быть выражена в логике графов с использованием монадической логики второго порядка , то она может быть решена за линейное время на графах с ограниченной древовидной шириной. Монадическая логика второго порядка — это язык для описания свойств графов, который использует следующие конструкции:
Рассмотрим, например, задачу 3-раскраски для графов. Для графа G = ( V , E ) эта задача спрашивает, возможно ли назначить каждой вершине v ∈ V один из 3 цветов так, чтобы никаким двум смежным вершинам не был назначен один и тот же цвет. Эту задачу можно выразить в монадической логике второго порядка следующим образом:
где W 1 , W 2 , W 3 представляют подмножества вершин, имеющих каждый из 3 цветов. Следовательно, согласно результатам Курселя, задача 3-раскраски может быть решена за линейное время для графа, заданного древовидной декомпозицией ограниченной постоянной древовидной ширины.
Ширина пути графа имеет очень похожее определение с древовидной шириной через древовидные декомпозиции, но ограничена древовидными декомпозициями, в которых базовое дерево декомпозиции является путевым графом . В качестве альтернативы, ширина пути может быть определена из интервальных графов аналогично определению древовидной ширины из хордовых графов. Как следствие, ширина пути графа всегда по крайней мере такая же большая, как его древовидная ширина, но она может быть больше только на логарифмический множитель. [5] Другой параметр, ширина полосы графа , имеет аналогичное определение из правильных интервальных графов и по крайней мере такая же большая, как путевая ширина. Другие связанные параметры включают глубину дерева , число, которое ограничено для семейства графов с минорной замкнутостью тогда и только тогда, когда семейство исключает путь, и вырожденность , меру разреженности графа, которая не больше его древовидной ширины.
Поскольку ширина дерева графа сетки n × n равна n , ширина дерева графа G всегда больше или равна размеру наибольшего квадратного минора сетки G . С другой стороны, теорема Робертсона и Сеймура о миноре сетки показывает, что существует неограниченная функция f такая, что наибольший квадратный минор сетки имеет размер не менее f ( r ) , где r — ширина дерева. [20] Наилучшие известные границы для f заключаются в том, что f должна быть не менее Ω( r d ) для некоторой фиксированной константы d > 0 и не более [21]
Для обозначения Ω в нижней границе см . обозначение big O. Более строгие границы известны для ограниченных семейств графов, что приводит к эффективным алгоритмам для многих задач оптимизации графов на этих семействах с помощью теории двумерности . [22] Теорема Халина о сетке дает аналог соотношения между шириной дерева и малым размером сетки для бесконечных графов. [23]
Говорят, что семейство графов F , замкнутое относительно взятия подграфов, имеет ограниченную локальную древесную ширину или свойство диаметр-древесная ширина , если древесная ширина графов в семействе ограничена сверху функцией их диаметра . Если класс также предполагается замкнутым относительно взятия миноров , то F имеет ограниченную локальную древесную ширину тогда и только тогда, когда один из запрещенных миноров для F является графом вершины . [24] Первоначальные доказательства этого результата показали, что древесная ширина в семействе графов, свободных от миноров вершины, растет не более чем дважды экспоненциально как функция диаметра; [25] позже это было сведено к одинарной экспоненциальной [22] и, наконец, к линейной границе. [26] Ограниченная локальная ширина дерева тесно связана с алгоритмической теорией двумерности , [27] и каждое свойство графа, определяемое в логике первого порядка, может быть определено для семейства графов без вершин и миноров за время, которое лишь немного сверхлинейно. [28]
Также возможно, что класс графов, не замкнутый относительно миноров, имеет ограниченную локальную древовидную ширину. В частности, это тривиально верно для класса графов ограниченной степени, поскольку подграфы ограниченного диаметра имеют ограниченный размер. Другой пример дают 1-планарные графы , графы, которые можно нарисовать на плоскости с одним пересечением на ребро, и, в более общем смысле, графы, которые можно нарисовать на поверхности ограниченного рода с ограниченным числом пересечений на ребро. Как и в случае с семействами графов, замкнутых относительно миноров, с ограниченной локальной древовидной шириной, это свойство указало путь к эффективным алгоритмам аппроксимации для этих графов. [29]
Халин (1976) определяет класс параметров графа, которые он называет S -функциями, которые включают ширину дерева. Эти функции из графов в целые числа должны быть равны нулю на графах без ребер , быть минорно-монотонными (функция f называется «минорно-монотонной», если всякий раз, когда H является минором G , выполняется f ( H ) ≤ f ( G ) ), увеличиваться на единицу при добавлении новой вершины, смежной со всеми предыдущими вершинами , и принимать большее значение из двух подграфов по обе стороны от разделителя клик . Набор всех таких функций образует полную решетку при операциях поэлементной минимизации и максимизации. Верхний элемент в этой решетке — ширина дерева, а нижний элемент — число Хадвигера , размер наибольшего полного минора в данном графе.
давняя открытая проблема заключается в том, существует ли алгоритм с полиномиальным временем для вычисления ширины дерева планарных графов.