Vous êtes sur la page 1sur 9

Alumna: Alicia Snchez

Centro: UNED-Las Rozas (Madrid)




Ejercicios resueltos de programacin 3

Tema 3. Notacin asinttica.




























Ejercicios tema 3 Curso 2007/08 Pgina 2 de 9

El ndice de los ejercicios ser el siguiente. Se observa que slo hay cuestiones de exmenes
(de los ejercicios cortos), por lo que se debera hacer hincapi en ellos:
1. Introduccin terica . 3
2. Cuestiones de exmenes . 6
































Ejercicios tema 3 Curso 2007/08 Pgina 3 de 9


Introduccin terica:
Previo a resolver los ejercicios pondremos un poco de teora, que nos vendr bien para luego
hacer los ejercicios:
Empezaremos viendo las distintas notaciones, para el orden de, cota inferior y orden exacto:
- Notacin para el orden de (cota superior):
Es conveniente disponer de un smbolo matemtico para representar el orden de.
Sea :
>0
una funcin arbitraria de los nmeros naturales en los reales no
negativos. Le indicar mediante 0((n)) el conjunto de todas las funciones
t:
>0
tales que t(n) c (n), para todo n n
0
para una constante
positiva c y un umbral entero n
0
. En otras palabras:
0((n)) {t:
>0
| c
+
,n
0
,n n
o
|t(n) c (n)}
Grficamente sera:

t (n)

t(n)

n
0
(umbral) n
siendo:
n
0
: Cierto umbral del tamao del problema.
(n): Acota superiormente a la funcin t(n).

- Notacin para la cota inferior:
Matemticamente, esto significa que existe una constante real positiva J y un
umbral entero n
0
tal que t(n) J (n) siempre que n n
0
.
0((n)) {t:
>0
| J
+
,n
0
, n n
o
|t(n) J (n)}
Grficamente sera:

t t(n) n
3
t(n) 0((n)): Cota inferior.
(n) 0(t(n)): Cota superior.
(n)

n
0
(umbral) n



Ejercicios tema 3 Curso 2007/08 Pgina 4 de 9


- Notacin para el orden exacto:
Diremos que t(n) est en Theta de (n), o lo que es igual que t(n) est en el
orden exacto de (n) y lo denotamos t(n) 0((n)), si t(n) pertenece tanto a
0((n)) como a ((n)).
La definicin formal de 0 es:
0((n)) =0((n)) ((n)).
Por tanto,
0((n)) {t:
>0
| o,b
+
,n
0
,n n
o
|
o (n) t(n) b (n)}.
Decimos que el conjunto del orden exacto est acotado tanto inferior como
superiormente por (n). Podemos probarlo tanto por la definicin como por la
regla del lmite.

Para demostrar que una funcin dada no pertenece al orden de otra funcin (n)
tendremos estas formas:
- Demostracin por contradiccin: Es la forma ms sencilla. Consiste en
demostrar la veracidad de una sentencia demostrando que si negacin da lugar a
una contradiccin.
- La regla del umbral generalizado: Implica la existencia de una constante real y
positiva c tal que t(n) c (n) para todos los n 1 (tomaremos n
0
como 1,
nos interesa ms la definicin dada por la regla del umbral sin generalizar).
- La regla del lmite: Lo definiremos completamente tras analizar la cota superior
y el coste exacto.

La primera y segunda manera no la usaremos por norma general, ya que no nos compensar.
En cuanto a la ltima ser la que usemos, de nuevo recordaremos la definicin y lo que
significa cada resultado:










Ejercicios tema 3 Curso 2007/08 Pgina 5 de 9


La regla del lmite: Nos permite comparar dos funciones en cuanto a la
notacin asinttica se refiere. Tendremos que calcular el siguiente lmite:
lim
n
](n)
g(n)
.
Se nos darn 3 resultados:
1. lim
n
](n)
g(n)
=c R



_
(n) 0(g(n)) (n) 0(g(n)) (n) 0(g(n))
g(n) 0((n)) g(n) 0((n)) g(n) 0((n))
_.
Estas funciones se comportan igual. Se diferencian en una constante
multiplicativa.

