임의로 생성 된 나무의 예상 깊이는 얼마입니까?


19

나는 오래 전에이 문제에 대해 생각했지만 그것에 대해 전혀 모른다.

생성 알고리즘은 다음과 같습니다. 에서 까지 번호가 매겨진 개별 노드가 있다고 가정 합니다. 각각에 대해 다음 에이 우리가 만드는 트리의 일 노드의 부모에서 임의의 노드가 될 . 결과가 루트 노드가 임의의 트리가되도록 각 를 순서대로 반복 하십시오 . (아마도 이것은 무작위가 아니지만 이것은 중요하지 않습니다.)n0n1i{1,,n1}i{0,,i1}i0

이 나무의 예상 깊이는 얼마입니까?


이 루트 라고 가정 하고 " 각 에 대해 번째 노드의 부모를 만듭니다 ."라고 말하려고합니다 . 권리? v0i[1,n)i
제목 없음

무엇을 시도 했습니까? 노드 의 예상 깊이 인 대해 반복 관계를 작성해 보셨습니까 ? d(i)i
DW

3
이러한 개체는 "랜덤 재귀 트리"라는 이름으로 알려져 있습니다.
제임스 마틴

답변:


15

에 대한 집중 결과가 있다고 생각 하지만 아직 세부 사항을 채우지 않았습니다.elogn

우리는 상위 노드 확률 행 얻을 수 있다 조상을 포함하지 않는 . 0이 아닌 조상 의 가능한 전체 체인에 대해 해당 체인의 확률은 . 이는 곱하기 용어가 주문 된 곳. 따라서이 확률의 상한은 여기서 은 번째 고조파 수입니다.nd0d(a1,a2,...,ad) 1(1a1)(1a2)(1ad)×1n (1+11n1(1+12+13+1n1)d Hn1n11+11n(d!)Hn1dHn1n11+12+...+1n1 . Hn1log(n1)+γ . 고정 dn , 노드 n 이 깊이 d + 1에 있을 확률 d+1은 최대입니다

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

스털링의 근사에 의해 우리는 이것을 다음과 같이 추정 할 수 있습니다.

1n2πd(elognd)d.

d 경우 e \ log n 보다 훨씬 큰 elogn지수의 기저가 작 으므로이 한계는 작으며 결합이 결합되어 d 0이 아닌 조상을 가진 노드가 하나 이상있을 확률을 말할 수 있습니다. 작다.


보다

Luc Devroye, Omar Fawzi, Nicolas Fraiman. "확장 첨부 파일 임의 재귀 트리의 깊이 속성."

피텔. 임의 재귀 트리와 임의 m-ary 검색 트리의 높이에 유의하십시오. 무작위 구조와 알고리즘, 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 전자 차원 J를 .dii{0,1,,n1}ϕi=j=0iedj.

lemma 1. 예상되는 최대 깊이 는 최대 입니다.E[maxidi]eHn1

증명. 최대 깊이는 최대 입니다. 완료하기 위해 줍니다.lnϕn1E[lnϕn1]eHn1

모든 에 대해 에서 조건부 로 , i1ϕ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.       

꼬리는 다음과 같습니다.

lemma 2. 수정하십시오 . 그런 다음 는 최대 입니다.c0Pr[maxidi]eHn1+cexp(c)

증명. 및 Markov 경계 를 검사 하여 문제의 확률은 최대 Lemma 1의 증거에서 . 위의 오른쪽으로 이것을 대체하면 증거가 완성됩니다. ϕ

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

하한에 대해서는 을 고려 하여 쉽게 따르는 것으로 생각 합니다. 그러나...(e1)HnO(1)maxidilnϕtlnn [편집 : 너무 빨리 말했다]

의 엄격한 하한값을 표시하는 것은 쉽지 않은 것 같습니다 ...(1o(1))eHn


2

나는 실제로 몇 달 전에 같은 질문 (완전히 다른 공식이지만)과 몇 가지 밀접한 변형에 대해 생각했습니다.

나는 닫힌 양식 (/ asymptotic) 솔루션을 가지고 있지 않지만이 견해가 유용하다는 것을 알 수 있습니다 (상한을 찾고 있습니까?).

여기서 설명하는 프로세스는 Chinese Restaurant Process 의 일반화입니다. 여기서 각 "테이블"은 루트의 상위가 인 하위 트리입니다 .v0

이것은 또한 우리에게 당신의 질문에 대한 재귀 공식을 제공합니다.

넣어야하는 와 같은 나무 프로세스의 예상 높이 n 개의 노드.h(n)n

넣어야 (노드의B를 서브 트리로분배 할 확률).Pn(B)=ΠbB(b1)!n!B

그런 다음 찾고있는 수량 은 다음과 같이 주어집니다.h(n)

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

이 재귀를 코딩하려면 다음을 사용하여 무한 루프에 빠지지 않도록하십시오.

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

여기서 은 비어 있지 않은 빈 수에 n 개의 동일한 볼 의 모든 파티션 세트 이며 h ( 1 ) = 1 입니다.Bnnh(1)=1


실제로,이 방법이 필요할 때 을 추정하기 위해 간단한 몬테 카를로 방법을 사용 했습니다.이 방법으로 h 를 실제로 계산 하는 것은 매우 비효율적입니다.h(n)h


1
아이디어 주셔서 감사합니다! 사실 나는이 문제를 처음 만났을 때 몬테 카를로 프로그램을 작성했지만 놀랍게도 정확한 결과를 얻는 것이 어렵습니다.
zhxchen17
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.