Unendliche Kette von großen


12

Lassen Sie mich zunächst die Definition von Big schreiben , um die Dinge deutlich zu machen.O

f(n)O(g(n))c,n0>0 so dass0f(n)cg(n),nn0

Lassen Sie uns sagen , dass wir eine endliche Anzahl von Funktionen: satisftying:f1,f2,fn

O(f1)O(f2)O(fn)

Durch die Transitivität von O haben wir das: O(f1)O(fn)

Gilt das, wenn wir eine unendliche Kette von Os ? Mit anderen Worten, ist O(f1)O(f) ?

Ich habe Probleme, mir vorzustellen, was los ist.

Antworten:


15

Wir müssen zunächst klären, was wir unter "Gilt das, wenn wir eine unendliche Kette haben?" Wir interpretieren es als eine unendliche Folge von Funktionen so dass wir für alle . Eine solche Sequenz hat möglicherweise keine letzte Funktion.i f i ( n ) = O ( f i + 1 ( n ) ){fi:NN1i}ifi(n)=O(fi+1(n))

Wir können die Grenze der Funktionen in der Folge betrachten, dh . Es ist jedoch möglich, dass das Limit nicht existiert. Und selbst in dem Fall, dass es existiert, haben wir möglicherweise nicht . Betrachten Sie zum Beispiel die Folge von Funktionen . Für jedes ist und daher . Jedoch so .f 1 ( n ) = O ( f ( n ) ) f i ( n ) = nf(n)=limifi(n)f1(n)=O(f(n)) ifi(n)=Θ(n)fi(n)=O(fi+1(n))f(n)=limifi(n)=0=Θ(1)f1(n)O(f(fi(n)=niifi(n)=Θ(n)fi(n)=O(fi+1(n))f(n)=limifi(n)=0=Θ(1)f1(n)O(f(n))

Auf der anderen Seite können wir die Grenze der Reihenfolge der Klassen betrachten, die nicht gleich der Klasse der Grenze der Funktionen sein muss . Wir haben , also und für alle . Der limit superior enthält alle Elemente (in diesem Fall Funktionen), die unendlich oft vorkommen, und der limit inferior enthält alle Elemente, die in all für einige vorkommenO ( f i ) O ( f i + 1 ) f jlim i O ( f i ) = lim sup i O ( f i ) = lim inf i O ( f i ) = n NfiO(fi+1)O(fi)O(fi+1)j O ( f i ) , i n 0 n 0fjlimiO(fi)=lim supiO(fi)=lim infiO(fi)=nNk>nÖ(fk)jO(fich),ichn0n0 (was vom Element abhängen kann). Da die Reihenfolge der Klassen monoton zunimmt, existieren beide und sie sind gleich. Dies rechtfertigt die Verwendung von .lim


3
Es gibt zwei Reihen: eine von Funktionen (die konvergieren können oder nicht) und eine von Mengen (wobei jede Menge eine übergeordnete Menge der vorhergehenden ist; deshalb konvergiert diese Reihe - siehe Definition von lim inf und lim sup für Mengen). . Der erste Teil beantwortet die Frage ohne den Teil , der zweite Teil beantwortet den Teil negativ (wenn eine Art Limes ist). f f fff
Freitag,

Was ist, wenn die Anzahl der Begriffe unzählig ist? :)
SamM

Mit etwas Ordnung oder möchten Sie die Serie durch etwas Kontinuierlicheres ersetzen? :)
Freitag

@Kaveh Vielen Dank, es macht jetzt sehr viel Sinn. Wenn Sie die Verwendung von Grenzen rechtfertigen könnten und die Bedeutung dieser Grenze, dann würde dies mein Verständnis vervollständigen.
Saadtaame

1
@saadtaame: Vielleicht liegt das daran, dass die obige Frage noch nicht fragt, was du wissen willst? Wenn ich mich richtig erinnere, haben Sie das hinzugefügt, weil ein Kommentar es vorgeschlagen hat. Wenn Sie einen Kontext angeben, könnte möglicherweise jemand die Frage erneut formulieren. f
Freitag,

5

Ja, es ist möglich, eine unendliche Kette zu haben.

Ich bin sicher, Sie kennen bereits einige Beispiele: Hier haben Sie eine unendliche Kette: Polynome wachsenden Grades. Kannst du noch weiter gehen? Sicher! Ein Exponential wächst asymptotisch schneller als jedes Polynom. Und natürlich kannst du weitermachen:O ( x ) O ( x 2 ) O ( x 42 ) O ( e x ) O ( e x ) O ( x

O(x)O(x2)O(x42)
O(x)O(x2)O(x42)O(ex)
O(ex)O(xex)O(e2x)O(eex)

Sie können eine unendliche Kette auch in die andere Richtung bauen. Wenn dann (bei positiven Funktionen bleiben, da wir hier die Asymptotik von Komplexitätsfunktionen diskutieren). So haben wir zum Beispiel:1f=O(g)1g=O(1f)

O(x)O(x2)O(exx2)O(exx)O(ex)

Sie eine beliebige Funktionskette angeben , können Sie eine Funktion erstellen , die schneller wächst als alle anderen. (Ich nehme an, die sind Funktionen von bis .) Beginnen Sie zunächst mit der Idee . Dies funktioniert möglicherweise nicht, da die Menge kann. Da wir jedoch nur an asymptotischem Wachstum interessiert sind, reicht es aus, klein anzufangen und progressiv zu wachsen. Nehmen Sie das Maximum über eine endliche Anzahl von Funktionen. f f i N R + f ( x ) = max { f n ( x ) n N } { f n ( x ) n N }f1,,fnffiNR+f(x)=max{fn(x)nN}{fn(x)nN}

f(x)=max{fn(x)1nN}if Nx<N+1
Dann für jede , , da . Wenn Sie eine Funktion wünschen, die deutlich schneller wächst ( ), nehmen Sie .NfNO(f)xN,f(x)fN(x)f=o(f)f(x)=x(1+f(x))

Alle diese Antworten (Ihre und andere) basieren auf der Annahme, dass wir wissen, was im Unendlichen passiert, dass sie für mich nicht befriedigend sind, dass ich nichts über das OP weiß (warum wir keine geschlossene Gruppe mit unendlicher Größe haben sollten) ?)

4
@ SaeedAmiri Es tut mir leid, ich verstehe Ihren Kommentar nicht: Was meinst du mit "wir wissen, was im Unendlichen passiert, sie sind für mich nicht befriedigend"?
Gilles 'SO- hör auf böse zu sein'
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.