Глубина дерева (теория графов)В теории графов глубина дерева связного неориентированного графа G — это числовой инвариант G, минимальная высота дерева Тремо для суперграфа графа G. Этот инвариант и близкие понятия встречаются под различными именами в литературе, включая число ранжирования вершин, упорядоченное хроматическое число и минимальная высота исключения дерева. Понятие близко также к таким понятиям, как циклический ранг ориентированных графов и высота итерации языка регулярных языков[1][2][3]. Интуитивно, если древесная ширина графа измеряет, насколько граф далёк от дерева, глубина дерева измеряет, насколько граф далёк от звезды. ОпределенияГлубину дерева графа G можно определить как минимальную высоту леса F со свойством, что любое ребро графа G соединяет пару вершин, связанных отношением предок-потомок в F[4]. Если G связен, этот лес должен быть единственным деревом. Лес не обязательно должен быть подграфом графа G, но если является, то это дерево Тремо для G. Множество пар предок-потомок в F образует тривиально совершенный граф, и высота F является размером наибольшей клики этого графа. Таким образом, глубину дерева можно альтернативно определить как размер наибольшей клики в тривиально совершенном суперграфе графа G, что является зеркальным отражением древесной ширины, которая на единицу меньше размера наибольшей клики в хордальном суперграфе графа G [5] Другое определение следующее:
где V — множество вершин графа G и — связные компоненты G[6]. Это определение зеркально отражает определение циклического ранга ориентированных графов, которое использует строгую связность и строго связанные компоненты вместо неориентированной связности и связных компонент. Глубину дерева можно определить с использованием раскраски графов. Центрированная раскраска графа — это раскраска вершин, имеющая свойство, что в любом связном порождённом подграфе есть цвет, который встречается ровно один раз. Тогда глубина дерева — это минимальный размер цветов, необходимых для центрированной раскраски графа. Если F — лес с высотой d, имеющий свойство, что любое ребро графа G соединяет предка и потомка в дереве, то можно получить центрированную раскраску графа G d цветами путём раскрашивания каждой вершины в цвет с номером, равным расстоянию от корня в графе F[7]. Наконец, можно определить его в терминах фишечной игры. Точнее, в точности как игра «полицейские-грабители». Представим следующую игру на неориентированном графе. Имеется два игрока, грабитель и полицейский. Грабитель имеет одну фишку, которую он двигает вдоль рёбер графа. Полицейский имеет неограниченное число фишек, но он хочет минимизировать число использованных фишек. Полицейский не может передвигать свои фишки, помещённые на граф. Игра происходит следующим образом. Грабитель размещает свою фишку, затем полицейский сообщает, куда он хочет поставить следующую фишку и грабитель после этого может передвинуть свою фишку вдоль рёбер, но не через занятые вершины. Игра завершается, когда полицейский помещает следующую фишку поверх фишки грабителя. Глубина дерева данного графа определяет минимальное число фишек, необходимых для гарантированного выигрыша[8][9]. Для звёзд достаточно двух фишек — размещаем первую фишку в центре звезды, вынуждая грабителя перейти в какой-нибудь луч, а затем помещаем вторую фишку на фишку грабителя. Для пути с вершинами полицейский использует стратегию двоичного поиска, которая гарантирует использование не более фишек. ПримерыГлубина дерева полного графа равна числу его вершин, и в этом случае единственным возможным лесом F, для которого любая пара вершин должна быть в отношении предок-потомок, является одиночный путь. Похожим образом глубина дерева полного двудольного графа Kx,y равна min(x,y) + 1, и как бы мы не располагали вершины, листья леса F должны иметь по меньшей мере min(x,y) предков в F. Лес, на котором достигается min(x,y) + 1, может быть построен путём образования пути из вершин меньшей по размеру доли графа, а вершины большей доли формируют листья дерева F, соединённые с нижней вершиной пути. Глубина дерева пути с n вершинами равна в точности . Лес F, представляющий этот путь с такой глубиной, можно образовать, поместив корень в среднюю точку пути F и продолжая рекурсию в двух меньших путях с обеих сторон от корня[10]. Глубина деревьев и связь с древесной ширинойЛюбой лес с n вершинами имеет древесную глубину O(log n). Для леса можно всегда найти постоянное число вершин, удаление которых даёт лес, который можно разделить на два меньших подлеса с максимум 2n/3 вершин в каждом. Рекурсивно деля эти два подлеса, легко можно достичь логарифмическую верхнюю границу древесной глубины. Та же техника, применённая к декомпозиции дерева графа, показывает, что если древесная ширина n-вершинного графа G равна t, тогда древесная глубина графа G равна O(t log n).[11][12] Поскольку внешнепланарные графы, параллельно-последовательные графы и графы Халина имеют ограниченную ширину деревьев, они все тоже имеют максимум логарифмическую глубину деревьев. В другом направлении ширина дерева графа не превосходит его глубину дерева. Точнее, ширина дерева не превосходит путевую ширину графа, которая максимум на единицу меньше его глубины дерева[11][13]. Миноры графаМинор графа G — это другой граф, образованный из подграфа графа G стягиванием некоторых рёбер. Глубина дерева монотонна по минорам — любой минор графа G имеет глубину дерева, не превосходящую глубину дерева самого графа G[14]. Таким образом, по теореме Робертсона-Сеймура, для любого фиксированного d множество графов с глубиной дерева, не превосходящей d, имеет конечное число запрещённых миноров. Если C — класс графов, замкнутых относительно образования миноров, то графы в C имеют древесную глубину тогда и только тогда, когда C не включает все пути[15]. Порождённые подграфыДревесная глубина имеет тесную связь с теорией порождённых подграфов графа. В классе графов, имеющих древесную глубину не более d (для любого фиксированного натурального d), свойство быть порождённым подграфом является вполне квазиупорядоченным[англ.][16]. Основная идея доказательства, что эта связь вполне квазиупорядоченна, заключается в использовании индукции по d. Леса высоты d можно интерпретировать как последовательность лесов высоты d − 1 (образованных удалением корней деревьев высоты d) и можно использовать лемму Хигмана[англ.], чтобы показать, что эти последовательности вполне квазиупорядоченны. Из вполне квазиупорядоченности вытекает, что любое свойство графа, монотонное по порождённым подграфам, имеет конечное число запрещённых порождённых подграфов, а потому может быть проверено за полиномиальное время на графах с ограниченной древесной глубиной. Графы с древесной глубиной, не превосходящей d, сами по себе имеют конечное число запрещённых порождённых подграфов. Нешетрил и Оссона де Мендез[17] показали 14 запрещённых подграфов для графов с древесной шириной три и менее (со ссылкой на тезисы диссертации 2007 года Зденека Дворака). Если C является классом графов с ограниченной вырожденностью, графы в множестве C имеют ограниченную древесную ширину тогда и только тогда, когда существует путь, который не может появиться в качестве порождённого подграфа в C[15]. СложностьОпределение глубины дерева является сложной вычислительной задачей — соответствующая задача распознавания NP-полна[18]. Задача остаётся NP-полной для двудольных графов[1], как и для хордальных графов[19]. Из положительных моментов — глубина дерева может быть вычислена за полиномиальное время для интервальных графов[20], как и для перестановочных графов, трапецеидальных графов, графов пересечений дуг окружностей, циклических перестановочных графов и графов косравнимости ограниченных размерностей[21]. Для неориентированных деревьев глубина дерева может быть вычислена за линейное время[22][23]. Бодлендер, Гилберт, Хафстейнссон и Клокс[11] предложили аппроксимационный алгоритм поиска глубины дерева c аппроксимационным коэффициентом . Алгоритм основан на факте, что глубина дерева логарифмически зависит от древесной ширины графа. Поскольку глубина дерева монотонна по минорам графа, задача её поиска фиксированно-параметрически разрешима[англ.] — существует алгоритм вычисления глубины дерева, работающий за время , где d — глубина данного графа и n — число вершин. Таким образом, для любого фиксированного значения d задача проверки, не превосходит ли глубина дерева значение d, может быть решена за полиномиальное время. Конкретнее — зависимость от n в этом алгоритме можно сделать линейной следующим способом: строим дерево поиска в глубину и проверяем, больше глубина дерева величины 2d или нет. Если больше, глубина дерева больше d и задача решена. Если нет, можно использовать построение дерева поиска на небольшую глубину для декомпозиции дерева и стандартную технику динамического программирования для графов с ограниченной древесной шириной, чтобы вычислить глубину за линейное время[24]. Более сложный алгоритм решения за линейное время, основанный на планарности исключаемых миноров при поиске в глубину, был предложен ранее Бодлендером, Деоганом, Дженсеном и Клоксом[1]. Улучшенный параметрический алгоритм см. у Райдля, Россманита, Вилламила и Сикдара[25]. Можно вычислить глубину дерева точно для графов, значение глубины для которых может быть велико, за время O(cn) с константой c, чуть меньшей 2.[26] Примечания
Литература
|