Beruflich Dokumente
Kultur Dokumente
Complejidad
Computacional
Problemas
P y NP
Algoritmos
Computacionales
Unidad Profesional Interdisciplinaria de
Ingeniería y Ciencias Sociales y
Administrativas
“La técnica al
servicio de la patria”
Complejidad Computacional – Problemas P y NP
Computabilidad
• Dado un determinado problema, se
puede generar un algoritmo
computacional el cual puede ser
ejecutado en un definido tiempo, con
una cantidad de recursos.
2
Complejidad Computacional
3
Cuando inicia la computación todos los problemas que se
6
Función de trabajo
La variable X, a la que se asignan libremente valores se denomina variable independiente, mientras que
a la variable cuyos valores dependen de la X se llama variables dependientes.
Clases Complejidad
8
Complejidad Computacional – Problemas P y NP
Clases Complejidad
Pseudopolinomial
• Un problema es pseudopolinomial si la complejidad
del mismo es polinomial en función del valor de las
entradas y no del tamaño de las entradas.
• En otras palabras es pseudopolinomial si la
complejidad va en función de los valores que puede
tomar una variable y no en el numero de datos a
procesar.
9
NP- completo (NPC).
• Son aquellos problemas cuyo status es
desconocido pero se cree no tienen
soluciones polinomiales.
• Hasta ahora no se ha encontrado solución
polinomial para ninguno de ellos.
• Se puede probar que: si un problema NP-
completo tiene solución polinomial, todos
la tendrían.
10
NP- completo (NPC).
Ecuaciones Diofántica – Tambien llamadas ecuaciones dificiles. No todas las ecuaciones diofánticas tienen
un método (algoritmo) que permita resolverlas de manera sistemática. Es más, la mayoría no lo tienen. La
búsqueda de un método de resolución para ecuaciones concretas ha sido, durante mucho tiempo, objeto de
estudio por matemáticos de la talla de Euler o Lagrange, y más recientemente de Minkowski o Chevalley.
La búsqueda de un algoritmo general para la resolución de ecuaciones diofánticas sigue siendo,
actualmente, un problema abierto. En la célebre lista de 21 problemas que Hilbert propuso en el congreso
de Matemáticas de 1900, éste figura con el número 10. La resolución de este tipo de ecuaciones no tiene un
interés meramente matemático. En mecánica cuántica, debido a la naturaleza discreta de sus fenómenos, se
presentan con frecuencia este tipo de ecuaciones que requieren de soluciones enteras.
11
Complejidad Computacional – Problemas P y NP
Notación Asintótica
• La O (mayúscula) representa en tiempo de
ejecución de un algoritmo (programa)
• Por lo tanto se pueden observar diversos tipos
de algoritmos tales como:
O(n) - Lineal
O(n2) - Cuadrático
O(n lg n) - Logarítmico
12
Notación formal
13
Función de la tasa de crecimiento
Observe que entre mayor numero de procesos requeridos para
Datos Datos
O(1) – Complejidad O(log n)– Complejidad
Constante Logarítmica
Búsqueda binaria, Quick
Sort, Shell sort
Tiempo
Tiempo
Datos Datos
O(n)– Complejidad
O( np )– Complejidad
Lineal
Búsqueda lineal
Polinómica
Burbuja,
Tipos de problemas NP
Datos
O( cn )– Complejidad
Exponencial
Problema de las 8 Reinas
Tiempo
Datos
O( n1 )– Complejidad Factorial
Agente viajero
Travelling Salesman Problem (TSP)
Análisis asintótico de funciones
pp 17
Análisis asintótico de funciones
N
X
Y
20
Problema de optimización
22
Solución a problemas NP
23
Complejidad Computacional – Problemas P y NP
Solución a problemas NP
24
Complejidad Computacional – Problemas P y NP
Solución a problemas NP
25
Solución a problemas NP
A
C
B
D
Solución de problemas
Complejidad Computacional – Problemas P y NP
Solución a problemas NP
El Problema del agente viajero
Para solucionar este tipo de problemas se formar grupos.
A cada unión de nodos (ruta, arco que une a dos nodos) se le
asigna un valor, este puede se puede medir en litros de
gasolina, kilometraje, tiempo o cualquier otra unidad de
medida.
Se agrupan los nodos normalmente por cercanía (nodos zona
norte, centro y sur) y se establece un punto de unión o
conexión entre los grupos.
El problema se ha simplificado ahora se tienen tres grupos con
11!, 10! Y 11!.
A su vez se puede subdividir un grupo en subgrupos. Tantas
veces como la complejidad del problema disminuya y ayude a
la solución.
Complejidad Computacional – Problemas P y NP
Problemas intratables
• Se dice que un problema es intratable si no
es posible definir un algoritmo eficiente para
resolver el problema.
• Cuando no es posible lograr reducciones,
de tal forma que cada reducción pueda ser
tratado como un problema polinomial .
31
Complejidad Computacional – Problemas P y NP
Noción algorítmica
• Es una técnica auxiliar para la solución de problemas
cíclicos e iterativos
• Un algoritmo es una sucesión de eventos o pasos
bien establecidos que tienen la finalidad de dar
solución a una problemática.
• Un algoritmo generalmente se representa por
símbolos (nomenclatura clara e identificable).
• El tratamiento a un problema no es una tarea fácil,
ya que depende del tipo de problema y de las
variables internas y externas que lo afectan.
32
Complejidad Computacional – Problemas P y NP
Noción Algorítmica
La noción algorítmica establece que hay que conocer el
problema de tal forma y con tanta profundidad y
detalle que con gran facilidad se pueda:
Describir
Esquematizar - Representar cada una de sus
partes y variables (conocer el comportamiento
del problema).
33
Heu
rísti
ca
34
• Sznajdleder Pablo, Algoritmos a fondo, Editorial
Alfaomega,México 2012.
BIBLIOGRAFÍA
• Brassard G., Bratley P., Fundamentos de Algoritmia, Editorial
Prentice Hall, México 1997, págs. 608, ISBN 84-89660-00-X.
35