PROGRAMACIÓN II GEB 16:28

Documentos relacionados
CLASIFICACIÓN DE PROBLEMAS

Introducción a la Complejidad Computacional

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

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

Análisis de algoritmos

Complejidad Computacional

Algorítmica y Lenguajes de Programación. Complejidad computacional

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

Relación entre coeficientes de estructura normal N(X) y WCS(X) y el módulo de convexidad.

Tema I: Introducción. Computación Natural

Complejidad Computacional

Clases de complejidad computacional: P y NP

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

La investigación en Matemáticas. Pero no estaba ya todo inventado?

Complejidad Computacional. Andrés Abeliuk Estudiante de Ciencias de la computación U. de Chile

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

Carlos Delgado Kloos Ingeniería Telemática Univ. Carlos III de Madrid. Java: Complejidad / 1

4. Complejidad computacional

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-

I. Complejidad de Problemas. Sistemas Expertos Copyright 2005, David Mauricio

Análisis y Complejidad de Algoritmos. Completitud NP

Computabilidad y Lenguajes Formales: Introducción

Tema 2 Fundamentos de Complejidad Algorítmica

Problemas de decisión y su complejidad computacional

Complejidad computacional (Análisis de Algoritmos)

Introducción a las Ciencias de la Computación

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

Cálculos en la Naturaleza viva (I)

Introducción a la complejidad computacional

Teorema de Kirk y estructura normal en espacios de Banach

Una (muy) breve introducción a la teoría de la computación

I. Complejidad de Problemas

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

Ciencias de la Computación I

Demostración del problema del paro (Halting problem)

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

Computación Bio inspirada Tema VIII: Complejidad Computacional en Modelos Celulares

Problemas NP-completos

Técnicas de Resolución

Temas. Objetivo. Que el estudiante logre:

3-Coloring es NP-Completo

Introducción al Curso Seminario de Matemáticas

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

Contenido. Capítulo I Sistemas numéricos 2. Capítulo II Métodos de conteo 40

La Jerarquía Polinomial

COMPUTABILIDAD Y COMPLEJIDAD

Sea NxN = {(0,0), (0,1), (1,0), (0,2), (1,1), (2,0),... } el conjunto de pares de naturales,

Indice COMPUTABILIDAD Y COMPLEJIDAD. Introducción. Introducción

Fundamentos de Ciencias de la Computación

Computabilidad y Lenguajes Formales: Teoría de la Computabilidad: Máquinas de Turing

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

IN34A - Optimización

COMPUTABILIDAD Y COMPLEJIDAD

Lógica Proposicional: Deducciones formales

Un tercer problema NP-completo: Programación entera

PROGRAMA DE CURSO. Horas de Trabajo Personal Horas de Cátedra. Resultados de Aprendizaje

La primera nueva aventura de Sarando* Dr. Carlos Prieto.

Motivación: Problemas de optimización

Oferta de TFG s. Grado de Matemáticas. Curso Antonio Campillo.

Matemática computable

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

8. Complejidad Computacional

Aprendizaje Computacional y Extracción de Información

NP-Completitud. Agustín J. González ELO320: Estructura de Datos y Algoritmos 1er. Sem ELO320 1

Máquinas de Turing IIC3242. IIC3242 Máquinas de Turing 1 / 42

Variantes del problema de coloreo de grafos

Estructuras Discretas y Ciencias de la Computación

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

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

Problemas de Decisión

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]

Lógica proposicional: Lectura única

GUÍA DOCENTE DE COMPLEJIDAD Y COMPUTACIÓN

Introducción a la indecidibilidad

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

DATOS DE IDENTIFICACIÓN DEL CURSO

Programa de Asignatura

NP-completos. Elvira Mayordomo Universidad de Zaragoza

10. COLOREADO DE GRAFOS

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

Máquinas de Turing IIC3242. IIC3242 Máquinas de Turing 1 / 45

La lógica de segundo orden: Sintaxis

Análisis y Diseño de Algoritmos

La Máquina de Turing como precusora de la Teoría de la Computación (I)

Algoritmos y problemas

Coeficientes de Gao y Lao en espacios de Banach. Estructura normal.

ADA TEMA 6.2 Introducción a la NP completitud

