Strenger Beweis für die Gültigkeit der Annahme


20

Der Hauptsatz ist ein schönes Werkzeug zum Lösen bestimmter Arten von Wiederholungen . Wir beschönigen jedoch häufig einen integralen Bestandteil, wenn wir ihn auftragen. Beispielsweise gehen wir bei der Analyse von Mergesort gerne ab

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

zu

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

unter Berücksichtigung von nur . Wir versichern uns, dass dieser Schritt gültig ist - das heißt, - weil sich "gut" verhält. Im Allgemeinen nehmen wir für den gemeinsamen Nenner an .n=2kTΘ(T)Tn=bkb

Es ist einfach, Wiederholungen zu konstruieren, die diese Vereinfachung nicht zulassen, indem bösartiges . Zum Beispiel oben Wiederholung für / mitfTT

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

ergibt unter Verwendung des Hauptsatzes auf die übliche Weise, aber es gibt eindeutig eine Subsequenz, die wie wächst . Sehen Sie sich hier ein weiteres Beispiel an.Θ ( n log n )Θ(n)Θ(nlogn)

Wie können wir das "schön" rigoros machen? Ich bin mir ziemlich sicher, dass Monotonie ausreicht, aber nicht einmal die einfache Mergesort-Wiederholung ist monoton; es gibt eine periodische Komponente (die asymptotisch dominiert wird). Reicht es aus, zu untersuchen , und welche notwendigen und ausreichenden Bedingungen für sicher, dass der Hauptsatz funktioniert?fff


Eine weitere Annahme zu denselben Ergebnissen ist der Akra-Bazzi-Satz "Über die Lösung linearer Rekursionsgleichungen", Computational Optimization and Applications, 10 (2), 195-210 (1998), oder Drmota und Szpankowski "A Master Theorem for Discrete Divide and Conquer Recurrences ", SODA'11 < dl.acm.org/citation.cfm?id=2133036.2133064 >.
Vonbrand

2
Hier ist ein Link zum obigen Artikel, der sich nicht hinter einer Paywall befindet.
Paresh

1
IIRC dies wird in CLRS Kapitel 4 besprochen.
Kaveh

@Kaveh Danke für den Hinweis. Zum größten Teil nennen sie es "erträgliche Schlamperei"; Dies ist in ihrem Zusammenhang in Ordnung, da sie davon ausgehen, dass Sie nur eine Hypothese ableiten, die später durch Induktion als richtig erwiesen wird. Sie erwähnen die Gefahren (4.6). In 4.6.2 geben sie einen Beweis, aber es ist auf hohem Niveau und sie sagen nicht explizit, welche Einschränkungen für müssen. Es scheint also so etwas wie " T so, dass die Mathematik durchgeht" zu sein, was meiner Meinung nach hauptsächlich erfordert, dass f eine "nette" Θ- Klasse hat. TTfΘ
Raphael

Wenn Sie keine ähnlichen Größen haben, können Sie im Allgemeinen die Akra-Bazzi-Methode verwenden, die eine Verallgemeinerung des Hauptsatzes ist. Um eine bestimmte Funktion in etwas zu ändern, das in diesem Satz funktioniert, ist ein kleiner Trick erforderlich. Dies wird normalerweise verwendet, um die Komplexität der Zeit zu beweisen.

Antworten:


10

In dieser Antwort gehen wir davon aus, dass und T nicht negativ sind. Unser Beweis funktioniert immer dann, wenn f = Θ ( g ) für ein monotones g ist . Dies schließt Ihr Mergesort-Beispiel mit ein, in dem f = Θ ( n ) und jede Funktion mit polynomieller Wachstumsrate (oder sogar Θ ( n a log b n ) ).fTf=Θ(g)gf=Θ(n)Θ(nalogbn)

Betrachten wir zunächst den Fall, dass nicht abnehmend ist (wir werden diese Annahme später lockern). Wir konzentrieren uns auf Ihre Probenwiederholung T ( n ) = T ( n / 2 ) + T ( n / 2 n ) + f ( n ) . Diese Wiederholung benötigt zwei Grundfälle, T ( 0 ) und T ( 1 ) . Wir gehen davon aus, dass T ( 0 )f

T(n)=T(n/2)+T(n/2)+f(n).
T(0)T(1) , die wir später auch entspannen.T(0)T(1)

