Documentos de Académico
Documentos de Profesional
Documentos de Cultura
CRECIMIENTO DE FUNCIONES
Definición
La figura de abajo muestra la intuición que está bajo la notación . Para todos los
valores de n a la derecha de n0 , el valor de la función f (n) está por debajo de c2 g (n)
y por arriba de c1g (n) .
1
Crecimiento de Funciones Análisis de Algoritmos
Ejemplo 1.
1 2
Verifique que n 3n (n 2 )
2
Para ver esto se tienen que determinar constantes c1, c2 y n0 tal que
1 2
c1n 2 n 3n c2 n 2
2
1 3
c1 c2
2 n
Aquí se pueden seleccionar otras constantes, pero lo importante es que esas constantes
1
existan. También se debe notar que esas constantes dependen de la función n 2 3n ;
2
una función diferente contenida en (n 2 ) usualmente requiere otras constantes
diferentes.
Ejemplo 2.
2
Crecimiento de Funciones Análisis de Algoritmos
Suponga que para, propósitos de contradicción, que c2 y n0 existen tal que 6n3 c2 n2
c2
para todo n n0 . Pero n , que no es posible que se cumpla para toda n arbitraria,
6
ya que c2 es una constante.
Ejemplo 3.
c1n2 an2 bn c
b c
c1 a
n n2
1
Si tomamos c1 a debe existir una n suficientemente grande tal que
2
1 b c 1 b c
a a 2 . Se puede darle un peso de a a cada uno de los términos, , 2
2 n n 4 n n
(ya que pueden ser negativos) es decir
1 b 4b
a n
4 n a n max 4 b , 4 c
1 c 4c 0 a a
a 2 n
4 n a
4 b 4 c
Si se hace lo mismo con c2 se llega a que n0 max , por lo tanto, si
a a
1 3 4 b 4 c
tomamos c1 a y c2 a ; n0 max ,
2 2 a a
En este ejemplo se puede tomar c1 a pero tan cercano como se desee y c2 a pero
igualmente tan cercano a a como se desee. Entre más próximos estén al valor a , n0 se
tomará más grande.
3
Crecimiento de Funciones Análisis de Algoritmos
La figura de abajo muestra la intuición que está bajo la notación . Para todos los
valores de n a la derecha de n0 , el valor de la función f (n) está por debajo de cg (n) .
Para indicar que la función f (n) es miembro de ( g (n)) , se escribe f (n) ( g (n)) .
Note que f (n) ( g (n)) implica que f (n) ( g (n)) , ya que la notación de es más
fuerte que la notación , es decir que ( g (n)) ( g (n)) . Por lo tanto la prueba para
la función cuadrática an 2 bn c , donde a 0 , está en (n 2 ) también muestra que
cualquier función cuadrática es (n 2 ) . Puede ser más sorprendente que cualquier
función lineal an b está en (n 2 ) , que fácilmente es verificable tomando c a b y
n0 1 .
4
Crecimiento de Funciones Análisis de Algoritmos
Ejemplo 4.
entre n k
ak 1 a a
c1 ak k11 0k c2
n n n
1
Si tomamos c1 ak debe existir una n suficientemente grande tal que
2
1 a a a 1
ak ak k 1 k11 0k . Se puede darle un peso máximo de ak a cada uno
2 n n n 2k
a a a
de los términos k 1 ,, k11 , 0k , es decir
n n n
1 a
ak k i i i 1,2,..., k
2k n
2k ak i 2k ak 1
ni por lo tanto tomando n0 tal que n0 max i .
ak i 1,..., k ak
Para c2 es similar.
Ejemplo 5.
20 200 20 200
2 c y si tomamos c 2 y n0 17 se cumple que 1.87 2
n n 17 17 2
5
Crecimiento de Funciones Análisis de Algoritmos
De la misma manera que la notación produce una cota superior a una función, la
notación da una cota inferior asintótica. Para una función g (n ) , se denota por
( g (n)) al conjunto de funciones
Teorema
6
Crecimiento de Funciones Análisis de Algoritmos
La notación describe una cota inferior, cuando se usa esta cota para el tiempo de
corrida del mejor caso del algoritmo. Por ejemplo, el tiempo de corrida del mejor caso
para el algoritmo de ordenación por inserción es (n) , que implica que el tiempo de
corrida de ordenación por inserción es (n) .
El tiempo de corrida de ordenación por inserción, por lo tanto, cae entre (n) y (n 2 ) .
Cuando la notación asintótica está en el lado derecho de una ecuación, como n (n 2 ) ,
ya se ha definido el signo igual como n (n 2 ) . Por ejemplo la fórmula
significa que 2n2 3n 1 2n2 f (n) donde f (n) es alguna función en el conjunto
(n) . En este caso f (n) 3n 1 que está (n) .
T (n) 2T (n / 2) (n)
2 n 2 ( n ) ( n 2 )
2n 2 3n 1 2n 2 (n)
( n 2 )
7
Crecimiento de Funciones Análisis de Algoritmos
f ( n)
lim 0.
n g ( n)
n2 n2
Por ejemplo, (n) , pero (n 2 ) . La relación f (n) ( g (n)) implica que
2 2
f ( n)
lim .
n g (n)
8
Crecimiento de Funciones Análisis de Algoritmos
Ejemplos
n2
lg n O(n), n10 (2n ), 2n (n!), 7n 2 (n 2 ), (n3 )
2
a n (b n ) si 0 a b, a n (n!).
Propiedades de orden
Teorema
Comparación de funciones
Transitividad
9
Crecimiento de Funciones Análisis de Algoritmos
Reflexividad
f (n) ( f (n)),
f (n) ( f (n)),
f (n) ( f (n)).
Simetría
Simetría transpuesta
Como estas propiedades se cumplen para notación asintótica se puede ver una analogía
entre comparación asintótica de dos funciones f y g y la comparación de dos números
reales a y b :
f (n) ( g (n)) a b,
f (n) ( g (n)) a b,
f (n) ( g (n)) a b,
f (n) ( g (n)) a b,
f (n) ( g (n)) a b.
Una propiedad de los números reales que sin embargo no se cumple al llevarla a la
notación asintótica es:
Aunque cualesquiera dos números reales pueden ser comparados, no todas las funciones
son asintóticamente comparables. Esto es, para dos funciones f y g puede ser que no
se cumpla ninguna f (n) ( g (n)) o f (n) ( g (n)) . Por ejemplo para las funciones
n y n1 sen n no se pueden comparar usando notación asintótica, ya que el valor del
exponente en n1 sen n oscila entre 0 y 2, tomando todos los valores entre ellos.
10
Crecimiento de Funciones Análisis de Algoritmos
Ejercicios
11