2. lim
n
](n)
g(n)
=



_
(n) 0(g(n)) (n) 0(g(n)) (n) 0(g(n))
g(n) 0((n)) g(n) 0((n)) g(n) 0((n))
_.
Por muy alta que sea la constante multiplicativa de g(n) nunca superar a
(n).

3. lim
n
](n)
g(n)
=0



_
(n) 0(g(n)) (n) 0(g(n)) (n) 0(g(n))
g(n) 0((n)) g(n) 0((n)) g(n) 0((n))
_.
g(n) crece ms exponencialmente que (n). Sera su cota superior.













Ejercicios tema 3 Curso 2007/08 Pgina 6 de 9


1 parte. Cuestiones de exmenes:
Febrero 2002 -2 (ejercicio 2)
Enunciado: Un algoritmo de coste 0( n
2
) tarda 15 segundos en realizar un determinado
procesamiento sobre un ordenador a 450 MHz. Cunto tiempo se tarda en realizar el mismo
procesamiento con el mismo algoritmo en una mquina 3 veces ms lenta?
Respuesta: Se nos plantea un problema en el que cambia la velocidad, que equivale a la
implementacin. En este caso, se divide por tres la velocidad, lo que implica que tarda an
ms. Seran 15 seg. * 3 =45 seg.
Si en esta misma mquina cambiamos el tamao del problema al doble tardaremos 4 veces
ms ((2 n)
2
=4 n
2
), si es triple serian 9 veces ms, siguiendo el planteamiento anterior.

Diciembre 2003 (ejercicio 1)
Enunciado: Qu significa que el tiempo de ejecucin de un algoritmo est en el orden exacto
de (n)? Demostrar que I(n) =5 2
n
+n
2
est en el orden exacto de 2
n
.
Respuesta:
Para la primera pregunta tendremos que poner la definicin previamente escrita en la teora o
bien en el resumen del tema. No la pondremos, por estar en este mismo documento, en
pginas anteriores.
Para la segunda pregunta emplearemos la regla del lmite. En este caso, tomaremos
(n) =5 2
n
+n
2
y g(n) =2
n
. Pasamos a resolver el lmite, como sigue:
lim
n
52
n
+n
2
2
n

Al resolverla llegamos a una indeterminacin, por lo que aplicaremos el teorema de L'Hpital
tantas veces como sea necesario hasta llegar a una conclusin coincidiendo con cualquiera de
los casos anteriores:
lim
n
52
n
+n
2
2
n
=lim
n
52
n
Iog(2)+2n
2
n
Iog(2)
=lim
n
52
n
Iog(2)
2
+2
2
n
Iog(2)
2
=
lim
n
52
n
Iog(2)
3
2
n
Iog(2)
3
=5.
Observamos que al final sera una constante numrica, por lo que estamos en el caso 1,
concluyendo que (n) 0(g(n)) y, por tanto, queda demostrado.

Septiembre 2004 (ejercicio 1)
Enunciado: Qu significa que el tiempo de ejecucin de un algoritmo est en el orden
exacto de (n)? Demostrar que I(n) =n
3
+9 n
2
log(n) est en el orden exacto de n
3
.
Respuesta: La definicin del orden exacto la hemos visto previamente. En cuanto a la
demostracin, se hara igual, empleando el teorema de L'Hpital, por lo que evitamos realizar
de nuevo el ejercicio por hacerlo previamente.



Ejercicios tema 3 Curso 2007/08 Pgina 7 de 9


Septiembre 2005-reserva (ejercicio 2)
Enunciado: Demostrar formalmente si existe relacin de pertenencia entre (n) y 0(g(n)) y
tambin entre g(n) y 0((n)) considerando (n) =2
n
y g(n) =2
2n

