Обґрунтований доказ справедливості припущення


20

Теорема Майстра - прекрасний інструмент для вирішення певних видів рецидивів . Однак ми часто замальовуємо невід'ємну частину під час її нанесення. Наприклад, під час аналізу Мергесорта ми із задоволенням їдемо

T(n)=T(⌊n2⌋)+T(⌈n2⌉)+f(n)

до

T′(n)=2T′(n2)+f(n)

враховуючи лише . Ми запевняємо, що цей крок дійсний - тобто - тому що поводить себе "красиво". Загалом, вважаємо, що для загальний знаменник.n=2kT∈Θ(T′)Tn=bkb

Легко побудувати рецидиви, які не дозволяють цього спрощення за допомогою порочного . Наприклад, вище повторення для / зfTT′

f(n)={1,n=2kn,else

вийде , використовуючи головну теорему звичайним способом, але, очевидно, є підпорядкованість, яка зростає як . Дивіться тут ще один, більш надуманий приклад.Θ ( n логін n )Θ(n)Θ(nlog⁡n)

Як ми можемо зробити це "приємно" суворим? Я цілком впевнений, що монотонність є достатньою, але навіть не просте повторення Мергесорта є монотонним; є періодичний компонент (який переважає асимптотично). Чи достатньо досліджувати , і які необхідні та достатні умови на які забезпечують роботу магістерської теореми?fff


Інший результат таких же результатів - теорема Акра-Бацци "Про рішення лінійних рівнянь повторення", обчислювальна оптимізація та додатки, 10 (2), 195-210 (1998), або Дрмота і Шпанковський "Основна теорема дискретного поділу і підкорити повторення ", SODA'11 < dl.acm.org/citation.cfm?id=2133036.2133064 >.
— vonbrand

2
Ось посилання на вищезгаданий документ, який не знаходиться за платною стіною.
— Пареш

1
IIRC про це йдеться в розділі 4. CLRS
— Kaveh

@Kaveh Дякую за вказівник. Здебільшого вони називають це "терпимою неохайністю"; це добре в їхньому контексті, тому що вони припускають, що ви виводите лише гіпотезу, пізніше, за допомогою індукції, виправдані. Вони згадують про небезпеку (4.6). У 4.6.2 вони дають доказ, але це на високому рівні, і вони прямо не говорять про те, які обмеження щодо повинні бути встановлені. Тож, здається, щось на кшталт " таке, що математика проходить", що, на мою думку, в основному вимагає, щоб мав "приємний" -клас. T f ΘTTfΘ
— Рафаель

У загальному випадку, коли у вас немає подібних розмірів, ви можете використовувати метод Акра – Бацци, який є узагальненням основної теореми, переконайтеся, що для зміни конкретної функції на те, що працює в цій теоремі, потрібна невелика хитрість, а для чогось подібного сортування злиття, саме це зазвичай використовують люди, щоб довести складність у часі.

Відповіді:


10

У цій відповіді ми припускаємо, що і T є негативними. Наше доведення працює, коли f = Θ ( g ) для деякого монотонного g . Сюди входить ваш приклад Mergesort, у якому f = Θ ( n ) , і будь-яка функція, яка має поліномічну швидкість росту (або навіть Θ ( n a log b n ) ).fTf=Θ(g)gf=Θ(n)Θ(nalogb⁡n)

Розглянемо спочатку випадок, що монотонно не зменшується (це припущення ми розслабимо пізніше). Ми сконцентруємося на вашому повторенні вибірки T ( n ) = T ( ⌊ n / 2 ⌋ ) + T ( ⌈ n / 2 ⌉ ) + f ( n ) . Цей рецидив потребує двох базових випадків, T ( 0 ) і T ( 1 ) . Ми робимо припущення, що T ( 0 )f

T(n)=T(⌊n/2⌋)+T(⌈n/2⌉)+f(n).
T(0)T(1) , за яким ми також пізніше розслабимось.T(0)≤T(1)

Я стверджую, що є монотонним не спадаючим. Доведемо повною індукцією, що T ( n + 1 ) ≥ T ( n ) . Це задано для n = 0 , тому нехай n ≥ 1 . Маємо T ( n + 1 )T(n)T(n+1)≥T(n)n=0n≥1 З цього випливає, що T(2⌊ log 2 n⌋)≤T(n)≤T(2⌈ log 2 n⌋). Отже, якщоT(2

T(n+1)=T(⌊(n+1)/2⌋)+T(⌈(n+1)/2⌉)+f(n+1)≥T(⌊n/2⌋)+T(⌈n/2⌉)+f(n)=T(n).
T(2⌊log2⁡n⌋)≤T(n)≤T(2⌈log2⁡n⌋).
, ми закінчили. Це завжди так, якщо рішення для степенів двох має вигляд T ( n ) = Θ ( n a log b n ) .T(2m)=Θ(T(2m+1))T(n)=Θ(nalogb⁡n)

T(0)≤T(1)T′T′(0)=T′(1)=min(T(0),T(1))T′(n)≤T(n)T″T″(0)=T″(1)=max(T(0),T(1))T(n)≤T″(n)T′=Θ(h)T″=Θ(h) для тієї ж функції , тому також.hT=Θ(h)

Тепер давайте розслабимо припущення, що є монотонним. Припустимо, що для деякої монотонної функції . Таким чином, для деяких і досить великий. Для простоти вважаємо, що ; загальний випадок може бути розроблений, як у попередньому пункті. Знову визначаємо два повторення шляхом заміни на (відповідно). Ще раз магістральна теорема дасть той самий результат (до постійних кратних), який також є ідентичним (до постійних кратних) тому, що ми отримали, вирішивши початковий повтор лише за потужностями двох.ff=Θ(g)gcg(n)≤f(n)≤Cg(n)c,C>0nn=0T′,T″fcg,Cg


1
Нарешті треба прочитати це уважніше. Приємно, дякую! Я думав, що відзначу це майбутнім читачам (бо я натрапив на це): не є обмеженням, оскільки це лише помилково для суперполіном і теорема Майстра до такого не стосується. T(2m)∈Θ(T(2m+1))T
— Рафаель

Я спробував записати ваші докази більш докладно і застряг, підтверджуючи ваше останнє речення, "яке також ідентично (...) тому, що ми отримаємо, вирішивши первісний повтор лише за двома повноваженнями". Зокрема, ми повинні показати, що в кінцевому підсумку ми маємо теорему Master для , та . Це не стосується випадків 1 і 2, але я не можу довести існування для випадку 3 (див. Версію в CLRS, p94 у 3-й редакції). Ви думали про це чи працювали з версією, подібною до Вікіпедії ? f C g c < 1cgfCgc<1
— Рафаель

Це технічність. Якщо тоді проблема усувається , див., Наприклад, users.encs.concordia.ca/~chvatal/notes/master.pdf . Функція автоматично відповідає умовам. Я думаю, що те саме працює для тощо. Крім того, просто викладіть цю умову безпосередньо на а не на : повинно існувати деяка "регулярна" задовольняє . g f = Θ ( n α log β n ) g f g f = Θ ( g )f=Θ(nα)gf=Θ(nαlogβ⁡n)gfgf=Θ(g)
— Yuval Filmus

Ну, ви стверджували, що " монотонна" була достатньою умовою (і я вам вірила), тому я намагався з цим працювати. Основна теорема, наведена в напр., CLRS стосується, наприклад, , якщо я не помиляюся, тому обмеження на полілогіармічні функції чи щось таке не є "технічним", але належним чином послаблює результат. Підвищення "регулярності" на не допомагає, до речі: я вже маю це у вирішальному випадку через регулярність / (за припущенням). Тож я, на жаль, повернувся до свого колишнього коментаря. Якщо це справді лише технічне, я цього не бачу. Занадто багато нерівностей. f : n ↦ 2 n g c g C ggf:n↦2ngcgCg
— Рафаель

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