Lösen der Wiederholungsrelation


8

Ich möchte beweisen, dass die zeitliche Komplexität eines Algorithmus in der Eingabeskala polylogarithmisch ist.

Die Wiederholungsrelation dieses Algorithmus ist , wobei a ∈ ( 0 , 1 ) ist .T.(2n)≤T.(n)+T.(nein)ein∈(0,1)

Es scheint, dass für einige β von a abhängt . Aber ich kann diese Ungleichheit nicht beweisen. Wie kann man diese Wiederholungsbeziehung lösen?T.(n)≤Logβ⁡nβein

Ich möchte nur eine obere Grenze des Polylogarithmus in n erhalten.


1
, nehme ich an? Haben Sie auch unsereReferenzfrageüberprüft? Ich glaube nicht, dass der spezielle Fall, nach dem Sie fragen, dort explizit behandelt wird, aber es werden viele Techniken beschrieben. ein<1
— David Richerby

1
Es gibt keinen "Master" -Satz für diesen Typ, den ich kenne; Siehe meine und diese Frage . (cc @DavidRicherby)
— Raphael

Antworten:


4

T.(n)>0n>0T.(n)=Ω(Logk⁡n) kn

(1+eink)Logk⁡n=Logk⁡n+Logk⁡nein≥Logk⁡(2n),
1+einkkLog⁡n≥Log⁡n+Log⁡2[1+einkk- -1]]Log⁡n≥Log⁡2und insbesondere für groß genug n.

Was ist die richtige Reihenfolge des Wachstums von T.(n)? Um es herauszufinden, schreiben SieS.(n)=T.(2n). Die Wiederholung wird jetzt

S.(n+1)=S.(n)+S.(einn).
Für große n, Wir würden erwarten S.(n+1)- -S.(n) sehr nahe sein S.'(n)und so heuristisch würden wir das erwarten S. erfüllen S.'(n)=S.(einn). Diese Gleichung scheint etwas schwer zu lösen, aber eine ungefähre Lösung istS.(n)=nΘ(Log⁡n). Wenn wir zurücksetzen, schließen wir, dass die Reihenfolge des Wachstums vonT.(n) sollte so etwas sein (Log⁡n)Θ(Log⁡Log⁡n).

Es scheint, dass Logk⁡(2n)=(Log⁡2+Log⁡n)k. Die Untergrenze gilt nicht.
— Qiang Li

@ QiangLi Danke, dass du den Fehler entdeckt hast. Die Untergrenze gilt jedoch, sobald das Argument entsprechend geändert wurde.
— 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.