Pourquoi est-ce


8

3n=2O(n)est apparemment vrai. Je pensais que c'était faux car3n croît plus rapidement que n'importe quelle fonction exponentielle avec une base de 2.

Comment est 3n=2O(n) vrai?


1
Attention aux abus de notation!
— Raphael

Vraiment je ne comprends pas 3n=2O(n)signifier? d'abord je l'ai changé en3n∈2O(n), après cela, j'ai vu de nouveau que cela n'avait aucun sens. La question de l'OMI n'a pas de sens.

1
Il est extrêmement courant d'écriref(x)=O(g(x)) pour ce qui devrait être au sens strict f(x)∈O(g(x)). Si commun qu'il n'est même pas considéré comme un abus de notation.
— David Richerby

Réponses:


12

Avec une algèbre (et changer la constante dans le O(n)), nous pouvons en fait changer les bases.

3n=(2log2⁡3)n=2nlog2⁡3

Depuis log2⁡3 est une constante, nlog2⁡3=O(n). Donc3n=2O(n).

Je ne sais pas ce que tu veux dire par "3n croît plus rapidement que n'importe quelle fonction exponentielle avec une base de 2. " 2n=o(3n)bien sûr, mais il semble que vous vouliez dire quelque chose de plus général. Je suppose que votre déclaration s'applique à quelque chose commeO(3n), où vous multipliez la base par une constante, par opposition à 2O(n) où vous multipliez le nombre de l'exposant par une constante.


8

3n croît plus rapidement que toute fonction exponentielle avec une base de 2.

Vrai. Cela implique que3n=O(2n)Ne peut pas être vrai. Mais ce que vous avez ici, c'est2O(n).

Rappeler que O(f(n)) est vraiment un ensemble de fonctions, et à proprement parler, nous devrions écrire 3n∈2O(n) (ou même (n↦3n)∈2O(n↦n)). Le côté droit n'est pas l'exponentielle d'une fonction, mais l'exponentielle d'un ensemble de fonctions. Élargir la définition du grand oh:

2O(n)=2{f∣∃N,∃p,∀n≥N,f(n)≤pn}={(n↦2f(n))∣∃N,∃p,∀n≥N,f(n)≤pn}

Depuis la fonction exponentielle n↦2n augmente, on peut sortir l'inégalité de l'exponentielle:

2O(n)={g∣∃N,∃p,∀n≥N,g(n)≤2pn}

Contraste avec

O(2n)={g∣∃N,∃k,∀n≥N,g(n)≤k2n}

Dans 2O(n), la constante multiplicative est à l'intérieur de l'exponentielle. DansO(2n), il est multiplié par l'exponentielle. 2pn=2p2n, nous avons donc (pour tout n≥0) 3n≤2log2⁡32nc'est-à-dire que nous pouvons prendre N=0 et p=log2⁡3, montrant que 3n∈2O(n).


4

3n=2O(n) est en fait vrai parce que si vous vous souvenez O(n)définition, vous verrez que vous pouvez ajouter / multiplier par n'importe quelle constante. Donc:

3n<2kn // log2

nlog2⁡(3n)<knlog2⁡(2)

k>log2⁡(3)

Comme vous pouvez le voir 2kn est plus grand alors 3n⟺k>log2⁡(3)

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.