Complejidad Computacional

Documentos relacionados
Complejidad - Problemas NP-Completos. Algoritmos y Estructuras de Datos III

Complejidad computacional (Análisis de Algoritmos)

Problemas computacionales, intratabilidad y problemas NP completos. 26 de agosto de Facultad de Ingeniería. Universidad del Valle

Problemas computacionales, intratabilidad y problemas NP completos. Febrero Facultad de Ingeniería. Universidad del Valle

Introducción a la Complejidad Computacional

IN34A - Optimización

Clases de complejidad computacional: P y NP

Análisis de algoritmos

Complejidad de los Algoritmos

Máquinas de Turing no-determinísticas (MTND)

4. Complejidad computacional

Problemas de decisión y su complejidad computacional

Teoría de la Computación puesta en Práctica

ALGORITMOS HEURÍSTICOS Y APROXIMADOS. Análisis y diseño de algoritmos II- 2009

Complejidad Computacional

Análisis y Complejidad de Algoritmos. Completitud NP

CLASES DE PROBLEMAS. 1) Introducción 2) Problemas de decisión, Lenguajes, Codificación. y la clase NP-Completa. 6) Otras clases de problemas NP-

Complejidad - Problemas NP-Completos. Algoritmos y Estructuras de Datos III

NP-completos. Elvira Mayordomo Universidad de Zaragoza

Problemas NP-completos

Teoría Matemática de la Computación Segundo Problemario Prof. Miguel A. Pizaña 13 de julio de 2016

EL PROBLEMA DE CALENDARIZAR EL TRABAJO EN UN TALLER. (Job Shop Scheduling Problem) JSSP PRESENTA. MC. Martín Martínez Rangel

CLASIFICACIÓN DE PROBLEMAS

Introducción a la Investigación Operativa

MARITZA HERRERA FLOREZ YUDY MARCELA BOLAÑOS RIVERA

Algoritmos pseudo-polinomiales

Tema 2 Fundamentos de Complejidad Algorítmica

Fundamentos de la Computación TC4001

Formas clausulares Teoría de Herbrand Algoritmo de Herbrand Semidecidibilidad. Teoría de Herbrand. Lógica Computacional

Computabilidad y Lenguajes Formales: Teoría de la Computabilidad: Reducibilidad

Curso: Teoría de la Computación. Unidad 2, Sesión 8: Complejidad computacional (2)

Tema 1: Sintaxis y Semántica de la Lógica Proposicional

8. Complejidad Computacional

NP Completitud I: SAT y 3-SAT. Febrero 2017

Escuela de algoritmos de aproximación

Se puede dibujar la siguiente figura, empezando y terminando en el mismo punto, sin levantar e lápiz del papel?

Se puede dibujar la siguiente figura, empezando y terminando en el mismo punto, sin levantar e lápiz del papel?

Algoritmos y Complejidad

como les va con las practicas?

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS. Conceptos, algoritmo y aplicación al problema de las N reinas

Programación Lógica: Satisfiability Modulo Theory (SMT)

Introducción a las RdP. Optimización basada en redes de Petri. Redes de Petri. Son objeto de estudio: RdP. Ejemplos:

Teoría estructural de grafos y su aplicación a algoritmos de optimización combinatoria

3-Coloring es NP-Completo

Optimización combinatoria: Aplicaciones, modelos y métodos de solución Juan Carlos Rivera Agudelo

CONCLUSIONES. 1. La implementación del Recocido Simulado V.2 es una versión fácil de

Investigación de operaciones, modelos matemáticos y optimización

Breve introducción a la Investigación de Operaciones

9. Programación lineal entera.

C a l ses P P y y NP C a l se P C a l se N P N P [No N n o -De D te t rmin i i n s i ti t c i Polynomial-tim i e]

Formulando con modelos lineales enteros

La dificultad de jugar sudoku

Texto: Hopcroft, J. E., Motwani, R., Ullman, J.D., Introduction to Automata Theory, Languajes, and Computation. 3rd Edition. Addison Wesley, 2007.

puede no servir si hay arcos con costo negativo. Justifique.

Horas teoría-horas prácticas-horas trabajo adicional-horas totales-créditos: Edgar O. Reséndiz Flores

Marco Antonio Heredia Velasco

TEORÍA DE LA COMPUTACIÓN Y VERIFICACIÓN DE PROGRAMAS FUNDAMENTACIÓN

TEORÍA DE LA COMPUTACIÓN Y VERIFICACIÓN DE PROGRAMAS FUNDAMENTACIÓN

