В математике и информатике некорневое двоичное дерево — это некорневое дерево , в котором каждая вершина имеет одного или трех соседей.
Свободное дерево или некорневое дерево — это связный неориентированный граф без циклов . Вершины с одним соседом являются листьями дерева, а остальные вершины — внутренними узлами дерева. Степень вершины — это количество ее соседей; в дереве с более чем одним узлом листья — это вершины степени один. Некорневое бинарное дерево — это свободное дерево, в котором все внутренние узлы имеют степень ровно три.
В некоторых приложениях может иметь смысл различать подтипы некорневых бинарных деревьев: планарное вложение дерева может быть зафиксировано путем указания циклического порядка для ребер в каждой вершине, превращая его в плоское дерево . В информатике бинарные деревья часто являются корневыми и упорядоченными, когда они используются в качестве структур данных , но в приложениях некорневых бинарных деревьев в иерархической кластеризации и эволюционной реконструкции деревьев неупорядоченные деревья встречаются чаще. [1]
Кроме того, можно различать деревья, в которых все вершины имеют отдельные метки, деревья, в которых помечены только листья, и деревья, в которых узлы не помечены. В некорневом бинарном дереве с n листьями будет n − 2 внутренних узлов, поэтому метки могут быть взяты из набора целых чисел от 1 до 2 n − 1, когда все узлы должны быть помечены, или из набора целых чисел от 1 до n, когда должны быть помечены только листья. [1]
Некорневое бинарное дерево T может быть преобразовано в полное корневое бинарное дерево (то есть корневое дерево, в котором каждый нелистовой узел имеет ровно два потомка), выбрав корневое ребро e из T , поместив новый корневой узел в середину e и направив каждое ребро полученного подразделенного дерева от корневого узла. И наоборот, любое полное корневое бинарное дерево может быть преобразовано в некорневое бинарное дерево, удалив корневой узел, заменив путь между его двумя потомками одним ненаправленным ребром и подавив ориентацию оставшихся ребер в графе. По этой причине существует ровно в 2 n −3 раза больше полных корневых бинарных деревьев с n листьями, чем некорневых бинарных деревьев с n листьями. [1]
Иерархическая кластеризация коллекции объектов может быть формализована как максимальное семейство множеств объектов, в котором никакие два множества не пересекаются. То есть, для каждых двух множеств S и T в семействе, либо S и T не пересекаются, либо одно является подмножеством другого, и больше множеств не может быть добавлено в семейство, сохраняя это свойство. Если T является некорневым бинарным деревом, оно определяет иерархическую кластеризацию своих листьев: для каждого ребра ( u , v ) в T существует кластер, состоящий из листьев, которые ближе к u, чем к v , и эти множества вместе с пустым множеством и множеством всех листьев образуют максимальное непересекающееся семейство. Наоборот, из любого максимального непересекающегося семейства множеств над множеством из n элементов можно сформировать уникальное некорневое бинарное дерево, которое имеет узел для каждой тройки ( A , B , C ) непересекающихся множеств в семействе, которые вместе покрывают все элементы. [2]
Согласно простым формам теории эволюции , историю жизни можно обобщить как филогенетическое дерево , в котором каждый узел описывает вид, листья представляют виды, которые существуют сегодня, а ребра представляют отношения предок-потомок между видами. Это дерево имеет естественную ориентацию от предков к потомкам и корень в общем предке вида, поэтому это корневое дерево. Однако некоторые методы реконструкции бинарных деревьев могут реконструировать только узлы и ребра этого дерева, но не их ориентацию.
Например, кладистические методы, такие как максимальная экономия, используют в качестве данных набор бинарных атрибутов, описывающих особенности вида. Эти методы ищут дерево с заданным видом в качестве листьев, в котором внутренние узлы также помечены особенностями, и пытаются минимизировать количество раз, когда некоторая особенность присутствует только в одной из двух конечных точек ребра в дереве. В идеале, каждая особенность должна иметь только одно ребро, для которого это так. Изменение корня дерева не изменяет это количество различий ребер, поэтому методы, основанные на экономии, не способны определить местоположение корня дерева и будут создавать некорневое дерево, часто некорневое бинарное дерево. [3]
Некорневые бинарные деревья также создаются методами вывода эволюционных деревьев на основе данных квартета, определяющих для каждого вида из четырех листьев некорневое бинарное дерево, описывающее эволюцию этих четырех видов, а также методами, которые используют расстояние квартета для измерения расстояния между деревьями. [4]
Некорневые бинарные деревья также используются для определения ветвей-декомпозиций графов, формируя некорневое бинарное дерево, листья которого представляют ребра данного графа. То есть, ветвь-декомпозицию можно рассматривать как иерархическую кластеризацию ребер графа. Ветвь-декомпозиции и связанная с ними числовая величина, ширина ветви, тесно связаны с шириной дерева и формируют основу для эффективных алгоритмов динамического программирования на графах. [5]
Из-за их применения в иерархической кластеризации наиболее естественной задачей перечисления графов на некорневых бинарных деревьях является подсчет количества деревьев с n помеченными листьями и непомеченными внутренними узлами. Некорневое бинарное дерево на n помеченных листьях может быть сформировано путем соединения n -го листа с новым узлом в середине любого из ребер некорневого бинарного дерева на n − 1 помеченных листьях. Существует 2 n − 5 ребер, к которым может быть присоединен n -й узел; следовательно, количество деревьев на n листьях больше количества деревьев на n − 1 листьях в 2 n − 5 раз. Таким образом, количество деревьев на n помеченных листьях является двойным факториалом
Номера деревьев на листьях, помеченных цифрами 2, 3, 4, 5, ..., следующие:
Длина пути от листа к листу на фиксированном некорневом двоичном дереве (UBT) T кодирует количество ребер, принадлежащих уникальному пути в T, соединяющему данный лист с другим листом. Например, ссылаясь на UBT, показанный на изображении справа, длина пути между листьями 1 и 2 равна 2, тогда как длина пути между листьями 1 и 3 равна 3. Последовательность длин путей от данного листа на фиксированном UBT T кодирует длины путей от данного листа до всех оставшихся. Например, ссылаясь на UBT, показанный на изображении справа, последовательность длин путей от листа 1 равна . Набор последовательностей длин путей, связанных с листьями T, обычно называют коллекцией последовательностей длин путей T [7] .
Даниэле Катанзаро, Раффаэле Пезенти и Лоренс Уолси показали [7] , что набор последовательностей длин путей, кодирующих заданный UBT с n листьями, должен удовлетворять определенным равенствам, а именно:
Доказано, что эти равенства необходимы и независимы для набора длин путей, кодирующего UBT с n листьями. [7] В настоящее время неизвестно, являются ли они также достаточными.
Некорневые бинарные деревья также называются свободными бинарными деревьями , [8] кубическими деревьями , [9] тернарными деревьями [5] и некорневыми тернарными деревьями . [10] Однако название «свободное бинарное дерево» также применяется к некорневым деревьям, которые могут иметь узлы степени два [11] и к корневым бинарным деревьям с неупорядоченными потомками, [12] а название «тернарное дерево» чаще используется для обозначения корневого дерева с тремя потомками на узел .