PONTIFICIA UNIVERSIDAD CATOLICA DE CHILE ESCUELA DE INGENIERIA DEPARTAMENTO DE CIENCIA DE LA COMPUTACION

Contenido. Contenidos interactivos... xiii Plataforma de contenidos interactivos... xviii Prefacio... xix. Parte I Fundamentos...

Universidad Autónoma del Estado de México Licenciatura de Ingeniería en Sistemas Inteligentes 2007 Programa de estudios de la unidad de aprendizaje:

Modelos de Informática TeóricaCapítulo 4 - demostración de NP-completitud p.1/68

Problemas recursivamente enumerables

Problemas recursivamente enumerables

Problemas Matemáticos: de entenderlos a resolverlos

NPC. Más problemas NP-Completos. Complexity D.Moshkovitz

MARITZA HERRERA FLOREZ YUDY MARCELA BOLAÑOS RIVERA

Transcripción:

GEB 1

Temas Problemas demostrablemente irresolubles Problemas resolubles Clase P, NP, NP completa y CO-NP Objetivo Que el estudiante logre entender la clasificación de problemas y su importancia para la Ciencia de la Computación. 2 2

La Teoría de la Computabilidad se ocupa de construir un formalismo matemático para razonar sobre la existencia o no existencia de algoritmos efectivos para problemas particulares. Uno de los resultados fundamentales de Gödel, Turing y otros lógicos y matemáticos fue el de establecer la división de todos los problemas matemáticos imaginables en dos clases: los demostrablemente irresolubles los resolubles que admiten un algoritmo para su solución 3 3

Los problemas resolubles admiten un algoritmo para su solución. Los algoritmos poseen costos para la resolución del problema. El área de las ciencias de la computación que se ocupa de determinar los costos (espacio y tiempo) requeridos para la ejecución de un algoritmo es la Teoría de la Complejidad y los resultados que produce son medidas y criterios para determinar la eficiencia de los algoritmos. 4 4

DEMOSTRABLEMENTE IRRESOLUBLES Problema de la detención de la MT Décimo Problema de Hilbert CLASES RESOLUBLES DEMOSTRABLEMENTE DIFÍCILES (algoritmos ineficientes) Tienen algoritmos eficientes o aún no se ha demostrado su inexistencia CLASE P Deterministicamente Polinómicos CLASE NP No deterministicamente Polinómicos CLASE NP COMPLETA CLASE CO NP Complementarios de los NP 5 5

El problema de parada para máquinas de Turing es el ejemplo de problema irresoluble más conocido. Fue además el primer problema que se demostró formalmente que no tenía solución. Sea M una máquina de Turing arbitraria con un alfabeto de entrada Σ. Sea w Σ*. Puede decidirse si la máquina M parará con la entrada w? Solución: La respuesta a esta pregunta es negativa. No se puede determinar si una máquina de Turing se detiene con una entrada arbitraria. Relevancia en la Práctica Al ejecutar un programa, este puede terminar después de un número finito de pasos o puede nunca terminar (entrar en un bucle infinito). Existe un programa P, tal que, dado un programa cualquiera q y unos datos de entrada x, muestre como salida 1 si q con entrada x termina en un número finito de pasos o muestre como salida 0 si q con x entra a un bucle infinito. Conocer si existe el programa P es, en términos resumidos, el problema de la parada. 7 7

Hallar un algoritmo para determinar si toda ecuación diofántica (es decir, del tipo P(u 1, u 2,..., u n ) = 0 donde P es un polinomio con coeficientes enteros) tiene o no soluciones enteras. Fue demostrado recursivamente insoluble por Matiyasevich en 1971. Por ejemplo: x 2 + y 2 - z 2 = 0 tiene una solución x=3; y=4;z=5 6x 18 - x + 3 = 0 no tiene solución ya que x: 6x 18 > x-3 8 8 8

El Instituto Clay de Matemáticas (Cambridge, Massachusetts, EEUU) ha seleccionado siete problemas aún no resueltos, llamados "los siete problemas del milenio" P versus NP La conjetura de Hodge La conjetura de Poincaré La Hipótesis de Riemann El problema de Yang-Mills El problema de Navier-Stokes La conjetura de Birch y Swinnerton-Dyer 9 9

