Cota superior asintótica

De Wikipedia, la enciclopedia libre

En análisis de algoritmos una cota superior asintótica es una función que sirve de cota superior de otra función cuando el argumento tiende a infinito. Usualmente se utiliza la notación de Landau O(g(x)) para referirse a las funciones acotadas superiormente por la función g(x).

Más formalmente se define:

O(g(x)) = \left\{\begin{matrix} f(x) : \mbox{existen } c,x_0>0\mbox{ tales que} \\ \forall x\ge x_0: 0\le |f(x)|\le c|g(x)| \end{matrix}\right\}

Una función f(x) pertenece a O(g(x)) cuando existe una constante positiva c tal que a partir de un valor x0, f(x) no sobrepasa a cg(x). Quiere decir que la función f es inferior a g a partir de un valor dado salvo por un factor constante.

La cota superior asintótica tiene gran importancia en Teoría de la complejidad computacional a la hora de definir las clases de complejidad.

f(x)=O(g(x))

A pesar de que O(g(x)) está definido como un conjunto, se acostumbra escribir f(x)=O(g(x)) en lugar de f(x)∈O(g(x)). Muchas veces también se habla de una función nombrando únicamente su expresión, como en en lugar de h(x)=x², siempre que esté claro cual es el parámetro de la función dentro de la expresión. En la gráfica se da un ejemplo esquemático de como se comporta cg(x) con respecto a f(x) cuando x tiende a infinito.

La cota ajustada asintótica (notación Θ) tiene relación con las cotas asintóticas superior e inferior (notación Ω):

f(x) = Θ(g(x)) si y solo si f(x) = O(g(x)) y f(x) = Ω(x)

Contenido

[editar] Ejemplos

  • La función x+10 puede ser acotada superiormente por la función 11x². Para demostrarlo basta notar que para todo valor de x≥1 se cumple x+10≤11x². Por tanto x+10 = O(x²) (sin embargo, no sirve como cota inferior para x+10).
  • La función x²+200x está acotada superiormente por . Quiere decir que cuando x tiende a infinito el valor de 200x se puede despreciar con respecto al de .

[editar] Órdenes usuales para funciones

Los órdenes más utilizados en análisis de algoritmos, en orden creciente, son los siguientes (donde c representa una constante y n el tamaño de la entrada):

notación nombre
O(1) orden constante
O(log n) orden logarítmico
O(n) orden lineal
O(n · log n) orden lineal logarítmico
O(nc) orden potencial
O(cn), n > 1 orden exponencial
O(n!) orden factorial
O(nn) orden potencial exponencial

[editar] Véase también

[editar] Bibliografía

  • Introduction to Algorithms, Second Edition by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein
Herramientas personales
Crear un libro