Вы находитесь на странице: 1из 12

Análisis y diseño de algoritmos

Taller 4 de crecimiento de funciones (notación asintótica)

Código: 625741 Nombre: Oscar Murillo Vásquez


Código: 625773 Nombre: Andrés Gómez Alfaro
Código: 625763 Nombre: Davor Julián Moreno
Código: Nombre:

1. Demostrar la siguiente cadena de inclusiones estrictas.


O (1)  O (log n)  O (n)  O (n2)  O (n3)  O (nk)  O (nk+1)  O (2n)
 O (n!)

1 1 1
 lim ( ) =∞ =0
𝑛→∞log 𝑛
log 𝑛 1 1 1
 lim ( ) 𝑢𝑠𝑎𝑛𝑑𝑜 𝑙𝑎 𝑟𝑒𝑔𝑙𝑎 𝑑𝑒 ℎ𝑜𝑝𝑖𝑡𝑎𝑙 𝑛𝑜𝑠 𝑞𝑢𝑒𝑑𝑎 = = 0
𝑛→∞ 𝑛 𝑛 ∞
𝑛 1 1 1
 lim ( 2 ) 𝑐𝑎𝑛𝑐𝑒𝑙𝑎𝑛𝑑𝑜 𝑡𝑒𝑟𝑚𝑖𝑛𝑜𝑠 𝑛𝑜𝑠 𝑞𝑢𝑒𝑑𝑎 = =0
𝑛→∞𝑛 𝑛 ∞
1
𝑛2 1 1
 lim ( 3 ) 𝑐𝑎𝑛𝑐𝑒𝑙𝑎𝑛𝑑𝑜 𝑛 𝑛𝑜𝑠 𝑞𝑢𝑒𝑑𝑎 = = = 0
𝑛→∞𝑛 𝑛 ∞
1
𝑛3 1 1
 lim ( 𝑘 ) = 𝑘−3 = 𝑘−3 = 0
𝑛→∞𝑛 𝑛 ∞
𝑛𝑘 1 1 1
 = = = =0
𝑛𝑘+1 𝑛(𝑘+1)−𝑘 𝑛 ∞
1
𝑛𝑘+1 (𝑘+1)(𝑛𝑘 ) (𝑘+1)(𝑘)(𝑘−1)(𝑘−2) (𝑘+1)! (𝑘+1)!
 lim ( ) = = = = =0
𝑛→∞ 2𝑛 2𝑛 2𝑛 2𝑛 ∞
2𝑛 1 2𝑛
 lim ( ) → ∑∞
𝑛=1 𝑛! 𝑐𝑜𝑚𝑜 𝑒𝑠 𝑐𝑜𝑛𝑣𝑒𝑟𝑔𝑒𝑛𝑡𝑒 𝑒𝑠 = 0 , 𝐴𝑛 ≠
𝑛→∞𝑛!
𝐴𝑛+1 1
0 𝑦 lim ( ) = 𝐿 𝑦 𝑐𝑜𝑚𝑜 𝐿 <
𝑛→∞ 𝐴𝑛
2𝑛+1
2𝑛 𝐴𝑛+1 (𝑛+1)! 2 2
1 , 𝑒𝑛𝑡𝑜𝑛𝑐𝑒𝑠 𝑒𝑠 𝑐𝑜𝑛𝑣𝑒𝑟𝑔𝑒𝑛𝑡𝑒 = 2𝑛 = = =0
𝑛! 𝐴𝑛 𝑛+1 ∞+1
𝑛!
2. De una estimación en notación O tan buena como sea posible para cada
una de las siguientes funciones, donde n es un entero positivo:

Función Estimación
a) f (n) = (n2 + 8)(n + 1) O(n3)
b) f (n) = (n log n + n2)(n3 + 2) O(n5)
c) f (n) = (n! + 2n)(n3 + log(n2 + 1)) O (n! n3)
d) f (n) = 3n log (n!) + (n2 + 3) log n O (n2log(n))
e) f (n) = (n + 1) log (n2 + 1) + 3n2 O (n2)
f) f (n) = (n3 + n2 log n)(log n + 1) + (17 log n O (n3 log(n))
+ 19)(n3 + 2)
g) f (n) = (2n + n2)(n3 + 3n) O (6n)
h) f (n) = (nn + n2n + 5n) (n! + 5n) O (nn n!)

Solucion paso a paso:

a) (𝑛2 + 8)(𝑛 + 1) → (𝑛2 )(𝑛) = 𝑂(𝑛3 )


