Chaîne infinie de grands

12

Tout d'abord, permettez-moi d'écrire la définition du grand juste pour rendre les choses explicites.O

f(n)O(g(n))c,n0>0 tel que0f(n)cg(n),nn0

Disons que nous avons un nombre fini de fonctions: satisftying:f1,f2,fn

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

Par transitivité de , on a que:OO(f1)O(fn)

Cela vaut-il si nous avons une chaîne infinie de ? En d'autres termes, ?OsO(f1)O(f)

J'ai du mal à imaginer ce qui se passe.

saadtaame
la source

Réponses:

15

Nous devons d'abord clarifier ce que nous entendons par "est-ce valable si nous avons une chaîne infinie?". Nous l'interprétons comme une séquence infinie de fonctions telles que pour tout nous avons . Une telle séquence pourrait ne pas avoir de dernière fonction.i f i ( n ) = O ( f i + 1 ( n ) ){fi:NN1i}ifi(n)=O(fi+1(n))

Nous pouvons regarder la limite des fonctions dans la séquence, c'est-à-dire . Cependant il est possible que la limite n'existe pas. Et même dans le cas où il existe, nous pourrions ne pas avoir . Par exemple, considérons la séquence de fonctions . Pour chaque , et donc . Cependant donc .f(n)=limifi(n)f1(n)=O(f(n))fi(n)=niifi(n)=Θ(n)fi(n)=O(fi+1(n))f(n)=limifi(n)=0=Θ(1)f1(n)O(f(n))

D'autre part, nous pouvons regarder la limite de la séquence des classes qui n'a pas besoin d'être égale à la classe de la limite des fonctions . Nous avons , donc et pour tout . La limite supérieure contient tous les éléments (fonctions dans ce cas) qui se produisent infiniment souvent et la limite inférieure contient tous les éléments qui se produisent dans tous les pour certainsfiO(fi+1)O(fi)O(fi+1)fjlimiO(fi)=lim supiO(fi)=lim infiO(fi)=nNk>nO(fk)jO(fi),in0n0 (qui peut dépendre de l'élément). Étant donné que la séquence des classes augmente de façon monotone, les deux existent et sont égales. Cela justifie l'utilisation de .lim

frafl
la source
3
Il existe deux séries: une des fonctions (qui peuvent converger ou non) et une des ensembles (où chaque ensemble est un super ensemble de la précédente; c'est pourquoi cette série converge - voir la définition de lim inf et lim sup pour les ensembles) . La première partie répond à la question sans la partie , la seconde partie répond négativement à la partie (si est une sorte de limes). fff
frafl
Et si le nombre de termes est indénombrable? :)
SamM
En utilisant un bon ordre ou voulez-vous remplacer la série par quelque chose de plus continu? :)
frafl
@Kaveh Merci beaucoup, cela a beaucoup de sens maintenant. Si vous pouviez justifier l'utilisation des limites et ce que signifie cette chose lim inf, cela compléterait ma compréhension.
saadtaame
1
@saadtaame: C'est peut-être parce que la question ci-dessus ne demande toujours pas ce que vous voulez savoir? Si je me souviens bien, vous avez ajouté le cause d'un commentaire suggéré. Si vous fournissez un certain contexte, peut-être que quelqu'un pourrait reformuler la question à nouveau. f
frafl
5

Oui, il est possible d'avoir une chaîne infinie.

Je suis sûr que vous connaissez déjà quelques exemples: Vous avez ici une chaîne infinie: polynômes de degré croissant. Peux-tu aller plus loin? Sûr! Une exponentielle croît plus rapidement (asymptotiquement) que n'importe quel polynôme. Et bien sûr, vous pouvez continuer:

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

Vous pouvez également créer une chaîne infinie dans l'autre sens. Si alors (s'en tenir aux fonctions positives, car ici nous discutons l'asymptotique des fonctions de complexité). Nous avons donc par exemple:f=O(g)1g=O(1f)

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

En fait, étant donné n'importe quelle chaîne de fonctions , vous pouvez créer une fonction qui croît plus rapidement que toutes. (Je suppose que les sont des fonctions de à .) Commençons d'abord par l'idée . Cela peut ne pas fonctionner car l'ensemble peut être illimité. Mais comme nous ne sommes intéressés que par une croissance asymptotique, il suffit de commencer petit et de croître progressivement. Prenez le maximum sur un nombre fini de fonctions. f1,,fnffiNR+f(x)=max{fn(x)nN}{fn(x)nN}

f(x)=max{fn(x)1nN}if Nx<N+1
Alors pour tout , , puisque . Si vous voulez une fonction qui croît strictement plus vite ( ), prenez .NfNO(f)xN,f(x)fN(x)f=o(f)f(x)=x(1+f(x))
Gilles 'SO- arrête d'être méchant'
la source
Toutes ces réponses (la vôtre et l'autre) sont basées sur l'hypothèse que nous savons ce qui se passe à l'infini, elles ne sont pas satisfaisantes pour moi, je ne sais pas pour l'OP (pourquoi nous ne devrions pas avoir de groupe fermé de taille infinie) ?)
4
@SaeedAmiri Je suis désolé, je ne comprends pas votre commentaire: que voulez-vous dire par «nous savons ce qui se passe à l'infini, ils ne sont pas satisfaisants pour moi»?
Gilles 'SO- arrête d'être méchant'