Wie man eine Wiederholungsgleichung für die Laufzeit eines Teile-und-Herrsche-Algorithmus angibt

Ich arbeite an meinen Hausaufgaben und habe dieses Problem gesehen:

Ein Teile-und-Herrsche-Algorithmus X teilt jede gegebene Probleminstanz in genau zwei kleinere Probleminstanzen und löst sie rekursiv. Außerdem wann immer X teilt eine gegebene Probleminstanz der Größe N in kleinere Instanzen mit Größen A Und B , Dann A + B = N Und 1 4 N A , B 3 4 N .

  1. Wenn die Aufteilungs- und Zusammenführungsverfahren dies erfordern 2 N Schritte für eine problematische Instanz der Größe N , leiten die asymptotische Laufzeit ab T ( N ) (In Θ ( ) ).
  2. Wenn die Aufteilungs- und Zusammenführungsverfahren dies erfordern N 2 Schritte für eine problematische Instanz der Größe N , leiten die asymptotische Laufzeit ab T ( N ) (In Θ ( ) ).

Ich weiß, dass ich den Hauptsatz verwenden muss, nachdem ich die Wiederholungsgleichung erhalten habe, aber ich habe keine Ahnung, wie ich die Form von angeben soll T ( N ) . In anderen Beispielen habe ich so etwas wie "es teilt sich in drei Teile" gesehen, was verständlich ist, aber das A + B Teil verwirrt mich. Kann mir bitte jemand helfen? Danke!!

Wenn ich richtig verstehe, A , B sind hier nicht festgelegt - sie können auf jeder Ebene der Rekursion variieren?

Antworten (2)

Also, T ( N ) = T ( A ) + T ( B ) + 2 N im ersten Fall mit A , B begrenzt, wie Sie erwähnt haben

Lassen Sie uns zuerst das Problem in Bezug auf eine explizite Wiederholungsrelation formulieren.

Lassen A 1 = A 2 = 1 Und B 1 = B 2 = 1 2 , und betrachten Sie die Funktionen T , H 1 , H 2 , G und mit der Eigenschaft, dass

T ( X ) = G ( X ) + A 1 T ( B 1 X + H 1 ( X ) ) + A 2 T ( B 2 X + H 2 ( X ) ) .
Vermute das auch | H 1 ( X ) | , | H 2 ( X ) | X 4 . Finden Sie asymptotische Schranken für T , Wenn G ( X ) = 2 X , und wann G ( X ) = X 2 .

Ich habe das Problem absichtlich wie oben formuliert, so dass es der Form ähnelt, die im Akra-Bazzi-Theorem erscheint , das eine der bekanntesten Verallgemeinerungen des Master-Theorems ist . Wie Sie in Leightons Notiz zum Akra-Bazzi-Theorem sehen können , funktioniert die gegebene asymptotische Grenze des Theorems nur dann garantiert, wenn es eine positive Konstante gibt ϵ so dass wir haben | H 1 ( X ) | , | H 2 ( X ) | X ( Protokoll X ) 1 + ϵ für alle groß genug X (zusammen mit anderen Anforderungen, die in unserem Problem gelten). Leider ist dies bei unserem Problem nicht der Fall, und Sie können den Hauptsatz oder seine bekannten Verallgemeinerungen nicht wie erwartet verwenden. Aber glücklicherweise funktioniert die durch den Satz gegebene Wachstumsreihenfolge in unserem Problem aus einem anderen einfachen Grund. Wir haben also mit dem verallgemeinerten Hauptsatz eine gute Vermutung und müssen nur selbst einen Beweis liefern. Als P = 1 ist die eindeutige reelle Zahl befriedigend A 1 B 1 P + A 2 B 2 P = 1 (die kritische Kraft), die vorgegebene Wachstumsreihenfolge Θ ( X P ( 1 + 1 X G ( u ) u P + 1   D u ) ) wird Θ ( X Protokoll X ) falls G ( X ) = 2 X , Und Θ ( X 2 ) falls G ( X ) = X 2 .

