Problemas de grafos y Tratabilidad Computacional

Slides:



Advertisements
Presentaciones similares
ALGORITMO Un algoritmo es un conjunto finito de instrucciones o pasos que sirven para ejecutar una tarea y resolver un problema. De un modo más formal,
Advertisements

Autómata finito Determinista
Introducción ¿Qué es un Algoritmo?
Representación del conocimiento
Complejidad Computacional
Diseño y análisis de algoritmos
Autómata Finito Un autómata finito (AF) es un modelo de computación muy restringido, sin embargo tiene una gran aplicación en reconocimiento de patrones.
TIPOS DE GRAMATICAS JERARQUIAS DE CHOMSKY
Problemas Algorítmicos
Tema: Decibilidad Integrantes: Ileana Rdguez Soto
¿Cómo hacer para que una máquina comprenda el LN?
Introducción a la máquina
La maquina de Turing La máquina de Turing es una caja negra (tan simple como una máquina de escribir y tan compleja como un ser humano) capaz no sólo de.
LAS MAQUINAS DE TURING.
Analisis deAlgoritmos
5. Propiedades de los Lenguajes Recursivamente
4. Máquinas de Turing 4.1. Modelo básico.
Unidad académica: Ingenierías
UNIVERSIDAD LATINA (UNILA) II.- ANALISIS DE ALGORITMOS
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE INGENIERIA DIVISIÓN DE INGENIERÍA ELÉCTRICA COMPUTACIÓN PARA INGENIEROS NOTA IMPORTANTE: Para complementar.
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
Tema II Unidad de memoria. 2 Unidad de memoria 2.1 Definiciones y conceptos básicos Localización Capacidad Unidad de transferencia
3. INTRODUCCIÓN A LA PROGRAMACIÓN
INTELIGENCIA ARTIFICIAL
Tratabilidad y NP-Completitud
Introducción a la NP_Completitud Ineficiencia e Intratabilidad No Computablidad e Indecibilidad.
CLASIFICACION DE LAS MAQUINAS DE TURING
Teoría de Autómatas II 3º curso Ingeniería Técnica en Informática de Sistemas UNED.
Representaciones de conjuntos y funciones Roberto Moriyón.
Answering Queries Using Views (Levy, Mendelzon, Sagiv, Srivastava) Javier López C.
Arquitectura del Computador
Complejidad Roberto Moriyón.
Complejidad Problemas NP-Completos
 La resolución de problemas algorítmicos no solamente implica que los informáticos sepan programar sino necesitan de otras habilidades como tener una.
GRAFOS HUGO ARAYA CARRASCO.
Introducción a la NP_Completitud
Fundamentos de Programación
Representación de Números en un Registro Binario
Teoria de grafos.-clase 4
Academia de Informática
Inteligencia Artificial
Autómatas de Pila Teoría del Autómata.
COMPLEJIDAD COMPUTACIONAL Departamento de Educación Matemática Profesor: Carlos Aguilar Santana “La Matemática es el Alfabeto con el cual Dios ha Escrito.
Complejidad de los problemas de decisión
(Organización y Manejo de Archivos)
Problemas de Grafos y Tratbilidad Computacional
Lenguaje de Programación cap. 1 Estructura del Computador.
complejidad de un problema.
Aplicación de estructuras de datos
Teoría de Autómatas I 2º curso Ingeniería Técnica en Informática de Sistemas UNED.
Agustín J. González ELO320: Estructura de Datos y Algoritmos
Programación de Sistemas
PENSAMIENTO ANALÍTICO SISTÉMICO DAISY KATERINE RODRÍGUEZ DURÁN
I. Complejidad de Problemas
Unidad 1: FUNDAMENTOS DE COMPUTACIÓN Y PSEUDOLENGUAJE
ALGORITMOS La palabra algoritmo se deriva de la traducción al latín de la palabra árabe alkhowarizmi, nombre de un matemático y astrónomo árabe que escribió.
Parte I. Estructuras de Datos.
Agustín J. González ELO320: Estructura de Datos y Algoritmos
Autómatas de Pila (Pushdown Automatón)
Ecuaciones Algebraicas
ARQUITECTURA DE LOS SISTEMAS DE INFORMACIÓN
I.- ESTUDIO DE LOS LENGUAJES DE PROGRAMACIÓN.
Escuela de Ciencias Basicas, Tecnología e Ingeniería
LIC. JOSEPH RUITON RICRA
“CURSO PROPEDÉUTICO PARA EL MEJORAMIENTO DEL PENSAMIENTO MATEMÁTICO”
The Exact Complexity of the First- Order Logic Definibility Problem Marcelo Arenas PUC Chile Gonzalo Díaz University of Oxford.
Programación de Sistemas
La clase P juega un papel importante en la teoría de la complejidad computacional debido a que: 1. P es invariante para todos los modelos de cómputo que.
UNIVERSIDAD TECNOLÓGICA DE PANAMÁ Facultad de Ingeniería de Sistemas Computacionales Programa de Lic. en Informática Educativa Computación.
ALGORITMOS Asignatura: Informática. Algoritmos Conjunto de instrucciones ordenadas de forma lógica y precisa, con un inicio y fin que permite resolver.
Transcripción de la presentación:

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

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

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

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

Problemas de grafos y Tratabilidad Computacional Máquina de Turing Teoría de NP Problemas de grafos y Tratabilidad Computacional

Problemas de grafos y Tratabilidad Computacional Máquina de Turing Teoría de NP Problemas de grafos y Tratabilidad Computacional

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Los problemas NP-Completo Mapa de NP-Completo Teoría de NP Problemas de grafos y Tratabilidad Computacional

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

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

Las incógnitas de Teoría NP Tres mapas posibles de NP Teoría de NP Problemas de grafos y Tratabilidad Computacional

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