Documentos de Académico
Documentos de Profesional
Documentos de Cultura
2
Un problema es complejo si su resolución requiere el
empleo de un algoritmo complejo.
Este ultimo es a su vez complejo si su aplicación involucra
cálculos complicados y/o su lógica subyacente es
complicada.
3
Para la definición de estas métricas es necesario establecer los
siguientes tres aspectos:
4
Como recursos a medir se seleccionan:
Tiempo y Espacio como los indicadores más
representativos.
5
Complejidad Temporal:
6
Complejidad Temporal
Evaluación de indicadores para problema de dimensión “n”
Indicador Complejidad Expresión Orden
Exponencial A + 2n O(2n)
7
Impacto de las diferentes complejidades en la capacidad
de cómputo de un equipo en un cierto tiempo
Máximo Tamaño de lote de datos “n”
Algoritmo Orden
1 seg 60 seg 3600 seg
A1 n 1.000 60.000 3.600.000
A2 n log n 140 4.893 200.000
A3 n² 31 244 1.897
A4 n³ 10 39 153
A5 2ⁿ 9 15 21
Se asume que con cierta tecnología la unidad de tiempo es el milisegundo y se toma
como referencia al algoritmo A1 que tiene una complejidad temporal lineal. Esto
significa que el algoritmo A1 requiere un segundo para procesar un lote de datos de
dimensión n = 1000, mostrándose los datos que puede procesarse con otros
algoritmos en 1, 60 y 3600 seg.
8
Consecuencia de recurrir a un medio de cómputo diez
veces más rápido
Incremento en el tamaño “n” del
Algoritmo Orden
problema procesable en 1 seg.
A1 n x 10,0
A2 n log n x 10,0
A3 n² x 3,16
A4 n³ x 2,15
A5 2ⁿ x 1,0…
9
Problema Complejidad temporal y orden O(n)
Resolución de sistema de 2 3 3 2 7
T(n) = n + n − n = O(n3 )
“n” ecuaciones 3 2 6
n −1
1
Cálculo del determi- T(n) = (n!) ( ) + n! = O(n!)
nante de una matriz k =1 k!
Ordenamiento de un 3 2 7
vector por inserción T(n) = n + n = O(n2 )
4 4
Ordenamiento de un 3
vector por selección T(n) = n2 + 3n = O(n2 )
4
Ordenamiento de un
vector por “shell sort” T(n) = O ( n log(n))
Ordenamiento de un
vector por “quick sort” T(n) = O ( n log(n))
10
Complejidad Espacial:
11
m−1 m
T(P,M,m,n1,..,nm ) = PM ns ( 2 ns+1 + 4 ns−1 + 3) + nm ( 4 nm−1 + 5) + M ns ns−1
s=2 s=2
12
Como conclusión puede decirse que en general:
13
Orden de Complejidad de los principales métodos de búsqueda
Complejidad Complejidad
Método
Temporal Espacial
Primero en anchura Rp Rp
Primero en profundidad Rp p.R
Descenso iterativo Rp p.R
Máxima pendiente Rp p.R
Primero el mejor ≤ Rp ≤ Rp
A* ≤ Rp ≤ Rp
R: factor de ramificación medio
p: nivel de profundidad alcanzado en el árbol de búsqueda
Ejemplo: Puzzle [3 x 3]:
profundidad típica de la solución p = 22, Rmedio = 3
T(p) = Rp = 322 = 3x1010
14
Tradicionalmente los problemas computacionales son
clasificados por su complejidad, pero muchos de ellos
escapan a este criterio y no es posible clasificarlos de la
manera tradicional.
15
Complejidad Algoritmos Se pueden resolver
polinómica eficientes (P) en tiempo Polinomial
solo usando un
Solución método No
Algorítmica No determinis- determinista.
NP
ticamente
Completos
polinómicos
Complejidad
exponencial
Problemas Intratables
Recursiva-
mente
irresolubles
Iterativas
Demostra-
blemente Recursiva- Soluciones
irresolubles mente aproximadas
rresolubles
Probabi-
lísticas
16