La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Tema 7: NOTACIONES ASINTÓTICAS

Presentaciones similares


Presentación del tema: "Tema 7: NOTACIONES ASINTÓTICAS"— Transcripción de la presentación:

2 Tema 7: NOTACIONES ASINTÓTICAS
Se utilizan para estudiar tiempos de ejecución u ocupaciones de memoria. Representan la forma en que crece una función. En general no consideran constantes, que no son valores propios de los algoritmos. Son asintóticas pues representan el comportamiento cuando el tamaño de la entrada tiende a infinito, pues para valores grandes es cuando puede haber problemas de tiempo o memoria.

3 NOTACIÓN O DEFINICIÓN:
Da una cota superior de la forma en que crece el tiempo de ejecución. DEFINICIÓN: Dada una función f:N→R+, llamamos orden de f al conjunto de todas las funciones de N en R+ acotadas superiormente por un múltiplo real positivo de f para valores de n suficientemente grandes. Se denota O(f), y será: O(f)={t: N→R+ / cR+, n0N,  n>=n0 : t(n)<=cf(n)}

4 NOTACIÓN O Se consideran funciones con dominio en N pues las entradas tendrán tamaños naturales: Valor de un número del que se calcula el factorial, Número de aros a mover en las Torres de Hanoi, Número de datos a ordenar, Número de nodos y aristas de un grafo (en este caso la entrada es NN , que es isomorfo a N) Valor de un número real (en este caso la entrada es su representación en forma binaria)

5 NOTACIÓN O Se consideran funciones con rango R+ pues el tiempo de ejecución no puede ser negativo. Sólo interesa lo que pase asintóticamente (n>=n0), por lo que podríamos considerar funciones no definidas en todo N o que tomen valores negativos para algunos valores de n. No se tienen en cuenta las constantes del tiempo de ejecución (t(n)<=cf(n)). R+ c·f(n) O(f)

6 NOTACIÓN O O(f)<=O(g) si  tO(f) : tO(g)
Al estudiar un tiempo de ejecución, t, se pretende obtener la función f que acote a t siendo lo más cercana posible a ella, por lo que se tiene una relación de orden en el conjunto de los órdenes: O(f)<=O(g) si  tO(f) : tO(g) y se intenta encontrar el menor O(f) / tO(f) La relación de orden es una inclusión de conjuntos, por lo que se escribe O(f)<=O(g) o O(f)O(g)

7 RELACIONES ENTRE ÓRDENES
O(c)=O(d), con c y d constantes positivas. O(c)O(n) O(cn+b)=O(dn+e), con c y d constantes positivas. O(p)=O(q), si p y q son polinomios del mismo grado y con coeficiente principal positivo. O(p)O(q), si p y q son polinomios con coeficiente principal positivo y el grado de p es menor que el de q. O(p)O(2n), si p es un polinomio.

8 NOTACIÓN Ω DEFINICIÓN:
Da una cota inferior de la forma en que crece el tiempo de ejecución. DEFINICIÓN: Dada una función f:N→R+, llamamos omega de f al conjunto de todas las funciones de N en R+ acotadas inferiormente por un múltiplo real positivo de f para valores de n suficientemente grandes. Se denota Ω(f), y será: Ω(f)={t: N→R+ / cR+, n0N,  n>=n0 : t(n)>=cf(n)}

9 RELACIONES ENTRE OMEGAS
Ω(c)= Ω(d), con c y d constantes positivas. Ω(c) Ω(n) Ω(cn+b)= Ω(dn+e), con c y d constantes positivas. Ω(p)= Ω(q), si p y q son polinomios del mismo grado y con coeficiente principal positivo. Ω(p) Ω(q), si p y q son polinomios con coeficiente principal positivo y el grado de p es menor que el de q. Ω(p) Ω(2n), si p es un polinomio.

10 NOTACIÓN  (orden exacto)
Da la forma en que crece el tiempo de ejecución. Son las funciones a las que f acota superior e inferiormente: (f)= Ω(f)O(f) Es equivalente a: (f)={t: N→R+ / c,dR+, n0N,  n>=n0 : cf(n)<=t(n)<=df(n)} No hay relaciones de inclusión. R+ f(n) (f)

