Какова ожидаемая глубина случайно сгенерированного дерева?


19

Я думал об этой проблеме очень давно, но понятия не имею об этом.

Алгоритм генерации заключается в следующем. Мы предполагаем, что существует n дискретных узлов, пронумерованных от 0 до n1 . Затем для каждого i в {1,,n1} мы делаем родительский узел i го узла в дереве случайным узлом в {0,,i1} . Выполните итерацию по каждому i по порядку, чтобы результатом было случайное дерево с корневым узлом 0 . (Возможно, это не достаточно случайно, но это не имеет значения.)

Какова ожидаемая глубина этого дерева?


Я предполагаю, что v0 - root, а вы хотели сказать: «Тогда для каждого i в [1,n) мы делаем родителя i узла ...». Правильно?
Без названия

Что вы пробовали? Вы пытались написать рекуррентное отношение, скажем, для d(i) которое является ожидаемой глубиной узла i ?
DW

3
Эти объекты известны под названием «случайное рекурсивное дерево».
Джеймс Мартин

Ответы:


15

Я думаю, что есть результат концентрации о elogn , но я еще не заполнил детали.

Мы можем получить верхнюю границу для вероятности того, что узел n имеет d предков, не включая 0 . Для каждой возможной полной цепи d ненулевых предков (a1,a2,...,ad) , вероятность того , что цепи (1a1)(1a2)(1ad)×1n . Это соответствует1n раз срок(1+12+13+1n1)dгде условия заказаны. Итак, верхняя граница для этой вероятности равна1n(d!)Hn1d гдеHn1- номерn1й гармоники1+12+...+1n1 . Hn1log(n1)+γ. Для фиксированныхdиnвероятность того, что узелnнаходится на глубинеd+1, не превышает

(logn)dn(d!)(1+o(1))

По приближению Стирлинга мы можем оценить это как

1n2πd(elognd)d.

Для больших , что-либо намного больше, чем e log n , основание экспоненты мало, поэтому эта граница мала, и мы можем использовать границу объединения, чтобы сказать, что вероятность того, что существует хотя бы один узел с d ненулевыми предками, равна небольшой.delognd


Видеть

Люк Деврой, Омар Фаузи, Николас Фрейман. «Свойства глубины случайных рекурсивных деревьев масштабированного вложения».

Б. Питтел. Обратите внимание на высоты случайных рекурсивных деревьев и случайных m-арных деревьев поиска. Случайные структуры и алгоритмы, 5: 337–348, 1994.

Первые утверждают, что последняя показала, что максимальная глубина с высокой вероятностью, и предлагает другое доказательство.(e+o(1))logn


2
Очень хорошо. Чтобы уточнить для других читателей: так как вы не можете повторить , термин ( 1 + 1ai- это только верхняя граница. (1+12++1n1)d
Питер Шор

3

На этот вопрос ответили несколько лет назад, но, просто для забавы, вот простое доказательство верхней границы. Мы даем оценку ожидания, а затем оценку хвоста.

Определим rv как глубину узла i { 0 , 1 , , n - 1 } . Определим ϕ i = i j = 0 e d j .dii{0,1,,n1}ϕi=j=0iedj.

eE[maxidi]eHn1

Доказательство. Максимальная глубина не более . Чтобы закончить, покажем . E [ ln ϕ n - 1 ] elnϕn1E[lnϕn1]eHn1

Для любого , обусловливающего , путем проверки , ϕ i - 1 ϕ i E [ ϕ ii1ϕi1ϕi

E[ϕi|ϕi1]=ϕi1+E[edi]=ϕi1+eiϕi1=(1+ei)ϕi1.

По индукции следует, что

E[ϕn1]=i=1n1(1+ei)<i=1n1exp(ei)=exp(eHn1).

Таким образом, по вогнутости логарифма,

E[lnϕn1]lnE[ϕn1]<lnexp(eHn1)=eHn1.       

Вот граница хвоста:

Лемма 2. Исправить любой . Тогда не больше .c0Pr[maxidi]eHn1+cexp(c)

Доказательство. При проверке и марковской границы рассматриваемая вероятность не превышает Из доказательства леммы 1 . Подставляя это в правую часть выше, завершаем доказательство. ϕ

Pr[ϕn1exp(eHn1+c)]E[ϕn1]exp(eHn1+c).
E[ϕn1]exp(eHn1)   

Что касается нижней границы, я думаю, что нижняя граница следует довольно легко, учитывая . Но...(e1)HnO(1)maxidilnϕtlnn [РЕДАКТИРОВАТЬ: говорил слишком рано]

Кажется, не так просто показать жесткую нижнюю границу ...(1o(1))eHn


2

Я действительно думал об одном и том же вопросе (хотя и в совершенно другой формулировке) несколько месяцев назад, а также о некоторых близких вариантах.

У меня нет решения для закрытой формы (/ асимптотики), но вы могли бы найти это представление полезным (возможно, вы ищете только верхнюю границу?).

Процесс, который вы описываете здесь, является обобщением процесса китайского ресторана , где каждая «таблица» является поддеревом, чей родительский корень .v0

Это также дает нам формулу рекурсии для вашего вопроса.

Обозначим через ожидаемые высоты такого древовидного процесса с узлами.h(n)n

Обозначим через (Вероятность распределения узлов по поддеревьям).Pn(B)=ΠbB(b1)!n!B

Тогда искомое количество определяется как:h(n)

h(n)=BBnPn(B)maxbBh(b)

Если вы хотите закодировать эту рекурсию, убедитесь, что вы используете следующее, чтобы она не пошла в бесконечный цикл:

h(n)=BBn{{n}}Pn(B)maxbBh(b)11n!

Где - множество всех разбиений одинаковых шаров на любое количество непустых бинов, а . нч(1)=1Bnnh(1)=1


На практике, когда мне это было нужно, я просто использовал простой метод Монте-Карло для оценки , поскольку попытка вычислить этим методом крайне неэффективна.чh(n)h


1
Спасибо за идею! На самом деле, когда я впервые столкнулся с этой проблемой, я написал программу для Монте-Карло, но, к моему удивлению, получить точный результат так сложно.
zhxchen17
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.