Jump to content

Случайное двоичное дерево

Это хорошая статья. Нажмите здесь для получения дополнительной информации.

Два случайных распределения на бинарных деревьях с тремя вершинами, деревья двоичного поиска по трем ключам a , b и c . Каждому из этих пяти деревьев присвоена вероятность 1/5 по равномерному распределению (вверху). Распределение, генерируемое случайным порядком вставки (внизу), присваивает вероятность центрального дерева 1/3, поскольку два из шести возможных порядков вставки генерируют одно и то же дерево; остальные четыре дерева имеют вероятность 1/6.

В информатике и теории вероятностей случайное двоичное дерево — это двоичное дерево, случайно выбранное из некоторого распределения вероятностей на двоичных деревьях. Были использованы разные распределения, что привело к разным свойствам этих деревьев.

Случайные двоичные деревья использовались для анализа средней сложности структур данных на основе двоичных деревьев поиска . Для этого приложения обычно используются случайные деревья, сформированные путем вставки узлов по одному в соответствии со случайной перестановкой . [1] Полученные деревья, скорее всего, будут иметь логарифмическую глубину и логарифмическое число Стралера . Treap используют операции обновления, которые поддерживают эту случайную структуру , и связанные с ним сбалансированные двоичные деревья поиска даже если последовательность обновления не является случайной.

Другие распределения на случайных двоичных деревьях включают однородное дискретное распределение , в котором все различные деревья равновероятны, распределения на заданном количестве узлов, полученные путем повторного разделения, бинарные попытки и поразрядные деревья для случайных данных, а также деревья переменного размера, генерируемые ветвящимися процессами. .

Информацию о случайных деревьях, которые не обязательно являются двоичными, см. в разделе « Случайное дерево» .

Расширенное двоичное дерево, в котором внутренние узлы показаны желтыми кружками, а внешние узлы - красными квадратами.

Бинарное дерево — это корневое дерево , в котором каждый узел может иметь до двух дочерних узлов (узлов, находящихся непосредственно под ним в дереве), и эти дочерние элементы обозначаются как левые или правые. Вместо этого иногда удобно рассматривать расширенные двоичные деревья , в которых каждый узел является либо внешним узлом с нулевым дочерним элементом, либо внутренним узлом ровно с двумя дочерними элементами. Бинарное дерево, которое не находится в расширенной форме, можно преобразовать в расширенное двоичное дерево, рассматривая все его узлы как внутренние и добавляя внешний узел для каждого отсутствующего дочернего элемента внутреннего узла. В другом направлении расширенное двоичное дерево по крайней мере с одним внутренним узлом может быть преобразовано обратно в нерасширенное двоичное дерево путем удаления всех его внешних узлов. Таким образом, эти две формы почти полностью эквивалентны для целей математического анализа, за исключением того, что расширенная форма позволяет получить дерево, состоящее из одного внешнего узла, который ничему не соответствует в нерасширенной форме. Для компьютерных структур данных эти две формы различаются, поскольку внешние узлы первой формы могут быть явно представлены как объекты в структуре данных. [2]

В двоичном дереве поиска внутренние узлы помечены числами или другими упорядоченными значениями, называемыми ключами , и расположены так, что при неупорядоченном обходе дерева ключи перечисляются в отсортированном порядке. Внешние узлы остаются без меток. [3] Двоичные деревья также можно изучать со всеми непомеченными узлами или с метками, которые не заданы в отсортированном порядке. Например, в декартовой древовидной структуре данных используются помеченные двоичные деревья, которые не обязательно являются двоичными деревьями поиска. [4]

Случайное двоичное дерево — это случайное дерево, построенное на основе определенного распределения вероятностей на двоичных деревьях. Во многих случаях эти распределения вероятностей определяются с использованием заданного набора ключей и описывают вероятности бинарных деревьев поиска, имеющих эти ключи. Однако возможны и другие распределения, не обязательно генерирующие двоичные деревья поиска и не обязательно дающие фиксированное количество узлов. [5]

Из случайных перестановок

[ редактировать ]
Двоичное дерево, созданное из 100-элементной случайной перестановки

Для любой последовательности различных упорядоченных ключей можно сформировать двоичное дерево поиска , в котором каждый ключ вставляется последовательно как лист дерева, не меняя структуру ранее вставленных ключей. Позицию каждой вставки можно найти с помощью двоичного поиска в предыдущем дереве. Модель случайных перестановок для данного набора ключей определяется путем случайного выбора последовательности из перестановок набора, причем каждая перестановка имеет равную вероятность. [6]