Respuesta: Se nos pide que veamos las relaciones entre la funcin y el orden de otra funcin
dada, por tanto, tras ver la teora previa, dada en el ejercicio anterior vemos que tenemos que
usar la regla del lmite:
lim
n
](n)
g(n)
=lim
n
2
n
2
2n
.
En este caso, no podremos aplicar L'Hpital por ser una exponencial, ya que la derivada
quedara igual:
du
n
dn
=o
n
.
Para resolverlo, tendremos que descomponer una de las dos funciones:
g(n) =2
2n
=2
n
2
n
.
Con esta nueva informacin pasamos a resolver el lmite:
lim
n
2
n
2
n
2
n
=lim
n
1
2
n
=0.
Estaremos en el caso nmero 3 de los que vimos previamente, por tanto, deducimos que:
(n) 0(g(n))

2
n
2
2n
.
g(n) 0((n))

2
2n
2
n
.

Septiembre 2005 (ejercicio 3)
Enunciado: Sea I(n) =4 n
2
3 n +2 el tiempo de ejecucin de un algoritmo. Demuestra
si es cierta o falsa cada una de las siguientes afirmaciones (0.5 puntos cada una):
a) I(n) 0(n
2
log (n))
b) I(n) 0(n
3
)
c) I(n) 0(n log(n))
d) I(n) 0(n
2
)
Respuesta: Nuevamente usaremos la regla del lmite y tambin L'Hpital:
a) I(n) 0(n
2
log (n))

lim
n
4n
2
-3n+2
n
2
Iog (n)
=lim
n
8n-3
2nIog (n)+n
2

1
n
=lim
n
8
2Iog (n)+3
=0.

Pertenece al orden indicado, por tanto, la afirmacin es falsa.

b) I(n) 0(n
3
)

lim
n
4n
2
-3n+2
n
3
=lim
n
8n+3
3n
2
=lim
n
8
6n
=0.

Por lo que I(n) 0(n
3
), por lo que la afirmacin es falsa.

Ejercicios tema 3 Curso 2007/08 Pgina 8 de 9


c) I(n) 0(n log(n))
lim
n
4n
2
-3n+2
nIog(n)
=lim
n
8n+3
Iog(n)+n
1
n
=lim
n
8
1
n
=.
Con lo que es cierto.

d) I(n) 0(n
2
)
lim
n
4n
2
-3n+2
n
2
=lim
n
8n-3
2n
=lim
n
8
2
=4 R
+
.
En este caso, al ser I(n) 0(n
2
) se cumple tambin que I(n) 0(n
2
), por lo que es
cierto.

Febrero 2008-1 (ejercicio 2)
Enunciado: Cules de las siguientes respuestas son verdaderas y cules falsas? Demuestra tus
respuestas.
a) n
2
0(n
3
)
b) n
2
0(n
3
)
c) 4 n
3
3 n +2 0(n log(n))
d) n! 0((2 n +1)!)
Respuesta: Como en el ejercicio anterior emplearemos la misma tcnica para resolverlo.
a) n
2
0(n
3
)
Consideramos (n) =n
2
y g(n) =n
3
y aplicamos el teorema del lmite como sigue:
lim
n
n
2
n
3
=lim
n
2n
3n
2
=lim
n
2
6n
=0.
Esto significa que n
3
crece ms rpidamente que n
2
, por tanto, es cierto.

b) n
2
0(n
3
)
En este caso, veramos que con el resultado anterior, podremos afirmar que es falso.

c) 4 n
3
3 n +2 0(n log(n))

lim
n
4n
3
-3n+2
nIog(n)
=lim
n
8n-3
Iog(n)+n
1
n
=lim
n
8
1
n
=.
Es cierto, por ser (n) 0(n log(n)).






Ejercicios tema 3 Curso 2007/08 Pgina 9 de 9


d) n! ((2 n +1)!)

En este caso, no es posible usar L'Hpital por ser un factorial, por lo que usaremos
otro mtodo. Lo resolveremos as:

lim
n
n!
(2 n +1)!
= lim
n
(n) (n 1) 1
(2 n +1) (2 n) (2 n 1) (n) (n 1) 1
=0

Vemos que al desarrollar el factorial podemos eliminar muchos valores. En este caso,
el resultado es 0, ya que g(n) crecer ms rpidamente que (n).
Como resultado, es falsa, por ser (n) 0(g(n)) y, por tanto, (n) 0(g(n)).

Vous aimerez peut-être aussi