b) (𝑛 log 𝑛 + 𝑛2 )(𝑛3 + 2) → (𝑛2 )(𝑛3 ) = 𝑂(𝑛5 )
c) (𝑛! + 2𝑛 )(𝑛3 + 𝑙𝑜𝑔(𝑛2 + 1)) → (𝑛!)(𝑛3 ) = 𝑂(𝑛! 𝑛3 )
d) 3𝑛 𝑙𝑜𝑔 (𝑛!) + (𝑛2 + 3)𝑙𝑜𝑔 𝑛 → 3𝑛 log 1 + 3𝑛 log 2 + 3𝑛 log 𝑛 +
𝑛2 log 𝑛 + 3 log 𝑛 → 𝑂(𝑀𝑎𝑥(3𝑛 log 1 , 3𝑛 log 𝑛 , 𝑛2 log 𝑛 , 3 log 𝑛)) =
𝑂(𝑛2 log 𝑛)
e) (𝑛 + 1)𝑙𝑜𝑔 (𝑛2 + 1) + 3𝑛2 → 𝑛 𝑙𝑜𝑔 (𝑛2 + 1) + 3𝑛2 → 𝑂(𝑛2 )
f) (n3 + n2 log n)(log n + 1) + (17 log n + 19)(n3 + 2) → 𝑛3 log 𝑛 +
17 𝑛3 log 𝑛 → 𝑂(𝑀𝑎𝑥(𝑛3 log 𝑛, 17 𝑛3 log 𝑛 )) = 𝑂( 𝑛3 log 𝑛)
g) (2n + n2)(n3 + 3n)→ (2𝑛 )(3𝑛 ) → 𝑂(2𝑛 3𝑛 )
h) (nn + n2n + 5n) (n! + 5n)→ (𝑛𝑛 )(𝑛!) → 𝑂(𝑛! 𝑛𝑛 )

3. Marque con una X al frente de cada una de las funciones si la afirmación es


verdadera o falsa. Justifique su respuesta.

Función Solución
a) 2n + n99  O (n99) F
b) 2n + n99   (n99) V
c) 2n + n99   (n99) F
d) Si f (n) = n2, entonces f (n)3  O (n5) F
e) Si f (n)  O (n2) y g (n)  O (n), entonces f (n) / g V
(n)  O (n)
f) Si f (n) = n2, entonces 3f (n) + 2n   (f (n)) V
g) Si f (n) = n2 y g (n) = n3, entonces f (n) g (n)  O V
(n6)
h) Si T (1) = 0 y T (n) = 2T (n – 1) para n > 1, entonces F
T (n) = 2n

Demostración

a) 0 ≤ 2𝑛 + 𝑛99 ≤ 𝐶𝑛99 la igualdad no se cumple puesto que al momento


de proponer un valor inicial para n hallando la constante C a partir del
valor inicial de n, para este caso n será 1 lo cual denota la constante C =
2 , al evaluar las funciones claramente se sabe que f(n) es mayor que C
g(n) por lo cual podemos afirmar que 2n + n99  O (n99) es falso, de igual
forma sabemos que si despejamos C e igualamos a n con infinito nos
queda un valor para C de 1 y al momento de observar el comportamiento
Cg(n) será menor que f(n).
b) 0 ≤ 𝐶 𝑛99 ≤ 2𝑛 + 𝑛99 Tenemos que para todo n tal que n >= a un valor
de n inicial, la igualdad se cumple puesto que 𝐶 𝑛99 a partir del valor de
n inicial siempre será menor a la función original para todos los casos de
n tales que sean mayores o iguales al valor inicial de n por lo cual 2n +
n99   (n99) es verdadero, procediendo a despejar la C realizando lo
anterior de iguala n con infinito nos queda el valor de la constante = 1 y
al momento de analizar la función nos damos cuenta que Cg(n) es menor
a f(n) lo cual satisface la igualdad.
c) 𝐶1 𝑛99 ≤ 2𝑛 + 𝑛99 ≤ 𝐶2 𝑛99 claramente se observa que existe una
constante C1el cual es 1 que satisface la igualdad pero para el caso de la
constante C2 se puede hallar y es 2 pero para todos los casos no se
cumple la igualdad anterior a partir del valor inicial de n por lo cual 2n +
n99   (n99) es falso.
d) 𝑛6 ≤ 𝐶 𝑛5 → 𝑛 ≤ 𝐶 claramente esto es falso puesto que 𝑛6 es mayor
que 𝑛5 y al momento de proponer un valor inicial de n y hallando la
constante la igualdad no se cumplirá para todos los valores validos de n
debido a que la función Cg(x) es menor a f(x) y esto se evidencia ya sea
por la toma de datos o graficando por lo cual n6  O (n5) es falso
e) 𝑝𝑎𝑟𝑎 𝑢𝑛𝑎 𝑓(𝑛) = 𝑛2 𝑦 𝑢𝑛 𝑔(𝑛) = 𝑛 se puede observar que f(n) 
𝑂(𝑛2 ) y g(n) 𝑂(𝑛)
𝑛2 ≤ 𝐶 𝑛2 𝑒𝑠𝑡𝑜 𝑠𝑒 𝑐𝑢𝑚𝑝𝑙𝑒
𝑛 ≤ 𝐶𝑛 𝑒𝑠𝑡𝑜 𝑠𝑒 𝑐𝑢𝑚𝑝𝑙𝑒
2
𝑛
= 𝑛 𝑜𝑏𝑡𝑒𝑛𝑖𝑒𝑛𝑑𝑜 𝑛 ≤ 𝐶 𝑛 𝑙𝑜 𝑐𝑢𝑎𝑙 𝑠𝑒 𝑐𝑢𝑚𝑝𝑙𝑒
𝑛
Con lo anterior puesto que existe un valor inicial de n y una constante
podemos afirmar que f(n) / g(n)  O(n) por lo tanto es verdadero.
f) Tenemos que f(n) = 𝑛2 y un h(n) = 3f (n) + 2n   (f (n)) procediendo a
probar si esto es verdad obtenemos

