Está en la página 1de 16

Cátedra de Inteligencia Artificial

Ingeniería de Sistemas, FRC, UTN


La complejidad está asociada con los recursos de computo
requeridos para resolver un problema, estos recursos son
normalmente tiempo y espacio.

Procedimiento: todo conjunto finito y ordenado de instrucciones,


que puedan ser ejecutadas por una persona o una máquina, sin
necesidad de conocimiento adicional a lo ya expresado en las
propias sentencias. Si el procedimiento permite alcanzar la solución
en un número finito de pasos es un algoritmo.

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.

Por lo tanto se trata de buscar algún indicador de la


complejidad intrínseca de los problemas, procurando
prescindir de la habilidad de la persona que deba
resolverlos.

3
Para la definición de estas métricas es necesario establecer los
siguientes tres aspectos:

Identificar los parámetros primitivos que serán medidos para


disponer de datos característicos del objeto estudiado.

Definir las propias métricas, representadas por expresiones


destinadas a determinar indicadores objetivos que representen
niveles de complejidad.

 Establecer las condiciones en que se harán las mediciones, con el fin


de asegurar que diferentes evaluaciones de complejidad tengan una
referencia común y sean verdaderamente comparables.

4
Como recursos a medir se seleccionan:
Tiempo y Espacio como los indicadores más
representativos.

Para un problema de dimensión “n”:


- Complejidad Temporal T(n)

- Complejidad Espacial E(n)

5
Complejidad Temporal:

Se refiere a la cantidad de intervalos o unidades


elementales que demanda completar la ejecución de un
proceso, expresado en función del tamaño de los datos
de entrada.

Como resultado se hablara de complejidad temporal


lineal, polinomica, logarítmica, exponencial, etc., según la
naturaleza de la expresión que las vincula.

6
Complejidad Temporal
Evaluación de indicadores para problema de dimensión “n”
Indicador Complejidad Expresión Orden

T(n) Lineal A + Bn O(n)

Logarítmica n.log n O(log n)


m
Polinomial A + ∑Bknk O(nm)
k=1

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…

La tabla anterior demuestra que con complejidades polinómicas de grado elevado, y


es especial con complejidad de orden exponencial, el aumento de la capacidad de
procesamiento tiene escaso impacto en la posibilidad de resolver problemas de
mayor tamaño.

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:

Es la medida de la complejidad que mide la cantidad de


espacio de almacenamiento requerido para resolver un
problema.

Al aumentar la complejidad de un proceso aumenta


también el espacio que demanda y se representa por E(n).

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

Ordenes típicos de complejidad O(N3) < T(N) < O(N5)


Donde
 P = numero de patrones de entrenamiento
 M = el numero de ciclos de entrenamiento requerido
 m = número de capas
 N = número total de pesos en la red
 n1 = unidades de la capa de entrada
 ns = unidades de la capa oculta “s” ( 1 < s < m)
 nm = unidades de la capa de salida

12
Como conclusión puede decirse que en general:

O(N3) < T(N) < O(N5)

Es decir, la complejidad temporal del proceso de entrenamiento


de redes multicapa de Perceptrones es de tipo polinomica, de
grado entre 3 y 5. Se trata de un problema de solución
algoritmica considerado eficiente.

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.

La dificultad que presentan los problemas está en el


orden de la complejidad de su solución temporal o
espacial, o directamente en no tener solución.

En este último caso de recurre a las heurísticas, buscando


soluciones aproximadas

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

También podría gustarte