Introducción a la Complejidad Computacional
|
|
- José Ayala Iglesias
- hace 5 años
- Vistas:
Transcripción
1 Introducción a la Complejidad Computacional El análisis sobre decidibilidad que hemos hecho nos permite saber qué podemos hacer y qué no podemos hacer. Pero nada sabemos de qué tan difícil resolver los problemas en términos de complejidad computacional. Más que clasificar los problemas en cuanto a su tiempo de ejecución, nos interesa clasificarlos en términos de su tratabilidad. Diremos que un problema de decisión es tratable si se conoce un algoritmo polinomial que lo resuelva, para cada instancia posible del problema. Normalmente utilizaremos indistintamente los términos tratable y eficiente. Consideremos el problema de satisfacibilidad de lógica proposicional: Sea ϕ L(P ), es ϕ satisfactible? Jorge Baier Aranda, PUC << Atrás 250
2 Sabemos que este problema es decidible, pero, en términos computacionales qué tan difícil es resolverlo? Lamentablemente, para este problema no se conoce un algoritmo polinomial (eficiente)... Pero tampoco se ha demostrado que no exista. Sin embargo, existe suficiente evidencia para creer que efectivamente no existe un algoritmo eficiente para resolverlo. A continuación detallaremos un poco más acerca de la teoría de complejidad que hay detrás de estas afirmaciones. Jorge Baier Aranda, PUC << Atrás 251
3 Qué es resolver un problema de decisión? Llevemos esta pregunta a un ejemplo más sencillo: qué significa determinar si una fórmula proposicional ϕ es satisfactible? significa que debemos encontrar al menos una valuación σ tal que σ = ϕ. En este caso, la valuación corresponde a una solución al problema. Una vez encontrada esta valuación, podemos dar una respuesta. Para analizar qué tan complejo es resolver un problema de decisión deberemos preguntarnos qué tan complejo es generar la solución. Jorge Baier Aranda, PUC << Atrás 252
4 Algunos problemas de decisión Los siguientes son algunos problemas de decisión típicos: 1. Dado un grafo (V, E), existe un camino cerrado que recorra a todos los nodos del grafo (circuito hamiltoniano). 2. Dada una fórmula en 3-FNC (una fórmula proposicional con a lo más tres literales por cláusula), esta satisfactible? (3SAT) 3. La misma pregunta pero para cláusulas con a los más 2 literales. (2SAT) 4. Dado un conjunto de enteros a 0, a 1,..., a n y un entero b, existe un conjunto de enteros x 0, x 1,..., x n? tales que a 0 x 0 + a 1 x a n x n b? (Programación entera) 5. Dado un número N, existen dos factores P y Q distintos de 1 tales que N = P Q (NUMCOMP). Jorge Baier Aranda, PUC << Atrás 253
5 Las clases P y N P Las clases P y N P son clases de problemas de decisión. Un problema de decisión pertenece a la clase P si existe un algoritmo determinístico polinomial, en el largo de la entrada, que lo resuelve. El algoritmo es polinomial para cualquier entrada. qué es un algoritmo determinístico? Es esencialmente una máquina de Turing como la que hemos visto hasta ahora. Algunos ejemplos de problemas de decisión en la clase P: dado un grafo (V, E), es d la distancia mínima entre el nodo v 1 y el nodo v 2 (v 1, v 2 V )? dada una lista de números L, es la lista L una ordenación ascendente de L? Un problema pertenece a la clase N P si es que es posible generar una solución con una máquina no determinística y luego verificarla en tiempo polinomial. Jorge Baier Aranda, PUC << Atrás 254
6 La N de N P viene de la generación no determinística y la P de la verificación polinomial. El proceso de generación y verificación puede ser aclarado con el siguiente esquema: Instancia del problema Algoritmo Adivinador de la solución (no determinístico) Algoritmo Verificador (determinístico y polinomial) Sí No Jorge Baier Aranda, PUC << Atrás 255
7 Algoritmos no determinísticos Así como relacionábamos los algoritmos con las Máquinas de Turing, relacionaremos los algoritmos no determinísticos con las máquinas de Turing no determinísticas. Las MT s no determinísticas, bajo una misma entrada, pueden tener distintas posibles ejecuciones. En la siguiente figura se muestran distintas alternativas de ejecución. Jorge Baier Aranda, PUC << Atrás 256
8 estado palabra en la cinta (q 0, w) (p, w 1 ) (r 1, x 1 ) (r 2, x 2 ) (r 3, x 3 ) (q f, y) (q f, y ) (q f, y ) (q f, y ) En esta figura representa un árbol de ejecución, en el cual cada nodo (q, w) es un par que contiene el estado de la máquina y el string que contiene la cinta. Cada flecha corresponde a una transición. En el estado p, la máquina podría tomar Jorge Baier Aranda, PUC << Atrás 257
9 cualquiera de las alternativas r 1, r 2 o r 3 Las hojas del árbol contienen los estados en los que la máquina se detiene junto con la solución al problema, representada por la palabra en la cinta. Es importante notar que algunas de las ramas pueden ser infinitas. Decimos que la máquina ha resuelto el problema para una instancia w si al menos una hoja del árbol construido a partir de (q 0, w) (con q 0 el estado inicial de la máquina) contiene una hoja (p, w F ) tal que w F representa una solución para el problema. Podemos decir que el tiempo que toma el algoritmo en llegar a una solución es proporcional al largo de la rama hasta la hoja que la representa. Una forma alternativa de definir la pertenencia de un problema P a la clase N P es que, para toda instancia w de P existe una rama del arbol de ejecución acotada por un polinomio y que tiene como hoja a una solución para el problema. Jorge Baier Aranda, PUC << Atrás 258
10 Reducción Polinomial Dentro de la clase de problemas N P existen algunos problemas que son más difíciles que otros. Tal como en el caso de los algoritmos de decisión, diremos que un problema de decisión P 1 (con un lenguaje asociado L 1 ) es reducible a un problema de decisión P 2 (con un lenguaje asociado L 2 12 ) si es que es posible encontrar un función de transformación f tal que En este caso decimos que L 1 L 2. w L 1 ssi f(w) L 2 Ahora, si la función f es computable en un tiempo polinomial dependiente del largo de la entrada, diremos que L 1 pol L 2 12 En el futuro, designaremos los problemas de decisión sólo por su lenguaje. Jorge Baier Aranda, PUC << Atrás 259
11 Para qué puede servir ahora el concepto de reducción? Por el momento, si sabemos que L es un problema que pertenece a la clase P y demostramos que L pol L entonces habremos demostrado que el problema L también pertenece a la clase P Por qué? Porque en tiempo polinomial transformamos una instancia del problema L a un problema de L y luego usamos el algoritmo de decisión para L (polinomial) para resolver el problema. Jorge Baier Aranda, PUC << Atrás 260
12 Problemas NP-completos Los problemas NP-completos son los más difíciles de la clase NP. Ya veremos por qué... Definición 30. Un problema de decisión L es NP-completo ssi: L N P Para todo lenguaje L N P es posible demostrar que L pol L En términos prácticos esto significa que si encontramos un algoritmo eficiente para resolver un problema NP-completo, podremos resolver eficientemente todos los problemas de la clase NP. Teorema 8. [de Cook] El problema de decisión asociado al siguiente lenguaje: Es NP-completo. SAT = {ϕ es fórmula proposicional en FNC satisfactible} Jorge Baier Aranda, PUC << Atrás 261
13 Cómo podemos demostrar esto? Sabemos que si un problema está en la clase N P, entonces éste es resuelto por una MT no determinística cuyo tiempo de ejecución está acotado por un polinomio en el largo de la entrada. En términos resumidos, la idea es que para toda MT no determinística cuyo tiempo de ejecución está acotado por un polinomio p en el largo de la entrada, es posible construir una fórmula proposicional, en forma normal conjuntiva, que describe el estado de la máquina y el estado de la cinta en todo momento de la computación de la solución. La fórmula construida es satisfactible ssi la máquina acepta. Esto significa que cualquier problema de la clase N P puede ser reducido a SAT. Esto implica que basta con resolver SAT eficientemente, para resolver eficientemente todos los problemas de la clase N P. Una vez que se estableció que SAT es NP-completo, se demostró que muchos otros problemas también son NP-completos: Jorge Baier Aranda, PUC << Atrás 262
14 Circuito Hamiltoniano. 3-SAT. Progamación entera. Matching de expresiones regulares de Perl. Buscaminas (!) Sin embargo, hay otros problemas que pertenecen a la clase NP, pero que aún no se demuestra si son NP-completos: NUMCOMP (problema de encontrar los factores no triviales de un número natural). Jorge Baier Aranda, PUC << Atrás 263
15 Cómo demostramos que L es NP-completo? Lo que hay que demostrar son dos cosas: 1. Que el problema pertenece a la clase N P. Para demostrar esto, basta que sea posible verificar en tiempo polinomial una solución para el problema. 2. Que todos los problemas de la clase N P se pueden reducir a L. Para hacer esto basta reducir cualquier problema NP-completo a L. La idea es que, dada tal reducción, inmediatamente sabemos que todos los problemas de N P se pueden reducir a L. En el siguiente esquema se muestra esta idea en forma gráfica lo que sucede si reducimos SAT a L. N P CLIQUE MINESWEEPER SAT L CH 3 SAT... Jorge Baier Aranda, PUC << Atrás 264
16 3-SAT es NP-completo La demostración de este hecho la haremos reduciendo SAT a 3-SAT. Debemos demostrar que cualquier problema de SAT lo podemos reducir a un problema 3-SAT. Supongamos que tenemos una fórmula arbitrara ϕ L(P ) en FNC. La función de transformación la podemos definir de la siguiente manera: Jorge Baier Aranda, PUC << Atrás 265
17 Reemplazar cada cláusula l 1 l 2 l 3... l n Por: (l 1 l 2 z 1 ) ( z 1 l 3 z 2 )... ( z k 2 l k z k 1 )... ( z n 4 l n 2 z n 3 )... ( z n 3 l n 1 l n ) donde n 4. Es sencillo darse cuenta que la cláusula original es satisfecha si y sólo si este nuevo conjunto es satisfecho. Nuevamente, estas transformaciones están acotadas por un polinomio en el largo de la cláusula. Jorge Baier Aranda, PUC << Atrás 266
18 Finalmente, podemos concluir que por lo que 3-SAT es NP-completo. SAT pol 3-SAT Jorge Baier Aranda, PUC << Atrás 267
19 CLIQUE es NP-completo Denominamos CLIQUE al siguiente problema: Dado un grafo G y un entero k, es posible encontrar un subgrafo de G completo de tamaño k? 13 Claramente CLIQUE pertenece a N P. Ahora deberemos hacer una reducción de SAT a N P. Supongamos que tenemos una fórmula en FNC: con n variables proposicionales. C 1 C 2... C k Formaremos un grafo G con un nodo por cada literal que aparece en cada cláusula. Cada nodo está etiquetado con el literal que le dio origen. 13 Un grafo completo es aquel en el que todos los nodos están conectados entre sí. Jorge Baier Aranda, PUC << Atrás 268
20 Agregaremos un arco entre un nodo etiquetado con l y un nodo etiquetado con l si y solo si: l y l están en cláusulas distintas. l no es el literal complementario de l. Supongamos la siguiente fórmula: (x 1 x 2 x 3 ) ( x 1 x 3 ) (x 3 x 2 ) El grafo resultante queda como: x 1 x 2 x 3 x 1 x 3 x 2 x 3 Jorge Baier Aranda, PUC << Atrás 269
21 Ahora deberemos demostrar que G tiene un subgrafo completo de tamaño k ssi ϕ es satisfactible.. Como todos los miembros del subgrafo pertenecen a cláusulas distintas, cualquier valuación σ que hace verdadero a todo literal en el subgrafo hace verdadera a la fórmula. (recordemos que dos literales complementarios no pueden estar en un subgrafo completo). Si la fórmula ϕ es satisfecha, debe existir una valuación σ que haga verdaderos a al menos un literal en cada cláusula. Sean l 1 C 1, l 2 C 2,..., l k C k estos literales. Notemos que no es posible que existan dos literales complementarios l i y l j (1 i < j k). Necesariamente, entonces, podemos construir arcos entre cada par de nodos en donde aparecen dichos literales siguiendo las reglas de construcción del grafo. Jorge Baier Aranda, PUC << Atrás 270
22 2-SAT está en P Recordemos que 2SAT es el problema de satisfacer fórmulas en 2-FNC (con exactamente dos literales por cláusula). Una fórmula en 2-FNC se ve de la siguiente manera: ϕ = (l 1 m 1 ) (l 2 m 2 )... (l n m n ), donde l i, l j son literales que corresponden a un conjunto de variables P. Reduciremos este problema a encontrar un camino con ciertas características en un grafo formado a partir de las variables en P. Se construye un grafo G = (V, E) en el cual V = {l l P o l P }, es decir, para cada variable p P hay un nodo etiquetado con p y otro etiquetado con p. Jorge Baier Aranda, PUC << Atrás 271
23 Por otro lado, por cada l i m i, agregamos una arista entre l i y m i y entre m i y l i (estos arcos provienen de considerar la disyunción como una implicación). Proposición: El grafo construido contiene un ciclo l... l... l si y solo si ϕ es insatisfactible. Supongamos que G contiene un ciclo de ese estilo y que ϕ es satisfactible. En ese caso sabemos que existe un σ tal que σ = ϕ. Hay dos casos: σ(l) = 1. Debido a la estructura del ciclo esto obliga a que σ(l) = 1, lo cual es una contradicción. σ(l) = 0. Lleva a una contradicción, igual que en el caso anterior. Si no hay un ciclo de este estilo, es posible siempre construir una valuación σ tal que σ = ϕ de la siguiente manera: 1. Para cada literal l sin un valor de verdad asignado, le asignamos valor de verdad verdadero. 2. Asignamos valor de verdad verdadero a todos los nodos que son alcanzables desde l. 3. Asignamos valor de verdad falso a las negaciones de cada uno de los nodos asignados. Jorge Baier Aranda, PUC << Atrás 272
24 4. Si aún existen nodos sin valor de verdad asignado, volver al paso 1. Este algoritmo siempre producirá valuaciones consistentes, ya que nunca es posible que se asigne al mismo tiempo valor de verdad 1 y valor de verdad 0 a un mismo nodo (no hay ciclos). Por otra parte, con esta asignación se satisfacen todos las disyunciones de la fórmula que están representadas a través de los arcos del grafo. Importante: Este grafo se puede construir en tiempo polinomial en el largo de la fórmula. Una vez demostrado este teorema, para chequear la satisfactibilidad de.ϕ, basta con revisar si existe un camino l... l... l en el grafo. Este problema es polinomial! Existe un algoritmo O(n 3 ) que encuentra las distancias entre todo par de nodos de un grafo de n nodos. Jorge Baier Aranda, PUC << Atrás 273
Clases de complejidad computacional: P y NP
1er cuatrimestre 2006 La teoría de Se aplica a problemas de decisión, o sea problemas que tienen como respuesta SI o NO (aunque es sencillo ver que sus implicancias pueden extenderse a problemas de optimización).
Más detallesDemostraciones por resolución
Demostraciones por resolución A lo largo del curso, hemos prometido insistentemente que hay métodos para mecanizar demostraciones En particular, queremos un método, dado una base de conocimiento Σ y una
Más detallesProblemas computacionales, intratabilidad y problemas NP completos. 26 de agosto de Facultad de Ingeniería. Universidad del Valle
Complejidad Complejidad, in NP completos Facultad de Ingeniería. Universidad del Valle 26 de agosto de 2014 Contenido Complejidad 1 2 3 Complejidad computacional Complejidad Notación De acuerdo a la complejidad
Más detallesComplejidad - Problemas NP-Completos. Algoritmos y Estructuras de Datos III
Complejidad - Problemas NP-Completos Algoritmos y Estructuras de Datos III Teoría de Complejidad Un algoritmo eficiente es un algoritmo de complejidad polinomial. Un problema está bien resuelto si se conocen
Más detallesProblemas computacionales, intratabilidad y problemas NP completos. Febrero Facultad de Ingeniería. Universidad del Valle
Complejidad Complejidad, in NP completos Facultad de Ingeniería. Universidad del Valle Febrero 2017 Contenido Complejidad 1 2 3 Complejidad computacional Complejidad Introducción En ciencias de la computación
Más detallesComplejidad Computacional
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
Más detallesProblemas de Decisión
Problemas de Decisión La motivación de este capítulo puede estar dado por lo siguiente: Dado un conjunto Σ de fórmulas proposicionales en L(P ), existe un algoritmo general para determinar si Σ = ϕ Qué
Más detallesTeoría de la Computación puesta en Práctica
Teoría de la Computación puesta en Práctica Marcelo Arenas M. Arenas Teoría de la Computación puesta en Práctica 1 / 24 Problema a resolver WiMAX (Worldwide Interoperability for Microwave Access): estándar
Más detallesPROGRAMACIÓN II GEB 16:28
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
Más detallesTeorías. Una teoría acerca de una base de conocimiento Σ contendrá no sólo a Σ sino que a todo lo que se puede deducir de Σ.
Teorías Qué es una teoría? Ya hemos usado antes la noción de base de conocimiento Este concepto se refiere a un conocimiento, representado a través de axiomas. Una teoría acerca de una base de conocimiento
Más detallesMáquinas de Turing no-determinísticas (MTND)
Máquinas de Turing no-determinísticas (MTND) Una MTND tiene los mismos componentes que vimos para una MTD, con la siguiente excepción. Un programa en una MTND es una tabla que mapea un par (q i, t i )
Más detallesProblemas NP-completos
Análisis de Algoritmos Problemas NP-completos Dra. Elisa Schaeffer elisa.schaeffer@gmail.com PISIS / FIME / UANL Problemas NP-completos p. 1 Problemas NP-completos La clase NP contiene numerosos problemas
Más detallesLógica Proposicional: Deducciones formales
Lógica Proposicional: Deducciones formales Pablo Barceló P. Barceló Resolución Proposicional - CC52A 1 / 24 La noción de consecuencia lógica La noción de consecuencia es fundamental para cualquier lenguaje,
Más detallesCLASES DE PROBLEMAS. 1) Introducción 2) Problemas de decisión, Lenguajes, Codificación. y la clase NP-Completa. 6) Otras clases de problemas 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 Computers and Intractability NP- guide to the theory of 1. Introducción:
Más detallesTema IV: NP completitud
Tema IV: NP completitud Definición: Un lenguaje L Σ es NP duro sii para cada L NP se tiene que L p L. Proposición 1: Si L 1 es NP duro y L 1 p L 2, entonces L 2 es NP duro. Definición: Un lenguaje L Σ
Más detallesADA TEMA 6.2 Introducción a la NP completitud
ADA TEMA 6.2 Introducción a la Universitat Politècnica de Catalunya 27 de abril de 2006 1 2 3 4 5 6 1 2 3 4 5 6 Hasta ahora en ADA: Hemos estudiado algoritmos para distintos problemas. Estos algoritmos
Más detallesFormas clausulares Teoría de Herbrand Algoritmo de Herbrand Semidecidibilidad. Teoría de Herbrand. Lógica Computacional
Teoría de Herbrand Lógica Computacional Departamento de Matemática Aplicada Universidad de Málaga Curso 2005/2006 Contenido 1 Formas clausulares Refutación y formas clausulares 2 Teoría de Herbrand Universo
Más detallesAlgorítmica y Lenguajes de Programación. Complejidad computacional
Algorítmica y Lenguajes de Programación Complejidad computacional Complejidad computacional. Introducción La complejidad computacional estudia la dificultad inherente de problemas de importancia teórica
Más detallesMinimización de Aútomatas Finitos
Minimización de Aútomatas Finitos Supongamos que para un AFD M = (Q, Σ, δ, q 0, F ) definimos la siguiente relación R M : xr M y ssi δ(q 0, x) = δ(q 0, y) Claramente, podemos notar que esta relación es
Más detallesPONTIFICIA UNIVERSIDAD CATOLICA DE CHILE ESCUELA DE INGENIERIA DEPARTAMENTO DE CIENCIA DE LA COMPUTACION
PONTIFICIA UNIVERSIDAD CATOLICA DE CHILE ESCUELA DE INGENIERIA DEPARTAMENTO DE CIENCIA DE LA COMPUTACION Lógica para Ciencia de la Computación - IIC2213 Guía 1 - Lógica proposicional 1. Dados dos strings
Más detallesTema 8: Teorema de Herbrand. Tableros en lógica de primer orden
Tema 8:. en de primer orden Dpto. Ciencias de la Computación Inteligencia Artificial Universidad de Sevilla Lógica Informática (Tecnologías Informáticas) Curso 2014 15 Contenido Sea Γ un conjunto de fórmulas
Más detalles3-Coloring es NP-Completo
3-Coloring es NP-Completo Lic. Luis Miguel Prado Llanes Posgrado en Ingeniería de Sistemas Universidad Autónoma de Nuevo León 26 de mayo de 2008 Prado Llanes (PISIS) 3-Coloring 26.05.2008 1 / 36 Contenido
Más detallesAnálisis de algoritmos
Tema 13: Completitud NP M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom edgardoadrianfrancom 1 Contenido Introducción P y NP La clase P (Polinómicamente acotado)
Más detallesColoreo de Grafos. Algoritmos y Estructuras de Datos III
Coloreo de Grafos Algoritmos y Estructuras de Datos III Coloreo de nodos Definiciones: Un coloreo (válido) de los nodos de un grafo G = (V, X ) es una asignación f : V C, tal que f (v) f (u) (u, v) E.
Más detallesAnálisis y Complejidad de Algoritmos. Completitud NP
Análisis y Complejidad de Algoritmos Completitud NP Arturo Díaz Pérez Sección de Computación Departamento de Ingeniería Eléctrica CINVESTAV-IPN Av. Instituto Politécnico Nacional No. 2508 Col. San Pedro
Más detallesINAPROXIMABILIDAD. Curso: Algoritmos de aproximación Docente: Pablo Romero Estudiante: Daniel La Buonora Octubre de 2016
INAPROXIMABILIDAD Curso: Algoritmos de aproximación Docente: Pablo Romero Estudiante: Daniel La Buonora Octubre de 2016 Plan de la presentación - Definición de inaproximabilidad - Ejemplo con el problema
Más detallesProblemas de decisión y su complejidad computacional
Problema de decisión Problemas de decisión y su complejidad computacional! Los problemas que tienen dos respuestas posibles! Sí o no! Verdad o falso! Posible o imposible Instancia! Existe o no existe!
Más detallesTema 8: Teorema de Herbrand. Tableros en lógica de primer orden
Tema 8:. en de primer orden Dpto. Ciencias de la Computación Inteligencia Artificial Universidad de Sevilla Lógica Informática (Tecnologías Informáticas) Curso 2016 17 Contenido Sea Γ un conjunto de fórmulas
Más detallesResolución Proposicional
Resolución Proposicional IIC2213 IIC2213 Resolución Proposicional 1 / 19 Resolución proposicional Sabemos que Σ = ϕ si y sólo si Σ { ϕ} es inconsistente. Cómo verificamos si Σ { ϕ} es inconsistente? El
Más detallesUn tercer problema NP-completo: Programación entera
Un tercer problema NP-completo: Programación entera Un problema muy estudiado por su utilidad práctica: PROG-ENT = {(A, b) A x b es un sistema de ecuaciones lineales enteras que tiene solución}. Teorema
Más detallesCurso: Teoría de la Computación. Unidad 2, Sesión 7: Complejidad computacional
Curso: Teoría de la Computación. Unidad 2, Sesión 7: Complejidad computacional Instituto de Computación, Facultad de Ingeniería Universidad de la República, Montevideo, Uruguay dictado semestre 2-2009
Más detallesMáquinas de Turing IIC3242. IIC3242 Máquinas de Turing 1 / 42
Máquinas de Turing IIC3242 IIC3242 Máquinas de Turing 1 / 42 Complejidad Computacional Objetivo: Medir la complejidad computacional de un problema. Vale decir: Medir la cantidad de recursos computacionales
Más detallesNP Completitud I: SAT y 3-SAT. Febrero 2017
s NP NP Completitud I: SAT y Facultad de Ingeniería. Universidad del Valle Febrero 2017 Contenido s NP 1 s NP 2 Contenido s NP 1 s NP 2 s NPC s NP Definición Un problema de decisión NP es considerado NP
Más detallesEl problema de satisfacción
El problema de satisfacción Definición Un conjunto de fórmulas Σ es satisfacible si existe una valuación σ tal que σ(σ) = 1. En caso contrario, Σ es inconsistente. IIC2213 Lógica Proposicional 33 / 42
Más detallesCLASIFICACIÓN DE PROBLEMAS
UNIVERSIDAD NACIONAL DE SANTIAGO DEL ESTERO Facultad de Ciencias Exactas y Tecnologías Licenciatura en Sistemas de Información 2009 CLASIFICACIÓN DE PROBLEMAS 1 CLASES DE PROBLEMAS Uno de los resultados
Más detallesSea NxN = {(0,0), (0,1), (1,0), (0,2), (1,1), (2,0),... } el conjunto de pares de naturales,
Ejercicio 1.- Sea NxN = {(0,0), (0,1), (1,0), (0,2), (1,1), (2,0),... } el conjunto de pares de naturales, y la función J : N 2 N definida por : J(m,n) = 1/2(m+n)(m+n+1) + m a) Es J inyectiva? Sobreyectiva?
Más detallesEl algoritmo de Resolución
El algoritmo de Resolución El algoritmo de resolución es casi idéntico al de lógica proposicional: Suponga que quiere demostrar que ϕ es consecuencia lógica de Σ. El método es el siguiente: Transforme
Más detallesTécnicas de Resolución
Técnicas de Resolución Pablo Barceló P. Barceló Técnicas de resolución - CC52A 1 / 1 Resolución: Problemas Si no somos cuidadosos al elegir resolventes el proceso de resolución puede volverse muy ineficiente.
Más detallesTema 1: Sintaxis y Semántica de la Lógica Proposicional
Tema 1: Sintaxis y Semántica de la Lógica Proposicional Dpto. Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla Lógica y Computabilidad Curso 2010 11 LC, 2010 11 Lógica Proposicional
Más detallesLa lógica de segundo orden: Sintaxis
La lógica de segundo orden: Sintaxis Dado: Vocabulario L Definición La lógica de segundo orden (LSO) sobre L es definida como la extensión de LPO que incluye las siguientes reglas: Si t 1,..., t k son
Más detallesNPC. Más problemas NP-Completos. Complexity D.Moshkovitz
NPC Más problemas NP-Completos Introducción Objetivos: - Introducir más NP-Completos. Resumen: 3SAT CLIQUE INDEPENDENT-SET 2 Método Cómo demostramos que un problema está en NPC? Primero probamos que el
Más detallesEliminación de Símbolos Inútiles
Eliminación de Símbolos Inútiles Veremos cómo eliminar los símbolos inútiles de una gramática. Lo haremos con dos algoritmos, que son definidos en la demostración de los siguientes lemas. Lema 1 Dada una
Más detallesIntroducción a la complejidad computacional
Introducción a la complejidad computacional definida sobre anillos arbitrarios 18 de junio de 2016 Fuente: http://www.utmmcss.com/ Por qué otro modelo? Continuo vs discreto. Intuición interiorizada del
Más detallesCaminos. Sobre los problemas de encontrar caminos en grafos. Complexity D.Moshkovitz
Caminos Sobre los problemas de encontrar caminos en grafos 1 Introdución Objetivos: Introducir más problemas sobre grafos. Resumen: Caminos Hamiltonianos Caminos Eulerianos 2 Camino Hamiltoniano Entrada:
Más detallesLógica proposicional: Lectura única
Lógica proposicional: Lectura única Una fórmula ϕ es atómica si ϕ = p, donde p P. Una fórmula ϕ es compuesta si no es atómica. - Si ϕ = ( α), entonces es un conectivo primario de ϕ y α es una subfórmula
Más detalles4. Complejidad computacional
Fundamentos de Programación Entera 4. Complejidad computacional Carlos Testuri Germán Ferrari Departamento de Investigación Operativa Instituto de Computación Facultad de Ingeniería Universidad de la República
Más detallesLógicas Descriptivas (Description Logics)
Lógicas Descriptivas (Description Logics) Las Lógicas Descriptivas (LDs) son una evolución natural de las redes semánticas y los frames, usados tradicionalmente para representar conocimiento taxonómico
Más detallesMáquinas de Turing IIC3242. IIC3242 Máquinas de Turing 1 / 45
Máquinas de Turing IIC3242 IIC3242 Máquinas de Turing 1 / 45 Complejidad Computacional Objetivo: Medir la complejidad computacional de un problema. Vale decir: Medir la cantidad de recursos computacionales
Más detallesEn esta sección se presenta detalles acerca del diseño para computar la función Get- 6.1 Observaciónes en la Estructura de Teorías para
Capítulo 6 Implementación En esta sección se presenta detalles acerca del diseño para computar la función Get- SafeBeliefs y hacer posible su implementación. 6.1 Observaciónes en la Estructura de Teorías
Más detallesTema 3: Algoritmos para SAT: Tableros y algoritmo DPLL
Tema 3: : y DPLL Dpto. Ciencias de la Computación Inteligencia Artificial Universidad de Sevilla Lógicas Informática (Tecnologías Informáticas) Curso 2016 17 Contenido Presentaremos dos s para estudiar
Más detallesClase Práctica 1 - Inducción estructural, conectivos adecuados y consecuencia - Viernes 23 de marzo de 2012
Lógica y Computabilidad Primer Cuatrimestre 2012 Clase Práctica 1 - Inducción estructural, conectivos adecuados y consecuencia - Viernes 23 de marzo de 2012 Definición 1. Notaremos con Form al conjunto
Más detallesModelos de Informática TeóricaCapítulo 4 - demostración de NP-completitud p.1/68
Modelos de Informática Teórica Capítulo 4 - demostración de NP-completitud Serafín Moral Callejón Departamento de Ciencias de la Computación Universidad de Granada Modelos de Informática TeóricaCapítulo
Más detallesDepartamento de Tecnologías de la Información. Tema 7. Complejidad temporal. Ciencias de la Computación e Inteligencia Artificial
Departamento de Tecnologías de la Información Tema 7 Complejidad temporal Ciencias de la Computación e Inteligencia Artificial Índice 7.1 Medidas de complejidad 7.2 La clase P 7.3 La clase NP 7.4 NP-Completitud
Más detallesTema 2: Métodos de Deducción para la Lógica Proposicional
Tema 2: Métodos de Deducción para la Lógica Proposicional Dpto. Ciencias de la Computación Inteligencia Artificial Universidad de Sevilla Lógica y Computabilidad Curso 2010 11 LC, 2010 11 Métodos de Deducción
Más detallesRecordatorio Basico de Álgebra para Lógica
Recordatorio Basico de Álgebra para Lógica Guido Sciavicco 1 Conjuntos Definición 1 Un conjunto es una colleccion, finita o infinita, de elementos. Ejemplo 2 La colleccion de los elementos a, b, c, denotada
Más detallesTema 4: (Tecnologías Informáticas) Curso Dpto. Ciencias de la Computación Inteligencia Artificial Universidad de Sevilla
Tema 4: Proposicional Dpto. Ciencias de la Computación Inteligencia Artificial Universidad de Sevilla Lógica Informática (Tecnologías Informáticas) Curso 2015 16 Contenido Los tableros semánticos proporcionan
Más detallesTema 2: (Tecnologías Informáticas) Curso Dpto. Ciencias de la Computación Inteligencia Artificial Universidad de Sevilla
y Tema 2: y Dpto. Ciencias de la Computación Inteligencia Artificial Universidad de Sevilla Lógica Informática (Tecnologías Informáticas) Curso 2017 18 Contenido y En este tema presentaremos mecanismos
Más detallesExamen. Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación. Segundo Semestre, 2003.
Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación Examen IIC 2222 Teoría de Autómatas y Lenguajes Formales Segundo Semestre, 2003 Este examen tiene
Más detallesQué es la lógica? Esfuerzos por modelar estas leyes del pensamiento humano. Han existido desde la antigüedad.
Qué es la lógica? La definición del Diccionario General de la Lengua Española dice: Disciplina que estudia los principios formales del conocimiento humano, es decir, las formas y las leyes más generales
Más detallesCapítulo 4: Grafos Clase 2: Caminos, Circuitos Eulerianos y Hamiltonianos
Capítulo 4: Grafos Clase 2: Caminos, Circuitos Eulerianos y Hamiltonianos Matemática Discreta - CC3101 Profesor: Pablo Barceló P. Barceló Matemática Discreta - Cap. 4: Grafos 1 / 29 Navegación de grafos
Más detallesLógica Proposicional IIC2213. IIC2213 Lógica Proposicional 1/42
Lógica Proposicional IIC2213 IIC2213 Lógica Proposicional 1/42 Por qué necesitamos la lógica? Necesitamos un lenguaje con una sintaxis precisa y una semántica bien definida. Queremos usar este lenguaje
Más detallesConjuntos, relaciones y funciones Susana Puddu
Susana Puddu 1. Repaso sobre la teoría de conjuntos. Denotaremos por IN al conjunto de los números naturales y por ZZ al de los enteros. Dados dos conjuntos A y B decimos que A está contenido en B o también
Más detallesLógica Proposicional IIC2213. IIC2213 Lógica Proposicional 1/42
Lógica Proposicional IIC2213 IIC2213 Lógica Proposicional 1/42 Por qué necesitamos la lógica? Necesitamos un lenguaje con una sintaxis precisa y una semántica bien definida. Queremos usar este lenguaje
Más detallesMARITZA HERRERA FLOREZ YUDY MARCELA BOLAÑOS RIVERA
ALGORITMOS DE APROXIMACIÓN PARA PROBLEMAS NP DUROS MARITZA HERRERA FLOREZ YUDY MARCELA BOLAÑOS RIVERA UNIVERSIDAD DEL CAUCA FACULTAD DE CIENCIAS NATURALES, EXACTAS Y DE LA EDUCACIÓN DEPARTAMENTO DE MATEMÁTICAS
Más detallesNP-Completitud. Agustín J. González ELO320: Estructura de Datos y Algoritmos 1er. Sem ELO320 1
NP-Completitud Agustín J. González ELO320: Estructura de Datos y Algoritmos 1er. Sem. 2002 ELO320 1 Introducción Hasta ahora todos los algoritmos estudiados han sido algoritmos de tiempo polinomial: para
Más detallesIntroducción a la Complejidad Computacional
Introducción a la Complejidad Computacional IIC2213 IIC2213 Introducción a la Complejidad Computacional 1 / 111 Complejidad Computacional Objetivo: Medir la complejidad computacional de un problema. Vale
Más detallesAlgoritmos pseudo-polinomiales
Análisis de Algoritmos Algoritmos pseudo-polinomiales Dra. Elisa Schaeffer elisa.schaeffer@gmail.com PISIS / FIME / UANL Algoritmos pseudo-polinomiales p. 1 HAMILTON PATH es NP-completo La reducción es
Más detallesTema 2: Lógica Computacional para la IA: Lógica Proposicional
Tema 2: Lógica Computacional para la IA: Lógica Proposicional Félix Lara Dpto. Ciencias de la Computación Inteligencia Artificial Universidad de Sevilla Seminario de Inteligencia Artificial, Curso 2005
Más detallesComputabilidad y Lenguajes Formales: Teoría de la Computabilidad: Reducibilidad
300CIG007 Computabilidad y Lenguajes Formales: Teoría de la Computabilidad: Reducibilidad Pontificia niversidad Javeriana Cali Ingenieria de Sistemas y Computación Prof. Gloria Inés Alvarez V. Reducibilidad
Más detallesConjuntos. Un conjunto es una colección de objetos. Si a es un objeto y R es un conjunto entonces por. a R. se entiende que a pertenece a R.
Conjuntos Un conjunto es una colección de objetos. Si a es un objeto y R es un conjunto entonces por se entiende que a pertenece a R. a R Normalmente, podremos definir a un conjunto de dos maneras: Por
Más detallesIntroducción a la indecidibilidad
Introducción a la indecidibilidad José M. empere Departamento de istemas Informáticos y Computación Universidad Politécnica de Valencia Lenguajes y problemas Un problema será considerado cualquier cuestión
Más detallesAnálisis y Diseño de Algoritmos
Análisis y Diseño de Algoritmos Teoría NP-Completeness DR. JESÚS A. GONZÁLEZ BERNAL CIENCIAS COMPUTACIONALES INAOE Problemas de Decisión Teoría de NP-Completeness Diseñada para aplicarse solo a problemas
Más detallesFormulando con modelos lineales enteros
Universidad de Chile 19 de marzo de 2012 Contenidos 1 Forma de un problema Lineal Entero 2 Modelando con variables binarias 3 Tipos de Problemas Forma General de un MILP Problema de optimización lineal
Más detallesDemostración del problema del paro (Halting problem)
Demostración del problema del paro (Halting problem) Introducción a las ciencias de la computación Antonio López Jaimes UNIVERSIDAD AUTÓNOMA METROPOLITANA UNIDAD IZTAPALAPA Definición del problema El problema
Más detallesDepartamento de Tecnologías de la Información. Tema 5. Decidibilidad. Ciencias de la Computación e Inteligencia Artificial
Departamento de Tecnologías de la Información Tema 5 Decidibilidad Ciencias de la Computación e Inteligencia Artificial Índice 5.1 Lenguajes reconocibles y decidibles 5.2 Problemas decidibles sobre lenguajes
Más detallesComplejidad - Problemas NP-Completos. Algoritmos y Estructuras de Datos III
Complejidad - Problemas NP-Completos Algoritmos y Estructuras de Datos III Teoría de Complejidad Un algoritmo eficiente es un algoritmo de complejidad polinomial. Un problema está bien resuelto si se conocen
Más detallesParadigma lógico Lógica proposicional Resolución. Programación Lógica. Eduardo Bonelli. Departamento de Computación FCEyN UBA. 10 de octubre, 2006
Departamento de Computación FCEyN UBA 10 de octubre, 2006 Prolog Se basa en el uso de la lógica como un lenguaje de programación Se especifican ciertos hechos y reglas de inferencia un objetivo ( goal
Más detallesLógica modal, topología y sistemas dinámicos p.1/37
Lógica modal, topología y sistemas dinámicos David Fernández Duque Universidad de Sevilla Grupo de Lógica, Lenguaje e Información Lógica modal, topología y sistemas dinámicos p.1/37 Introducción La interpretación
Más detallesALGORITMOS HEURÍSTICOS Y APROXIMADOS. Análisis y diseño de algoritmos II- 2009
ALGORITMOS HEURÍSTICOS Y APROXIMADOS Análisis y diseño de algoritmos II- 2009 Problemas difíciles : Definiciones, ejemplos y propiedades Análisis y diseño de algoritmos II- 2009 Un viaje a Ciencias de
Más detallesTema 6. Métodos de decisión
Lógica I (curso 2007-08) Prof. Paloma Pérez-Ilzarbe Tema 6. Métodos de decisión Objetivos: - Comprender las nociones de "decidibilidad" y "método de decisión", y comprender el interés de que la lógica
Más detallesComplejidad Computacional
Complejidad Computacional MLG521 Cristobal Rojas Pamela Alvarez Departamento de Ciencias de de la Ingeniería Departamento de Ingeniería Matemática Universidad Andrés Bello MLG521 Cómo medir la dificultad
Más detalles4.1 La prueba formal de la consistencia o de la inconsistencia 4.2 La prueba formal de la invalidez 4.3 La prueba formal de la validez
4.- Métodos de razonamiento En este módulo hemos estudiado algunas estrategias que han sido desarrolladas con el fin de sistematizar el razonamiento lógico, es decir, la demostración formal de teoremas.
Más detallesTema 3 Equivalencia. Formas normales.
Tema 3 Equivalencia. Formas normales. Lógica Proposicional Antonio de J. Pérez Jiménez Departamento Ccia. Lógica Informática Antonio de J. Pérez Jiménez (Departamento Ccia.) Tema 3 Equivalencia. Formas
Más detallesTema 2: Métodos de Deducción para la Lógica Proposicional
Tema 2: Métodos de Deducción para la Lógica Proposicional Dpto. Ciencias de la Computación Inteligencia Artificial Universidad de Sevilla Lógica y Computabilidad Curso 2006 07 LC, 2006 07 Métodos de Deducción
Más detallesIntrodución a la Lógica Proposicional
Introdución a la Lógica Proposicional Pablo Barceló P. Barceló Lógica Proposicional - CC52A 1 / 24 Lógica proposicional: Sintaxis Tenemos los siguientes elementos: - Variables proposicionales (P): p, q,
Más detallesLógicaS Modales. Ricardo Oscar Rodríguez Departamento de Computación, Fac. Ciencias Exactas y Naturales, Universidad de Buenos Aires, Argentina.
Departamento de Computación, Fac. Ciencias Exactas y Naturales, Universidad de Buenos Aires, Argentina. Segunda Clase. 1er. Cuatrimestre, 2016 Outline 1 Repaso clase anterior Sintáxis Lógicas Modales Autocongruentes
Más detallesAlgoritmos y Estructuras de Datos III
Árboles Algoritmos y Estructuras de Datos III Árboles Definición: Un árbol es un grafo conexo sin circuitos simples. Árboles Teorema: Dado un grafo G = (V, X ) son equivalentes: 1. G es un árbol. 2. G
Más detallesSistema Axiomático para el Cálculo Proposicional
Sistema Axiomático para el Cálculo Proposicional Lógica Matemática José de Jesús Lavalle Martínez 12 de julio de 2011 Resumen Este documento es una traducción de partes de la sección 1.4 AN AXIOM SYSTEM
Más detallesComplejidad Computacional
Análisis y Complejidad de Algoritmos Complejidad Computacional Arturo Díaz Pérez Lenguajes formales Gramáticas formales Jerarquía de Chomski Teoría de la complejidad Una desigualdad computacional Computabilidad
Más detallesLOGICA Y ALGEBRA DISCRETA
LOGICA Y ALGEBRA DISCRETA Franco D. Menendez LABIA FACET - UNT Contenido de la Materia UNIDAD TEMÁTICA 2: DECISION EN EL LENGUAJE FORMAL Sistemas Axiomáticos. Noción General. Decisión Por Formas Normales.
Más detalles1. Resolución en lógica proposicional
1. Resolución en lógica proposicional 1.1. Introducción 1.1.1. Pseudo-motivación Si tengo una fórmula de proposicional, puedo probar con fuerza bruta todas las valuaciones a ver si es satisfactible? Si
Más detallesMotivación: Problemas de optimización
Motivación: Problemas de optimización Un tour π en un grafo G es una secuencia de arcos (a 1,a 2 ),..., (a k 1,a k ), (a k,a 1 ) en G tal que: a i a j para cada i j, {a 1,...,a k } es el conjunto de nodos
Más detallesUNIDAD I: LÓGICA MATEMÁTICA
UNIDAD I: LÓGICA MATEMÁTICA 1.1. Introducción La Lógica Matemática es la rama de las Matemáticas que nos permite comprender sobre la validez o no de razonamientos y demostraciones que se realizan. La lógica
Más detallesAnálisis de Algoritmos Problemas de grafos
Análisis de Algoritmos Problemas de grafos Dra. Elisa Schaeffer elisa.schaeffer@gmail.com PISIS / FIME / UANL Problemas de grafos p. 1 INDEPENDENT SET es NP-completo Necesitamos un gadget : el triángulo.
Más detallesProblemas recursivamente enumerables
Problemas recursivamente enumerables Definición Un problema L es recursivamente enumerable si existe una máquina de Turing M tal que L = L(M). Nótese que M en la definición no necesariamente se detiene
Más detallesIN34A - Optimización
IN34A - Optimización Complejidad Leonardo López H. lelopez@ing.uchile.cl Primavera 2008 1 / 33 Contenidos Problemas y Procedimientos de solución Problemas de optimización v/s problemas de decisión Métodos,
Más detalles