Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porJosé María Castillo Alarcón Modificado hace 9 años
1
Problemas de grafos y Tratabilidad Computacional
Modelos de Máquinas 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) Teoría de NP Problemas de grafos y Tratabilidad Computacional
2
Problemas de grafos y Tratabilidad Computacional
Máquina de Turing Unidad de Control guí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. Teoría de NP Problemas de grafos y Tratabilidad Computacional
3
Problemas de grafos y Tratabilidad Computacional
Máquina de Turing Unidad de almacenamiento cinta semi-infinita para lectura y escritura, secuencias de celdas. cada celda puede almacenar un caracter de A. Tabla de Turing es el “programa” de la máquina mapea QA a QA{}{0,+1,-1} Teoría de NP Problemas de grafos y Tratabilidad Computacional
4
Problemas de grafos y Tratabilidad Computacional
Máquina de Turing 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ón cuando no se puede inferir nuevas acciones para seguir. Si el estado final es de aceptación, entonces acepta el input. Caso contrario lo rechaza. Teoría de NP Problemas de grafos y Tratabilidad Computacional
5
Problemas de grafos y Tratabilidad Computacional
Máquina de Turing Teoría de NP Problemas de grafos y Tratabilidad Computacional
6
Problemas de grafos y Tratabilidad Computacional
Máquina de Turing Teoría de NP Problemas de grafos y Tratabilidad Computacional
7
Problemas de grafos y Tratabilidad Computacional
Máquina de Turing Complejidad Temporal cantidad de transiciones realizadas. Complejidad Espacial cantidad de celdas utilizadas. Determinismo si 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) Teoría de NP Problemas de grafos y Tratabilidad Computacional
8
Máquinas de Acceso Random (RAM)
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. Teoría de NP Problemas de grafos y Tratabilidad Computacional
9
Máquinas de Acceso Random (RAM)
Tipos de instrucciones leer 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. Teoría de NP Problemas de grafos y Tratabilidad Computacional
10
Problemas de grafos y Tratabilidad Computacional
Modelos de Máquinas Los dos modelos presentados son polinomialmente equivalente. se puede simular uno a otro con un costo polinomial. Teoría de NP Problemas de grafos y Tratabilidad Computacional
11
Complejidad Temporal de Problemas
Es la complejidad de mejor algoritmo que resuelve el problema. ejemplo de sorting. Dificultad conceptual complejidad ejemplos 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ón
Técnica para reaprovechar experiencias adquiridas vida cotidiana problemas 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ó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 grafos y Tratabilidad Computacional
Problemas 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 grafos y Tratabilidad Computacional
Problemas 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 grafos y Tratabilidad Computacional
Problemas 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 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 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 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 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. Teoría de NP Problemas de grafos y Tratabilidad Computacional
21
Los problemas NP-Completo
Un problema es NP-Completo si verifica las siguientes condiciones: NP Para todo problema ’NP, ’P Los 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
22
Los problemas NP-Completo
Mapa de NP-Completo Teoría de NP Problemas de grafos y Tratabilidad Computacional
23
Los 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 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 NP
Tres mapas posibles de NP Teoría de NP Problemas de grafos y Tratabilidad Computacional
26
Las incógnitas de Teoría NP
El mundo de NP y vecindad (PNP, NPCo-NP, PCo-NPNP) Teoría de NP Problemas de grafos y Tratabilidad Computacional
Presentaciones similares
© 2024 SlidePlayer.es Inc.
All rights reserved.