Ich fragte eine (Samen) Frage zu Summen von Landau Bedingungen vor , zu versuchen , die Gefahren zu beurteilen , der Asymptotiken Notation in arithmetics, mit gemischtem Erfolg zu missbrauchen.
Nun hier unsere Wiederholung Guru JEFFE tut im Wesentlichen diese:
Obwohl das Endergebnis korrekt ist, denke ich, dass dies falsch ist. Warum? Wenn wir die gesamte Existenz impliziter Konstanten hinzufügen (nur die Obergrenze), haben wir
.
Wie berechnen wir nun aus ? Die Antwort ist, glaube ich, dass wir nicht können: muss für alle gebunden sein, aber wir bekommen mehr wenn wächst. Wir wissen nichts über sie; kann sehr gut von abhängen , daher können wir keine Grenze annehmen: Ein endliches existiert möglicherweise nicht.c 1 , … , c n c n n c i i c
Darüber hinaus gibt es diese subtile Frage, welche Variable auf der linken Seite ins Unendliche geht - oder ? Beide? Wenn (aus Gründen der Kompatibilität), was bedeutet , wenn man weiß, dass ? Bedeutet das nicht nur ? Wenn ja, können wir die Summe nicht besser als binden .n n Θ ( 1 / i ) 1 ≤ i ≤ n Θ ( 1 ) Θ ( n )
Wo bleibt uns das? Ist es ein offensichtlicher Fehler? Eine subtile? Oder ist es nur der üblicher Missbrauch der Notation und wir sollen nicht sehen aus dem Zusammenhang gerissen Zeichen wie diese? Können wir eine (streng) korrekte Regel formulieren, um (bestimmte) Summen von Landau-Begriffen zu bewerten?
Ich denke , dass die wichtigste Frage ist: Was ist ? Wenn wir es konstant (wie es ist innerhalb des Umfangs der Summe) wir counterexamples leicht aufbauen können. Wenn es nicht konstant ist, habe ich keine Ahnung, wie ich es lesen soll.
quelle
Antworten:
Sieht für mich in der folgenden Konvention richtig aus:
Somit sind die (oder mit der Notation in dieser Antwort ), die Sie erhalten, nicht wirklich von abhängig .c k kci ck k
Nach dieser Interpretation ist es tatsächlich wahr, dass .Sn=Θ(Hn)
Tatsächlich zeigt er in Jeffs Antwort, dass wobei , so dass es mit der obigen Interpretation übereinstimmt.f ∈ & THgr; ( 1 / k )T(k+1)=f(k)+T(k) f∈Θ(1/k)
Die Verwirrung scheint sich aus dem mentalen "Abrollen" der und der Annahme unterschiedlicher Funktionen für jedes Auftreten von ...& THgr;∑ Θ
quelle
Ich glaube, ich habe das Problem gelöst. Im Wesentlichen: Durch die Verwendung von Landau-Begriffen wird die Variable der Summandenfunktion von der laufenden Variablen der Summe entkoppelt. Wir lesen sie immer noch als identisch, daher die Verwirrung.
Um es formal zu entwickeln, was macht
wirklich gemein? Nun gehe ich davon aus, dass diese lassen - nicht - bis ins Unendliche; Wenn wir , ergibt jede solche Summe (wenn die Summanden unabhängig von und daher konstant sind), was eindeutig falsch ist. Hier ist ein erstes Werbegeschenk, das wir für grobe Dinge machen: bin innerhalb der Summe gebunden (und konstant), aber wir lassen sie trotzdem bis ins Unendliche gehen?i n n → ∞ Θ ( n ) , n iΘ i n n→∞ Θ(n) n i
Wenn wir (für die Obergrenze funktioniert die Untergrenze ähnlich), erhalten wir(1)
Jetzt ist klar, dass die Summe und der Parameter entkoppelt sind: Wir können das leicht so definieren , dass sie als Konstante verwenden. Im Beispiel aus der Frage können wir und habeni f i i f i ( j ) = i ⋅ 1i i fi i fi(j)=i⋅1j∈Θ(1/j)
aber die ursprüngliche Summe ergibt eindeutig nichts in . Das Austauschen von gegen - was nur eine Umbenennung ist - im mag sich seltsam anfühlen, weil nicht unabhängig von resp. die Summe, aber wenn wir jetzt dagegen protestieren, hätten wir niemals in der (da dies die gleiche Fremdheit enthält).j i Θ i n i ΘΘ(Hn)=Θ(logn) j i Θ i n i Θ
Beachten Sie, dass wir nicht einmal ausgenutzt haben, dass das auch von abhängen kann . nfi n
Zusammenfassend ist die vorgeschlagene Identität falsch. Wir können uns natürlich auf Konventionen einigen, wie man solche Summen wie die Abkürzung für strenge Berechnungen liest. Solche Konventionen werden jedoch nicht mit der Definition von Landau-Begriffen (zusammen mit dem normalen Missbrauch) vereinbar sein, ohne Kontext und zumindest für Anfänger irreführend - und das ist letztendlich eine Frage des Geschmacks (und der Rücksichtslosigkeit) ?).
Mir ist der Gedanke gekommen, dass wir auch genau das schreiben können , was wir meinen, und trotzdem die Bequemlichkeit der Landau-Begriffe nutzen können. Wir wissen, dass alle Summanden von einer gemeinsamen Funktion stammen, was bedeutet, dass die asymptotischen Grenzen dieselben Konstanten verwenden. Dies geht verloren, wenn wir das in die Summe setzen. Lassen Sie es uns also nicht dort hineinstecken und schreibenΘ
stattdessen. Wenn Sie das außerhalb der Summe setzen, erhalten SieΘ
Daher scheint es mir, dass dies sowohl eine korrekte als auch eine nützliche Art ist, die Angelegenheit aufzuschreiben, und daher der Verwendung von Landau-Symbolen innerhalb der Summe vorzuziehen ist, wenn wir sie außerhalb der Summe meinen .
quelle
Wenn jedes eine Konstante ist, gibt es einige so dass . Also klar Gleiche Idee für wenig Ö.ci cmax ∀ci:ci≤cmax
Ich denke, das Problem hier ist, dass . Es ist (da es kein so dass ), also ist die Gesamtsumme . Und jeder Term ist , was bedeutet, dass die Gesamtsumme . Daher können mit dieser Methode keine engen Grenzen gefunden werden.1/i≠Θ(1) o(1/n) ϵ ∀i:1/i>ϵ no(1/n)=o(1) O(1) O(n)
Ich denke, Ihre Fragen sind:
Hoffentlich kann jemand anderes # 2 klarer beantworten.
EDIT: Wenn Sie Ihre Frage noch einmal durchgehen, denke ich, dass Sie fragen
Worauf die Antwort ja lautet. In diesem Fall ist jedoch jeder Term nicht von irgendetwas, so dass dieser Ansatz auseinander fällt.Θ
EDIT 2: Sie sagen "Betrachten Sie , dann gibt es kein ". Eindeutig wahr. Wenn Sie sagen, dass eine nicht konstante Funktion von , dann ist es per Definition nicht konstant.ci=i cmax ci i
Beachten Sie, dass wenn Sie es so definieren, nicht , sondern . Wenn Sie "Konstante" als "irgendeine Funktion von " definieren, unterscheiden sich zwei beliebige Funktionen von durch eine "Konstante"!cii Θ(i) Θ(i2) i i
Vielleicht ist dies eine einfachere Art, sich das vorzustellen: Wir haben die Sequenz . Was ist der kleinste Begriff in dieser Sequenz? Nun, es wird von abhängen . Daher können wir die Begriffe nicht als konstant betrachten.1,12,…,1n n
(Informatiker sind häufig besser mit Big-O vertraut, daher ist es möglicherweise intuitiver zu fragen, ob einen konstant größten Term hat.)1,…,n
Um Ihren Beweis zu liefern: Sei der kleinste Wert von im Bereich . Dann istf(imin) f(i) 1,…,n
Ein analoger Beweis kann für die Obergrenze erbracht werden.
Zuletzt schreiben Sie, dass und geben als Beweis an, dass . Dies ist in der Tat ein Gegenbeweis: Wenn "größer" als , kann es nicht "kleiner" als , was erforderlich ist, damit es . Es kann also nicht .Hn=o(n) Hn=Θ(logn) Hn n logn Θ(logn) o(n)
quelle