11 O(n)  O(n2) (n+1)!  O(n!) n2  O(n!)
Ejemplos. ¿Cuáles son ciertas y cuáles no? 3n2  O(n2) n2  O(n3) n3  O(n2) 3n2  (n2) n2  (n3) n3  (n2) 3n2  (n2) n2  (n3) n3  (n2) 2n+1  O(2n) (2+1)n  O(2n) (2+1)n  (2n) O(n)  O(n2) (n+1)!  O(n!) n2  O(n!)

12 NOTACIÓN o (o pequeña) Se utiliza para comparar tiempos con el mismo orden. Aparecen constantes, por lo que es necesario hacer suposiciones sobre: conste de las operaciones, conteo de instrucciones, … Se define: o(f)={t: N→R+ / limn→ t(n)/f(n)=1} No hay relaciones de inclusión. (2n)= (3n), pero o(2n)≠o(3n)

13 PROPIEDADES fΩ(g) y g Ω(h)  fΩ(h) fO(g) O(f)O(g)
fO(g) y gO(h)  fO(h) fΩ(g) y g Ω(h)  fΩ(h) fO(g) O(f)O(g) fΩ(g)  Ω(f)Ω(g) O(f)O(g) fO(g) Ω(f)Ω(g) fΩ(g) O(f)=O(g) fO(g) y g O(f) Ω(f)=Ω(g) fΩ(g) y g Ω(f)

14 PROPIEDADES  f(g) O(f+g)=O(max(f,g)) Ω(f+g)=Ω(max(f,g))
O(f)=O(g)Ω(f)=Ω(g)  (f)=(g)  f(g) O(f+g)=O(max(f,g)) Ω(f+g)=Ω(max(f,g)) Para calcular los órdenes en un programa sólo es necesario hacerlo de la parte con mayor orden.

15 COMPARACIÓN DE ÓRDENES
limn→ f(n)/g(n)R+  O(f)=O(g), Ω(f)=Ω(g), (f)=(g) limn→ f(n)/g(n)=0  O(f)O(g), Ω(g) Ω(f) limn→ f(n)/g(n)=+  O(g)O(f), Ω(f)Ω(g)

16 COMPARACIÓN DE ÓRDENES
O(1)O(log n)O(n1/2) O(n) O(n log n)  O(n log n log n) O(n2) O(n3) O(2n) O(n!) O(nn) O((log n)p) O(n1/q) Con Ω cambia el sentido de las inclusiones

17 NOTACIONES CONDICIONALES
Algunos algoritmos más fácil de estudiar cuando la entrada cumple alguna restricción (típicamente que sea potencia de 2). DEFINICIÓN: Dada una función f:N→R+, y P:N→{true,false}, llamamos orden de f según P a: O(f|P)={t: N→R+ / cR+, n0N,  n>=n0 : P(n)  t(n)<=cf(n)}

18 NOTACIONES CONDICIONALES
Para quitar la restricción de ser potencia de un número se aplica el TEOREMA: Si b>=2 es un entero y f:N→R+eventualmente no decreciente (no decreciente a partir de algún valor) y b-armónica (f(bn)O(f(n))) y t:N→ R+eventualmente no decreciente tal que t(n)(f|n es potencia de b), entonces t(n)(f).

19 NOTACIONES DE VARIOS PARÁMETROS
Algoritmos en los que el tiempo depende de más de un parámetro (ej: algoritmos en grafos dependen de número de nodos y de aristas). Dada una función f:Nm→R+, llamamos orden de f al conjunto de todas las funciones de Nm en R+ acotadas superiormente por un múltiplo real positivo de f para valores de n1, n2,…, nm suficientemente grandes. O(f)={t: Nm →R+ / cR+,  n1, n2,…, nm N, k1>=n1, k2>=n2, …, km>=nm : t(k1, k2, …, km)<=cf(k1, k2, …, km)}


Descargar ppt "Tema 7: NOTACIONES ASINTÓTICAS"

Presentaciones similares


Anuncios Google