Um exemplo é , .g(n)=22n−1G(n)=22n
Temos , então .g(n)=G(n)−−−−√g(n)=o(G(n))
Enquanto isso, é claro, então , entãog(n+1)=G(n)g(n+1)=Θ(G(n))g(n+1)≠o(G(n))
Por que duplicar exponencial? Quando adicionamos um a , queremos que o efeito seja mais do que uma constante multiplicativa (porque a notação grande esconde constantes multiplicativas e, portanto, aditivas). Vamos simplificar e dizer que queremos adicionar 1 em para ter um efeito polinomial no valor de . Quando você adiciona uma constante a :nOng(n)n
uma função linear é aumentada por uma constante aditiva
uma função exponencial é aumentada por uma constante multiplicativa
uma função exponencial dupla é aumentada polinomialmente (por uma potência de duas em nosso exemplo, portanto, )g(n)2=G(n)
Também podemos ter ,, etc., onde . Em geral, podemos deixar , em que e é não decrescente. Então nós temos:g(n)=nng(n)=n!G(n)=g(n−1)g(n)=f(n)nf(n)=ω(1)f
limn→∞g(n)G(n)=limn→∞g(n)g(n+1)=limn→∞f(n)nf(n+1)n+1≤limn→∞f(n)nf(n)n+1=limn→∞1f(n)=0
Então, mostramos usando a definição de limite (a última etapa é porque ). Portanto, funções como e até onde é a função inversa de Ackermann, também farão o truque para nós.g(n)=o(G(n))f(n)=ω(1)(loglogn)nα(n)nα
Tomag(n)=n! e G(n)=(n+1)! .
fonte