Algoritmo Cuántico de Búsqueda Paralelo

Tema 10: Conceptos Metalógicos

Transcripción:

Complejidad Computacional Clasificación de Problemas Teoría de la Complejidad Estudia la manera de clasificar algoritmos como buenos o malos. Estudia la manera de clasificar problemas de acuerdo a la dificultad inherente de resolverlos.

Introducción Problema: Pregunta general que debe contestarse. Elementos de un problema: Lista de parámetros (variables libres). Descripción de las características de la solución. Instancia: Especificación de valores de los parámetros. Problema Ejemplo: Problema del agente viajero. Cual es la pregunta? Parámetros: Lista de ciudades y distancia entre ellas. Solución: Secuencia de ciudades que minimiza la distancia de un recorrido que inicia en c 1, visita en secuencia todas las ciudades y regresa a c 1 desde la última ciudad c m.

Instancia de un Problema Problema del agente viajero. Solución: <c 1, c 2, c 4, c 3 > Con una longitud de 27 Encontrar todas las posibles rutas y su longitud Problemas Intratables Consistentemente intratables: Son aquellos que son tan difíciles que ni un algoritmo de tiempo no polinomial puede resolverlo. Aparentemente intratables: El problema es tan difícil que se requiere una cantidad de tiempo exponencial para encontrar una solución. La solución es tan extensa que no puede ser expresada como una función polinomial de la entrada. Ejemplo agente viajero con hasta B CIUDADES POR RECORRER.

Tipos de Problemas Problemas decidibles: existen algoritmos capaces de resolverlos Problemas indecidibles: no existen algoritmos capaces de resolverlos. Ejemplo: Dado un programa de cómputo y su entrada, este siempre para?. Problemas aparentemente intratables: No-determinísticos. Intratables problemas NP Problemas Polinomiales y No-Polinomiales (P y NP) Un problema es Polinomial (P) si existe un algoritmo determinístico polinomial que lo resuelva. Un problema es No-Polinomial (NP) si no existe un algoritmo determinístico polinomial que lo resuelva.

Tipos de Problemas Intratables: No se ha descubierto un algoritmo que los resuelva. Clase P: Problemas de decisión que tienen un algoritmo de tiempo polinomial en una máquina determinista que los resuelva. Clase NP: Problemas de decisión que tienen un algoritmo de tiempo polinomial en una máquina no determinista que los acota. Clase NP-Completos: Problemas NP más difíciles de resolver. Teoría de NP-Completes 1.- La clase de problemas P es subconjunto propio de la clase NP. 2.- Un problema es NP-Completo si cualquier otro problema en NP puede ser transformado en él. 3.- Si se encuentra un algoritmo de tiempo polinomial para una máquina determinista que resuelva un problema NP-Completo, entonces se resuelven todos los problemas NP y, entonces: P = NP?

Teorema de Cook 1.- Reducibilidad en tiempo polinomial: Transformar un problema en otro usando un algoritmo determinista de tiempo polinomial. 2.- Clase NP. Problemas de decisión que son resueltos en tiempo polinomial por una máquina no determinista. 3.- Satisfactibilidad es NP-Completo: Todos los problemas NP se pueden reducir al problema de Satisfactibilidad. 4.- Problemas NP-Completos: Si SAT es reducible a un problema NP, entonces este NP está en NPcompleto. Satisfactibilidad Es el problema de decidir si existe una asignación de valores de verdad a los átomos de una fórmula proposicional que la hacen verdadera (satisfactible). Ejemplo: (P or Q) and (Q or R) and ( R or P) Si P = Q = verdadero y R = falso, la fórmula es satisfactible.

Importancia de SAT Satisfactibilidad es NP: No existe un algoritmo en tiempo polinomial que lo resuelva en una máquina determinista. Satisfactibilidad es NP-Completo: Cook demostró que cualquier problema en NP puede ser reducido a SAT. SAT fue el primer problema reconocido como NP- Completo. Si se encuentra un algoritmo en tiempo polinomial para una máquina determinista que resuelva SAT: Todos los problemas NP se hacen P. Enfoques para SAT Métodos Completos: Determinar si la fórmula tiene o no una asignación satisfactible. Programación lineal entera, Métodos Incompletos: Determinan si la fórmula es satisfactible, usando búsquedas heurísticas. GSAT Algoritmos Genéticos Recocido Simulado Búsqueda Tabú, Grasp

Problemas NP-Duros Los problemas considerados como los más difíciles en NP-Completo se definen como NP-Duros Las versión de optimización de un problema NP- Completo es NP-duro.