𝐶1 𝑛2 ≤ 3𝑛2 + 2𝑛 ≤ 𝐶2 𝑛2

2
𝐶1 ≤ 3 + ≤ 𝐶2
𝑛

2 1
𝐶1 = lim (3 + ) = 3
𝑛→∞ 𝑛
𝑛0 = 1 → 𝑛 = 1 → 𝐶2 = 3 + 2 = 5

3𝑛2 ≤ 3𝑛2 + 2𝑛 ≤ 5𝑛2

La anterior igualdad se cumple puesto que se puede hallar el n sub 0 por


lo cual 3f (n) + 2n   (f (n)) es verdadera.

g) Tenemos f (n) = n2 y g (n) = n3 la multiplicación de f (n) = n2 y g (n)


nos da como resultado n6  O (n6) lo cual es verdadero puesto que las
igualdades se cumplen para todos los casos a partir del valor inicial de
n.
𝑛6 ≤ 𝐶 𝑛6
1≤𝐶

h) Se tiene que T(1) = 0 y la función general es T(n) = 2(T(n-1)) para n > 1


Lo cual tenemos para un T (2) = 0, T (3) = 0, T(n) = 0, para T (n) = 2n
esto es falso puesto que 2n para n > 1 no será 0 por lo cual dicha
igualación es falsa.

4. Indique con una X, por cada par de expresiones (A, B) en la tabla de abajo,
si A es O de B y/o si A es  de B. Suponga que a  R+ y c > 1. Justifique
su respuesta.
A B
a) 2n + 1 2n
b) (n + 1)! n!
c) n + log n √𝑛
d) log n 1/n
e) n + 2√𝑛 n2
f) 2(log n)2 1 + log
n
g) log n na
h) nlog c clog n

Demostraciones

a) 2n + 1 ∈ O(2n) y 2n + 1 ∈ Ω(2n)

2𝑛+1 ≤ 𝐶 2𝑛
2𝑛+1−𝑛 ≤ 𝐶
2≤𝐶

2𝑛+1 ≥ 𝐶 2𝑛
2𝑛+1−𝑛 ≥ 𝐶
2≥𝐶

a) Debemos hallar un valor de n inicial y una constante positiva tal que


satisfaga la anterior expresión, puesto que la constante debe ser mayor o
igual a 2 la tomamos hallamos un valor para n inicial que satisfaga la
ecuación el cual sería un número mayor o igual a 0 teniendo en cuenta
solo el primer cuadrante por lo cual 2n + 1 ∈ O (2n) y 2n + 1 ∈ Ω (2n) son
verdaderas.

b) (n+1)! ∈ O (n!) y (n+1)! ∈ Ω (n!)

(𝑛 + 1)! ≤ 𝐶 𝑛!
𝑛+1≤𝐶
(𝑛 + 1)! ≥ 𝐶 𝑛!
𝑛+1≥𝐶

Tomando como n inicial con un valor de 0 obtenemos que la constante


toma un valor de uno y cumpliéndose las igualdades anteriores,
evidenciando la gráfica obtenemos el siguiente comportamiento de las
funciones.

Dicho esto podemos afirmar que (n+1)! ∈ O (n!) es falso y (n+1)! ∈ Ω


(n!) es verdadero

c) n + log n ∈ O(√𝑛) y n + log n ∈ Ω (√𝑛)