El objetivo primario del estudio de la complejidad es definir cuáles problemas son tratables y cuáles no, para luego considerar distintos grados de tratabilidad. Problema Intratable complejidad exponencial Tratable complejidad polinomial 11 11

Los matemáticos han podido demostrar que: Para algunos de estos difíciles problemas, nunca podrán prepararse algoritmos eficientes. Para muchos de los problemas importantes se tiene únicamente la sospecha de que será imposible encontrar algoritmos eficientes. 12 12

Coloreado de mapas: consiste en determinar si se podrán colorear todos los países del mapa usando un número específico de colores distintos de forma tal que ningún par de países fronterizos tengan el mismo color. En 1975 se demostró que 4 colores bastan para todo mapa. No se dispone de ningún algoritmo eficiente que permita responder si es posible colorear con tres tonos las distintas regiones de un mapa. El coloreado de mapas es un caso particular del coloreado de grafos. Cualquier mapa puede convertirse en un grafo reduciendo cada país a un punto y trazando una línea que una todo par de puntos cuyos países correspondientes tengan frontera común. 21 21

La satisfacibilidad proposicional es el problema de determinar si existe una asignación de valores de verdad a los átomos de una fórmula proposicional que la hagan verdadera. El Problema consiste en responder a la pregunta: Existe una combinación de valores de los elementos de una fórmula proposicional que la hacen verdadera? Si se tiene k entradas hay 2 k posibles alternativas para evaluar, para valores grandes de k el problema se vuelve intratable. 22 22

2SAT: resoluble en tiempo polinomial (problema de clase P). Para r>2: son NP-completos (r-sat: cada cláusula tiene r literales). Todos son equivalentes al 3SAT. Karp descubrió que muchos problemas importantes de investigación operativa, incluido el colorear un gráfico con tres colores, son también de la misma dificultad que cualquiera de los problemas que pueden ser asignados a la clase NP, en otras palabras, son NP-completos. Puede demostrarse directamente, trasladando un problema al dominio del otro, que el problema de coloreado del grafo y el problema de satisfactibilidad son equivalentes. Se ha demostrado por métodos similares que varios centenares de problemas, que antes se tuvieron por distintos, son en realidad variantes unos de otros, cuyas diferencias son puramente notacionales. Todos estos problemas son equivalentes al de satisfactibilidad, y son todos, por lo tanto NP-completos. 23 23

Muchas veces transformamos un problema en otro. Una reducción es una transformación especial que se utiliza para demostrar la NP- Completitud de un problema. La reducción de problemas es una técnica que permite reducir la solución de un problema a la solución de otro problema cuya solubilidad o insolubilidad ya se conoce. Si se puede encontrar un algoritmo que solucione un problema P partiendo de la solución de P', deducimos que: 1- Si P' es soluble, lo es P. 2- Si P es insoluble, lo es P'. Una reducción de un problema P = <D, R, q, I> a un problema P'= <D', R', q', I' > es un par de funciones (F1, F2) tal que: F1 : D D' F2 : R' R y ( d D) ( r' R' ): (F1 (d), r' ) q' (d, F2 (r' )) q 24 24

PROBLEMAS DEMOSTRABLEMENTE IRRESOLUBLES Problema de la detención de la MT Décimo problema de Hilbert PROBLEMAS DEMOSTRABLEMENTE DIFÍCILES Probl. de los números compuestos CLASE NP Completa Problema de Hamilton Problema SAT Problema de la clique CLASE co-np CLASE P Problema de Euler CLASE NP 26 26

Problemas Irresolubles Resolubles Problemas Demostrablemente difíciles Clase P, NP y NP-Completa La importancia de poder demostrar que un problema es NP completo es que si algún problema NP completo tuviese un algoritmo que lo resolviese en tiempo polinómico, entonces todos los problemas de la clase NP también lo tendrían. Por desgracia no se ha podido encontrar hasta ahora tal algoritmo para ningún problema NP completo. Aún peor, nadie ha podido demostrar hasta ahora que tal algoritmo no pueda existir. Para ser un buen diseñador de algoritmos, se debe entender las base de la teoría de la complititud-np. Si se da cuenta de que un problema es NP-Completo, entonces, tiene bastante evidencia acerca de la intratabilidad del problema. 27 27