Ich behaupte, dass monoton ist und nicht abnimmt. Wir beweisen durch vollständige Induktion, dass T ( n + 1 ) T ( n ) ist . Dies ist für n = 0 gegeben , also sei n 1 . Wir haben T ( n + 1 )T(n)T(n+1)T(n)n=0n1 Dies impliziert, dass T(2 log 2 n)T(n)T(2 log 2 n) ist. Also, wennT(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(2log2n)T(n)T(2log2n).
, wir sind fertig. Dies ist immer dann der Fall, wenn die Lösung für Zweierpotenzen die Form T ( n ) = Θ ( n a log b n ) hat .T(2m)=Θ(T(2m+1))T(n)=Θ(nalogbn)

T(0)T(1)TT ' ( n ) T ( n ) T "T(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) für die gleiche Funktion und damit auch .hT=Θ(h)

Lassen Sie uns nun die Annahme lockern, dass monoton ist. Angenommen, für eine monotone Funktion . Also für einige und groß genug. Der Einfachheit halber nehmen wir an, dass ; Der allgemeine Fall kann wie im vorherigen Absatz behandelt werden. Wiederum definieren wir zwei Wiederholungen indem wir durch ersetzen . Noch einmal, der Hauptsatz liefert dasselbe Ergebnis (bis zu konstanten Vielfachen), das auch mit dem identisch ist (bis zu konstanten Vielfachen), was wir erhalten würden, wenn wir die ursprüngliche Wiederholung nur mit Zweierpotenzen lösen würden.f = Θ ( g ) g C g ( n ) f ( n ) C g ( n ) c , C > 0 n n = 0ff=Θ(g)gcg(n)f(n)Cg(n)c,C>0nn=0T,Tfcg,Cg


1
Endlich muss ich das genauer lesen. Nett, danke! Ich dachte, ich würde dies für zukünftige Leser zur Kenntnis nehmen (weil ich darüber gestolpert bin): ist keine Einschränkung, da es nur für falsch ist Superpolynom und der Hauptsatz gilt nicht für solche. T(2m)Θ(T(2m+1))T
Raphael

Ich habe versucht, Ihren Beweis detaillierter aufzuschreiben, und bin dabei festgefahren, Ihren letzten Satz zu beweisen. Insbesondere müssen wir zeigen, dass wir im selben Fall des Hauptsatzes für , und enden . Dies ist kein Problem für die Fälle 1 und 2, aber ich kann die Existenz von für Fall 3 nicht nachweisen (siehe Version in CLRS, S. 94 in der 3. Ausgabe). Haben Sie darüber nachgedacht oder haben Sie mit einer Version gearbeitet, die der Wikipedia ähnelt ? f C g c < 1cgfCgc<1
Raphael

Dies ist eine technische Tatsache. Wenn ist, verschwindet das Problem, siehe zum Beispiel users.encs.concordia.ca/~chvatal/notes/master.pdf . Die Funktion erfüllt automatisch die Bedingungen. Ich stelle mir vor, dass das Gleiche für und so weiter funktioniert . Alternativ können Sie diese Bedingung direkt auf und nicht auf : Es muss ein "reguläres" , das erfüllt . g f = Θ ( n α log & beta; n ) g f g f = Θ ( g )f=Θ(nα)gf=Θ(nαlogβn)gfgf=Θ(g)
Yuval Filmus

Nun, Sie haben behauptet, " monotone" sei eine ausreichende Bedingung (und ich habe Ihnen geglaubt), also habe ich versucht, damit zu arbeiten. Der in z. B. CLRS gegebene Hauptsatz gilt für z. B. , wenn ich mich nicht irre, so dass eine Beschränkung auf polylogarithmische Funktionen oder dergleichen nicht "technisch" ist, sondern das Ergebnis angemessen schwächt. Das Heben der "Regelmäßigkeit" nach hilft übrigens nicht: Ich habe sie bereits im entscheidenden Fall über die Regelmäßigkeit von / (nach Annahme). Also bin ich leider wieder bei meinem früheren Kommentar. Wenn dies wirklich nur technisch ist, sehe ich es nicht. Zu viele Ungleichungen. f : n 2 n g c g C ggf:n2ngcgCg
Raphael

Ich denke immer noch, dass es eine technische Sache ist. Der Zustand, um den Sie sich Sorgen machen, ist ein technischer Zustand. Für die meisten in der Praxis vorkommenden Funktionen gilt die Bedingung. Sie fragen nach der allgemeinsten Bedingung, unter der die obige Beweisskizze ausgeführt wird. Das ist eine interessante Frage, die ich nicht beantworten kann.
Yuval Filmus
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.