Например, если три ключа 1,3,2 вставлены в двоичное дерево поиска в этой последовательности, число 1 будет находиться в корне дерева, число 3 будет помещено в качестве его правого дочернего элемента, а число 2 как левый дочерний элемент числа 3. Существует шесть различных перестановок ключей 1, 2 и 3, но из них можно построить только пять деревьев. Это потому, что перестановки 2,1,3 и 2,3,1 образуют одно и то же дерево. Таким образом, это дерево имеет вероятность быть сгенерированным, тогда как каждое из четырех других деревьев имеет вероятность . [5]

Ожидаемая глубина узла

[ редактировать ]

Для любого ключа в заданном наборе ключей, ожидаемое значение длины пути от корня до в случайном двоичном дереве поиска не более , где " " обозначает функцию натурального логарифма , а вводит обозначение большого О. По линейности ожидания ожидаемое число предков равно сумме по другим ключам , вероятности того, что является предком . Ключ является предком именно когда это первый ключ, который будет вставлен из интервала . Поскольку каждый ключ в интервале с равной вероятностью окажется первым, это происходит с вероятностью, обратной длине интервала. Таким образом, клавиши, расположенные рядом с в отсортированной последовательности ключей имеют вероятность быть предком , ключи, находящиеся на расстоянии одного шага, имеют вероятность и т. д. Сумма этих вероятностей образует две копии гармонического ряда, идущие от в обоих направлениях в отсортированной последовательности, что дает привязано выше. Эта граница также справедлива для ожидаемой длины пути поиска значения. это один из заданных ключей. [7]

Самый длинный путь

[ редактировать ]

Самый длинный путь от корня к листу в случайном двоичном дереве поиска длиннее ожидаемой длины пути, но только в постоянный коэффициент. Его длина, для дерева с узлов, с большой вероятностью приблизительно

где это уникальный номер в диапазоне удовлетворяющее уравнению

[8]

Ожидаемое количество листьев

[ редактировать ]

В модели случайной перестановки каждый ключ, кроме наименьшего и наибольшего, имеет вероятность быть листом на дереве. Это происходит потому, что он является листом, когда он вставляется после двух своих соседей, что происходит для двух из шести перестановок его и двух его соседей, причем все они одинаково вероятны. По аналогичным рассуждениям наименьший и наибольший ключ имеют вероятность быть листом. Следовательно, ожидаемое количество листьев представляет собой сумму этих вероятностей, которые для это точно . [9]

Номер прожектора

[ редактировать ]

Число вершин Стралера в любом дереве является мерой сложности поддеревьев под этими вершинами. Лист (внешний узел) имеет номер Стралера один. Для любого другого узла число Стралера определяется рекурсивно из чисел Стралера его дочерних узлов. В двоичном дереве, если два дочерних элемента имеют разные числа Стралера, число Стралера их родителя является большим из двух дочерних чисел. Но если у двух детей одинаковые числа Стралера, у их родителя число больше на единицу. Число Стралера всего дерева — это число в корневом узле. Для -узловые деревья случайного двоичного поиска, моделирование показывает, что ожидаемое число Стралера равно . Более слабая верхняя граница было доказано. [10]

Treaps и рандомизированные двоичные деревья поиска

[ редактировать ]

В приложениях структур данных двоичного дерева поиска ключи редко вставляются без удаления в случайном порядке, что ограничивает прямое применение случайных двоичных деревьев. Однако разработчики алгоритмов разработали структуры данных, которые позволяют произвольные вставки и удаления, сохраняя то свойство, что форма дерева является случайной, как если бы ключи были вставлены случайным образом. [11]

Если данному набору ключей назначены числовые приоритеты (не связанные с их значениями), эти приоритеты можно использовать для построения декартова дерева чисел, двоичного дерева поиска, которое будет результатом вставки ключей в порядке приоритета. Выбирая приоритеты как независимые случайные действительные числа в единичном интервале и поддерживая декартову древовидную структуру с использованием вращения дерева после любой вставки или удаления узла, можно поддерживать структуру данных, которая ведет себя как случайное дерево двоичного поиска. . Такая структура данных известна как треп или рандомизированное двоичное дерево поиска. [11]

Варианты Treap, включая zip-дерево и zip-zip-дерево, заменяют вращение дерева операциями «сжатия», которые разделяют и объединяют деревья и ограничивают количество случайных битов, которые необходимо генерировать и хранить вместе с ключами. Результатом этих оптимизаций по-прежнему остается дерево со случайной структурой, но оно не совсем соответствует модели случайных перестановок. [12]

