SlideShare una empresa de Scribd logo
1 de 32
Descargar para leer sin conexión
La eficiencia de los algoritmosLa eficiencia de los algoritmos
Análisis y Diseño de AlgoritmosAnálisis y Diseño de Algoritmos
La eficiencia de los algoritmosLa eficiencia de los algoritmos
Comparación de algoritmosComparación de algoritmos
Principio de invarianzaPrincipio de invarianza
EficienciaEficiencia
Notaciones asintóticasNotaciones asintóticas
Cálculo de la eficiencia de un algoritmoCálculo de la eficiencia de un algoritmoCálculo de la eficiencia de un algoritmoCálculo de la eficiencia de un algoritmo
Resolución de recurrencias:Resolución de recurrencias:
Método de la ecuación característicaMétodo de la ecuación característica
Recurrencias homogéneasRecurrencias homogéneas
Recurrencias no homogéneasRecurrencias no homogéneas
Cambios de variableCambios de variable
Transformaciones del rangoTransformaciones del rango
Apéndice: Fórmulas útilesApéndice: Fórmulas útiles 11
Comparación de algoritmosComparación de algoritmos
A menudo dispondremos de más de un algoritmo paraA menudo dispondremos de más de un algoritmo para
resolver un problema dado, ¿con cuál nos quedamos?resolver un problema dado, ¿con cuál nos quedamos?
USO DE RECURSOSUSO DE RECURSOS
Computacionales:Computacionales:
Tiempo de ejecuciónTiempo de ejecución
Espacio en memoriaEspacio en memoria
No computacionales:No computacionales:
Esfuerzo de desarrollo (análisis, diseño & implementación)Esfuerzo de desarrollo (análisis, diseño & implementación)
22
Comparación de algoritmosComparación de algoritmos
Factores que influyen en el uso de recursosFactores que influyen en el uso de recursos
Recursos computacionales:Recursos computacionales:
Diseño del algoritmoDiseño del algoritmo
Complejidad del problema (p.ej. tamaño de las entradas)Complejidad del problema (p.ej. tamaño de las entradas)
Hardware (arquitectura, MHz, MBs…)Hardware (arquitectura, MHz, MBs…)Hardware (arquitectura, MHz, MBs…)Hardware (arquitectura, MHz, MBs…)
Calidad del códigoCalidad del código
Calidad del compilador (optimizaciones)Calidad del compilador (optimizaciones)
Recursos no computacionales:Recursos no computacionales:
Complejidad del algoritmoComplejidad del algoritmo
Disponibilidad de bibliotecas reutilizablesDisponibilidad de bibliotecas reutilizables
33
Principio de invarianzaPrincipio de invarianza
Dos implementaciones de un mismo algoritmo noDos implementaciones de un mismo algoritmo no
diferirán más que en una constante multiplicativa.diferirán más que en una constante multiplicativa.
Si tSi t11(n) y t(n) y t22(n) son los tiempos de dos(n) son los tiempos de dos
implementaciones de un mismo algoritmo,implementaciones de un mismo algoritmo,implementaciones de un mismo algoritmo,implementaciones de un mismo algoritmo,
se puede comprobar que:se puede comprobar que:
44
)()();()(,, 1221 ndtntnctntdc ≤≤ℜ∈∃
EficienciaEficiencia
Medida del uso de los recursos computacionalesMedida del uso de los recursos computacionales
requeridos por la ejecución de un algoritmo en funciónrequeridos por la ejecución de un algoritmo en función
del tamaño de las entradas.del tamaño de las entradas.del tamaño de las entradas.del tamaño de las entradas.
T(n)T(n) Tiempo empleado para ejecutar elTiempo empleado para ejecutar el
algoritmo con una entrada de tamaño nalgoritmo con una entrada de tamaño n
55
EficienciaEficiencia
Tipos de análisisTipos de análisis
¿Cómo medimos el tiempo de ejecución de un algoritmo?¿Cómo medimos el tiempo de ejecución de un algoritmo?
Mejor casoMejor caso
En condiciones óptimas (no se usa por ser demasiado optimista).En condiciones óptimas (no se usa por ser demasiado optimista).En condiciones óptimas (no se usa por ser demasiado optimista).En condiciones óptimas (no se usa por ser demasiado optimista).
Peor casoPeor caso
En el peor escenario posible (nos permite acotar el tiempo de ejecución).En el peor escenario posible (nos permite acotar el tiempo de ejecución).
Caso promedioCaso promedio
Caso difícil de caracterizar en la práctica.Caso difícil de caracterizar en la práctica.
Análisis probabilísticoAnálisis probabilístico
Asume una distribución de probabilidad sobre las posibles entradas.Asume una distribución de probabilidad sobre las posibles entradas.
Análisis amortizadoAnálisis amortizado
Tiempo medio de ejecución por operación
sobre una secuencia de ejecuciones sucesivas. 66
EficienciaEficiencia
EjemploEjemplo
Algoritmo 1:Algoritmo 1: T(n) = 10T(n) = 10--44 22nn segundossegundos
n = 38 datosn = 38 datos
T(n) = 1 añoT(n) = 1 añoT(n) = 1 añoT(n) = 1 año
Algoritmo 2:Algoritmo 2: T(n) = 10T(n) = 10--22 nn33 segundossegundos
n = 1000 bitsn = 1000 bits
T(n) = 1 añoT(n) = 1 año
¿Cuál es mejor? Se precisa un¿Cuál es mejor? Se precisa un análisis asintóticoanálisis asintótico
77
Notaciones asintóticasNotaciones asintóticas
Estudian el comportamiento del algoritmo cuando elEstudian el comportamiento del algoritmo cuando el
tamaño de las entradas es lo suficientemente grande,tamaño de las entradas es lo suficientemente grande,
sin tener en cuenta lo que ocurre para entradassin tener en cuenta lo que ocurre para entradassin tener en cuenta lo que ocurre para entradassin tener en cuenta lo que ocurre para entradas
pequeñas y obviando factores constantes.pequeñas y obviando factores constantes.
88
Notaciones asintóticasNotaciones asintóticas
Orden de eficienciaOrden de eficiencia
Un algoritmo tiene unUn algoritmo tiene un tiempo de ejecución de ordenorden
f(n)f(n), para una función dada, para una función dada ff, si existe una constante, si existe una constante
positivapositiva cc y una implementación del algoritmo capazy una implementación del algoritmo capazpositivapositiva cc y una implementación del algoritmo capazy una implementación del algoritmo capaz
de resolver cada caso del problema en unde resolver cada caso del problema en un tiempotiempo
acotado superiormente poracotado superiormente por c·fc·f (n)(n), donde, donde nn es eles el
tamaño del problema considerado.tamaño del problema considerado.
99
Notaciones asintóticasNotaciones asintóticas
Notación ONotación O
Decimos que una funciónDecimos que una función T(n) es O(f(n))T(n) es O(f(n))
si existen constantes nsi existen constantes n00 y cy c
tales quetales que T(n)T(n) ≤≤ cf(n)cf(n) para todo npara todo n ≥≥ nn00::
T(n) es O(f(n))T(n) es O(f(n)) ⇔⇔⇔⇔⇔⇔⇔⇔
∃∃∃∃∃∃∃∃cc∈∈∈∈∈∈∈∈R,R, ∃∃∃∃∃∃∃∃nn00∈∈∈∈∈∈∈∈N, tal queN, tal que ∀∀∀∀∀∀∀∀n>nn>n00∈∈∈∈∈∈∈∈N, T(n)N, T(n) ≤≤≤≤≤≤≤≤ cf(n)cf(n)
1010
Notaciones asintóticasNotaciones asintóticas
EjemplosEjemplos
T(n) = 3nT(n) = 3n
T(n)T(n) eses O(n), O(n log n), O(nO(n), O(n log n), O(n22), O(n), O(n33) y O(2) y O(2nn).).
T(n) = (n+1)2
T(n)T(n) eses O(nO(n22), O(n), O(n33) y O(2) y O(2nn).).T(n)T(n) eses O(nO(n22), O(n), O(n33) y O(2) y O(2nn).).
T(n) noT(n) no eses O(n)O(n) nini O(n log n).O(n log n).
T(n) = 32n2 + 17n + 32(n) = 32n(n) = 32n22 + 17n + 32.+ 17n + 32.
T(n)T(n) eses O(nO(n22)) peropero nono eses O(n).O(n).
T(n) = 3n3 + 345n2
T(n)T(n) eses O(nO(n33)) peropero nono eses O(nO(n22).).
T(n) = 3n
T(n)T(n) eses O(3O(3nn)) peropero nono eses O(2O(2nn).). 1111
Notaciones asintóticasNotaciones asintóticas
NotacionesNotaciones ΩΩΩΩΩΩΩΩ yy ΘΘΘΘΘΘΘΘ
NotaciónNotación ΩΩΩΩΩΩΩΩ (cota inferior)(cota inferior)
T(n) esT(n) es ΩΩ(f(n)) cuando(f(n)) cuandoT(n) esT(n) es ΩΩ(f(n)) cuando(f(n)) cuando
∃∃cc∈∈RR++,, ∃∃nn00∈∈N:N: ∀∀nn≥≥nn00 ⇒⇒ T(n)T(n) ≥≥ cfcf(n)(n)
NotaciónNotación ΘΘΘΘΘΘΘΘ (orden exacto)(orden exacto)
T(n) esT(n) es ΘΘ(f(n)) cuando(f(n)) cuando
T(n) es O(f(n)) y T(n) esT(n) es O(f(n)) y T(n) es ΩΩ(f(n))(f(n))
1212
Órdenes de eficienciaÓrdenes de eficiencia
Órdenes de eficiencia más habitualesÓrdenes de eficiencia más habituales
N O(log2 n) O(n2) O(n log2 n) O(n2) O(2n) O(n!)
10 3 µs 10 µs 30 µs 0.1 ms 1 ms 4 s
25 5 µs 25 µs 0.1 ms 0.6 ms 33 s 1011 años
50 6 µs 50 µs 0.3 ms 2.5 ms 36 años …
Tiempos calculados suponiendo 1 µs por operación elemental.
O(1)O(1) ⊂⊂⊂⊂⊂⊂⊂⊂ O(log n)O(log n) ⊂⊂⊂⊂⊂⊂⊂⊂ O(n)O(n) ⊂⊂⊂⊂⊂⊂⊂⊂ O(n log n)O(n log n) ⊂⊂⊂⊂⊂⊂⊂⊂ O(nO(n22)) ⊂⊂⊂⊂⊂⊂⊂⊂ O(nO(n33)) ⊂⊂⊂⊂⊂⊂⊂⊂ O(2O(2nn)) ⊂⊂⊂⊂⊂⊂⊂⊂ O(n!)O(n!) 1313
50 6 µs 50 µs 0.3 ms 2.5 ms 36 años …
100 7 µs 100 µs 0.7 ms 10 ms 1017 años …
1000 10 µs 1 ms 10 ms 1 s … …
10000 13 µs 10 ms 0.1 s 100 s … …
100000 17 µs 100 ms 1.7 s 3 horas … …
1000000 20 µs 1 s 20 s 12 días … …
Órdenes de eficienciaÓrdenes de eficiencia
Orden lineal: O(n)Orden lineal: O(n)
Tiempo de ejecución proporcional al tamaño de la entrada.Tiempo de ejecución proporcional al tamaño de la entrada.
Ejemplo: Calcular el máximo de n númerosEjemplo: Calcular el máximo de n números a1, …, an.Ejemplo: Calcular el máximo de n númerosEjemplo: Calcular el máximo de n números a1, …, an.
1414
max ←←←← a1
for i = 2 to n {
if (ai > max)
max ←←←← ai
}
Órdenes de eficienciaÓrdenes de eficiencia
Orden cuadrático: O(nOrden cuadrático: O(n22))
Aparece cuando tenemos que enumerar todas lasAparece cuando tenemos que enumerar todas las
parejas posibles de elementos de un conjunto.parejas posibles de elementos de un conjunto.
Ejemplo: Dado un conjunto de puntos en el planoEjemplo: Dado un conjunto de puntos en el plano (x1, y1), …,Ejemplo: Dado un conjunto de puntos en el planoEjemplo: Dado un conjunto de puntos en el plano (x1, y1), …,
(xn, yn), encontrar la pareja más cercana.encontrar la pareja más cercana.
1515
min ←←←← (x1 - x2)2 + (y1 - y2)2
for i = 1 to n {
for j = i+1 to n {
d ←←←← (xi - xj)2 + (yi - yj)2
if (d < min)
min ←←←← d
}
}
Órdenes de eficienciaÓrdenes de eficiencia
Órdenes O(log n) y O(n log n)Órdenes O(log n) y O(n log n)
Aparecen en muchos algoritmos recursivosAparecen en muchos algoritmos recursivos
p.ej. Estrategia “divide y vencerás”p.ej. Estrategia “divide y vencerás”
Ejemplos:Ejemplos: O(log n)O(log n) Búsqueda binariaBúsqueda binariaEjemplos:Ejemplos: O(log n)O(log n) Búsqueda binariaBúsqueda binaria
O(n log n)O(n log n) MergesortMergesort,, HeapsortHeapsort……
Orden exponencial O(2n)
Aparece en muchos problemas de tipo combinatorio
Ejemplo: Enumerar todos los subconjuntos de un conjunto dado.Ejemplo: Enumerar todos los subconjuntos de un conjunto dado.
1616
Cálculo de la eficienciaCálculo de la eficiencia
Operación elementalOperación elemental
Operación de un algoritmo cuyo tiempo de ejecuciónOperación de un algoritmo cuyo tiempo de ejecución
se puede acotar superiormente por una constante.se puede acotar superiormente por una constante.
En nuestro análisis, sólo contará el número deEn nuestro análisis, sólo contará el número deEn nuestro análisis, sólo contará el número deEn nuestro análisis, sólo contará el número de
operaciones elementales y no el tiempo exactooperaciones elementales y no el tiempo exacto
necesario para cada una de ellas.necesario para cada una de ellas.
En la descripción de un algoritmo, puede ocurrir queEn la descripción de un algoritmo, puede ocurrir que
una línea de código corresponda a un número deuna línea de código corresponda a un número de
variable de operaciones elementales.variable de operaciones elementales.
p.ej.p.ej. xx ←←←←←←←← maxmax{A[k], 0 <= k < n}{A[k], 0 <= k < n}
1717
Cálculo de la eficienciaCálculo de la eficiencia
Operaciones elementalesOperaciones elementales
AlgunasAlgunas operaciones matemáticasoperaciones matemáticas no son operacionesno son operaciones
elementales.elementales.
p.ej.p.ej. sumas y productossumas y productosp.ej.p.ej. sumas y productossumas y productos
dependen de la longitud de losdependen de la longitud de los operandosoperandos..
Por convención, en la práctica, suma, diferencia,Por convención, en la práctica, suma, diferencia,
producto, división, módulo, operaciones booleanas,producto, división, módulo, operaciones booleanas,
comparaciones y asignaciones se considerancomparaciones y asignaciones se consideran
operaciones, salvo que explícitamente se establezca looperaciones, salvo que explícitamente se establezca lo
contrario.contrario.
1818
Cálculo de la eficienciaCálculo de la eficiencia
Reglas de cálculo de la eficienciaReglas de cálculo de la eficiencia
1. Sentencias simples
2. Bloques de sentencias
3. Sentencias condicionales3. Sentencias condicionales
4. Bucles
5. Llamadas a funciones
6. Funciones recursivas
1919
Cálculo de la eficienciaCálculo de la eficiencia
Reglas de cálculo de la eficienciaReglas de cálculo de la eficiencia
1. Sentencias simples1. Sentencias simples
Consideraremos que cualquier sentencia simpleConsideraremos que cualquier sentencia simple
(lectura, escritura, asignación, etc.)(lectura, escritura, asignación, etc.)(lectura, escritura, asignación, etc.)(lectura, escritura, asignación, etc.)
va a consumir un tiempo constante,va a consumir un tiempo constante, O(1)O(1),,
salvo que contenga una llamada a una función.salvo que contenga una llamada a una función.
2020
Cálculo de la eficienciaCálculo de la eficiencia
Reglas de cálculo de la eficienciaReglas de cálculo de la eficiencia
2. Bloques de sentencias2. Bloques de sentencias
Tiempo total de ejecución = Suma de los tiempos deTiempo total de ejecución = Suma de los tiempos de
ejecución de cada una de las sentencias del bloque.ejecución de cada una de las sentencias del bloque.ejecución de cada una de las sentencias del bloque.ejecución de cada una de las sentencias del bloque.
Orden de eficiencia = Máximo de los órdenes deOrden de eficiencia = Máximo de los órdenes de
eficiencia de cada una de las sentencias del bloque.eficiencia de cada una de las sentencias del bloque.
2121
Cálculo de la eficienciaCálculo de la eficiencia
Reglas de cálculo de la eficienciaReglas de cálculo de la eficiencia
3. Sentencias condicionales3. Sentencias condicionales
El tiempo de ejecución de una sentencia condicionalEl tiempo de ejecución de una sentencia condicional
es el máximo del tiempo del bloquees el máximo del tiempo del bloque ififes el máximo del tiempo del bloquees el máximo del tiempo del bloque ifif
y del tiempo del bloquey del tiempo del bloque elseelse..
Si el bloqueSi el bloque ifif es O(f(n)) y el bloquees O(f(n)) y el bloque elseelse es O(g(n)),es O(g(n)),
la sentencia condicional serála sentencia condicional será O(O(maxmax{f(n), g(n)}){f(n), g(n)})..
2222
Cálculo de la eficienciaCálculo de la eficiencia
Reglas de cálculo de la eficienciaReglas de cálculo de la eficiencia
4. Bucles4. Bucles
Tiempo de ejecuciónTiempo de ejecución
= Suma de los tiempos invertidos en cada iteración= Suma de los tiempos invertidos en cada iteración= Suma de los tiempos invertidos en cada iteración= Suma de los tiempos invertidos en cada iteración
En el tiempo de cada iteración se ha de incluir elEn el tiempo de cada iteración se ha de incluir el
tiempo de ejecución del cuerpo del bucle y también eltiempo de ejecución del cuerpo del bucle y también el
asociado a la evaluación de la condición (y, en suasociado a la evaluación de la condición (y, en su
caso, la actualización del contador).caso, la actualización del contador).
Si todas las iteraciones son iguales, el tiempo total deSi todas las iteraciones son iguales, el tiempo total de
ejecución del bucle será el producto del número deejecución del bucle será el producto del número de
iteraciones por el tiempo empleado en cada iteración.iteraciones por el tiempo empleado en cada iteración. 2323
Cálculo de la eficienciaCálculo de la eficiencia
Reglas de cálculo de la eficienciaReglas de cálculo de la eficiencia
5. Llamadas a funciones5. Llamadas a funciones
Si una determinada función P tiene una eficiencia deSi una determinada función P tiene una eficiencia de
O(f(n)), cualquier llamada a P es de orden O(f(n)).O(f(n)), cualquier llamada a P es de orden O(f(n)).O(f(n)), cualquier llamada a P es de orden O(f(n)).O(f(n)), cualquier llamada a P es de orden O(f(n)).
Las asignaciones con diversas llamadas a funciónLas asignaciones con diversas llamadas a función
deben sumar las cotas de tiempo de ejecución dedeben sumar las cotas de tiempo de ejecución de
cada llamada.cada llamada.
La misma consideración es aplicable a lasLa misma consideración es aplicable a las
condiciones de bucles y sentencias condicionales.condiciones de bucles y sentencias condicionales. 2424
Cálculo de la eficienciaCálculo de la eficiencia
Reglas de cálculo de la eficienciaReglas de cálculo de la eficiencia
6. Funciones recursivas6. Funciones recursivas
Las funciones de tiempo asociadas a funcionesLas funciones de tiempo asociadas a funciones
recursivas son también recursivas.recursivas son también recursivas.recursivas son también recursivas.recursivas son también recursivas.
p.ej.p.ej. T(n) = T(nT(n) = T(n--1) + f(n)1) + f(n)
Para analizar el tiempo de ejecución de un algoritmoPara analizar el tiempo de ejecución de un algoritmo
recursivo, le asociamos una función de eficienciarecursivo, le asociamos una función de eficiencia
desconocida, T(n), y la estimamos a partir de T(k)desconocida, T(n), y la estimamos a partir de T(k)
para distintos valores de k (menores que n).para distintos valores de k (menores que n).
2525
Cálculo de la eficienciaCálculo de la eficiencia
EjemploEjemplo
intint factfact((intint n)n)
{{
ifif (n <= 1)(n <= 1)
returnreturn 1;1;
elseelse
returnreturn (n *(n * factfact(n(n –– 1));1));
}}
Los bloquesLos bloques ifif yy elseelse son operaciones elementales,son operaciones elementales,
por lo que su tiempo de ejecución es O(1).por lo que su tiempo de ejecución es O(1).
2626
Cálculo de la eficienciaCálculo de la eficiencia
T(n)T(n) = 1 + T(n= 1 + T(n -- 1)1)
= 1 + (1 + T(n= 1 + (1 + T(n--2)) = 2 + T(n2)) = 2 + T(n--2)2)
= 2 + (1 + T(n= 2 + (1 + T(n--3)) = 3 + T(n3)) = 3 + T(n--3)3)
……
= i + T(n= i + T(n--i)i)= i + T(n= i + T(n--i)i)
……
= (n= (n--1) + T(n1) + T(n –– (n(n--1)) = (n1)) = (n--1) + 11) + 1
Por tanto, T(n) es O(n)Por tanto, T(n) es O(n)
La implementación recursiva del cálculo del factorial es de orden lineal.La implementación recursiva del cálculo del factorial es de orden lineal.
2727
Cálculo de la eficienciaCálculo de la eficiencia
EjemploEjemplo
intint E(E(intint n)n)
{{
ifif (n == 1)(n == 1)




>





+
=
=
1
2
1
1,1
)(
n
n
T
n
nT
returnreturn 0;0;
elseelse
returnreturn E(n/2) + 1;E(n/2) + 1;
}}
T(n) es O (logT(n) es O (log22 n)n)
2828




 2
Cálculo de la eficienciaCálculo de la eficiencia
T(n)T(n) = T(n/2) + 1= T(n/2) + 1
= (T(n/4) + 1) + 1 = T(n/4) + 2= (T(n/4) + 1) + 1 = T(n/4) + 2
= (T(n/8) + 1) +2 = T(n/8) + 3= (T(n/8) + 1) +2 = T(n/8) + 3
…………
= T(n/2= T(n/2ii) + i) + i
……
= T(n/2= T(n/2log(n)log(n)) + log) + log22(n)(n)
= T(1) + log= T(1) + log22(n)(n)
Por tanto, T(n) es O(log n)Por tanto, T(n) es O(log n)
2929
Cálculo de la eficienciaCálculo de la eficiencia
El mismo desarrollo se podría realizar más cómodamenteEl mismo desarrollo se podría realizar más cómodamente
con un cambio de variable:con un cambio de variable: n=2n=2mm m = logm = log22(n)(n)
T(2T(2mm)) = T(2= T(2mm--11) + 1=) + 1=
= (T(2= (T(2mm--22) + 1) + 1) + 1) + 1= (T(2= (T(2mm--22) + 1) + 1) + 1) + 1
= (T(2= (T(2mm--33) + 1) + 2) + 1) + 2
……
= T(2= T(2mm--ii) + i) + i
……
= T(2= T(2mm--mm) + m) + m
= T(1) + log= T(1) + log22(n)(n)
3030
Cálculo de la eficienciaCálculo de la eficiencia
EjemploEjemplo
1)1(;2,
2
)( 2
=≥+





= Tnn
n
TnT
Cambio de variable:Cambio de variable: n = 2n = 2mm
nn22 = (2= (2mm))22=(2=(222))mm
=4=4mm
T(2T(2mm)) = T(2= T(2mm--11) + 4) + 4mm==
= T(2= T(2mm--22) + 4) + 4mm--11 + 4+ 4mm
……
= T(2= T(2mm--ii) + [4) + [4mm--(i(i--1)1) + … + 4+ … + 4mm--11 + 4+ 4mm]] 3131
Cálculo de la eficienciaCálculo de la eficiencia
EjemploEjemplo
1)1(;2,
2
)( 2
=≥+





= Tnn
n
TnT
]4444[)1()2( 121
+++++= −−
TT mmmm
L
T(n) es O(nT(n) es O(n22))
3232
3
1
3
4
3
1
3
44
14
14
441
]4444[)1()2(
2
2
2
1
2
0
121
−=
−=
−
−
==+=
+++++=
∑ ∑=
+
=
−−
n
TT
mm
i
mm
i
ii
mmmm
L
Resolución de recurrenciasResolución de recurrencias
Técnicas de resolución de recurrenciasTécnicas de resolución de recurrencias
Método de sustituciónMétodo de sustitución
1.1. Desarrollar la expresiónDesarrollar la expresión
2.2. Adivinar la fórmula de la expresiónAdivinar la fórmula de la expresión
3.3. Demostrar por inducciónDemostrar por inducciónDemostrar por inducciónDemostrar por inducción
4.4. Resolver constantesResolver constantes
Árbol de recursividadÁrbol de recursividad
Representación gráfica “intuitiva”.Representación gráfica “intuitiva”.
Expansión de recurrenciasExpansión de recurrencias
Método algebraico equivalente al árbol de recursividad.Método algebraico equivalente al árbol de recursividad.
Método de la ecuación característicaMétodo de la ecuación característica 3333
Método de sustituciónMétodo de sustitución
¿T(n) es O(n¿T(n) es O(n33)?)?
Suponemos que T(k) ≤ ckSuponemos que T(k) ≤ ck33 para k<npara k<n



>+
=
=
1)2/(4
1)1(
)(
nsinnT
nsiO
nT
Suponemos que T(k) ≤ ckSuponemos que T(k) ≤ ck33 para k<npara k<n
Demostramos por inducción que T(n) ≤ cnDemostramos por inducción que T(n) ≤ cn33
T(n)T(n) = 4T(n/2) + n= 4T(n/2) + n
≤ 4c(n/2)≤ 4c(n/2)33 + n = (c/2)n+ n = (c/2)n33 + n = cn+ n = cn33 –– ((c/2)n((c/2)n33 –– n)n)
≤ cn≤ cn33 siempre que ((c/2)nsiempre que ((c/2)n33 –– n)>0 (p.ej. c≥2 y n≥1)n)>0 (p.ej. c≥2 y n≥1)
PROBLEMA: ¿Podríamos encontrar una cota superior más ajustada?PROBLEMA: ¿Podríamos encontrar una cota superior más ajustada?
Sugerencia: Probar con T(n) ≤ cnSugerencia: Probar con T(n) ≤ cn22 y T(n) ≤ cy T(n) ≤ c11nn22--cc22nn
3434
Árbol de recursividadÁrbol de recursividad
2
)2/()4/()( nnTnTnT ++=
3535
Ecuación característicaEcuación característica
Recurrencias homogéneas linealesRecurrencias homogéneas lineales
con coeficientes constantescon coeficientes constantes
Lineal: No hay términos tLineal: No hay términos t tt , t, t22
0110 =+++ −− knknn tatata L
Lineal: No hay términos tLineal: No hay términos tnn--11ttnn--jj, t, t22
nn--ii
Homogénea: Igualadas a 0Homogénea: Igualadas a 0
Con coeficientes constantes:Con coeficientes constantes: aaii constantesconstantes
Ejemplo: Sucesión deEjemplo: Sucesión de FibonacciFibonacci
3636
02121 =−−⇒+= −−−− nnnnnn ffffff
Ecuación característicaEcuación característica
Suposición:Suposición: ttnn == xxnn
Se satisface si x=0 o bienSe satisface si x=0 o bien
01
10 =+++ −− kn
k
nn
xaxaxa L
ecuación característicaecuación característica
Polinomio característicoPolinomio característico
3737
01
10 =+++ −
k
kk
axaxa L
k
kk
axaxaxp +++= −
L1
10)(
Ecuación característicaEcuación característica
Teorema Fundamental del Álgebra:Teorema Fundamental del Álgebra:
Consideremos una raíz del polinomio característico,Consideremos una raíz del polinomio característico, rrii
p(p(rrii) = 0) = 0
∏=
−=
k
i
irxxp
1
)()(
p(p(rrii) = 0) = 0
Por tanto,Por tanto, rrii
nn es solución de la recurrencia.es solución de la recurrencia.
Además, las combinaciones lineales de las soluciones deAdemás, las combinaciones lineales de las soluciones de
la recurrencia también son soluciones:la recurrencia también son soluciones:
Cuando todos losCuando todos los rrii sonson distintosdistintos,,
éstas son laséstas son las únicasúnicas solucionessoluciones 3838
∑=
=
k
i
n
iin rct
1
Ecuación característicaEcuación característica
Resolución de recurrenciasResolución de recurrencias
mediante el método de la ecuación característica:mediante el método de la ecuación característica:
1.1. Se obtiene la ecuación característica asociada a laSe obtiene la ecuación característica asociada a la
recurrencia que describe el tiempo de ejecución T(n).recurrencia que describe el tiempo de ejecución T(n).recurrencia que describe el tiempo de ejecución T(n).recurrencia que describe el tiempo de ejecución T(n).
2.2. Se calculan las k raíces del polinomio característico.Se calculan las k raíces del polinomio característico.
3.3. Se obtiene la solución a partir de las raíces delSe obtiene la solución a partir de las raíces del
polinomio característico.polinomio característico.
4.4. Se determinan las constantes a partir de las kSe determinan las constantes a partir de las k
condiciones iniciales.condiciones iniciales.
3939
Ecuación característicaEcuación característica
Ejemplo: Sucesión deEjemplo: Sucesión de FibonacciFibonacci



+
==
=
−− casootroen
1ó0si,
21 nn
n
ff
nnn
f
4040
021 =−− −− nnn fff
1)( 2
−−= xxxp
2
51
2
51
21
−
=
+
= ryr
Ecuación característicaEcuación característica
Ejemplo: Sucesión deEjemplo: Sucesión de FibonacciFibonacci
nn
n rcrcf 2211 +=
=+ 0
4141
⇒



=+
=+
1
0
2211
21
crcr
cc
5
1
5
1
21 −== cyc















 −
−






 +
=
nn
nf
2
51
2
51
5
1
Ecuación característicaEcuación característica
Ejemplo:Ejemplo:





+
=
=
=
−− casootroen,43
1,5
0,0
21 nn
n
tt
n
n
t
A partir de las condiciones iniciales: cA partir de las condiciones iniciales: c11 == --1, c1, c22 = 1= 1
4242
043 21 =−− −− nnn ttt
)4)(1(432
−+=−− xxxx
nn
n cct 4)1( 21 +−=
Ecuación característicaEcuación característica
Raíces múltiplesRaíces múltiples
Supongamos que las raíces del polinomio característicoSupongamos que las raíces del polinomio característico
NONO son todas distintas.son todas distintas.
rrii con multiplicidad mcon multiplicidad miirrii con multiplicidad mcon multiplicidad mii
4343
∑∑=
−
=
=
l
i
m
j
n
i
j
ijn
i
rnct
1
1
0
Ecuación característicaEcuación característica
Ejemplo:Ejemplo:



+−
=
=
−−− casootroen485
2ó10si,
321 nnn
n
ttt
,nn
t
321 0485 =−+− −−− tttt nnnn
A partir de las condiciones iniciales: cA partir de las condiciones iniciales: c11 == --2, c2, c22 = 2, c= 2, c33 == --1/21/2
4444
223
321
)2)(1(485
0485
−−=−+−
=−+− −−−
xxxxx
tttt nnnn
nnn
n nccct 22)1( 321 ++=
222 11
−−= −+ nn
n nt
Ecuación característicaEcuación característica
Recurrencias no homogéneasRecurrencias no homogéneas
A partir deA partir de
donde b es una constante y p(n) un polinomio de grado ddonde b es una constante y p(n) un polinomio de grado d
)(110 npbtatata n
knknn =+++ −− L
donde b es una constante y p(n) un polinomio de grado ddonde b es una constante y p(n) un polinomio de grado d
derivamos el polinomio característicoderivamos el polinomio característico
que resolveremos igual que en el caso homogéneo.que resolveremos igual que en el caso homogéneo.
4545
11
10 ))(()( +−
−+++= d
k
kk
bxaxaxaxp L
Ecuación característicaEcuación característica
Ejemplo:Ejemplo:
Las torres deLas torres de HanoiHanoi
hanoihanoi ((intint n,n, intint inicial,inicial, intint final,final, intint tmptmp))
{{
hanoihanoi (n(n –– 1, inicial,1, inicial, tmptmp, final), final)
finalfinal  inicialinicial
hanoihanoi (n(n –– 1,1, tmptmp, final, inicial), final, inicial)
}}
4646



+−
=
=
casootroen,1)1(2
0,0
)(
nT
n
nT
Ecuación característicaEcuación característica
Ejemplo:Ejemplo:
Las torres deLas torres de HanoiHanoi
)1)(2()( −−= xxxp
12 1 =− −nn tt
4747
212)( ccnT n
+=
)1)(2()( −−= xxxp
nn
n cct 12 21 +=
1
1
12
0
1)1(
0)0(
2
1
21
21
−=
=
⇒



=+
=+
⇒



=
=
c
c
cc
cc
T
T
12)( −= n
nT
Ecuación característicaEcuación característica
Ejemplo:Ejemplo:
0;2 01 =+= − tntt nn
2
)1)(2()( −−= xxxp
nnn
nccct 112 ++=
4848
nnn
n nccct 112 321 ++=
1
2
2
424
12
0
3
2
1
321
321
21
−=
−=
=
⇒





=++
=++
=+
c
c
c
ccc
ccc
cc
22 1
−−= +
nt n
n
Ecuación característicaEcuación característica
Recurrencias no homogéneasRecurrencias no homogéneas
bb11, …,, …, bbss constantesconstantes
)(...)(11110 npbnpbtatata s
n
s
n
knknn ++=+++ −− L
bb11, …,, …, bbss constantesconstantes
ppii(n)(n) polinomio de gradopolinomio de grado ddii
Polinomio característico:Polinomio característico:
4949
11
1
1
10 )())(()( 1 ++−
−−+++= sd
s
d
k
kk
bxbxaxaxaxp LL
Ecuación característicaEcuación característica
Cambios de variableCambios de variable
Cuando las recurrencias no se ajustan al tipo conocido…Cuando las recurrencias no se ajustan al tipo conocido…



>+
=
=
1,)2/(3
1,1
)(
nnnT
n
nT
aplicamos un cambio de variableaplicamos un cambio de variable nn = 2= 2ii
que nos permite definir una nueva recurrencia:que nos permite definir una nueva recurrencia:
5050


>+ 1,)2/(3 nnnT
)2( i
i Tt =
Ecuación característicaEcuación característica
Cambios de variableCambios de variable
ii
i
i
ii ccttt 2323 211 +=⇒+= −
Finalmente, deshacemos el cambio de variable:Finalmente, deshacemos el cambio de variable: ii = log= log22((nn))
5151
ncncccnT nn
2
)3(log
1
)(log
2
)(log
1
222
23)( +=+=
)(Oes)( )3(log2
nnT
Ecuación característicaEcuación característica
EjemploEjemplo
iii
+=⇒+=



>+
=
=
1,)2/(4
1,1
)(
nnnT
n
nT
)2( i
Tt =
5252
ii
i
i
ii ccttt 2424 211 +=⇒+= −
ncncncncccnT nn
2
2
12
)4(log
1
)(log
2
)(log
1
222
24)( +=+=+=
)(Oes)( 2
nnT
)2( i
i Tt =
Ecuación característicaEcuación característica
EjemploEjemplo
iii
+=⇒+=



>+
=
=
1,)2/(2
1,1
)(
nnnT
n
nT
)2( i
Tt =
5353
ii
i
i
ii iccttt 2222 211 +=⇒+= −
)(log2)(log2)( 221
)(log
22
)(log
1
22
nncncnccnT nn
+=+=
)log(Oes)( 2 nnnT
)2( i
i Tt =
Ecuación característicaEcuación característica
Recurrencia “divide y vencerás”Recurrencia “divide y vencerás”
a.k.a.a.k.a. ““thethe mastermaster methodmethod””
k
cn
b
n
aTnT +





=)(
5454
b 
0,0,2,1con >≥≥≥ ckba





>Θ
=Θ
<Θ
=
ka
k
b
k
kk
ban
bann
ban
nT
b
)(
)),(log(
),(
)(
)(log
Ecuación característicaEcuación característica
Transformaciones del rangoTransformaciones del rango










=
=
casootroen,
2
1,3/1
)( 2 n
nT
n
nT
Inicialmente, realizamos un cambio de variable:Inicialmente, realizamos un cambio de variable:
Como esta recurrencia no es lineal y el coeficiente 2Como esta recurrencia no es lineal y el coeficiente 2ii
no es constante, tomamos logaritmos:no es constante, tomamos logaritmos:
5555
  2
2
1
12
2)2(2)2( −
−
=== i
iiii
i tTTt
11 2)log(2)log( −− +=+== iiii uititu
Ecuación característicaEcuación característica
Transformaciones del rangoTransformaciones del rango
12 −+= ii uiu
iii
i icccu 112 321 ++=
iuu ii =− −12
Sustituyendo en la recurrencia paraSustituyendo en la recurrencia para uuii, obtenemos:, obtenemos:
5656
i icccu 112 321 ++=
2;1 23 −=−= cc
))1(2(222 32
1
13211 −++−++=−= −
− icccicccuui ii
ii
23)2( ccii −−=
233 2)1( ccic −=+
Ecuación característicaEcuación característica
Transformaciones del rangoTransformaciones del rango
Deshacemos los cambios:Deshacemos los cambios:
221 −−= icu i
i
221
22 −−
== icu i
i
t
A partir de las condiciones iniciales:A partir de las condiciones iniciales:
5757
221
22 −−
== icu
i
i
t
n
tnT
nc
nnc
n
4
2
2)(
1
21
2
2log
)(log === −−
3log2)3/4(log3/14/2)1( 221
1
−==⇒== cT c
n
n
n
nnnc
nnnn
nT
34
2
24
2
4
2
4
2
)(
2
)3(log
2)3log2(
2
21
====
−
Apéndice: Fórmulas útilesApéndice: Fórmulas útiles
Progresiones aritméticasProgresiones aritméticas
daa ii +=+1
∑ +=
n
aana )(
1
5858
∑=
+=
n
i
ni aana
1
1 )(
2
1
)1(
2
1
1
+=∑=
nni
n
i
Apéndice: Fórmulas útilesApéndice: Fórmulas útiles
Progresiones geométricasProgresiones geométricas
ii ara =+1
)1( 1
−+
∑
ra nn
5959
1
)1( 1
1
1 −
−
=
+
=
∑ r
ra
a
nn
i
i
1
1
1 −
−
=
+
=
∑ b
bb
b
nn
i
i
Apéndice: Fórmulas útilesApéndice: Fórmulas útiles
SumatoriasSumatorias
naa
n
i
=∑=1
∑∑ =
nn
ifaifa )()(
6060
∑∑ ==
=
ii
ifaifa
11
)()(
( ) ∑ ∑∑ +=+ baba
∑ ∑∑∑ =
i j
ji
i j
ji baba
Apéndice: Fórmulas útilesApéndice: Fórmulas útiles
SumatoriasSumatorias
)1(
2
1
1
+=∑=
nni
n
i
)12)(1(
6
12
++=∑ nnni
n
6161
)12)(1(
61
++=∑=
nnni
i
2
1
3
)1(
2
1






+=∑=
nni
n
i
)2)(1(
3
1
)1(
1
++=+∑=
nnnii
n
i
Apéndice: Fórmulas útilesApéndice: Fórmulas útiles
PotenciasPotencias
zyzy
xxx ·=+
zyzy
xxx /=−
yzzyzy
xxx )()(·
==
¡Ojo!¡Ojo!
6262
yzzyzy
xxx )()(·
==
yz
zy
xx ≠
Apéndice: Fórmulas útilesApéndice: Fórmulas útiles
LogaritmosLogaritmos
)(log
)(log
)(log
a
n
n
b
b
a =
6363
)(log)(log nm aa
mn =
)(log)(log)(log mnmn aaa +=
)(log)(log)/(log mnmn aaa −=
)(log)(log npn a
p
a =

Más contenido relacionado

La actualidad más candente

Analisis De La Transformada De Fourier En Matlab
Analisis De La Transformada De Fourier En MatlabAnalisis De La Transformada De Fourier En Matlab
Analisis De La Transformada De Fourier En Matlabmiguelbc
 
Derivada , MATEMÁTICA
Derivada ,  MATEMÁTICADerivada ,  MATEMÁTICA
Derivada , MATEMÁTICAagustinc3333
 
Análisis de complejidad introducción notación big o
Análisis de complejidad   introducción notación big oAnálisis de complejidad   introducción notación big o
Análisis de complejidad introducción notación big oUVM
 
Jflambert lyada - ayudantia ordenamiento y teo maestro
Jflambert   lyada - ayudantia ordenamiento y teo maestroJflambert   lyada - ayudantia ordenamiento y teo maestro
Jflambert lyada - ayudantia ordenamiento y teo maestroFrancisco Lambert Obediente
 
Trabajo maria romero
Trabajo maria romeroTrabajo maria romero
Trabajo maria romeromaria romero
 
Trabajo maria romero
Trabajo maria romeroTrabajo maria romero
Trabajo maria romeromaria romero
 
Resumen Complejidad Computacional y de Algoritmos
Resumen Complejidad Computacional y de AlgoritmosResumen Complejidad Computacional y de Algoritmos
Resumen Complejidad Computacional y de Algoritmosmarshalleitor
 
Tema 2 eficiencia y complejidad
Tema 2 eficiencia y complejidadTema 2 eficiencia y complejidad
Tema 2 eficiencia y complejidadCarlos A. Iglesias
 
Solucion de Ecuaciones Diferenciales Ordinarias de Segundo Orden por Métodos ...
Solucion de Ecuaciones Diferenciales Ordinarias de Segundo Orden por Métodos ...Solucion de Ecuaciones Diferenciales Ordinarias de Segundo Orden por Métodos ...
Solucion de Ecuaciones Diferenciales Ordinarias de Segundo Orden por Métodos ...Carlos Aguilar
 
señales y sistemas
señales y sistemas señales y sistemas
señales y sistemas lexlutor1865
 
Lab 06 - Analisis de señales - UNTECS
Lab 06 - Analisis de señales - UNTECSLab 06 - Analisis de señales - UNTECS
Lab 06 - Analisis de señales - UNTECSIng. Electrónica xD
 
Series y Transformada de Fourier
Series y Transformada de FourierSeries y Transformada de Fourier
Series y Transformada de Fourierlchaconc
 
Convolucion Tiempo Discreto
Convolucion Tiempo DiscretoConvolucion Tiempo Discreto
Convolucion Tiempo Discretoguest1e528d
 
Trabajo fourier
Trabajo fourierTrabajo fourier
Trabajo fouriersadamssh
 

La actualidad más candente (20)

Analisis De La Transformada De Fourier En Matlab
Analisis De La Transformada De Fourier En MatlabAnalisis De La Transformada De Fourier En Matlab
Analisis De La Transformada De Fourier En Matlab
 
Derivada , MATEMÁTICA
Derivada ,  MATEMÁTICADerivada ,  MATEMÁTICA
Derivada , MATEMÁTICA
 
Análisis de complejidad introducción notación big o
Análisis de complejidad   introducción notación big oAnálisis de complejidad   introducción notación big o
Análisis de complejidad introducción notación big o
 
Jflambert lyada - ayudantia ordenamiento y teo maestro
Jflambert   lyada - ayudantia ordenamiento y teo maestroJflambert   lyada - ayudantia ordenamiento y teo maestro
Jflambert lyada - ayudantia ordenamiento y teo maestro
 
Trabajo maria romero
Trabajo maria romeroTrabajo maria romero
Trabajo maria romero
 
Trabajo maria romero
Trabajo maria romeroTrabajo maria romero
Trabajo maria romero
 
Resumen Complejidad Computacional y de Algoritmos
Resumen Complejidad Computacional y de AlgoritmosResumen Complejidad Computacional y de Algoritmos
Resumen Complejidad Computacional y de Algoritmos
 
Series de fourier
Series de fourierSeries de fourier
Series de fourier
 
Tema7b ud3
Tema7b ud3Tema7b ud3
Tema7b ud3
 
Simulacion con R
Simulacion con RSimulacion con R
Simulacion con R
 
Tema 2 eficiencia y complejidad
Tema 2 eficiencia y complejidadTema 2 eficiencia y complejidad
Tema 2 eficiencia y complejidad
 
Solucion de Ecuaciones Diferenciales Ordinarias de Segundo Orden por Métodos ...
Solucion de Ecuaciones Diferenciales Ordinarias de Segundo Orden por Métodos ...Solucion de Ecuaciones Diferenciales Ordinarias de Segundo Orden por Métodos ...
Solucion de Ecuaciones Diferenciales Ordinarias de Segundo Orden por Métodos ...
 
señales y sistemas
señales y sistemas señales y sistemas
señales y sistemas
 
Series de fodsfjwslurier
Series de fodsfjwslurierSeries de fodsfjwslurier
Series de fodsfjwslurier
 
Lab 06 - Analisis de señales - UNTECS
Lab 06 - Analisis de señales - UNTECSLab 06 - Analisis de señales - UNTECS
Lab 06 - Analisis de señales - UNTECS
 
Series y Transformada de Fourier
Series y Transformada de FourierSeries y Transformada de Fourier
Series y Transformada de Fourier
 
Convolucion Tiempo Discreto
Convolucion Tiempo DiscretoConvolucion Tiempo Discreto
Convolucion Tiempo Discreto
 
Trabajo fourier
Trabajo fourierTrabajo fourier
Trabajo fourier
 
Series de fourier
Series de fourierSeries de fourier
Series de fourier
 
Probabilidad
ProbabilidadProbabilidad
Probabilidad
 

Destacado

Pool furniture for villa
Pool furniture for villaPool furniture for villa
Pool furniture for villapool furniture
 
Tabla de asistencia de elecciones de gobierno escolar 2016
Tabla de asistencia  de elecciones de gobierno escolar 2016Tabla de asistencia  de elecciones de gobierno escolar 2016
Tabla de asistencia de elecciones de gobierno escolar 2016Lili Jaramillo
 
Double Page Spread Analysis
Double Page Spread AnalysisDouble Page Spread Analysis
Double Page Spread Analysisoshin34
 
Introduccion a la ingenieria de SW
Introduccion a la ingenieria de SWIntroduccion a la ingenieria de SW
Introduccion a la ingenieria de SWFredy Soncco
 
Swimming pool furniture
Swimming pool furnitureSwimming pool furniture
Swimming pool furniturepool furniture
 
Resume_Tushar_Kanti_DBA
Resume_Tushar_Kanti_DBAResume_Tushar_Kanti_DBA
Resume_Tushar_Kanti_DBATushar Kanti
 
5 Bathhouse worksheet
5 Bathhouse worksheet5 Bathhouse worksheet
5 Bathhouse worksheetDB3igs
 
Compromise
CompromiseCompromise
CompromiseHBlock
 
Gadsden Purchase
Gadsden PurchaseGadsden Purchase
Gadsden PurchaseHBlock
 
LeCompton Constitution
LeCompton ConstitutionLeCompton Constitution
LeCompton ConstitutionHBlock
 
Benchmarks for telecom marketing plans and offers، آموزش توسعه محصول در اپرات...
Benchmarks for telecom marketing plans and offers، آموزش توسعه محصول در اپرات...Benchmarks for telecom marketing plans and offers، آموزش توسعه محصول در اپرات...
Benchmarks for telecom marketing plans and offers، آموزش توسعه محصول در اپرات...Mohammad Ghazizadeh
 
What is 40 : 1 In management of Dr. Jyoti Agarwal Dr. Sharda Jain Dr. Jyo...
What is 40 : 1 In management of Dr. Jyoti Agarwal  Dr. Sharda Jain  Dr. Jyo...What is 40 : 1 In management of Dr. Jyoti Agarwal  Dr. Sharda Jain  Dr. Jyo...
What is 40 : 1 In management of Dr. Jyoti Agarwal Dr. Sharda Jain Dr. Jyo...Lifecare Centre
 

Destacado (15)

Pool furniture for villa
Pool furniture for villaPool furniture for villa
Pool furniture for villa
 
Tabla de asistencia de elecciones de gobierno escolar 2016
Tabla de asistencia  de elecciones de gobierno escolar 2016Tabla de asistencia  de elecciones de gobierno escolar 2016
Tabla de asistencia de elecciones de gobierno escolar 2016
 
degree certificate.PDF
degree certificate.PDFdegree certificate.PDF
degree certificate.PDF
 
Double Page Spread Analysis
Double Page Spread AnalysisDouble Page Spread Analysis
Double Page Spread Analysis
 
Introduccion a la ingenieria de SW
Introduccion a la ingenieria de SWIntroduccion a la ingenieria de SW
Introduccion a la ingenieria de SW
 
Zuliany montoya trujillo
Zuliany montoya trujilloZuliany montoya trujillo
Zuliany montoya trujillo
 
Swimming pool furniture
Swimming pool furnitureSwimming pool furniture
Swimming pool furniture
 
Resume_Tushar_Kanti_DBA
Resume_Tushar_Kanti_DBAResume_Tushar_Kanti_DBA
Resume_Tushar_Kanti_DBA
 
5 Bathhouse worksheet
5 Bathhouse worksheet5 Bathhouse worksheet
5 Bathhouse worksheet
 
Compromise
CompromiseCompromise
Compromise
 
Gadsden Purchase
Gadsden PurchaseGadsden Purchase
Gadsden Purchase
 
LeCompton Constitution
LeCompton ConstitutionLeCompton Constitution
LeCompton Constitution
 
Vatican city
Vatican cityVatican city
Vatican city
 
Benchmarks for telecom marketing plans and offers، آموزش توسعه محصول در اپرات...
Benchmarks for telecom marketing plans and offers، آموزش توسعه محصول در اپرات...Benchmarks for telecom marketing plans and offers، آموزش توسعه محصول در اپرات...
Benchmarks for telecom marketing plans and offers، آموزش توسعه محصول در اپرات...
 
What is 40 : 1 In management of Dr. Jyoti Agarwal Dr. Sharda Jain Dr. Jyo...
What is 40 : 1 In management of Dr. Jyoti Agarwal  Dr. Sharda Jain  Dr. Jyo...What is 40 : 1 In management of Dr. Jyoti Agarwal  Dr. Sharda Jain  Dr. Jyo...
What is 40 : 1 In management of Dr. Jyoti Agarwal Dr. Sharda Jain Dr. Jyo...
 

Similar a 2 eficiencia

Analisis de algoritmos tarea 2
Analisis de algoritmos tarea 2Analisis de algoritmos tarea 2
Analisis de algoritmos tarea 2Velmuz Buzz
 
U1 Analisis Algoritmos Complejidad
U1 Analisis Algoritmos ComplejidadU1 Analisis Algoritmos Complejidad
U1 Analisis Algoritmos Complejidadrezzaca
 
Analisis de Algoritmos tarea 1
Analisis de Algoritmos tarea 1Analisis de Algoritmos tarea 1
Analisis de Algoritmos tarea 1Velmuz Buzz
 
Analisis Clase2
Analisis  Clase2Analisis  Clase2
Analisis Clase2luzenith_g
 
Teorema del muestro y PCM
Teorema del muestro y PCMTeorema del muestro y PCM
Teorema del muestro y PCMJoaquin Vicioso
 
S_S de tiempo continuo_V2020.pptx
S_S de tiempo continuo_V2020.pptxS_S de tiempo continuo_V2020.pptx
S_S de tiempo continuo_V2020.pptxCrazyGamerSL
 
3.metodo directo
3.metodo directo3.metodo directo
3.metodo directorjvillon
 
04_Numeros_Aletorios.ppt
04_Numeros_Aletorios.ppt04_Numeros_Aletorios.ppt
04_Numeros_Aletorios.pptRubnAncco
 
Que son los numeros aleatorios numeros aleatorios
Que son los numeros aleatorios numeros aleatoriosQue son los numeros aleatorios numeros aleatorios
Que son los numeros aleatorios numeros aleatoriosssusere538f7
 
Mpinning Gy Alg9(Conteo)
Mpinning Gy Alg9(Conteo)Mpinning Gy Alg9(Conteo)
Mpinning Gy Alg9(Conteo)Spimy
 
Teoría De La Complejidad Algoritmica
Teoría De La Complejidad AlgoritmicaTeoría De La Complejidad Algoritmica
Teoría De La Complejidad AlgoritmicaRolf Pinto
 
Cap 02.1 analisis de las estructuras de control(1)
Cap 02.1   analisis de las estructuras de control(1)Cap 02.1   analisis de las estructuras de control(1)
Cap 02.1 analisis de las estructuras de control(1)Lio Alva
 
Jflambert lyada - ayudantia matematicas discretas
Jflambert   lyada - ayudantia matematicas discretasJflambert   lyada - ayudantia matematicas discretas
Jflambert lyada - ayudantia matematicas discretasFrancisco Lambert Obediente
 

Similar a 2 eficiencia (20)

Complejidad de Algoritmos
Complejidad de AlgoritmosComplejidad de Algoritmos
Complejidad de Algoritmos
 
Analisis de algoritmos tarea 2
Analisis de algoritmos tarea 2Analisis de algoritmos tarea 2
Analisis de algoritmos tarea 2
 
U1 Analisis Algoritmos Complejidad
U1 Analisis Algoritmos ComplejidadU1 Analisis Algoritmos Complejidad
U1 Analisis Algoritmos Complejidad
 
Analisis de Algoritmos tarea 1
Analisis de Algoritmos tarea 1Analisis de Algoritmos tarea 1
Analisis de Algoritmos tarea 1
 
Analisis Clase2
Analisis  Clase2Analisis  Clase2
Analisis Clase2
 
Teorema del muestro y PCM
Teorema del muestro y PCMTeorema del muestro y PCM
Teorema del muestro y PCM
 
Informe
InformeInforme
Informe
 
Tema4
Tema4Tema4
Tema4
 
S_S de tiempo continuo_V2020.pptx
S_S de tiempo continuo_V2020.pptxS_S de tiempo continuo_V2020.pptx
S_S de tiempo continuo_V2020.pptx
 
An 04 metodos-directos
An 04 metodos-directosAn 04 metodos-directos
An 04 metodos-directos
 
3.metodo directo
3.metodo directo3.metodo directo
3.metodo directo
 
04_Numeros_Aletorios.ppt
04_Numeros_Aletorios.ppt04_Numeros_Aletorios.ppt
04_Numeros_Aletorios.ppt
 
Que son los numeros aleatorios numeros aleatorios
Que son los numeros aleatorios numeros aleatoriosQue son los numeros aleatorios numeros aleatorios
Que son los numeros aleatorios numeros aleatorios
 
Módulo 3
Módulo 3Módulo 3
Módulo 3
 
Mpinning Gy Alg9(Conteo)
Mpinning Gy Alg9(Conteo)Mpinning Gy Alg9(Conteo)
Mpinning Gy Alg9(Conteo)
 
Teoría De La Complejidad Algoritmica
Teoría De La Complejidad AlgoritmicaTeoría De La Complejidad Algoritmica
Teoría De La Complejidad Algoritmica
 
Cap 02.1 analisis de las estructuras de control(1)
Cap 02.1   analisis de las estructuras de control(1)Cap 02.1   analisis de las estructuras de control(1)
Cap 02.1 analisis de las estructuras de control(1)
 
Python
PythonPython
Python
 
Jflambert lyada - ayudantia matematicas discretas
Jflambert   lyada - ayudantia matematicas discretasJflambert   lyada - ayudantia matematicas discretas
Jflambert lyada - ayudantia matematicas discretas
 
Notación Asintótica
Notación AsintóticaNotación Asintótica
Notación Asintótica
 

Más de Fredy Soncco

Introduccion a la ingenieria de SW
Introduccion a la ingenieria de SWIntroduccion a la ingenieria de SW
Introduccion a la ingenieria de SWFredy Soncco
 
Arquitectura de Computadoras
Arquitectura de ComputadorasArquitectura de Computadoras
Arquitectura de ComputadorasFredy Soncco
 
Programa en emu8086
Programa en emu8086Programa en emu8086
Programa en emu8086Fredy Soncco
 
Contrato de transaccion de bienes muebles
Contrato de transaccion de bienes mueblesContrato de transaccion de bienes muebles
Contrato de transaccion de bienes mueblesFredy Soncco
 
Base de Datos- Toad
Base de Datos- ToadBase de Datos- Toad
Base de Datos- ToadFredy Soncco
 

Más de Fredy Soncco (9)

Preguntas tc
Preguntas tcPreguntas tc
Preguntas tc
 
Analisis Lexico
Analisis  LexicoAnalisis  Lexico
Analisis Lexico
 
Introduccion a la ingenieria de SW
Introduccion a la ingenieria de SWIntroduccion a la ingenieria de SW
Introduccion a la ingenieria de SW
 
Arquitectura de Computadoras
Arquitectura de ComputadorasArquitectura de Computadoras
Arquitectura de Computadoras
 
Programa en emu8086
Programa en emu8086Programa en emu8086
Programa en emu8086
 
Contrato de transaccion de bienes muebles
Contrato de transaccion de bienes mueblesContrato de transaccion de bienes muebles
Contrato de transaccion de bienes muebles
 
Base de Datos- Toad
Base de Datos- ToadBase de Datos- Toad
Base de Datos- Toad
 
Guia 3
Guia 3Guia 3
Guia 3
 
Guia2 ac
Guia2 acGuia2 ac
Guia2 ac
 

Último

S06_s2+-+Centro.pdf qiieiejanahshsjsnndjd
S06_s2+-+Centro.pdf qiieiejanahshsjsnndjdS06_s2+-+Centro.pdf qiieiejanahshsjsnndjd
S06_s2+-+Centro.pdf qiieiejanahshsjsnndjdaeapolinarez
 
Trabajo practico N°14 - Despacho Economico de Cargas - Campus 2022.pdf
Trabajo practico N°14 - Despacho Economico de Cargas - Campus 2022.pdfTrabajo practico N°14 - Despacho Economico de Cargas - Campus 2022.pdf
Trabajo practico N°14 - Despacho Economico de Cargas - Campus 2022.pdfChristianMOntiveros1
 
UNIDAD 3 ENSAYOS DESTRUCTIVOS Y NO DESTRUCTIVOS – NORMATIVA ASTM.pdf
UNIDAD 3 ENSAYOS DESTRUCTIVOS Y NO DESTRUCTIVOS – NORMATIVA ASTM.pdfUNIDAD 3 ENSAYOS DESTRUCTIVOS Y NO DESTRUCTIVOS – NORMATIVA ASTM.pdf
UNIDAD 3 ENSAYOS DESTRUCTIVOS Y NO DESTRUCTIVOS – NORMATIVA ASTM.pdfronypap
 
Análisis de Costos y Presupuestos CAPECO
Análisis de Costos y Presupuestos CAPECOAnálisis de Costos y Presupuestos CAPECO
Análisis de Costos y Presupuestos CAPECOFernando Bravo
 
ATS-FORMATOa.pdf PARA MANTENIMIENTO MECANICO
ATS-FORMATOa.pdf PARA MANTENIMIENTO MECANICOATS-FORMATOa.pdf PARA MANTENIMIENTO MECANICO
ATS-FORMATOa.pdf PARA MANTENIMIENTO MECANICOalejandrocrisostomo2
 
slideshare.vpdfs.com_sensores-magneticos-controles-pptx.pdf
slideshare.vpdfs.com_sensores-magneticos-controles-pptx.pdfslideshare.vpdfs.com_sensores-magneticos-controles-pptx.pdf
slideshare.vpdfs.com_sensores-magneticos-controles-pptx.pdfWaldo Eber Melendez Garro
 
auditoria fiscalizacion inspecciones de seguridad
auditoria fiscalizacion inspecciones de seguridadauditoria fiscalizacion inspecciones de seguridad
auditoria fiscalizacion inspecciones de seguridadNELSON QUINTANA
 
1. Equipos Primarios de una Subestaciones electricas
1. Equipos Primarios de una Subestaciones electricas1. Equipos Primarios de una Subestaciones electricas
1. Equipos Primarios de una Subestaciones electricasurAN077
 
Tema ilustrado 9.2.docxbbbbbbbbbbbbbbbbbbb
Tema ilustrado 9.2.docxbbbbbbbbbbbbbbbbbbbTema ilustrado 9.2.docxbbbbbbbbbbbbbbbbbbb
Tema ilustrado 9.2.docxbbbbbbbbbbbbbbbbbbbantoniolfdez2006
 
1 CENTROIDES 2°Computohhhhhhhhhhhhhhhh.pdf
1 CENTROIDES 2°Computohhhhhhhhhhhhhhhh.pdf1 CENTROIDES 2°Computohhhhhhhhhhhhhhhh.pdf
1 CENTROIDES 2°Computohhhhhhhhhhhhhhhh.pdfJlnParada
 
Cereales tecnología de los alimentos. Cereales
Cereales tecnología de los alimentos. CerealesCereales tecnología de los alimentos. Cereales
Cereales tecnología de los alimentos. Cerealescarlosjuliogermanari1
 
Sistema de alumbrado.pptx fjhhgghrhgghhuughuh
Sistema de alumbrado.pptx fjhhgghrhgghhuughuhSistema de alumbrado.pptx fjhhgghrhgghhuughuh
Sistema de alumbrado.pptx fjhhgghrhgghhuughuhFoxy963
 
8 2024A CONDUCCION DE CALOR EN REGIMEN TRANSITORIO.pptx
8 2024A CONDUCCION DE CALOR EN REGIMEN TRANSITORIO.pptx8 2024A CONDUCCION DE CALOR EN REGIMEN TRANSITORIO.pptx
8 2024A CONDUCCION DE CALOR EN REGIMEN TRANSITORIO.pptxrorellanoq
 
ESTUDIO DE TRAFICO PARA EL DISEÑO DE TIPOS DE VIAS.pptx
ESTUDIO DE TRAFICO PARA EL DISEÑO DE TIPOS DE VIAS.pptxESTUDIO DE TRAFICO PARA EL DISEÑO DE TIPOS DE VIAS.pptx
ESTUDIO DE TRAFICO PARA EL DISEÑO DE TIPOS DE VIAS.pptxholferpandiacondori
 
Myoelectric_Control_for_Upper_Limb_Prostheses.en.es (2).pdf
Myoelectric_Control_for_Upper_Limb_Prostheses.en.es (2).pdfMyoelectric_Control_for_Upper_Limb_Prostheses.en.es (2).pdf
Myoelectric_Control_for_Upper_Limb_Prostheses.en.es (2).pdfFtimaMontserratZaraz
 
NTC 3883 análisis sensorial. metodología. prueba duo-trio.pdf
NTC 3883 análisis sensorial. metodología. prueba duo-trio.pdfNTC 3883 análisis sensorial. metodología. prueba duo-trio.pdf
NTC 3883 análisis sensorial. metodología. prueba duo-trio.pdfELIZABETHCRUZVALENCI
 
ARMADURAS METODO NODOS.pptx......................
ARMADURAS METODO NODOS.pptx......................ARMADURAS METODO NODOS.pptx......................
ARMADURAS METODO NODOS.pptx......................Juan293605
 
Auditoría de Sistemas de Gestión
Auditoría    de   Sistemas     de GestiónAuditoría    de   Sistemas     de Gestión
Auditoría de Sistemas de GestiónYanet Caldas
 
S3-OXIDOS-HIDROXIDOS-CARBONATOS (mineralogia)
S3-OXIDOS-HIDROXIDOS-CARBONATOS (mineralogia)S3-OXIDOS-HIDROXIDOS-CARBONATOS (mineralogia)
S3-OXIDOS-HIDROXIDOS-CARBONATOS (mineralogia)samuelsan933
 
UC Fundamentos de tuberías en equipos de refrigeración m.pdf
UC Fundamentos de tuberías en equipos de refrigeración m.pdfUC Fundamentos de tuberías en equipos de refrigeración m.pdf
UC Fundamentos de tuberías en equipos de refrigeración m.pdfrefrielectriccarlyz
 

Último (20)

S06_s2+-+Centro.pdf qiieiejanahshsjsnndjd
S06_s2+-+Centro.pdf qiieiejanahshsjsnndjdS06_s2+-+Centro.pdf qiieiejanahshsjsnndjd
S06_s2+-+Centro.pdf qiieiejanahshsjsnndjd
 
Trabajo practico N°14 - Despacho Economico de Cargas - Campus 2022.pdf
Trabajo practico N°14 - Despacho Economico de Cargas - Campus 2022.pdfTrabajo practico N°14 - Despacho Economico de Cargas - Campus 2022.pdf
Trabajo practico N°14 - Despacho Economico de Cargas - Campus 2022.pdf
 
UNIDAD 3 ENSAYOS DESTRUCTIVOS Y NO DESTRUCTIVOS – NORMATIVA ASTM.pdf
UNIDAD 3 ENSAYOS DESTRUCTIVOS Y NO DESTRUCTIVOS – NORMATIVA ASTM.pdfUNIDAD 3 ENSAYOS DESTRUCTIVOS Y NO DESTRUCTIVOS – NORMATIVA ASTM.pdf
UNIDAD 3 ENSAYOS DESTRUCTIVOS Y NO DESTRUCTIVOS – NORMATIVA ASTM.pdf
 
Análisis de Costos y Presupuestos CAPECO
Análisis de Costos y Presupuestos CAPECOAnálisis de Costos y Presupuestos CAPECO
Análisis de Costos y Presupuestos CAPECO
 
ATS-FORMATOa.pdf PARA MANTENIMIENTO MECANICO
ATS-FORMATOa.pdf PARA MANTENIMIENTO MECANICOATS-FORMATOa.pdf PARA MANTENIMIENTO MECANICO
ATS-FORMATOa.pdf PARA MANTENIMIENTO MECANICO
 
slideshare.vpdfs.com_sensores-magneticos-controles-pptx.pdf
slideshare.vpdfs.com_sensores-magneticos-controles-pptx.pdfslideshare.vpdfs.com_sensores-magneticos-controles-pptx.pdf
slideshare.vpdfs.com_sensores-magneticos-controles-pptx.pdf
 
auditoria fiscalizacion inspecciones de seguridad
auditoria fiscalizacion inspecciones de seguridadauditoria fiscalizacion inspecciones de seguridad
auditoria fiscalizacion inspecciones de seguridad
 
1. Equipos Primarios de una Subestaciones electricas
1. Equipos Primarios de una Subestaciones electricas1. Equipos Primarios de una Subestaciones electricas
1. Equipos Primarios de una Subestaciones electricas
 
Tema ilustrado 9.2.docxbbbbbbbbbbbbbbbbbbb
Tema ilustrado 9.2.docxbbbbbbbbbbbbbbbbbbbTema ilustrado 9.2.docxbbbbbbbbbbbbbbbbbbb
Tema ilustrado 9.2.docxbbbbbbbbbbbbbbbbbbb
 
1 CENTROIDES 2°Computohhhhhhhhhhhhhhhh.pdf
1 CENTROIDES 2°Computohhhhhhhhhhhhhhhh.pdf1 CENTROIDES 2°Computohhhhhhhhhhhhhhhh.pdf
1 CENTROIDES 2°Computohhhhhhhhhhhhhhhh.pdf
 
Cereales tecnología de los alimentos. Cereales
Cereales tecnología de los alimentos. CerealesCereales tecnología de los alimentos. Cereales
Cereales tecnología de los alimentos. Cereales
 
Sistema de alumbrado.pptx fjhhgghrhgghhuughuh
Sistema de alumbrado.pptx fjhhgghrhgghhuughuhSistema de alumbrado.pptx fjhhgghrhgghhuughuh
Sistema de alumbrado.pptx fjhhgghrhgghhuughuh
 
8 2024A CONDUCCION DE CALOR EN REGIMEN TRANSITORIO.pptx
8 2024A CONDUCCION DE CALOR EN REGIMEN TRANSITORIO.pptx8 2024A CONDUCCION DE CALOR EN REGIMEN TRANSITORIO.pptx
8 2024A CONDUCCION DE CALOR EN REGIMEN TRANSITORIO.pptx
 
ESTUDIO DE TRAFICO PARA EL DISEÑO DE TIPOS DE VIAS.pptx
ESTUDIO DE TRAFICO PARA EL DISEÑO DE TIPOS DE VIAS.pptxESTUDIO DE TRAFICO PARA EL DISEÑO DE TIPOS DE VIAS.pptx
ESTUDIO DE TRAFICO PARA EL DISEÑO DE TIPOS DE VIAS.pptx
 
Myoelectric_Control_for_Upper_Limb_Prostheses.en.es (2).pdf
Myoelectric_Control_for_Upper_Limb_Prostheses.en.es (2).pdfMyoelectric_Control_for_Upper_Limb_Prostheses.en.es (2).pdf
Myoelectric_Control_for_Upper_Limb_Prostheses.en.es (2).pdf
 
NTC 3883 análisis sensorial. metodología. prueba duo-trio.pdf
NTC 3883 análisis sensorial. metodología. prueba duo-trio.pdfNTC 3883 análisis sensorial. metodología. prueba duo-trio.pdf
NTC 3883 análisis sensorial. metodología. prueba duo-trio.pdf
 
ARMADURAS METODO NODOS.pptx......................
ARMADURAS METODO NODOS.pptx......................ARMADURAS METODO NODOS.pptx......................
ARMADURAS METODO NODOS.pptx......................
 
Auditoría de Sistemas de Gestión
Auditoría    de   Sistemas     de GestiónAuditoría    de   Sistemas     de Gestión
Auditoría de Sistemas de Gestión
 
S3-OXIDOS-HIDROXIDOS-CARBONATOS (mineralogia)
S3-OXIDOS-HIDROXIDOS-CARBONATOS (mineralogia)S3-OXIDOS-HIDROXIDOS-CARBONATOS (mineralogia)
S3-OXIDOS-HIDROXIDOS-CARBONATOS (mineralogia)
 
UC Fundamentos de tuberías en equipos de refrigeración m.pdf
UC Fundamentos de tuberías en equipos de refrigeración m.pdfUC Fundamentos de tuberías en equipos de refrigeración m.pdf
UC Fundamentos de tuberías en equipos de refrigeración m.pdf
 

2 eficiencia

  • 1. La eficiencia de los algoritmosLa eficiencia de los algoritmos Análisis y Diseño de AlgoritmosAnálisis y Diseño de Algoritmos La eficiencia de los algoritmosLa eficiencia de los algoritmos Comparación de algoritmosComparación de algoritmos Principio de invarianzaPrincipio de invarianza EficienciaEficiencia Notaciones asintóticasNotaciones asintóticas Cálculo de la eficiencia de un algoritmoCálculo de la eficiencia de un algoritmoCálculo de la eficiencia de un algoritmoCálculo de la eficiencia de un algoritmo Resolución de recurrencias:Resolución de recurrencias: Método de la ecuación característicaMétodo de la ecuación característica Recurrencias homogéneasRecurrencias homogéneas Recurrencias no homogéneasRecurrencias no homogéneas Cambios de variableCambios de variable Transformaciones del rangoTransformaciones del rango Apéndice: Fórmulas útilesApéndice: Fórmulas útiles 11
  • 2. Comparación de algoritmosComparación de algoritmos A menudo dispondremos de más de un algoritmo paraA menudo dispondremos de más de un algoritmo para resolver un problema dado, ¿con cuál nos quedamos?resolver un problema dado, ¿con cuál nos quedamos? USO DE RECURSOSUSO DE RECURSOS Computacionales:Computacionales: Tiempo de ejecuciónTiempo de ejecución Espacio en memoriaEspacio en memoria No computacionales:No computacionales: Esfuerzo de desarrollo (análisis, diseño & implementación)Esfuerzo de desarrollo (análisis, diseño & implementación) 22 Comparación de algoritmosComparación de algoritmos Factores que influyen en el uso de recursosFactores que influyen en el uso de recursos Recursos computacionales:Recursos computacionales: Diseño del algoritmoDiseño del algoritmo Complejidad del problema (p.ej. tamaño de las entradas)Complejidad del problema (p.ej. tamaño de las entradas) Hardware (arquitectura, MHz, MBs…)Hardware (arquitectura, MHz, MBs…)Hardware (arquitectura, MHz, MBs…)Hardware (arquitectura, MHz, MBs…) Calidad del códigoCalidad del código Calidad del compilador (optimizaciones)Calidad del compilador (optimizaciones) Recursos no computacionales:Recursos no computacionales: Complejidad del algoritmoComplejidad del algoritmo Disponibilidad de bibliotecas reutilizablesDisponibilidad de bibliotecas reutilizables 33
  • 3. Principio de invarianzaPrincipio de invarianza Dos implementaciones de un mismo algoritmo noDos implementaciones de un mismo algoritmo no diferirán más que en una constante multiplicativa.diferirán más que en una constante multiplicativa. Si tSi t11(n) y t(n) y t22(n) son los tiempos de dos(n) son los tiempos de dos implementaciones de un mismo algoritmo,implementaciones de un mismo algoritmo,implementaciones de un mismo algoritmo,implementaciones de un mismo algoritmo, se puede comprobar que:se puede comprobar que: 44 )()();()(,, 1221 ndtntnctntdc ≤≤ℜ∈∃ EficienciaEficiencia Medida del uso de los recursos computacionalesMedida del uso de los recursos computacionales requeridos por la ejecución de un algoritmo en funciónrequeridos por la ejecución de un algoritmo en función del tamaño de las entradas.del tamaño de las entradas.del tamaño de las entradas.del tamaño de las entradas. T(n)T(n) Tiempo empleado para ejecutar elTiempo empleado para ejecutar el algoritmo con una entrada de tamaño nalgoritmo con una entrada de tamaño n 55
  • 4. EficienciaEficiencia Tipos de análisisTipos de análisis ¿Cómo medimos el tiempo de ejecución de un algoritmo?¿Cómo medimos el tiempo de ejecución de un algoritmo? Mejor casoMejor caso En condiciones óptimas (no se usa por ser demasiado optimista).En condiciones óptimas (no se usa por ser demasiado optimista).En condiciones óptimas (no se usa por ser demasiado optimista).En condiciones óptimas (no se usa por ser demasiado optimista). Peor casoPeor caso En el peor escenario posible (nos permite acotar el tiempo de ejecución).En el peor escenario posible (nos permite acotar el tiempo de ejecución). Caso promedioCaso promedio Caso difícil de caracterizar en la práctica.Caso difícil de caracterizar en la práctica. Análisis probabilísticoAnálisis probabilístico Asume una distribución de probabilidad sobre las posibles entradas.Asume una distribución de probabilidad sobre las posibles entradas. Análisis amortizadoAnálisis amortizado Tiempo medio de ejecución por operación sobre una secuencia de ejecuciones sucesivas. 66 EficienciaEficiencia EjemploEjemplo Algoritmo 1:Algoritmo 1: T(n) = 10T(n) = 10--44 22nn segundossegundos n = 38 datosn = 38 datos T(n) = 1 añoT(n) = 1 añoT(n) = 1 añoT(n) = 1 año Algoritmo 2:Algoritmo 2: T(n) = 10T(n) = 10--22 nn33 segundossegundos n = 1000 bitsn = 1000 bits T(n) = 1 añoT(n) = 1 año ¿Cuál es mejor? Se precisa un¿Cuál es mejor? Se precisa un análisis asintóticoanálisis asintótico 77
  • 5. Notaciones asintóticasNotaciones asintóticas Estudian el comportamiento del algoritmo cuando elEstudian el comportamiento del algoritmo cuando el tamaño de las entradas es lo suficientemente grande,tamaño de las entradas es lo suficientemente grande, sin tener en cuenta lo que ocurre para entradassin tener en cuenta lo que ocurre para entradassin tener en cuenta lo que ocurre para entradassin tener en cuenta lo que ocurre para entradas pequeñas y obviando factores constantes.pequeñas y obviando factores constantes. 88 Notaciones asintóticasNotaciones asintóticas Orden de eficienciaOrden de eficiencia Un algoritmo tiene unUn algoritmo tiene un tiempo de ejecución de ordenorden f(n)f(n), para una función dada, para una función dada ff, si existe una constante, si existe una constante positivapositiva cc y una implementación del algoritmo capazy una implementación del algoritmo capazpositivapositiva cc y una implementación del algoritmo capazy una implementación del algoritmo capaz de resolver cada caso del problema en unde resolver cada caso del problema en un tiempotiempo acotado superiormente poracotado superiormente por c·fc·f (n)(n), donde, donde nn es eles el tamaño del problema considerado.tamaño del problema considerado. 99
  • 6. Notaciones asintóticasNotaciones asintóticas Notación ONotación O Decimos que una funciónDecimos que una función T(n) es O(f(n))T(n) es O(f(n)) si existen constantes nsi existen constantes n00 y cy c tales quetales que T(n)T(n) ≤≤ cf(n)cf(n) para todo npara todo n ≥≥ nn00:: T(n) es O(f(n))T(n) es O(f(n)) ⇔⇔⇔⇔⇔⇔⇔⇔ ∃∃∃∃∃∃∃∃cc∈∈∈∈∈∈∈∈R,R, ∃∃∃∃∃∃∃∃nn00∈∈∈∈∈∈∈∈N, tal queN, tal que ∀∀∀∀∀∀∀∀n>nn>n00∈∈∈∈∈∈∈∈N, T(n)N, T(n) ≤≤≤≤≤≤≤≤ cf(n)cf(n) 1010 Notaciones asintóticasNotaciones asintóticas EjemplosEjemplos T(n) = 3nT(n) = 3n T(n)T(n) eses O(n), O(n log n), O(nO(n), O(n log n), O(n22), O(n), O(n33) y O(2) y O(2nn).). T(n) = (n+1)2 T(n)T(n) eses O(nO(n22), O(n), O(n33) y O(2) y O(2nn).).T(n)T(n) eses O(nO(n22), O(n), O(n33) y O(2) y O(2nn).). T(n) noT(n) no eses O(n)O(n) nini O(n log n).O(n log n). T(n) = 32n2 + 17n + 32(n) = 32n(n) = 32n22 + 17n + 32.+ 17n + 32. T(n)T(n) eses O(nO(n22)) peropero nono eses O(n).O(n). T(n) = 3n3 + 345n2 T(n)T(n) eses O(nO(n33)) peropero nono eses O(nO(n22).). T(n) = 3n T(n)T(n) eses O(3O(3nn)) peropero nono eses O(2O(2nn).). 1111
  • 7. Notaciones asintóticasNotaciones asintóticas NotacionesNotaciones ΩΩΩΩΩΩΩΩ yy ΘΘΘΘΘΘΘΘ NotaciónNotación ΩΩΩΩΩΩΩΩ (cota inferior)(cota inferior) T(n) esT(n) es ΩΩ(f(n)) cuando(f(n)) cuandoT(n) esT(n) es ΩΩ(f(n)) cuando(f(n)) cuando ∃∃cc∈∈RR++,, ∃∃nn00∈∈N:N: ∀∀nn≥≥nn00 ⇒⇒ T(n)T(n) ≥≥ cfcf(n)(n) NotaciónNotación ΘΘΘΘΘΘΘΘ (orden exacto)(orden exacto) T(n) esT(n) es ΘΘ(f(n)) cuando(f(n)) cuando T(n) es O(f(n)) y T(n) esT(n) es O(f(n)) y T(n) es ΩΩ(f(n))(f(n)) 1212 Órdenes de eficienciaÓrdenes de eficiencia Órdenes de eficiencia más habitualesÓrdenes de eficiencia más habituales N O(log2 n) O(n2) O(n log2 n) O(n2) O(2n) O(n!) 10 3 µs 10 µs 30 µs 0.1 ms 1 ms 4 s 25 5 µs 25 µs 0.1 ms 0.6 ms 33 s 1011 años 50 6 µs 50 µs 0.3 ms 2.5 ms 36 años … Tiempos calculados suponiendo 1 µs por operación elemental. O(1)O(1) ⊂⊂⊂⊂⊂⊂⊂⊂ O(log n)O(log n) ⊂⊂⊂⊂⊂⊂⊂⊂ O(n)O(n) ⊂⊂⊂⊂⊂⊂⊂⊂ O(n log n)O(n log n) ⊂⊂⊂⊂⊂⊂⊂⊂ O(nO(n22)) ⊂⊂⊂⊂⊂⊂⊂⊂ O(nO(n33)) ⊂⊂⊂⊂⊂⊂⊂⊂ O(2O(2nn)) ⊂⊂⊂⊂⊂⊂⊂⊂ O(n!)O(n!) 1313 50 6 µs 50 µs 0.3 ms 2.5 ms 36 años … 100 7 µs 100 µs 0.7 ms 10 ms 1017 años … 1000 10 µs 1 ms 10 ms 1 s … … 10000 13 µs 10 ms 0.1 s 100 s … … 100000 17 µs 100 ms 1.7 s 3 horas … … 1000000 20 µs 1 s 20 s 12 días … …
  • 8. Órdenes de eficienciaÓrdenes de eficiencia Orden lineal: O(n)Orden lineal: O(n) Tiempo de ejecución proporcional al tamaño de la entrada.Tiempo de ejecución proporcional al tamaño de la entrada. Ejemplo: Calcular el máximo de n númerosEjemplo: Calcular el máximo de n números a1, …, an.Ejemplo: Calcular el máximo de n númerosEjemplo: Calcular el máximo de n números a1, …, an. 1414 max ←←←← a1 for i = 2 to n { if (ai > max) max ←←←← ai } Órdenes de eficienciaÓrdenes de eficiencia Orden cuadrático: O(nOrden cuadrático: O(n22)) Aparece cuando tenemos que enumerar todas lasAparece cuando tenemos que enumerar todas las parejas posibles de elementos de un conjunto.parejas posibles de elementos de un conjunto. Ejemplo: Dado un conjunto de puntos en el planoEjemplo: Dado un conjunto de puntos en el plano (x1, y1), …,Ejemplo: Dado un conjunto de puntos en el planoEjemplo: Dado un conjunto de puntos en el plano (x1, y1), …, (xn, yn), encontrar la pareja más cercana.encontrar la pareja más cercana. 1515 min ←←←← (x1 - x2)2 + (y1 - y2)2 for i = 1 to n { for j = i+1 to n { d ←←←← (xi - xj)2 + (yi - yj)2 if (d < min) min ←←←← d } }
  • 9. Órdenes de eficienciaÓrdenes de eficiencia Órdenes O(log n) y O(n log n)Órdenes O(log n) y O(n log n) Aparecen en muchos algoritmos recursivosAparecen en muchos algoritmos recursivos p.ej. Estrategia “divide y vencerás”p.ej. Estrategia “divide y vencerás” Ejemplos:Ejemplos: O(log n)O(log n) Búsqueda binariaBúsqueda binariaEjemplos:Ejemplos: O(log n)O(log n) Búsqueda binariaBúsqueda binaria O(n log n)O(n log n) MergesortMergesort,, HeapsortHeapsort…… Orden exponencial O(2n) Aparece en muchos problemas de tipo combinatorio Ejemplo: Enumerar todos los subconjuntos de un conjunto dado.Ejemplo: Enumerar todos los subconjuntos de un conjunto dado. 1616 Cálculo de la eficienciaCálculo de la eficiencia Operación elementalOperación elemental Operación de un algoritmo cuyo tiempo de ejecuciónOperación de un algoritmo cuyo tiempo de ejecución se puede acotar superiormente por una constante.se puede acotar superiormente por una constante. En nuestro análisis, sólo contará el número deEn nuestro análisis, sólo contará el número deEn nuestro análisis, sólo contará el número deEn nuestro análisis, sólo contará el número de operaciones elementales y no el tiempo exactooperaciones elementales y no el tiempo exacto necesario para cada una de ellas.necesario para cada una de ellas. En la descripción de un algoritmo, puede ocurrir queEn la descripción de un algoritmo, puede ocurrir que una línea de código corresponda a un número deuna línea de código corresponda a un número de variable de operaciones elementales.variable de operaciones elementales. p.ej.p.ej. xx ←←←←←←←← maxmax{A[k], 0 <= k < n}{A[k], 0 <= k < n} 1717
  • 10. Cálculo de la eficienciaCálculo de la eficiencia Operaciones elementalesOperaciones elementales AlgunasAlgunas operaciones matemáticasoperaciones matemáticas no son operacionesno son operaciones elementales.elementales. p.ej.p.ej. sumas y productossumas y productosp.ej.p.ej. sumas y productossumas y productos dependen de la longitud de losdependen de la longitud de los operandosoperandos.. Por convención, en la práctica, suma, diferencia,Por convención, en la práctica, suma, diferencia, producto, división, módulo, operaciones booleanas,producto, división, módulo, operaciones booleanas, comparaciones y asignaciones se considerancomparaciones y asignaciones se consideran operaciones, salvo que explícitamente se establezca looperaciones, salvo que explícitamente se establezca lo contrario.contrario. 1818 Cálculo de la eficienciaCálculo de la eficiencia Reglas de cálculo de la eficienciaReglas de cálculo de la eficiencia 1. Sentencias simples 2. Bloques de sentencias 3. Sentencias condicionales3. Sentencias condicionales 4. Bucles 5. Llamadas a funciones 6. Funciones recursivas 1919
  • 11. Cálculo de la eficienciaCálculo de la eficiencia Reglas de cálculo de la eficienciaReglas de cálculo de la eficiencia 1. Sentencias simples1. Sentencias simples Consideraremos que cualquier sentencia simpleConsideraremos que cualquier sentencia simple (lectura, escritura, asignación, etc.)(lectura, escritura, asignación, etc.)(lectura, escritura, asignación, etc.)(lectura, escritura, asignación, etc.) va a consumir un tiempo constante,va a consumir un tiempo constante, O(1)O(1),, salvo que contenga una llamada a una función.salvo que contenga una llamada a una función. 2020 Cálculo de la eficienciaCálculo de la eficiencia Reglas de cálculo de la eficienciaReglas de cálculo de la eficiencia 2. Bloques de sentencias2. Bloques de sentencias Tiempo total de ejecución = Suma de los tiempos deTiempo total de ejecución = Suma de los tiempos de ejecución de cada una de las sentencias del bloque.ejecución de cada una de las sentencias del bloque.ejecución de cada una de las sentencias del bloque.ejecución de cada una de las sentencias del bloque. Orden de eficiencia = Máximo de los órdenes deOrden de eficiencia = Máximo de los órdenes de eficiencia de cada una de las sentencias del bloque.eficiencia de cada una de las sentencias del bloque. 2121
  • 12. Cálculo de la eficienciaCálculo de la eficiencia Reglas de cálculo de la eficienciaReglas de cálculo de la eficiencia 3. Sentencias condicionales3. Sentencias condicionales El tiempo de ejecución de una sentencia condicionalEl tiempo de ejecución de una sentencia condicional es el máximo del tiempo del bloquees el máximo del tiempo del bloque ififes el máximo del tiempo del bloquees el máximo del tiempo del bloque ifif y del tiempo del bloquey del tiempo del bloque elseelse.. Si el bloqueSi el bloque ifif es O(f(n)) y el bloquees O(f(n)) y el bloque elseelse es O(g(n)),es O(g(n)), la sentencia condicional serála sentencia condicional será O(O(maxmax{f(n), g(n)}){f(n), g(n)}).. 2222 Cálculo de la eficienciaCálculo de la eficiencia Reglas de cálculo de la eficienciaReglas de cálculo de la eficiencia 4. Bucles4. Bucles Tiempo de ejecuciónTiempo de ejecución = Suma de los tiempos invertidos en cada iteración= Suma de los tiempos invertidos en cada iteración= Suma de los tiempos invertidos en cada iteración= Suma de los tiempos invertidos en cada iteración En el tiempo de cada iteración se ha de incluir elEn el tiempo de cada iteración se ha de incluir el tiempo de ejecución del cuerpo del bucle y también eltiempo de ejecución del cuerpo del bucle y también el asociado a la evaluación de la condición (y, en suasociado a la evaluación de la condición (y, en su caso, la actualización del contador).caso, la actualización del contador). Si todas las iteraciones son iguales, el tiempo total deSi todas las iteraciones son iguales, el tiempo total de ejecución del bucle será el producto del número deejecución del bucle será el producto del número de iteraciones por el tiempo empleado en cada iteración.iteraciones por el tiempo empleado en cada iteración. 2323
  • 13. Cálculo de la eficienciaCálculo de la eficiencia Reglas de cálculo de la eficienciaReglas de cálculo de la eficiencia 5. Llamadas a funciones5. Llamadas a funciones Si una determinada función P tiene una eficiencia deSi una determinada función P tiene una eficiencia de O(f(n)), cualquier llamada a P es de orden O(f(n)).O(f(n)), cualquier llamada a P es de orden O(f(n)).O(f(n)), cualquier llamada a P es de orden O(f(n)).O(f(n)), cualquier llamada a P es de orden O(f(n)). Las asignaciones con diversas llamadas a funciónLas asignaciones con diversas llamadas a función deben sumar las cotas de tiempo de ejecución dedeben sumar las cotas de tiempo de ejecución de cada llamada.cada llamada. La misma consideración es aplicable a lasLa misma consideración es aplicable a las condiciones de bucles y sentencias condicionales.condiciones de bucles y sentencias condicionales. 2424 Cálculo de la eficienciaCálculo de la eficiencia Reglas de cálculo de la eficienciaReglas de cálculo de la eficiencia 6. Funciones recursivas6. Funciones recursivas Las funciones de tiempo asociadas a funcionesLas funciones de tiempo asociadas a funciones recursivas son también recursivas.recursivas son también recursivas.recursivas son también recursivas.recursivas son también recursivas. p.ej.p.ej. T(n) = T(nT(n) = T(n--1) + f(n)1) + f(n) Para analizar el tiempo de ejecución de un algoritmoPara analizar el tiempo de ejecución de un algoritmo recursivo, le asociamos una función de eficienciarecursivo, le asociamos una función de eficiencia desconocida, T(n), y la estimamos a partir de T(k)desconocida, T(n), y la estimamos a partir de T(k) para distintos valores de k (menores que n).para distintos valores de k (menores que n). 2525
  • 14. Cálculo de la eficienciaCálculo de la eficiencia EjemploEjemplo intint factfact((intint n)n) {{ ifif (n <= 1)(n <= 1) returnreturn 1;1; elseelse returnreturn (n *(n * factfact(n(n –– 1));1)); }} Los bloquesLos bloques ifif yy elseelse son operaciones elementales,son operaciones elementales, por lo que su tiempo de ejecución es O(1).por lo que su tiempo de ejecución es O(1). 2626 Cálculo de la eficienciaCálculo de la eficiencia T(n)T(n) = 1 + T(n= 1 + T(n -- 1)1) = 1 + (1 + T(n= 1 + (1 + T(n--2)) = 2 + T(n2)) = 2 + T(n--2)2) = 2 + (1 + T(n= 2 + (1 + T(n--3)) = 3 + T(n3)) = 3 + T(n--3)3) …… = i + T(n= i + T(n--i)i)= i + T(n= i + T(n--i)i) …… = (n= (n--1) + T(n1) + T(n –– (n(n--1)) = (n1)) = (n--1) + 11) + 1 Por tanto, T(n) es O(n)Por tanto, T(n) es O(n) La implementación recursiva del cálculo del factorial es de orden lineal.La implementación recursiva del cálculo del factorial es de orden lineal. 2727
  • 15. Cálculo de la eficienciaCálculo de la eficiencia EjemploEjemplo intint E(E(intint n)n) {{ ifif (n == 1)(n == 1)     >      + = = 1 2 1 1,1 )( n n T n nT returnreturn 0;0; elseelse returnreturn E(n/2) + 1;E(n/2) + 1; }} T(n) es O (logT(n) es O (log22 n)n) 2828      2 Cálculo de la eficienciaCálculo de la eficiencia T(n)T(n) = T(n/2) + 1= T(n/2) + 1 = (T(n/4) + 1) + 1 = T(n/4) + 2= (T(n/4) + 1) + 1 = T(n/4) + 2 = (T(n/8) + 1) +2 = T(n/8) + 3= (T(n/8) + 1) +2 = T(n/8) + 3 ………… = T(n/2= T(n/2ii) + i) + i …… = T(n/2= T(n/2log(n)log(n)) + log) + log22(n)(n) = T(1) + log= T(1) + log22(n)(n) Por tanto, T(n) es O(log n)Por tanto, T(n) es O(log n) 2929
  • 16. Cálculo de la eficienciaCálculo de la eficiencia El mismo desarrollo se podría realizar más cómodamenteEl mismo desarrollo se podría realizar más cómodamente con un cambio de variable:con un cambio de variable: n=2n=2mm m = logm = log22(n)(n) T(2T(2mm)) = T(2= T(2mm--11) + 1=) + 1= = (T(2= (T(2mm--22) + 1) + 1) + 1) + 1= (T(2= (T(2mm--22) + 1) + 1) + 1) + 1 = (T(2= (T(2mm--33) + 1) + 2) + 1) + 2 …… = T(2= T(2mm--ii) + i) + i …… = T(2= T(2mm--mm) + m) + m = T(1) + log= T(1) + log22(n)(n) 3030 Cálculo de la eficienciaCálculo de la eficiencia EjemploEjemplo 1)1(;2, 2 )( 2 =≥+      = Tnn n TnT Cambio de variable:Cambio de variable: n = 2n = 2mm nn22 = (2= (2mm))22=(2=(222))mm =4=4mm T(2T(2mm)) = T(2= T(2mm--11) + 4) + 4mm== = T(2= T(2mm--22) + 4) + 4mm--11 + 4+ 4mm …… = T(2= T(2mm--ii) + [4) + [4mm--(i(i--1)1) + … + 4+ … + 4mm--11 + 4+ 4mm]] 3131
  • 17. Cálculo de la eficienciaCálculo de la eficiencia EjemploEjemplo 1)1(;2, 2 )( 2 =≥+      = Tnn n TnT ]4444[)1()2( 121 +++++= −− TT mmmm L T(n) es O(nT(n) es O(n22)) 3232 3 1 3 4 3 1 3 44 14 14 441 ]4444[)1()2( 2 2 2 1 2 0 121 −= −= − − ==+= +++++= ∑ ∑= + = −− n TT mm i mm i ii mmmm L Resolución de recurrenciasResolución de recurrencias Técnicas de resolución de recurrenciasTécnicas de resolución de recurrencias Método de sustituciónMétodo de sustitución 1.1. Desarrollar la expresiónDesarrollar la expresión 2.2. Adivinar la fórmula de la expresiónAdivinar la fórmula de la expresión 3.3. Demostrar por inducciónDemostrar por inducciónDemostrar por inducciónDemostrar por inducción 4.4. Resolver constantesResolver constantes Árbol de recursividadÁrbol de recursividad Representación gráfica “intuitiva”.Representación gráfica “intuitiva”. Expansión de recurrenciasExpansión de recurrencias Método algebraico equivalente al árbol de recursividad.Método algebraico equivalente al árbol de recursividad. Método de la ecuación característicaMétodo de la ecuación característica 3333
  • 18. Método de sustituciónMétodo de sustitución ¿T(n) es O(n¿T(n) es O(n33)?)? Suponemos que T(k) ≤ ckSuponemos que T(k) ≤ ck33 para k<npara k<n    >+ = = 1)2/(4 1)1( )( nsinnT nsiO nT Suponemos que T(k) ≤ ckSuponemos que T(k) ≤ ck33 para k<npara k<n Demostramos por inducción que T(n) ≤ cnDemostramos por inducción que T(n) ≤ cn33 T(n)T(n) = 4T(n/2) + n= 4T(n/2) + n ≤ 4c(n/2)≤ 4c(n/2)33 + n = (c/2)n+ n = (c/2)n33 + n = cn+ n = cn33 –– ((c/2)n((c/2)n33 –– n)n) ≤ cn≤ cn33 siempre que ((c/2)nsiempre que ((c/2)n33 –– n)>0 (p.ej. c≥2 y n≥1)n)>0 (p.ej. c≥2 y n≥1) PROBLEMA: ¿Podríamos encontrar una cota superior más ajustada?PROBLEMA: ¿Podríamos encontrar una cota superior más ajustada? Sugerencia: Probar con T(n) ≤ cnSugerencia: Probar con T(n) ≤ cn22 y T(n) ≤ cy T(n) ≤ c11nn22--cc22nn 3434 Árbol de recursividadÁrbol de recursividad 2 )2/()4/()( nnTnTnT ++= 3535
  • 19. Ecuación característicaEcuación característica Recurrencias homogéneas linealesRecurrencias homogéneas lineales con coeficientes constantescon coeficientes constantes Lineal: No hay términos tLineal: No hay términos t tt , t, t22 0110 =+++ −− knknn tatata L Lineal: No hay términos tLineal: No hay términos tnn--11ttnn--jj, t, t22 nn--ii Homogénea: Igualadas a 0Homogénea: Igualadas a 0 Con coeficientes constantes:Con coeficientes constantes: aaii constantesconstantes Ejemplo: Sucesión deEjemplo: Sucesión de FibonacciFibonacci 3636 02121 =−−⇒+= −−−− nnnnnn ffffff Ecuación característicaEcuación característica Suposición:Suposición: ttnn == xxnn Se satisface si x=0 o bienSe satisface si x=0 o bien 01 10 =+++ −− kn k nn xaxaxa L ecuación característicaecuación característica Polinomio característicoPolinomio característico 3737 01 10 =+++ − k kk axaxa L k kk axaxaxp +++= − L1 10)(
  • 20. Ecuación característicaEcuación característica Teorema Fundamental del Álgebra:Teorema Fundamental del Álgebra: Consideremos una raíz del polinomio característico,Consideremos una raíz del polinomio característico, rrii p(p(rrii) = 0) = 0 ∏= −= k i irxxp 1 )()( p(p(rrii) = 0) = 0 Por tanto,Por tanto, rrii nn es solución de la recurrencia.es solución de la recurrencia. Además, las combinaciones lineales de las soluciones deAdemás, las combinaciones lineales de las soluciones de la recurrencia también son soluciones:la recurrencia también son soluciones: Cuando todos losCuando todos los rrii sonson distintosdistintos,, éstas son laséstas son las únicasúnicas solucionessoluciones 3838 ∑= = k i n iin rct 1 Ecuación característicaEcuación característica Resolución de recurrenciasResolución de recurrencias mediante el método de la ecuación característica:mediante el método de la ecuación característica: 1.1. Se obtiene la ecuación característica asociada a laSe obtiene la ecuación característica asociada a la recurrencia que describe el tiempo de ejecución T(n).recurrencia que describe el tiempo de ejecución T(n).recurrencia que describe el tiempo de ejecución T(n).recurrencia que describe el tiempo de ejecución T(n). 2.2. Se calculan las k raíces del polinomio característico.Se calculan las k raíces del polinomio característico. 3.3. Se obtiene la solución a partir de las raíces delSe obtiene la solución a partir de las raíces del polinomio característico.polinomio característico. 4.4. Se determinan las constantes a partir de las kSe determinan las constantes a partir de las k condiciones iniciales.condiciones iniciales. 3939
  • 21. Ecuación característicaEcuación característica Ejemplo: Sucesión deEjemplo: Sucesión de FibonacciFibonacci    + == = −− casootroen 1ó0si, 21 nn n ff nnn f 4040 021 =−− −− nnn fff 1)( 2 −−= xxxp 2 51 2 51 21 − = + = ryr Ecuación característicaEcuación característica Ejemplo: Sucesión deEjemplo: Sucesión de FibonacciFibonacci nn n rcrcf 2211 += =+ 0 4141 ⇒    =+ =+ 1 0 2211 21 crcr cc 5 1 5 1 21 −== cyc                 − −        + = nn nf 2 51 2 51 5 1
  • 22. Ecuación característicaEcuación característica Ejemplo:Ejemplo:      + = = = −− casootroen,43 1,5 0,0 21 nn n tt n n t A partir de las condiciones iniciales: cA partir de las condiciones iniciales: c11 == --1, c1, c22 = 1= 1 4242 043 21 =−− −− nnn ttt )4)(1(432 −+=−− xxxx nn n cct 4)1( 21 +−= Ecuación característicaEcuación característica Raíces múltiplesRaíces múltiples Supongamos que las raíces del polinomio característicoSupongamos que las raíces del polinomio característico NONO son todas distintas.son todas distintas. rrii con multiplicidad mcon multiplicidad miirrii con multiplicidad mcon multiplicidad mii 4343 ∑∑= − = = l i m j n i j ijn i rnct 1 1 0
  • 23. Ecuación característicaEcuación característica Ejemplo:Ejemplo:    +− = = −−− casootroen485 2ó10si, 321 nnn n ttt ,nn t 321 0485 =−+− −−− tttt nnnn A partir de las condiciones iniciales: cA partir de las condiciones iniciales: c11 == --2, c2, c22 = 2, c= 2, c33 == --1/21/2 4444 223 321 )2)(1(485 0485 −−=−+− =−+− −−− xxxxx tttt nnnn nnn n nccct 22)1( 321 ++= 222 11 −−= −+ nn n nt Ecuación característicaEcuación característica Recurrencias no homogéneasRecurrencias no homogéneas A partir deA partir de donde b es una constante y p(n) un polinomio de grado ddonde b es una constante y p(n) un polinomio de grado d )(110 npbtatata n knknn =+++ −− L donde b es una constante y p(n) un polinomio de grado ddonde b es una constante y p(n) un polinomio de grado d derivamos el polinomio característicoderivamos el polinomio característico que resolveremos igual que en el caso homogéneo.que resolveremos igual que en el caso homogéneo. 4545 11 10 ))(()( +− −+++= d k kk bxaxaxaxp L
  • 24. Ecuación característicaEcuación característica Ejemplo:Ejemplo: Las torres deLas torres de HanoiHanoi hanoihanoi ((intint n,n, intint inicial,inicial, intint final,final, intint tmptmp)) {{ hanoihanoi (n(n –– 1, inicial,1, inicial, tmptmp, final), final) finalfinal  inicialinicial hanoihanoi (n(n –– 1,1, tmptmp, final, inicial), final, inicial) }} 4646    +− = = casootroen,1)1(2 0,0 )( nT n nT Ecuación característicaEcuación característica Ejemplo:Ejemplo: Las torres deLas torres de HanoiHanoi )1)(2()( −−= xxxp 12 1 =− −nn tt 4747 212)( ccnT n += )1)(2()( −−= xxxp nn n cct 12 21 += 1 1 12 0 1)1( 0)0( 2 1 21 21 −= = ⇒    =+ =+ ⇒    = = c c cc cc T T 12)( −= n nT
  • 25. Ecuación característicaEcuación característica Ejemplo:Ejemplo: 0;2 01 =+= − tntt nn 2 )1)(2()( −−= xxxp nnn nccct 112 ++= 4848 nnn n nccct 112 321 ++= 1 2 2 424 12 0 3 2 1 321 321 21 −= −= = ⇒      =++ =++ =+ c c c ccc ccc cc 22 1 −−= + nt n n Ecuación característicaEcuación característica Recurrencias no homogéneasRecurrencias no homogéneas bb11, …,, …, bbss constantesconstantes )(...)(11110 npbnpbtatata s n s n knknn ++=+++ −− L bb11, …,, …, bbss constantesconstantes ppii(n)(n) polinomio de gradopolinomio de grado ddii Polinomio característico:Polinomio característico: 4949 11 1 1 10 )())(()( 1 ++− −−+++= sd s d k kk bxbxaxaxaxp LL
  • 26. Ecuación característicaEcuación característica Cambios de variableCambios de variable Cuando las recurrencias no se ajustan al tipo conocido…Cuando las recurrencias no se ajustan al tipo conocido…    >+ = = 1,)2/(3 1,1 )( nnnT n nT aplicamos un cambio de variableaplicamos un cambio de variable nn = 2= 2ii que nos permite definir una nueva recurrencia:que nos permite definir una nueva recurrencia: 5050   >+ 1,)2/(3 nnnT )2( i i Tt = Ecuación característicaEcuación característica Cambios de variableCambios de variable ii i i ii ccttt 2323 211 +=⇒+= − Finalmente, deshacemos el cambio de variable:Finalmente, deshacemos el cambio de variable: ii = log= log22((nn)) 5151 ncncccnT nn 2 )3(log 1 )(log 2 )(log 1 222 23)( +=+= )(Oes)( )3(log2 nnT
  • 27. Ecuación característicaEcuación característica EjemploEjemplo iii +=⇒+=    >+ = = 1,)2/(4 1,1 )( nnnT n nT )2( i Tt = 5252 ii i i ii ccttt 2424 211 +=⇒+= − ncncncncccnT nn 2 2 12 )4(log 1 )(log 2 )(log 1 222 24)( +=+=+= )(Oes)( 2 nnT )2( i i Tt = Ecuación característicaEcuación característica EjemploEjemplo iii +=⇒+=    >+ = = 1,)2/(2 1,1 )( nnnT n nT )2( i Tt = 5353 ii i i ii iccttt 2222 211 +=⇒+= − )(log2)(log2)( 221 )(log 22 )(log 1 22 nncncnccnT nn +=+= )log(Oes)( 2 nnnT )2( i i Tt =
  • 28. Ecuación característicaEcuación característica Recurrencia “divide y vencerás”Recurrencia “divide y vencerás” a.k.a.a.k.a. ““thethe mastermaster methodmethod”” k cn b n aTnT +      =)( 5454 b  0,0,2,1con >≥≥≥ ckba      >Θ =Θ <Θ = ka k b k kk ban bann ban nT b )( )),(log( ),( )( )(log Ecuación característicaEcuación característica Transformaciones del rangoTransformaciones del rango           = = casootroen, 2 1,3/1 )( 2 n nT n nT Inicialmente, realizamos un cambio de variable:Inicialmente, realizamos un cambio de variable: Como esta recurrencia no es lineal y el coeficiente 2Como esta recurrencia no es lineal y el coeficiente 2ii no es constante, tomamos logaritmos:no es constante, tomamos logaritmos: 5555   2 2 1 12 2)2(2)2( − − === i iiii i tTTt 11 2)log(2)log( −− +=+== iiii uititu
  • 29. Ecuación característicaEcuación característica Transformaciones del rangoTransformaciones del rango 12 −+= ii uiu iii i icccu 112 321 ++= iuu ii =− −12 Sustituyendo en la recurrencia paraSustituyendo en la recurrencia para uuii, obtenemos:, obtenemos: 5656 i icccu 112 321 ++= 2;1 23 −=−= cc ))1(2(222 32 1 13211 −++−++=−= − − icccicccuui ii ii 23)2( ccii −−= 233 2)1( ccic −=+ Ecuación característicaEcuación característica Transformaciones del rangoTransformaciones del rango Deshacemos los cambios:Deshacemos los cambios: 221 −−= icu i i 221 22 −− == icu i i t A partir de las condiciones iniciales:A partir de las condiciones iniciales: 5757 221 22 −− == icu i i t n tnT nc nnc n 4 2 2)( 1 21 2 2log )(log === −− 3log2)3/4(log3/14/2)1( 221 1 −==⇒== cT c n n n nnnc nnnn nT 34 2 24 2 4 2 4 2 )( 2 )3(log 2)3log2( 2 21 ==== −
  • 30. Apéndice: Fórmulas útilesApéndice: Fórmulas útiles Progresiones aritméticasProgresiones aritméticas daa ii +=+1 ∑ += n aana )( 1 5858 ∑= += n i ni aana 1 1 )( 2 1 )1( 2 1 1 +=∑= nni n i Apéndice: Fórmulas útilesApéndice: Fórmulas útiles Progresiones geométricasProgresiones geométricas ii ara =+1 )1( 1 −+ ∑ ra nn 5959 1 )1( 1 1 1 − − = + = ∑ r ra a nn i i 1 1 1 − − = + = ∑ b bb b nn i i
  • 31. Apéndice: Fórmulas útilesApéndice: Fórmulas útiles SumatoriasSumatorias naa n i =∑=1 ∑∑ = nn ifaifa )()( 6060 ∑∑ == = ii ifaifa 11 )()( ( ) ∑ ∑∑ +=+ baba ∑ ∑∑∑ = i j ji i j ji baba Apéndice: Fórmulas útilesApéndice: Fórmulas útiles SumatoriasSumatorias )1( 2 1 1 +=∑= nni n i )12)(1( 6 12 ++=∑ nnni n 6161 )12)(1( 61 ++=∑= nnni i 2 1 3 )1( 2 1       +=∑= nni n i )2)(1( 3 1 )1( 1 ++=+∑= nnnii n i
  • 32. Apéndice: Fórmulas útilesApéndice: Fórmulas útiles PotenciasPotencias zyzy xxx ·=+ zyzy xxx /=− yzzyzy xxx )()(· == ¡Ojo!¡Ojo! 6262 yzzyzy xxx )()(· == yz zy xx ≠ Apéndice: Fórmulas útilesApéndice: Fórmulas útiles LogaritmosLogaritmos )(log )(log )(log a n n b b a = 6363 )(log)(log nm aa mn = )(log)(log)(log mnmn aaa += )(log)(log)/(log mnmn aaa −= )(log)(log npn a p a =