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)=Ω(Logkn) kn

(1+eink)Logkn=Logkn+LogkneinLogk(2n),
1+einkkLognLogn+Log2[1+einkk- -1]]LognLog2und 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Θ(Logn). Wenn wir zurücksetzen, schließen wir, dass die Reihenfolge des Wachstums vonT.(n) sollte so etwas sein (Logn)Θ(LogLogn).

Es scheint, dass Logk(2n)=(Log2+Logn)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.