La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Problemas de grafos y Tratabilidad Computacional

Presentaciones similares


Presentación del tema: "Problemas de grafos y Tratabilidad Computacional"— Transcripción de la presentación:

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 QA a QA{}{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 AB) 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 ApB). 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-NPNP? 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 (PNP, NPCo-NP, PCo-NPNP) Teoría de NP Problemas de grafos y Tratabilidad Computacional


Descargar ppt "Problemas de grafos y Tratabilidad Computacional"

Presentaciones similares


Anuncios Google