Як ви згадуєте, теорема Акра – Бацци показує, що рішення для повторенняТ(н,p)T(n,p) є О(нжурналн)O(nlogn) для усіх p∈(0,1)p∈(0,1). Однак це не виявляє природи залежності відpp. Для визначення останнього ми можемо використовувати підхід до дерева рекурсії.
В корені дерева рекурсії лежить інтервал {1,…н}{1,…n}. Двоє дітей це інтервали{1,…,pн}{1,…,pn} і {pн+1,…,н}{pn+1,…,n}, загальна довжина якої знову нn. Кожен з цих вузлів має двох дітей (якщо припуститинnдосить великий) тощо. Для простоти ми ігноруємо помилки округлення, тобто припускаємо, щоpнpn- ціле число; це лише технічність, і я б не переймався цим. Ми зупиняємо процес щоразу, коли вузол має максимум довжину11. Складність алгоритму пропорційна загальній довжині інтервалів у дереві. Колиp≠1/2p≠1/2, листя (вузли, на яких ми зупиняємо процес) мають різну глибину, і це ускладнює визначення загальної складності.
Ми можемо отримати просту верхню межу, зазначивши, що дерево має максимум журнал1-p(1/н)log1−p(1/n) рівні: кожен вузол є щонайменше коефіцієнтом 1-p1−pменший, ніж його батько. Так само, як і в аналізі наp=1/2p=1/2, загальна довжина інтервалів на будь-якому рівні не більше нn, і ми отримуємо верхню межу О(нжурнал1-p(1/н))O(nlog1−p(1/n))на час роботи. З тих піржурнал1-p(1/н)=журналн/журнал(1-p)-1log1−p(1/n)=logn/log(1−p)−1 і журнал(1-p)-1=-журнал(1-p)=p±О(p2)log(1−p)−1=−log(1−p)=p±O(p2) для малих pp, ми можемо записати це як О(нжурналн/p)O(nlogn/p).
Ось більш точний розрахунок. Розглянемо рівеньтt. Припустимо, ми не зупиняємо процес, досягнувши невеликого інтервалу. Ми можемо генерувати випадкову вершину, приймаючитt кроки, в кожному з яких ми ймовірно йдемо ліворуч (скажемо) pp і правильно (сказати) з вірогідністю 1-p1−p. Щоразу, коли ми робимо лівий крок, журнал довжини інтервалу зменшується на-журналp−logp, і кожного разу, коли ми робимо правильний крок, він зменшується на -журнал(1-p)−log(1−p). Вершина знаходиться у фактичному дереві журналу довжини, зменшеної щонайменшежурналнlogn. Загальна вага інтервалів за рівнемтt дерева - це саме ймовірність того, що вершина, сформована відповідно до цього процесу, відповідає максимуму зменшення журналнlogn. Тобто, якщоDD - це розподіл, який дорівнює -журналp−logp з вірогідністю pp і до -журнал(1-p)−log(1−p) з вірогідністю 1-p1−p, і Х1,…,Хт∼DX1,…,Xt∼D незалежні, то загальна вага рівня тt є Пр[Х1+⋯+Хт≤журналн]Pr[X1+⋯+Xt≤logn]. Для суперконстантатt, випадкова величина Х1+⋯+ХтX1+⋯+Xt приблизно нормально розподілений із середнім [-pжурналp-(1-p)журнал(1-p)]т[−plogp−(1−p)log(1−p)]t і дисперсія лінійна в тt, так для тt задовольняючи [-pжурналp-(1-p)журнал(1-p)]т≤(журналн)/2[−plogp−(1−p)log(1−p)]t≤(logn)/2, скажімо, ймовірність буде дуже близькою 11, в той час як для тt задовольняючи [-pжурналp-(1-p)журнал(1-p)]т≥2журналн[−plogp−(1−p)log(1−p)]t≥2logn, скажімо, це буде дуже близько до нуля. Визначеннягод(p)=-pжурналp-(1-p)журнал(1-p)h(p)=−plogp−(1−p)log(1−p) (відома як функція бінарної ентропії), ми робимо висновок, що час роботи Θ(нжурналн/год(p))Θ(nlogn/h(p)) (рівномірний в pp, як н→∞n→∞). Якp→0p→0 ми маємо год(p)≈-pжурналph(p)≈−plogpі тому наша попередня оцінка не була тісною.
Інший спосіб дивитися на той же аналіз - це наявність нескінченної послідовності незалежних випадкових величин Х1,Х2,…X1,X2,… як і раніше, і визначаючи час зупинки ТT бути вперше тt такий як Х1+⋯+Хт≥журналнX1+⋯+Xt≥logn. Тоді час роботи пропорційнийнЕ[Т]nE[T]. Тоді теорема про елементарне оновлення говорить про цеlimн→∞Е[Т]/журналн=1/Е[D]=1/год(p)limn→∞E[T]/logn=1/E[D]=1/h(p), маючи на увазі, що загальний розмір інтервалів дорівнює (1+о(1))нжурналн/год(p)(1+o(1))nlogn/h(p). Точніше, для кожної постійноїpp загальний розмір інтервалів - (1+αp(н))нжурналн/год(p)(1+αp(n))nlogn/h(p), де αp(н)=о(н)αp(n)=o(n). Збіжність у теоремі елементарного відновлення експоненціальна у часовому параметрі -журналнlogn у нашому випадку - так має бути поліном в нn, це є, αp(н)=О(н-Сp)αp(n)=O(n−Cp). Зближення також, ймовірно, є рівномірним дляp∈(δ,1-δ)p∈(δ,1−δ) для будь-якого δ>0δ>0.
Підводячи підсумок, загальна довжина інтервалів у дереві рекурсії, пропорційна часу виконання, має наступну форму для кожного pp: Т(н,p)=(1+о(1))нжурналнгод(p),
T(n,p)=(1+o(1))nlognh(p),
де
журналнlogn і
год(p)=-pжурналp-(1-p)журнал(1-p)h(p)=−plogp−(1−p)log(1−p) приймаються на ту саму базу, що і
о(1)o(1) є функцією залежно від
pp і прагнуть до
00 з
нn.
Причому, мабуть, правда, що для будь-якого δ>0δ>0 і будь-який p∈(δ,1-δ)p∈(δ,1−δ) вірно, що загальна довжина інтервалів має форму Т(н,p)=(1+О(н-Сδ))нжурналнгод(p),
T(n,p)=(1+O(n−Cδ))nlognh(p),
де
Сδ>0Cδ>0 а прихована велика константа O залежить лише від
δδ. Зокрема, має бути так, що для всіх постійний
p1,p2p1,p2,
limн→∞Т(н,p1)Т(н,p2)=год(p2)год(p1),limn→∞T(n,p1)T(n,p2)=h(p2)h(p1),
і конвергенція поліноміально швидка.