Строгое доказательство справедливости предположения при использовании основной теоремы

20

Основная теорема является прекрасным инструментом для решения определенных видов повторений . Тем не менее, мы часто замазываем неотъемлемую часть при его применении. Например, во время анализа Mergesort мы с радостью

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)Θ(nlogn)

Как мы можем сделать это "красиво" строгим? Я совершенно уверен, что монотонности достаточно, но даже простое повторение Mergesort не является монотонным; существует периодическая составляющая (которая асимптотически доминирует). Достаточно ли исследовать и каковы необходимые и достаточные условия для , обеспечивающие работу основной теоремы?ff

Рафаэль
источник
Другим результатом тех же результатов является теорема Акра-Бацци «О решении линейных рекуррентных уравнений», «Оптимизация вычислений и приложения», 10 (2), 195-210 (1998), или Дрмота и Шпанковский «Основная теорема для дискретного деления». и победить повторения ", SODA'11 < dl.acm.org/citation.cfm?id=2133036.2133064 >.
vonbrand
2
Вот ссылка на вышеуказанный документ, который не находится за платным доступом.
Пареш
1
IIRC это обсуждается в главе 4 CLRS
Каве
@Kaveh Спасибо за указатель. По большей части они называют это "терпимым разгильдяйством"; это хорошо в их контексте, потому что они предполагают, что вы только выводите гипотезу, которая позже будет подтверждена индукцией. Они упоминают об опасностях (4.6). В 4.6.2 они дают доказательство, но оно высокого уровня, и они явно не говорят, какие ограничения на должны быть на месте. Так что, похоже, что-то вроде « такой, что математика проходит», что, я думаю, в основном требует, чтобы имел «хороший» -класс. TTfΘ
Рафаэль
В общем случае, когда у вас нет похожих размеров, вы можете использовать метод Акра – Бацци, который является обобщением основной теоремы, конечно, для того, чтобы заменить конкретную функцию на что-то, что работает в этой теореме, нужен небольшой прием, а для чего-то вроде сортировки слиянием, это то, что обычно люди используют для доказательства сложности времени.

Ответы:

10

В этом ответе мы предполагаем, что и неотрицательны. Наше доказательство работает всякий раз, когда для некоторого монотонного . Это включает ваш пример Mergesort, в котором , и любую функцию с полиномиальной скоростью роста (или даже ).fTf=Θ(g)gf=Θ(n)Θ(nalogbn)

Давайте сначала рассмотрим случай, когда является монотонно неубывающим (мы ослабим это предположение позже). Мы сконцентрируемся на повторяемости вашей выборки Это повторение требует двух базовых случаев, и . Сделаем предположение, что , что мы позже и ослабим.f

T(n)=T(n/2)+T(n/2)+f(n).
T(0)T(1)T(0)T(1)

Я утверждаю, что является монотонно неубывающим. По полной индукции докажем, что . Это дается для , поэтому пусть . У нас есть Это означает, что Итак, если , все готово. Это всегда так, если решение для степеней двойки имеет вид .T(n)T(n+1)T(n)n=0n1

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(2log2n)T(n)T(2log2n).
T(2m)=Θ(T(2m+1))T(n)=Θ(nalogbn)

Теперь давайте ослабим предположение, что . Рассмотрим новую рекурсию определенную точно таким же образом, только . По индукции можно доказать, что . Аналогично, мы можем определить новую рекурсию удовлетворяющую , а затем . Используя теорему Мастера, мы видим, что и для одной и той же функции , а значит, и .T(0)T(1)TT(0)=T(1)=min(T(0),T(1))T(n)T(n)TT(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,Tfcg,Cg

Юваль Фильмус
источник
1
Наконец-то добрался до этого внимательнее. Хорошо, спасибо! Я решил отметить это для будущих читателей (потому что я споткнулся об этом): ) не является ограничением, поскольку оно ложно только для Суперполином и теорема Мастера к таким не относятся. T(2m)Θ(T(2m+1))T
Рафаэль
Я попытался записать ваше доказательство более подробно и застрял, доказывая ваше последнее предложение, «которое также идентично (...) тому, что мы получили бы, решив исходное повторение только на степени двух». В частности, мы должны показать, что мы попадаем в один и тот же случай основной теоремы для , и . Это не проблема для случаев 1 и 2, но я не могу показать существование для случая 3 (см. Версию в CLRS, p94 в 3-м издании). Вы думали об этом, или вы работали с версией, похожей на версию из Википедии ? cgfCgc<1
Рафаэль
Это техничность. Если то проблема исчезнет, ​​см., Например, users.encs.concordia.ca/~chvatal/notes/master.pdf . Функция автоматически выполнит условия. Я думаю, что то же самое работает для и так далее. В качестве альтернативы, просто сформулируйте это условие непосредственно на а не на : должен существовать некоторый «регулярный» удовлетворяющий . f=Θ(nα)gf=Θ(nαlogβn)gfgf=Θ(g)
Юваль Фильмус
Ну, вы утверждали, что " monotone" было достаточным условием (и я вам поверил), поэтому я попытался с этим поработать. Основная теорема, приведенная, например, в CLRS, относится, например, к , если я не ошибаюсь, поэтому ограничение на полилогарифмические функции или что-то подобное не является «техническим», но должным образом ослабляет результат. Кстати, снятие «регулярности» с не помогает: у меня она уже есть в критическом случае с помощью регулярности / (по предположению). Так что я вернулся к своему прежнему комментарию, к сожалению. Если это действительно только технический, я не вижу этого. Слишком много неравенств. gf:n2ngcgCg
Рафаэль
Я все еще думаю, что это формальность. Состояние, о котором вы беспокоитесь, является техническим состоянием. Для большинства функций, появляющихся на практике, условие будет выполнено. Вы спрашиваете о наиболее общем условии, при котором эскиз доказательства выше проходит. Это интересный вопрос, на который мне лень отвечать.
Юваль Фильмус