Равномерно случайные бинарные деревья

[ редактировать ]
Равномерно случайное двоичное дерево со 100 узлами.

Количество бинарных деревьев с nodes — каталонское число . [13] Для это количество деревьев

1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, ... (последовательность A000108 в OEIS ).

Таким образом, если одно из этих деревьев выбрано равномерно и случайным образом, его вероятность будет обратной каталонскому числу. Деревья, сгенерированные на основе модели в этом распределении, иногда называют случайными бинарными каталонскими деревьями . [14] Они ожидали, что глубина будет пропорциональна квадратному корню из , а не к логарифму. [15] Точнее, ожидаемая глубина случайно выбранного узла в -дерево узлов этого типа

. [16]

Ожидаемое число Стралера равномерно случайной -узловое двоичное дерево , что ниже ожидаемого количества случайных деревьев двоичного поиска Стралера. [17]

Из-за большой высоты эта модель равновероятных случайных деревьев обычно не используется для деревьев двоичного поиска. Однако у него есть и другие применения, в том числе:

Алгоритм Жана-Люка Реми генерирует равномерно случайное двоичное дерево заданного размера за линейное по размеру время с помощью следующего процесса. Начните с дерева, состоящего из одного внешнего узла. Затем, пока текущее дерево не достигло целевого размера, равномерно случайным образом повторно выберите один из его узлов (внутренний или внешний). Замените выбранный узел новым внутренним узлом, имея выбранный узел в качестве одного из его дочерних элементов (одинаково вероятно, левый или правый) и имея новый внешний узел в качестве другого дочернего элемента. Остановитесь, когда будет достигнут целевой размер. [22]

Ветвящиеся процессы

[ редактировать ]

Процесс Гальтона-Ватсона описывает семейство распределений на деревьях, в которых количество детей в каждом узле выбирается случайным образом, независимо от других узлов. Для двоичных деревьев используются две версии процесса Гальтона-Ватсона, отличающиеся только тем, разрешено ли расширенное двоичное дерево только с одним узлом, внешним корневым узлом:

  • В версии, где корневой узел может быть внешним, с некоторой заданной вероятностью он выбирается внутренним. или внешний с вероятностью . Если он внутренний, два его дочерних элемента — это деревья, рекурсивно созданные одним и тем же процессом.
  • В версии, где корневой узел должен быть внутренним, его левый и правый дочерние элементы определяются как внутренние с вероятностью или внешний с вероятностью , независимо друг от друга. В том случае, если они являются внутренними, они являются корнями деревьев, которые рекурсивно генерируются одним и тем же процессом.

Деревья, созданные таким способом, получили название бинарных деревьев Гальтона-Ватсона . В частном случае, когда их называют критическими бинарными деревьями Гальтона–Ватсона . [23]

Вероятность знаменует фазовый переход для бинарного процесса Гальтона – Ватсона: для полученное дерево почти наверняка конечно , тогда как для оно бесконечно с положительной вероятностью. Точнее, для любого , вероятность того, что дерево останется конечным, равна

. [24]

Другой способ сгенерировать такие же деревья — создать последовательность подбрасываний монеты с вероятностью орел и вероятность решок, до тех пор, пока не произойдет первый подброс, при котором количество решок превысит количество орлов (для модели, в которой разрешен внешний корень) или не превысит единицу плюс количество орлов (когда корень должен быть внутренним), а затем используйте эта последовательность подбрасываний монеты определяет выбор, сделанный в процессе рекурсивной генерации, в порядке глубины. [25]

Поскольку количество внутренних узлов равно количеству орлов в этой последовательности подбрасывания монеты, все деревья с заданным номером узлов генерируются из (уникальных) последовательностей подбрасывания монеты одинаковой длины и одинаково вероятны, независимо от . То есть выбор влияет на изменение размера деревьев, генерируемых этим процессом, но для данного размера деревья генерируются равномерно и случайным образом. [26] Для значений ниже критической вероятности , меньшие значения создаст деревья с меньшим ожидаемым размером, в то время как большие значения создаст деревья большего ожидаемого размера. При критической вероятности не существует конечной границы ожидаемого размера деревьев, генерируемых этим процессом. Точнее, для любого , ожидаемое количество узлов на глубине на дереве есть , а ожидаемый размер дерева можно получить путем суммирования ожидаемого количества узлов на каждой глубине. Для это дает геометрическую прогрессию

