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,…,fnf∞fiNR+f∞(x)=max{fn(x)∣n∈N}{fn(x)∣n∈N}
f∞(x)=max{fn(x)∣1≤n≤N}if N≤x<N+1
Alors pour tout , , puisque . Si vous voulez une fonction qui croît strictement plus vite ( ), prenez .
NfN∈O(f∞)∀x≥N,f∞(x)≥fN(x)f∞=o(f′∞)f′∞(x)=x⋅(1+f∞(x))