Нижня межа кількості «коротких» шляхів у вкоріненому дереві з розміром полінома


10

Нехай - корінне двійкове дерево. Кожен шлях від кореня Т до листя має довжину n . Кожен вузол T завжди має лівий і правий дочірній вузол, але можливо, що вони однакові (Отже, завжди можливі 2 n шляхи). Розмір T обмежений O ( p o l y ( n ) ) . Вузол з різними дочірніми вузлами називається вузлом розгалуження .TTnT2nTO(poly(n))

Ми говоримо, що два контури відрізняються, якщо є один спільний розгалужувальний вузол, і один шлях іде до лівого дочірнього вузла, а інший шлях - до правого дочірнього вузла. Зрозуміло, що існує принаймні один шлях у з вузлами розгалуження O ( log n ) . В іншому випадку було б занадто багато вузлів в T .TO(log⁡n)T

Чи є краща нижня межа кількості шляхів з вузлами розгалуження якщо я знаю, що на дереві є ω ( log n ) розгалужувальні вузли?O(log⁡n)ω(log⁡n)


@Marc: Буква (5-й рядок) очевидно від `` занадто багато вузлів в '' (7-й рядок)?T
— Олександр Бондаренко

@Marc: Ви можете, будь ласка, зробити більш точне ваше твердження "два шляхи різні, якщо вони використовують різні дочірні вузли у вузлі розгалуження". Ви маєте на увазі, що вони різні, якщо є такий розгалужувальний вузол, де вони використовують різні дочірні вузли?
— Олександр Бондаренко

Я редагую питання і намагаюся зробити його більш точним.
— Марк Бері

А як щодо дерева, яке має лише один шлях (і вузлів)? Це дозволено? n
— Петро Шор

Це гарне запитання. Це дозволено, але це не цікавий випадок :) Тоді нам слід зробити нижню межу щодо кількості гілок гілки на дереві, наприклад, вузлів розгалуження. ω(log⁡n)
— Марк Бері

Відповіді:


9

Нижня межа - це шляхи з O ( log n ) розгалужуваними вузлами, якщо у вас є принаймні Ω ( log n ) розгалуження у дереві.Ω(log⁡n)O(log⁡n)Ω(log⁡n)

Цього можна досягти: використовуйте дерево, яке має один довгий шлях (довжина ), усі вузли якого є вузлами розгалуження, без інших вузлів розгалуження на дереві.n

Ось ескіз нижньої межі.

По-перше, компактизуйте дерево, уклавши будь-який внутрішній вузол, який не є вузлом розгалуження. Якщо початковий розмір дерева був , нове дерево все одно повинно бути < n c , оскільки ви лише зменшили кількість вузлів. Тепер глибина аркуша - це кількість розгалужувальних вузлів на початковому шляху до цього листя, і ми маємо повне двійкове дерево (кожен вузол має ступінь 2 або 0).<nc<nc

Якщо немає листя глибини , то кількість шляхів на один більший, ніж кількість вузлів розгалуження, що Ω ( log n ) , тож можна припустити, що принаймні один лист має глибину Ω ( log п ) .Ω(log⁡n)Ω(log⁡n)Ω(log⁡n)

Далі, пригадайте нерівність Крафта. Якщо глибина листка в цілому двійкове дерево дорівнює , то Σ v l e a f 2 - d ( v ) = 1 .d(v)Σv leaf2−d(v)=1

Тепер у нас менше, ніж листя. Ми хочемо показати, що їх у нас дуже багато на глибині O ( log n ) . Припустимо, ми виключимо з розгляду ті, що мають глибину принаймні log 2 ( n c + 1 ) = ( c + 1 ) log 2 n . Це знімає максимум 1 / n ваги з суми нерівності Крафта, тому для тих листів v на глибині не більше d ( v ) ≤ ( c +ncO(log⁡n)log2⁡(nc+1)=(c+1)log2⁡n1/nv , маємо ∑ v l o w d e p t h l e a f 2 - d ( v ) > 1 - 1d(v)≤(c+1)log2⁡n . У нас також є∑vlowdepthleaf2-d(v)<1(оскільки принаймні один лист має глибину, занадто велику, щоб включати до цієї суми).∑v low depth leaf2−d(v)>1−1n∑v low depth leaf2−d(v)<1

Досить легко показати, що отримати суму чисел строго між 1 і 1 - 12−k1 , нам потрібно щонайменшеlog2nз них. Це показує, що єΩ(logn)шляхи звузлами розгалуженняO(logn).1−1nlog2⁡nΩ(log⁡n)O(log⁡n)


Якщо когось цікавить, чому я називаю рівняння нерівністю, нерівність Крафта має знак рівності для повних двійкових дерев.
— Петро Шор

Дякую за гарну відповідь. Я до цього часу не знав нерівності Крафта. Дуже корисна нерівність.
— Марк Бері
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.