Цветущее дерево (теория графов)

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

Цветущие деревья — это деревья с дополнительными ориентированными половинками рёбер. Каждое цветущее дерево ассоциировано с вложением планарного графа. Цветущие деревья могут быть использованы для семплирования случайных планарных графов[1].

Описание[править | править код]

Цветущее дерево (открытые черешки показаны красным, замкнутые черешки показаны синим)

Цветущее дерево строится из корневого дерева, вложенного в плоскость, путём добавления открытых и замкнутых черешков (половинок рёбер) к вершинам. Число открытых и закрытых черешков должно совпадать[2]. Некоторые авторы требуют, чтобы цветущие деревья были корневыми, и накладывают условия на вид черешков, которые могут приписаны дереву[3]. Для открытых и закрытых черешков иногда используются термины листья и цветы[3][4].

Связь с планарными графами[править | править код]

Планарный граф, полученный из цветущего дерева выше. Зелёные линии соединяют открытые и замкнутые черешки.

Вложенный планарный граф может быть построен из цветущего дерева путём соединения каждого открытого черешка с замкнутым черешком. Для этого посещают полурёбра вокруг графа по часовой стрелке, начиная с открытого черешка. Если дерево корневое, обычно начинают с корня. Алгоритм аналогичен алгоритму сопоставления скобок и использует стек. На каждой стадии алгоритма если тип текущего полуребра совпадает с типом на вершине стека, помещается в стек. Если цвета отличаются, полуребро из стека выталкивается и два полуребра соединяются[4]. Если мы введём ориентацию рёбер из открытого в замкнутый черешок, мы не получим рёбер против часовой стрелки. Этот процесс занимает линейное время[1].

Аналогичным образом вложение корневого планарного графа может закодировано как цветущее дерево. Если корень находится в углу[примечание 1][1], это можно сделать за линейное время. Рёбра корневого планарного графа могут быть ориентированы, так что имеется путь из корня в любую вершину, но нет циклов, идущих против часовой стрелки. В этом случае можно использовать алгоритм поиска в глубину для превращения его в цветущее дерево. Начав с корневой вершины, просматривают каждое ребро, инцидентное вершине. Если ребро указывает от текущей вершины, рассекаем его, помечая исходящую половинку как замкнутый черешок, а входящую половинку — как открытый черешок. Если дуга направлена в текущую вершину, помечаем её и противоположную вершину дуги принимаем за текущую вершину. Продолжаем, пока все рёбра не будут просмотрены. Если карта[примечание 2] имеет корень в углу, построение цветущего дерева занимает квадратичное время [1].

Использование в теории узлов[править | править код]

Цветущие деревья используются также для случайной генерации диаграмм больших узлов. Узлы можно представить как 4-регулярные планарные графы, в которых каждая вершина помечена как пересечение сверху или пересечение снизу. Цветущие деревья могут быть использованы для генерации случайных 4-регулярных планарных графов. Однако это не всегда даёт диаграмму узла, поскольку может содержать более одной компоненты. Это можно проверить за кубическое время[5].

Примечания[править | править код]

  1. Под углом здесь понимается вершина на внешнем периметре графа.
  2. Употребление слова карта здесь не вполне понятно. Планарная карта – это вложение графа в сферу без пересечения рёбер. Фактически, это то же самое, что и вложение графа в плоскость.

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

  1. 1 2 3 4 Marie Albenque, Dominique Poulalhon (2015). "Generic method for bijections between blossoming trees and planar maps". arXiv:1305.1312v3.
  2. Marie Albenque. Blossoming trees and planar maps. Дата обращения: 21 декабря 2015. Архивировано 21 августа 2019 года.
  3. 1 2 Calvo, 2005.
  4. 1 2 Gilles Schaeffer, Alain Denise. Conjugation of trees and random maps. Дата обращения: 21 декабря 2015. Архивировано 4 марта 2016 года.
  5. Calvo, Millett, Rawdon, Stasiak, 2005.

Литература[править | править код]