Definition von

7

Ich arbeite aus dem Lehrbuch CLRS-Algorithmen der 3. Auflage und in Kapitel 3 beginnt eine Diskussion über die asymptotische Notation, die mit beginnt ΘNotation. Ich habe die anfängliche Definition von verstanden:

Θ(g(n))={f(n)|c1,c2>0,n0N:0c1g(n)f(n)c2g(n)  nn0}

Aber dann sagt der Text auf der nächsten Seite:

Die Definition von Θ(g(n)) erfordert, dass jedes Mitglied f(n)Θ(g(n)) asymptotisch nicht negativ sein, das heißt, das f(n) nicht negativ sein, wann immer nist ausreichend groß. (Eine asymptotisch positive Funktion ist eine, die für alle ausreichend groß positiv istn.) Folglich muss die Funktion g (n) selbst asymptotisch nicht negativ sein, oder auch die Menge Θ(g(n)) ist leer.

Der letzte Teil über das Wie, wenn die Funktion negativ ist, die Menge Θ(g(n))ist leer und die allgemeine Anforderung einer positiven Funktion ist irgendwie verwirrend. Kann da draußen jemand diese Definition für mich klarstellen und was sie bedeutet, möglich mit einem Beispiel, wäre es sehr dankbar.

Ockham
quelle
Wird Ihr Problem durch die Antworten auf diese Frage abgedeckt ?
Raphael
1
Ich glaube nicht, dass die Antwort auf dieses Problem zutrifft, aber korrigiere mich, wenn ich falsch liege. Das Problem, das Sie gepostet haben, ist, über wenig o und strenge Definitionen zu sprechen, aber ich bin nur daran interessiert zu wissen, warumΘerfordert nichtnegative Mitglieder
Ockham

Antworten:

7

Dies ist nur eine technische Frage. In der asymptotischen Analyse interessieren wir uns nur "wirklich" für positive Funktionen wien3 oder nlogn. Wenn wir jedoch sehr formal und allgemein sein wollen, könnten wir nicht positive Funktionen berücksichtigen (und das könnte sich als nützlich erweisen, siehe unten). Die Definition vonΘ besagt, dass f(n)=Θ(g(n)) wenn von irgendwann an, f(n)/g(n) wird von beiden Seiten durch Konstanten und darüber hinaus begrenzt g(n)0. (Das erhalten Sie, wenn Sie die Definition abrollen.) Insbesondere wennf(n)=Θ(g(n))dann von irgendwann an g ist nicht negativ.

Hier ist eine alternative Definition von groß Θ. Annehmenf,g:NNsind positive Funktionen, das heißtf(n),g(n)>0. Dannf(n)=Θ(g(n)) wenn es positive Konstanten gibt c1,c2 so dass c1f(n)/g(n)c2. Ich weiß nicht, warum die kompliziertere Definition in einleitenden Texten dargestellt wird.

Was sind die Vorteile der komplizierteren Definition? Es kann Funktionen verarbeiten, die einige nicht positive Werte haben (es muss eine endliche Anzahl von ihnen geben). Diese Definition enthält beispielsweise die (wahre) Aussagen10=Θ(2n30logn). Obwohl Funktionen, die in der Praxis angetroffen werden, normalerweise positiv sind, können manchmal negative Funktionen auftreten: Nehmen wir zum Beispiel an, wir sind an einer wirklich komplizierten Funktion interessiertkund wir schätzen es von unten durch eine Funktion t, was jedoch für kleine negativ ist n.

Yuval Filmus
quelle
Was genau meinst du mit dem "more complicated definition"? Weil es benutztn0?
Phant0m
Beachten Sie, dass die vom OP zitierte Definition von CLRS nicht über das Verhältnis von spricht f und gund es ist in der Tat nicht gleichwertig (ohne etwas Heben).
Raphael
@Raphael Es wird etwas erklärt, welche Fälle die vereinfachte Definition im letzten Absatz nicht abdeckt, aber nicht genau warum. Nein, es wird vielleicht nicht über das Verhältnis gesprochen, aber es ist ziemlich leicht zu erkennen, dass dieser Teil allein gleichwertig ist.
Phant0m
@ Raphael, ich bin anderer Meinung. Beide Definitionen sind unter der Annahme äquivalent, dassf und gsind positiv (Übung).
Yuval Filmus
@YuvalFilmus Wenn wir über die gleichen Definitionen sprechen, f(x)=1 und g(x)=sin(x)ist ein Gegenbeispiel. Jedes Funktionspaar, für das dielimf/gexistiert nicht bricht es. Man muss benutzenlim sup bzw. lim inf.
Raphael
2

Warum Θ(g) kann leer sein

Es folgt direkt aus der Definition.

Θ(g(n))={f(n)|c1,c2>0,n0N:0c1g(n)f(n)c2g(n)  nn0}

Der wichtige Teil hier ist folgender: f(n)|c1>0:0c1g(n)

Offensichtlich ist die Einschränkung auf f (Ab sofort kommt es nicht einmal mehr darauf an f), besagt, dass g multipliziert mit einer positiven Konstante c1 muss selbst positiv sein (für große Werte von n, impliziert von hier an ).

Natürlich, wenn g ist nicht streng positiv, diese Einschränkung verhindert alle möglichen Funktionen f von einem Mitglied des Sets zu sein Θ(g).

Daraus folgt, dass ein solcher Satz leer ist.

Für alle fΘ(g), f ist streng positiv

Dies folgt auch direkt aus demselben Teil der Definition: f(n)|:0f(n)

Offensichtlich wenn f ist nicht streng positiv, die Bedingung ist nicht erfüllt, daher keine solche f kann enthalten sein in Θ(g).

Hinweis : Ich bin mir nicht ganz sicher, was für Sie unklar ist, da Sie nur "verwirrend" geschrieben haben.

phant0m
quelle