,

для ожидаемого размера дерева, но для это дает 1 + 1 + 1 + 1 + ⋯ , расходящийся ряд . [27]

Для , любое конкретное дерево с внутренние узлы создаются с вероятностью , а вероятность того, что случайное дерево имеет такой размер, равна этой вероятности, умноженной на каталонское число:

. [28]

Приложения

[ редактировать ]

Процессы Гальтона-Ватсона изначально были разработаны для изучения распространения и исчезновения человеческих фамилий и широко применялись в более общем плане к динамике популяций людей и животных. Эти процессы были обобщены на модели, в которых вероятность быть внутренним или внешним узлом на данном уровне дерева ( поколение в приложении динамики населения) не фиксирована, а зависит от количества узлов на предыдущем уровне. [29] Вариант этого процесса с критической вероятностью , был изучен как модель видообразования , где он известен как критический процесс ветвления . В этом процессе каждый вид имеет экспоненциально распределенную продолжительность жизни и в течение своей жизни производит дочерние виды со скоростью, равной продолжительности жизни. Когда рождается ребенок, родитель продолжает оставаться левой ветвью эволюционного дерева, а ребенок становится правой ветвью. [30]

Другое применение критических деревьев Гальтона – Ватсона (в версии, где корень должен быть внутренним) возникает в алгоритме Каргера – Штейна для поиска минимальных разрезов в графах с использованием рекурсивного процесса сужения ребер . Этот алгоритм вызывает себя дважды рекурсивно, причем вероятность каждого вызова не менее сохранения правильного значения решения. Случайное дерево моделирует поддерево правильных рекурсивных вызовов. Алгоритм успешен на графе вершины всякий раз, когда это случайное дерево правильных рекурсивных вызовов имеет ветвь глубины не менее , достигая базового случая его рекурсии. Вероятность успеха равна , производя один из логарифмических коэффициентов в алгоритме время выполнения. [31]

Святочный процесс

[ редактировать ]

Деврой и Робсон рассматривают связанный случайный процесс с непрерывным временем, в котором каждый внешний узел в конечном итоге заменяется внутренним узлом с двумя внешними дочерними узлами в экспоненциально распределенном времени после его первого появления в качестве внешнего узла. Количество внешних узлов в дереве в любой момент моделируется простым процессом рождения или процессом Юла, в котором члены популяции рожают с постоянной скоростью: рождение одного ребенка в процессе Юла соответствует в модели Девроя и Робсона его заменяют двое детей. Если этот процесс остановить в любой фиксированный момент времени, результатом будет двоичное дерево случайного размера (в зависимости от времени остановки), распределенное в соответствии с моделью случайной перестановки для этого размера. Деврой и Робсон используют эту модель как часть алгоритма для быстрого создания деревьев в модели случайных перестановок, описываемых количеством узлов на каждой глубине, а не их точной структурой. [32] Дискретный вариант этого процесса начинается с дерева, состоящего из одного внешнего узла, и неоднократно заменяет случайно выбранный внешний узел внутренним узлом с двумя внешними дочерними узлами. Опять же, если это останавливается в фиксированное время (с фиксированным размером), результирующее дерево распределяется в соответствии с моделью случайных перестановок для этого размера. [1]

Двоичные попытки

[ редактировать ]
Двоичное дерево и дерево системы счисления для тех же данных, восемь чисел в единичном интервале. Метки представляют собой префиксы двоичных представлений чисел, общие для двух или более чисел.

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

Вариант дерева, базисное дерево или сжатое дерево, исключает пустые внешние узлы и их родительские внутренние узлы. Остальные внутренние узлы соответствуют префиксам, для которых оба возможных расширения, на ноль или на один бит, используются хотя бы одним из случайно выбранных чисел. Для поразрядного дерева для двоичные числа равномерно распределены, кратчайший путь от корня листа имеет длину и самый длинный путь от корня листа имеет длину и то, и другое с большой вероятностью . [34]

Случайное разделение деревьев

[ редактировать ]

