Teoría de NP Problemas de grafos y Tratabilidad Computacional1 Máquina de Turing(1937, Alan...
-
Upload
jose-maria-castillo-alarcon -
Category
Documents
-
view
237 -
download
0
Transcript of Teoría de NP Problemas de grafos y Tratabilidad Computacional1 Máquina de Turing(1937, Alan...
Teoría de NP Problemas de grafos y Tratabilidad Computacional
1
Máquina de Turing(1937, Alan Turing): es un modelo formal para expresar cualquier algoritmo.
Máquinas de Acceso Random (RAM)(1974, Aho,Hopcroft and Ullman)
Modelos de MáquinasModelos de Máquinas
Teoría de NP Problemas de grafos y Tratabilidad Computacional
2
Unidad de Controlguía la operatoria.puede estar en alguno de los estados Q.puede escribir un caracter de un alfabeto finito A por vez en la cinta.puede mover una posición la lectora a izquierda derecha o inmóvil.utiliza una tabla de Turing para determinar qué acciones tomar (cambiar a otro estado, escribir un carácter, mover la lectora) de acuerdo al estado actual y el carácter leído.
Máquina de TuringMáquina de Turing
Teoría de NP Problemas de grafos y Tratabilidad Computacional
3
Unidad de almacenamientocinta semi-infinita para lectura y escritura, secuencias de celdas.cada celda puede almacenar un caracter de A.
Tabla de Turinges el “programa” de la máquinamapea QA a QA{}{0,+1,-1}
Máquina de TuringMáquina de Turing
Teoría de NP Problemas de grafos y Tratabilidad Computacional
4
Arranque posicionado en el estado distinguido q0, el estado inicial.
string de input precargada en las primeras n posiciones de la cinta y la lectora ubicada en el comienzo de la cinta.
Terminacióncuando no se puede inferir nuevas acciones para seguir.Si el estado final es de aceptación, entonces acepta el input. Caso contrario lo rechaza.
Máquina de TuringMáquina de Turing
Teoría de NP Problemas de grafos y Tratabilidad Computacional
5
Máquina de TuringMáquina de Turing
Teoría de NP Problemas de grafos y Tratabilidad Computacional
6
Máquina de TuringMáquina de Turing
Teoría de NP Problemas de grafos y Tratabilidad Computacional
7
Complejidad Temporal cantidad de transiciones realizadas.
Complejidad Espacialcantidad de celdas utilizadas.
Determinismosi la tabla de Turing siempre devuelve una o ninguna acción para cualquier combinación de estados con caracteres.Caso contrario, la máquina sería no determinística.
Capaz de implementar cualquier algoritmo arbitrario (Church´s Thesis)
Máquina de TuringMáquina de Turing
Teoría de NP Problemas de grafos y Tratabilidad Computacional
8
Dispositivo capaz de procesar un programa RAM que es
una secuencia finitas de instrucciones.Manipula un arreglo de registros
almacenan enteros arbitrariamente grandes.Contador de programa
indica el siguiente instrucción a ejecutar.se incrementa automáticamente con instrucciones normales.existen instrucciones especiales para manejar el contador. combinación de estados con caracteres.
Máquinas de Acceso Random (RAM)Máquinas de Acceso Random (RAM)
Teoría de NP Problemas de grafos y Tratabilidad Computacional
9
Tipos de instruccionesleer entrada con direccionamiento directo/indirecto.escribir en registros con direccionamiento directo/indirecto.realizar aritméticas
Son similares a lenguajes assembler.Complejidad Temporal
cantidad de instrucciones ejecutadas.Complejidad Espacial
cantidad de registros utilizados.
Máquinas de Acceso Random (RAM)Máquinas de Acceso Random (RAM)
Teoría de NP Problemas de grafos y Tratabilidad Computacional
10
Los dos modelos presentados son polinomialmente equivalente.
se puede simular uno a otro con un costo polinomial.
Modelos de MáquinasModelos de Máquinas
Teoría de NP Problemas de grafos y Tratabilidad Computacional
11
Complejidad Temporal de ProblemasComplejidad Temporal de Problemas Es la complejidad de mejor algoritmo que
resuelve el problema.ejemplo de sorting.
Dificultad conceptual complejidadejemplos de grafo planar, coloreo, circuitos hamiltoniano, euleriano, vertex cover, edge cover y cartero chino.
Existencia de problemas que no se saben si son polinomiales o exponenciales.
Teoría de NP Problemas de grafos y Tratabilidad Computacional
12
Transformaciones o ReducciónTransformaciones o Reducción Técnica para reaprovechar experiencias
adquiridasvida cotidianaproblemas algorítmicos
Un problema A se transforma o se reduce a otro problema B (se denota AB) si existe
un algoritmo que transforma cada instancia de A en una de B y es capaz de traducir la solución de la instancia transformada de B a la solución que corresponda a la instancia original de A.
Teoría de NP Problemas de grafos y Tratabilidad Computacional
13
Transformaciones o ReducciónTransformaciones o Reducción Se obtiene un algoritmo que resuelve el
problema A que es la composición del algoritmo de transformación + el mejor algoritmo que resuelve B.
Si el algoritmo de transformación es polinomial entonces se llama transformación o reducción polinomial (se denota ApB).
Teoría de NP Problemas de grafos y Tratabilidad Computacional
14
Problemas de DecisiónProblemas de Decisión Se define 3 tipos de formulación de problemas:
Problema de Decisión: ¿Existe una estructura S que satisface una propiedad P?
Problema de Localización: Encontrar una estructura S que satisface una propiedad P.
Problema de Optimización: Encontrar una estructura S que satisface criterios de optimización.
Teoría de NP Problemas de grafos y Tratabilidad Computacional
15
Problemas de DecisiónProblemas de Decisión Aplicado al problema de Viajante:
Dado un grafo G y un entero k>0. Verificar si en G existe un circuito Hamiltoniano con longitud k.
Dado un grafo G y un entero k>0. Encontrar en G un circuito Hamiltoniano con longitud k.
Dado un grafo G y un entero k>0. Encontrar en G un circuito Hamiltoniano con longitud mínima.
Los 3 problemas anteriores son polinomialmente equivalentes.
Teoría de NP Problemas de grafos y Tratabilidad Computacional
16
Problemas de DecisiónProblemas de Decisión Con el propósito de unificar y simplificar, en la
Teoría de Complejidad muchas veces considera únicamente problemas de decisión.
Como ocurre con el problema anterior, en la práctica, las 3 versiones de formulaciones son polinomialmente equivalentes en la mayoría de los problemas.
Teoría de NP Problemas de grafos y Tratabilidad Computacional
17
Problemas intratables y Problemas NPProblemas intratables y Problemas NP Un problema es intratable puede estar motivado:
el problema requiere una repuesta de longitud exponencial (ejemplo: pedir todos los circuitos hamiltonianos de longitud a lo sumo k).el problema es indecidible (ejemplo: un algoritmo con un input dado, termina o no)el problema es decidible pero no se conoce algoritmos polinomiales que lo resuelvan.
Teoría de NP Problemas de grafos y Tratabilidad Computacional
18
Problemas intratables y Problemas NPProblemas intratables y Problemas NP Muchos de los problemas del último ítem son
llamados NP. (ejemplo: Viajante) Primera definición de un problema de decisión
es llamado NP:Si para todas las instancias que tienen una respuesta afirmativa y acompañada de una evidencia o justificación, esta puede ser verificada en tiempo polinomial.
Teoría de NP Problemas de grafos y Tratabilidad Computacional
19
Otra definición de NP usando Máquina de TuringOtra definición de NP usando Máquina de Turing Son problemas de decisión cuyas instancias de
“SI” son aceptadas por una máquina de Turing No Determinística en tiempo polinomial.
Definición 1 de un problema de decisión es llamado NP:
Si para todas las instancias que tienen una respuesta afirmativa y acompañada de una evidencia o justificación, esta puede ser verificada en tiempo polinomial.
Teoría de NP Problemas de grafos y Tratabilidad Computacional
20
Los problemas Co-NP y los problemas PLos problemas Co-NP y los problemas P Un problema de decisión es Co-NP:
Si para todas las instancias que tienen una respuesta negativa esta puede ser verificada en tiempo polinomial.Ejemplo: problema de Primalidad.
Definición de un problema complemento. La clase de los problemas polinomiales (P):
está contenido en NP y en Co-NP, porque siempre se puede verificar su respuesta en tiempo polinomial.
Los problemas NP-CompletoLos problemas NP-Completo Un problema es NP-Completo si verifica
las siguientes condiciones:NP
Para todo problema ’NP, ’PLos problemas que verifican la segunda
condición son llamados NP-Hard o NP-Díficil.
El primer problema NP-Completo es de Satisfactibilidad (SAT)
probado por Cook en 1971
Teoría de NP Problemas de grafos y Tratabilidad Computacional
22
Los problemas NP-CompletoLos problemas NP-Completo
Mapa de NP-Completo
N P-C o m p le to
N P-Ha rd N P
Teoría de NP Problemas de grafos y Tratabilidad Computacional
23
Los problemas NP-CompletoLos problemas NP-Completo Se puede reemplazar la segunda condición de
la definición de NP-Completo por la siguiente utilizando un problema NP-Completo ’ conocido:
’P
Algunos problemas NP-Completos conocidos:3-SAT, Viajante,Clique Máxima, Mochila,Conjunto Independiente, Vertex Cover, Isomorfismo de Subgrafos,Partción Mínimo, Número Cromático, Programación Entera.
Teoría de NP Problemas de grafos y Tratabilidad Computacional
24
Las incógnitas de Teoría NPLas incógnitas de Teoría NP ¿P=NP? ¿Co-NP=NP? ¿P=Co-NPNP?
Teoría de NP Problemas de grafos y Tratabilidad Computacional
25
Las incógnitas de Teoría NPLas incógnitas de Teoría NP
Tres mapas posibles de NP
N P-C o m p le to
P
NP
N P-C o m p le to
P
P= N P(= N P-C o m p le to )
NP NP
(a ) (b ) (c )
N P-In te rm e d io
Teoría de NP Problemas de grafos y Tratabilidad Computacional
26
Las incógnitas de Teoría NPLas incógnitas de Teoría NP
El mundo de NP y vecindad (PNP, NPCo-NP, PCo-NPNP)
P
C o -N P-C o m p le to N P-C o m p le to
C o -N P N P