𝑛 + log 𝑛 ≤ 𝐶 √𝑛
𝑛 log 𝑛
+ ≤𝐶
√𝑛 √𝑛

𝑛 + log 𝑛 ≥ 𝐶 √𝑛
𝑛 log 𝑛
+ ≥𝐶
√𝑛 √𝑛
Tomando como valor inicial de n igual a 1 obtenemos como constante C un
valor de uno los cuales satisfacen las expresiones, realizando la gráfica
obtenemos

Por lo cual para n + log n ∈ O (√𝑛) es falso puesto que f(x) es mayor
que g(x) y n + log n ∈ Ω (√𝑛) es verdadera puesto que f(x) es mayor
que g(x)

d) log n ∈ O (𝟏/𝒏 ) y log n ∈ Ω (𝟏/𝒏 )

1
log 𝑛 ≤ 𝐶
𝑛
𝑛 log 𝑛 ≤ 𝐶

1
log 𝑛 ≥ 𝐶
𝑛
𝑛 log 𝑛 ≥ 𝐶
Tomando para n inicial un valor inicial de 10 obtenemos como valor de la
constante igual a 10 puesto que satisfacen de forma exacta las igualdades,
realizando la gráfica obtenemos

Como conclusión podemos decir que log n ∈ O (𝟏/𝒏 ) es falsa porque


a C g(x) y log n ∈ Ω (𝟏/𝒏 ) es verdadera.

e) 𝑛 + 2√𝑛 ∈ O(𝑛2 ) y 𝑛 + 2√𝑛 ∈ Ω (𝑛2 )

𝑛 + 2 √𝑛 ≤ 𝐶 𝑛 2
1 2√ 𝑛
+ 2 ≤𝐶
𝑛 𝑛

𝑛 + 2 √𝑛 ≥ 𝐶 𝑛 2
1 2√ 𝑛
+ 2 ≥𝐶
𝑛 𝑛

Para este caso podemos tomar como valor de la n inicial igual a quedando
la constante con un valor de 3 donde dichos valores satisfacen las
igualdades anteriores, se procede a realizar la grafica
Como conclusión 𝑛 + 2√𝑛 ∈ O(𝑛2 ) es verdadera puesto que la f(x) es
menor a C g(x) y 𝑛 + 2√𝑛 ∈ Ω (𝑛2 ) es falsa

f) 2(log n)2 ∈ O(1 + log n) y 2(log n)2 ∈ Ω (1 + log n) y

2(log 𝑛)2 ≤ 𝐶 (1 + log 𝑛)


2 log 𝑛2
≤𝐶
1 + log 𝑛

2(log 𝑛)2 ≥ 𝐶 (1 + log 𝑛)


2 log 𝑛2
≥𝐶
1 + log 𝑛

Tomando como valor inicial de n = 10 nos queda el valor de la constante


como C = 1 las cuales satisfacen las igualdades anteriores, obtenemos la
gráfica la cual queda.
Como conclusión nos queda que 2(log n)2 ∈ O (1 + log n) es falsa y 2(log
n)2 ∈ Ω (1 + log n) es verdadera

g) Log n ∈ O(na) y Log n ∈ Ω (na)

log 𝑛 ≤ 𝐶 𝑛𝑎
log 𝑛
≤𝐶
𝑛𝑎

log 𝑛 ≥ 𝐶 𝑛𝑎
log 𝑛
≥𝐶
𝑛𝑎

Para Log n ∈ O(na) se cumple puesto que dependiendo del valor de a , se


procede a la asignación de un valor de n inicial y con dicha condición se
procede a la asignación de la constante lo cual a partir de los valores de n
tales que cumplan la condición de ser mayores o iguales al valor de n inicial
para todos los casos se cumple, para Log n ∈ Ω (na) es falso puesto que C
g(n) es mayor a f(n)
h) nlog c ∈ O(clog n) y nlog c ∈ Ω (clog n)

𝑛log 𝑐 ≤ 𝐶 ∗ 𝑐 log 𝑛
𝑛log 𝑐
≤𝐶
𝑐 log 𝑛

𝑛log 𝑐 ≥ 𝐶 ∗ 𝑐 log 𝑛
𝑛log 𝑐
≥𝐶
𝑐 log 𝑛

Tanto para nlog c ∈ O(clog n) como para nlog c ∈ Ω (clog n) se cumple puesto
que las funciones se comportan de igual manera , tomando como valor
inicial para n =1 y para c = 2 obtenemos un valor para la constante C de
1 cumpliendo la igualdad anterior y para todo los valores posibles de n
dichas funciones se comportaran de igual forma por lo cual para ambos
casos es verdadero

O 
V V
F V
F V
F V
V F
F V
V F
V V

Вам также может понравиться