Люк Деврой и Пол Крушевски описывают рекурсивный процесс построения случайных двоичных деревьев с помощью узлы. Он генерирует вещественную случайную величину в единичном интервале , присваивает первый узлы (округленные до целого числа узлов) в левом поддереве, следующий узел в корне и оставшиеся узлы в правом поддереве. Затем он продолжает рекурсивно использовать тот же процесс в левом и правом поддеревьях. Если выбирается равномерно случайным образом в интервале, результат тот же, что и случайное двоичное дерево поиска, созданное случайной перестановкой узлов, поскольку любой узел с равной вероятностью будет выбран в качестве корня. Однако эта формулировка позволяет использовать вместо этого другие распределения. Например, в модели равномерно случайного двоичного дерева, как только корень фиксирован, каждое из двух его поддеревьев также должно быть равномерно случайным, поэтому равномерно случайная модель также может быть создана с помощью другого выбора распределения (в зависимости от ) для . Как они показывают, выбрав бета-дистрибутив на а используя соответствующий выбор формы для рисования каждой из ветвей, математические деревья, созданные в результате этого процесса, можно использовать для создания реалистично выглядящих ботанических деревьев. [35]

Примечания

[ редактировать ]
  1. ^ Jump up to: а б Дрмота (2009) , с. 19.
  2. ^ Кнут (1997) .
  3. ^ Кнут (1973) .
  4. ^ Виймен (1980) .
  5. ^ Jump up to: а б Седжвик и Флажоле (2013) , с. 286.
  6. ^ Морен (2014) .
  7. ^ Хиббард (1962) ; Кнут (1973) ; Махмуд (1992) , с. 75.
  8. ^ Робсон (1979) ; Питтель (1985) ; Деврой (1986) ; Махмуд (1992) , стр. 91–99; Рид (2003) .
  9. ^ Браун и Шуберт (1984) .
  10. ^ Крушевский (1999) .
  11. ^ Jump up to: а б Мартинес и Роура (1998) ; Зейдель и Арагон (1996) ; Морен (2014) .
  12. ^ Тарьян, Леви и Тиммел (2021) ; Хила, Гудрич и Тарьян (2023) .
  13. ^ Дрмота (2009) , с. 26.
  14. ^ Седжвик и Флажолет (2013) , с. 287.
  15. ^ Кнут (2005) , с. 15.
  16. ^ Седжвик и Флажолет (2013) , с. 288.
  17. ^ Деврой и Крушевски (1995) .
  18. ^ Махмуд (1992) , с. 63.
  19. ^ Флажоле, Рауль и Вийемен (1979) .
  20. ^ Шрив (1966) .
  21. ^ Олдос (1996) .
  22. ^ Реми (1985) ; Мякинен и Силтанева (2003) ; Кнут (2005) , стр. 16–17.
  23. ^ Берд, Уэймир и Винн (2000) .
  24. ^ Это частный случай общей теоремы о критичности и вероятностях исчезновения в процессах Гальтона – Ватсона, согласно которой вероятность исчезновения является наименьшим положительным корнем формулы , где вероятностная функция распределения по числу детей, здесь . См., например, Jagers (2011) , теорема 2.1, с. 92. Ягерс проводит вычисление этого корня для двоичного случая на с. 97.
  25. ^ О связи между деревьями и случайными блужданиями (генерируемыми случайными подбрасываниями монеты) см., например, раздел 6, «Прогулки и деревья», стр. 483–486, Харриса (1952) .
  26. ^ Броутин, Деврой и Фрайман (2020) . В более общем смысле, каждый процесс Гальтона-Ватсона, обусловленный созданием деревьев определенного размера, дает то же распределение вероятностей, что и критический процесс Гальтона-Ватсона: см. раздел 2 работы Кеннеди (1975) .
  27. ^ Ожидаемое количество узлов на каждом уровне дерева см., например, Athreya & Ney (1972) , Раздел IA2: Моменты, p. 4.
  28. ^ По эквивалентности между деревьями и случайными блужданиями это то же самое, что вероятность первого возвращения в ноль после шаги в простом случайном блуждании , о которых см., например, Бертин (2021) , 2.5.1 Статистика времен первого возвращения к началу случайного блуждания, стр. 70–72.
  29. ^ Охотники (2011) .
  30. ^ Попович (2004) .
  31. ^ Каргер и Штейн (1996) .
  32. ^ Деврой и Робсон (1995) .
  33. ^ Деврой (1984) .
  34. ^ Деврой (1992) .
  35. ^ Деврой и Крушевски (1996) .
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: a552610e5b4c3c7c0b0a82278a35c3d4__1715783460
URL1:https://arc.ask3.ru/arc/aa/a5/d4/a552610e5b4c3c7c0b0a82278a35c3d4.html
Заголовок, (Title) документа по адресу, URL1:
Random binary tree - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)