Um zu sehen, warum die Grenzen funktionieren, beachten Sie, dass beide X X Protokoll X Und X X 2 sind differenzierbare konvexe Funktionen (in unserem Interessenbereich, sagen wir X 1 ). So ihre Derivate, X 1 + Protokoll X Und X 2 X , sind streng steigend und daher injektiv. Betrachten Sie eine differenzierbare reellwertige Funktion F in einem Intervall definiert ICH = [ N 2 M , N 2 + M ] für etwas positives N Und M , so dass seine Ableitung F ' ist streng steigend. Definieren F : ICH R mit F ( A ) = F ( A ) + F ( N A ) . Dann F ist differenzierbar und F ' ( A ) = F ' ( A ) F ' ( N A ) . Als F ' ist injektiv, der Wert von F ' kann nur dann Null werden A = N A , dh A = N 2 . Als Extrema von F kann nur an den Endpunkten von passieren ICH oder wo der Wert von F ' Null wird, können wir das für alle überprüfen A ICH ,

F ( N 2 ) F ( A ) F ( N 2 M ) = F ( N 2 + M ) ,
oder gleichwertig
2 F ( N 2 ) F ( A ) + F ( N A ) F ( N 2 M ) + F ( N 2 + M ) ,
durch Bestimmung des Vorzeichens von F ' . Diese einfache Beobachtung lässt uns beweisen, dass unsere Grenzen funktionieren.


Fall T ( N ) = T ( A ( N ) ) + T ( B ( N ) ) + 2 N

Wähle positive Konstanten C 1 2 Und C 2 1 1 3 8 Protokoll 2 3 so dass wir haben

(0) C 1 N Protokoll 2 N T ( N ) C 2 N Protokoll 2 N
für genügend viele Werte von N . Wir verwenden (starke) Induktion, um zu beweisen, dass von da an (0) gilt für alle N . Nehmen wir als Induktionshypothese an, dass wir haben (0) für alle N mit N 4 N 3 N 4 . Dann haben wir
T ( N ) = T ( A ( N ) ) + T ( B ( N ) ) + 2 N C 1 A ( N ) Protokoll 2 A ( N ) + C 1 B ( N ) Protokoll 2 B ( N ) + 2 N = C 1 A ( N ) Protokoll 2 A ( N ) + C 1 ( N A ( N ) ) Protokoll 2 ( N A ( N ) ) + 2 N 2 C 1 ( N 2 ) Protokoll 2 ( N 2 ) + 2 N = C 1 N Protokoll 2 N + ( 2 C 1 ) N C 1 N Protokoll 2 N ,
Und
T ( N ) = T ( A ( N ) ) + T ( B ( N ) ) + 2 N C 2 A ( N ) Protokoll 2 A ( N ) + C 2 B ( N ) Protokoll 2 B ( N ) + 2 N = C 2 A ( N ) Protokoll 2 A ( N ) + C 2 ( N A ( N ) ) Protokoll 2 ( N A ( N ) ) + 2 N C 2 ( N 4 ) Protokoll 2 ( N 4 ) + C 2 ( 3 N 4 ) Protokoll 2 ( 3 N 4 ) + 2 N = C 2 N Protokoll 2 N + ( 2 ( 2 3 4 Protokoll 2 3 ) C 2 ) N C 2 N Protokoll 2 N ,
womit der Induktionsschritt abgeschlossen ist.


Fall T ( N ) = T ( A ( N ) ) + T ( B ( N ) ) + N 2

Wähle positive Konstanten C 1 2 Und C 2 8 3 so dass wir haben

(1) C 1 N 2 T ( N ) C 2 N 2
für genügend viele Werte von N . Wir verwenden (starke) Induktion, um zu beweisen, dass von da an (1) gilt für alle N . Nehmen wir als Induktionshypothese an, dass wir haben (1) für alle N mit N 4 N 3 N 4 . Dann haben wir
T ( N ) = T ( A ( N ) ) + T ( B ( N ) ) + N 2 C 1 A ( N ) 2 + C 1 B ( N ) 2 + N 2 = C 1 A ( N ) 2 + C 1 ( N A ( N ) ) 2 + N 2 2 C 1 ( N 2 ) 2 + N 2 = ( C 1 2 + 1 ) N 2 C 1 N 2 ,
Und
T ( N ) = T ( A ( N ) ) + T ( B ( N ) ) + N 2 C 2 A ( N ) 2 + C 2 B ( N ) 2 + N 2 = C 2 A ( N ) 2 + C 2 ( N A ( N ) ) 2 + N 2 C 2 ( N 4 ) 2 + C 2 ( 3 N 4 ) 2 + N 2 = ( 5 C 2 8 + 1 ) N 2 C 2 N 2 ,
womit der Induktionsschritt abgeschlossen ist.