В теории графов дерево Тремо неориентированного графа — это тип остовного дерева , обобщающий деревья поиска в глубину . Они определяются свойством, что каждое ребро соединяет пару предок-потомок в дереве. Деревья Тремо названы в честь Шарля Пьера Тремо, французского автора 19 века, который использовал форму поиска в глубину в качестве стратегии для решения лабиринтов . [1] [2] Их также называют нормальными остовными деревьями , особенно в контексте бесконечных графов. [3] [4]
Все деревья поиска в глубину и все гамильтоновы пути являются деревьями Тремо. В конечных графах каждое дерево Тремо является деревом поиска в глубину, но хотя сам поиск в глубину по своей сути последователен, деревья Тремо могут быть построены рандомизированным параллельным алгоритмом в классе сложности RNC . Их можно использовать для определения глубины дерева графа и как часть теста планарности слева-направо для проверки того, является ли граф планарным графом . Характеризация деревьев Тремо в монадической логике второго порядка графов позволяет эффективно распознавать свойства графа, включающие ориентации , для графов ограниченной древовидной ширины с использованием теоремы Курселя .
Не каждый бесконечный связный граф имеет дерево Тремо, и не каждое бесконечное дерево Тремо является деревом поиска в глубину. Графы, имеющие деревья Тремо, могут быть охарактеризованы запрещенными минорами . Бесконечное дерево Тремо должно иметь ровно один бесконечный путь для каждого конца графа, а существование дерева Тремо характеризует графы, топологические завершения которых, образованные добавлением точки в бесконечности для каждого конца, являются метрическими пространствами .
Дерево Тремо для графа — это остовное дерево со свойством, что для каждого ребра в одна из двух конечных точек и является предком другого. Чтобы быть остовным деревом, оно должно использовать только ребра из и включать каждую вершину с уникальным конечным путем между каждой парой вершин. Кроме того, для определения отношения предок-потомок в этом дереве одна из его вершин должна быть обозначена как его корень.
Если конечный граф имеет гамильтонов путь , то укоренение этого пути в одной из двух его конечных точек дает дерево Тремо. Для такого пути каждая пара вершин является парой предок-потомок.
В графе, показанном ниже, дерево с ребрами 1–3, 2–3 и 3–4 является деревом Тремо, если его корень находится в вершине 1 или вершине 2: каждое ребро графа принадлежит дереву, за исключением ребра 1–2, которое (для этих выборов корня) соединяет пару предок-потомок.
Однако укоренение того же дерева в вершине 3 или вершине 4 приводит к образованию корневого дерева, которое не является деревом Тремо, поскольку при наличии этого корня 1 и 2 больше не являются предками и потомками друг друга.
Каждый конечный связный неориентированный граф имеет по крайней мере одно дерево Тремо. [4] Такое дерево можно построить, выполнив поиск в глубину и соединив каждую вершину (кроме начальной вершины поиска) с более ранней вершиной, из которой она была обнаружена. Дерево, построенное таким образом, известно как дерево поиска в глубину. Если — произвольное ребро в графе, и — более ранняя из двух вершин, до которых должен быть достигнут поиск, то должно принадлежать поддереву, спускающемуся с в дереве поиска в глубину, потому что поиск обязательно обнаружит во время исследования этого поддерева либо из одной из других вершин в поддереве, либо, в противном случае, непосредственно из. Каждое конечное дерево Тремо может быть сгенерировано как дерево поиска в глубину: Если — дерево Тремо конечного графа, и поиск в глубину исследует дочерние вершины в каждой вершине до исследования любых других вершин, он обязательно сгенерирует как свое дерево поиска в глубину.
P-полным является нахождение дерева Тремо, которое можно найти с помощью последовательного алгоритма поиска в глубину, в котором соседи каждой вершины ищутся в порядке их идентификаторов. [5] Тем не менее, можно найти другое дерево Тремо с помощью рандомизированного параллельного алгоритма , показывающего, что построение деревьев Тремо принадлежит к классу сложности RNC . Алгоритм основан на другом рандомизированном параллельном алгоритме для поиска совершенных паросочетаний минимального веса в графах со взвешиванием 0-1. [6] По состоянию на 1997 год оставалось неизвестным, можно ли выполнить построение дерева Тремо с помощью детерминированного параллельного алгоритма в классе сложности NC . [7] Если паросочетания можно найти в NC, то можно найти и деревья Тремо. [6]
Можно выразить свойство, что набор ребер с выбором корневой вершины образует дерево Тремо, в монадической логике второго порядка графов , а точнее в форме этой логики, называемой MSO 2 , которая допускает квантификацию как по наборам вершин, так и по наборам ребер. Это свойство можно выразить как конъюнкцию следующих свойств:
После того, как дерево Тремо было идентифицировано таким образом, можно описать ориентацию данного графа, также в монадической логике второго порядка, указав набор ребер, ориентация которых идет от конечной точки предка к конечной точке потомка. Остальные ребра вне этого набора должны быть ориентированы в другом направлении. Этот метод позволяет указывать свойства графа, включающие ориентации, в монадической логике второго порядка, позволяя эффективно проверять эти свойства на графах ограниченной ширины дерева с использованием теоремы Курселя . [8]
Если граф имеет гамильтонов путь , то этот путь (корень которого находится в одной из его конечных точек) также является деревом Тремо. Неориентированные графы, для которых каждое дерево Тремо имеет эту форму, — это графы циклов , полные графы и сбалансированные полные двудольные графы . [9]
Деревья Тремо тесно связаны с понятием глубины дерева . Глубина дерева графа может быть определена как наименьшее число , для которого существует граф с деревом Тремо высоты , таким, что является подграфом . Ограниченная глубина дерева в семействе графов эквивалентна существованию пути, который не может встречаться как минор графа графов в семействе. Многие сложные вычислительные задачи на графах имеют алгоритмы, которые являются фиксированно-параметрически разрешимыми при параметризации глубиной дерева их входов. [10]
Деревья Тремо также играют ключевую роль в критерии планарности Фрейссе-Розенштиля для проверки того, является ли заданный граф планарным . Согласно этому критерию, граф является планарным, если для заданного дерева Тремо оставшиеся ребра могут быть размещены согласованным образом слева или справа от дерева, при условии соблюдения ограничений, которые не позволяют ребрам с одинаковым размещением пересекаться друг с другом. [11]
Не каждый бесконечный граф имеет нормальное остовное дерево. Например, полный граф на несчетном множестве вершин не имеет его: нормальное остовное дерево в полном графе может быть только путем, но путь имеет только счетное число вершин. Однако каждый связный граф на счетном множестве вершин имеет нормальное остовное дерево. [3] [4]
Даже в счетных графах поиск в глубину может не привести к исследованию всего графа [3] , и не каждое нормальное остовное дерево может быть сгенерировано поиском в глубину: чтобы быть деревом поиска в глубину, счетное нормальное остовное дерево должно иметь только один бесконечный путь или один узел с бесконечным числом потомков (но не то и другое одновременно).
Если бесконечный граф имеет нормальное остовное дерево, то же самое имеет и любой связный граф-минор . Из этого следует, что графы, имеющие нормальные остовные деревья, имеют характеристику запрещенных миноров . Один из двух классов запрещенных миноров состоит из двудольных графов, в которых одна сторона двудольного деления счетна, другая сторона несчетна, и каждая вершина имеет бесконечную степень. Другой класс запрещенных миноров состоит из определенных графов, полученных из деревьев Ароншайна . [12]
Детали этой характеристики зависят от выбора теоретико-множественной аксиоматизации, используемой для формализации математики. В частности, в моделях теории множеств, для которых аксиома Мартина верна, а континуум-гипотеза ложна, класс двудольных графов в этой характеристике может быть заменен одним запрещенным минором. Однако для моделей, в которых континуум-гипотеза верна, этот класс содержит графы, несравнимые друг с другом в минорном порядке. [13]
Нормальные остовные деревья также тесно связаны с концами бесконечного графа, классами эквивалентности бесконечных путей, которые, интуитивно, уходят в бесконечность в том же направлении. Если граф имеет нормальное остовное дерево, это дерево должно иметь ровно один бесконечный путь для каждого из концов графа. [14]
Бесконечный граф можно использовать для формирования топологического пространства , рассматривая сам граф как симплициальный комплекс и добавляя точку в бесконечности для каждого конца графа. С этой топологией граф имеет нормальное остовное дерево тогда и только тогда, когда его множество вершин может быть разложено в счетное объединение замкнутых множеств . Кроме того, это топологическое пространство может быть представлено метрическим пространством тогда и только тогда, когда граф имеет нормальное остовное дерево. [14]