In vielerlei Hinsicht ist es intuitiver ist, dass für jede positive ganze Zahl m
haben wir:
x^m = O(e^x)
Diese besagt, dass exponentielles Wachstum dominiert Polynom Wachstum (Deshalb sind exponentielle Zeitalgorithmen schlechte Nachrichten in der Computerprogrammierung).
Unter der Annahme, dass dies wahr ist, nehmen Sie einfach x = log(n)
und nutzt die Tatsache, dass dann x
gegen unendlich geht, wenn und nur wenn n
gegen unendlich geht und dass e^x
und log(x)
sind Umkehrungen:
log(n)^m = O(e^log(n)) = O(n)
Schließlich, da für jede natürliche Zahl m
, die Wurzelfunktion n => n^(1/m)
zunimmt, können wir das Ergebnis als
log(n) = O(n^(1/m))
umzuschreiben seine Art zu schreiben, sagt, dass log(n)
langsamer wächst als jede Wurzel (Quadrat, Würfel, etc.) von n
, die offensichtlich e^n
schneller wächst als jede Leistung von n
.
Auf Edit: zeigte die obige dass log(n)^m = O(n)
aus dem bekannteren x^m = O(e^x)
gefolgt. Um es zu einem in sich geschlossenen Beweis zu konvertieren, können wir das später etwas direkt zeigen.
Beginnen Sie mit der Taylor-Reihe für e^x
:
e^x = 1 + x/1! + x^2/2! + x^3/3! + ... + x^n/n! + ...
Dies ist bekannt x
für alle reellen Zahlen konvergieren. Wenn eine positive ganze Zahl m
gegeben ist, lassen Sie K = (m+1)!
.Wenn dann x > K
wir haben 1/x < 1/(m+1)!
, daher
x^m = x^(m+1)/x < x^(m+1)/(m+1)! < e^x
die x^m = O(e^x)
impliziert. (Die letzte Ungleichheit in der oben gilt, da alle Glieder in der Entwicklung für e^x
sind streng positiv, wenn x>0
und x^(m+1)/(m+1)!
nur eines dieser Begriffe ist.)
Es scheint, um wahr zu sein, obwohl es ist nicht sofort offensichtlich für mich, wie man Beweise es. – MooseBoys