La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Introducción a la NP_Completitud Ineficiencia e Intratabilidad No Computablidad e Indecibilidad.

Presentaciones similares


Presentación del tema: "Introducción a la NP_Completitud Ineficiencia e Intratabilidad No Computablidad e Indecibilidad."— Transcripción de la presentación:

1 Introducción a la NP_Completitud Ineficiencia e Intratabilidad No Computablidad e Indecibilidad

2 Complejidad de problemas ¿Cuál es el coste del “mejor” algoritmo (en tiempo de ejecución) para resolver un problema? Eso es el coste del problema. ¿Podemos conocer el coste de un problema sin conocer el “mejor” algoritmo? Si no conocemos el coste podemos acotarlo inferior y superiormente.

3 Complejidad de problemas El coste de la ordenación basada en comparaciones es n log n, y un algoritmo “óptimo” es el Quicksort Eso es el coste del problema. ¿Podemos conocer el coste de un problema sin conocer el “mejor” algoritmo? Si no conocemos el coste podemos acotarlo inferior y superiormente.

4 Ineficiencia e Intratabilidad Problemas algorítmicos para los que no existe una solución satisfactoria Ejemplos –Torres de Hanoi –Puzzle del mono

5 Torres de Hanoi Dadas tres estacas y N anillos, secuencia de movimientos para transferir los anillos de una a otra siguiendo ciertas reglas El procedimiento recursivo implica un movimiento de aro y dos llamadas recursivas

6 ¿Cuántos movimientos son necesarios? 2 N -1 Si fuéramos capaces de mover un millón de anillos cada segundo, para N=64. ¿cuánto tiempo tardaríamos? Medio millón de años Torres de Hanoi

7 El puzzle del mono Nos limitamos a problemas de decisión N cartas, N=M*M, con orientación fija, ¿existe alguna combinación que forme un cuadrado de M*M en el que todas las mitades estén casadas?

8 El puzzle del mono Con N=25 y un computador capaz de construir y evaluar un millón de posibilidades por segundo. Cuanto tiempo tardaría el algoritmo en el caso peor? Para colocar la primera, 25 posibilidades, para la segunda 24,.... 25!, resultaría que nuestro computador tardaría 490 billones de años en calcular todas las posibilidades

9 El puzzle del mono Existen conjuntos de cartas para los que la solución siempre existe, para otros nunca. ¿Existe una manera mejor de resolver el problema? Probablemente no, pero no estamos seguros

10 Tiempo razonable/irrazonable “744 dig201 dig85 dig10 b.N inimaginable623 dig.161 dig65 dig3.6 m.N! 302 dig91 dig.31 dig16 dig.10242N2N 1 b.27 m1 m.1250001000N3N3 1 m.90000100002500100N2N2 9966246966528233NlogN 50001500500250505N 10003001005010 N Función Polinomial Exponencial El número de protones en el universo tiene 79 dígitos. El número de microsegundos desde el “Big Bang” tiene 24 dígitos

11 Admiten algoritmos razonables No admiten algoritmos razonables Problemas intratables Problemas tratables Tiempo razonable/irrazonable Una función polinomial en N es aquella que está limitada por N k, para algún k. Un algoritmo cuyo tiempo de ejecución está acotado por una función polinomial lo consideramos razonable. En otro caso irrazonable. En términos de problemas algorítmicos diremos que son problemas tratables o intratables

12 Problemas NP_Completos El problema del puzzle, que hemos visto, es realmente un problema intratable? -Quizás es cuestión de esperar que los computadores sean más rápidos -¿Puede ser causa de nuestra incompetencia para idear buenos algoritmos? -No tiene valor el esfuerzo, este problema es un problema específico, no es importante.

13 Problemas NP_Completos Existen cerca de 1000 problemas algorítmicos con características parecidas Sus limites inferiores son lineales y sus limites superiores exponenciales. La clasificación de estos problemas es desconocida: no sabemos a qué lado de la línea están. Vamos a denotar esta clase como NPC, significando NP-completos.

14 Problemas NP_completos Problemas de encontrar caminos –Problema del viajante de comercio: El viajante tiene que visitar N ciudades, hallar el camino más corto que conecta todas ellas sin que se visite dos veces la misma ciudad.

15 Problemas NP_completos El problema del ciclo Hamiltoniano: dado un grafo, ¿existe un camino que pase por todos los puntos exactamente una vez?

16 Problemas NP_completos Problema de la satisfacibilidad: dada una fórmula lógica, con los operadores, or, and, y not, y una serie de variable lógicas, ¿existe una combinación de valores de las variables que hacen la fórmula verdadera? (x 1 or x 2 or x 3 ) and (x 1 or not(x 2 ))

17 Problemas NP_completos Si la respuesta a alguno de estos problemas es sí ¿se puede probar fácilmente? “Certificado” ¿De que orden sería un algoritmo de certificado? Imaginemos una máquina que ante varias alternativas, puede elegir la que quiera, y si una de ellas lleva a la solución de una manera “mágica” elegirá esa. Es una máquina no determinista. NP conjunto de problemas que se pueden resolver en tiempo polinómico por una máquina no determinista

18 Reducción ¿ A que se refiere el término completo? O todos los problemas NPC son tratables, o todos son intratables. El concepto que se usa es la reducción en tiempo polinomial Dados dos problemas NP_completos una reducción en un tiempo polinomial es un algoritmo que se ejecuta en tiempo polinomial y reduce un problema a otro en el siguiente sentido. Si alguien da una entrada X al primer algoritmo y quiere una respuesta sí o no, usamos el algoritmo para transformar X en una entrada Y para el segundo problema, de manera que la respuesta del segundo problema para Y es precisamente la respuesta del primer problema para la entrada X

19 Reducción del camino Hamiltoniano al problema del Agente Dado el grafo G, de 5 nodos, ¿tiene un camino Hamiltoniano? Dado el grafo G’, ¿tiene el agente un camino de longitud N+1? La respuesta a la primera pregunta es sí, precisamente cuando las respuesta a la segunda es sí. 1 2

20 Reducción ¿Qué indica la transformación anterior? En términos de tratabilidad, el problema del camino Hamiltoniano no es peor que el problema del viajante ¿Cómo demostramos que un nuevo problema está en NPC?

21 Reducción P es el nuevo problema, Q un problema conocido en NPC Se reduce P a Q, por tanto P no puede ser peor que Q Reducimos Q a P, por tanto P no puede ser mejor que Q Si Q es tratable, P es tratable, y si P es tratable, Q es tratable !!Es necesario un primer problema!!!

22 Reducción En 1971 Cook´s demostró que el problema de la satisfacibilidad para el calculo proposicional era NP_completo. Este resultado se conoce como el teorema de Cook´s. Cook’s se valió de la primera propiedad de los problemas NP-completos, son resolubles por un algoritmo no determinista Desarrolló una máquina formal, un modelo de computadora de propósito general “Maquina de Turing” dotada con la potencia del no determinismo.

23 NO COMPUTABILIDAD E INDECIBILIDAD Los problemas que veremos, no tienen solución algorítmica ni con mucho dinero, tiempo o cerebro.

24 El problema del embaldosado o dominó Tenemos baldosas cuadradas divididas en cuatro por dos diagonales, cada división de un color. Las baldosas tiene una orientación fija Dado un conjunto T de baldosas, ¿se puede embaldosar cualquier área de cualquier tamaño?

25 El problema del embaldosado o dominó Este tipo de razonamiento no puede ser mecanizado. No existe un algoritmo ni lo habrá para solucionar el problema del embaldosado. Para cualquier algoritmo que podamos diseñar habrá siempre un conjunto de entrada T para el que el algoritmo no termine o dé una respuesta errónea

26 Intratables Tratables Indecidibles Clasificación de los problemas Un problema algorítmico que no admite algoritmo se llama no computable, si el problema es de decisión se dice que es indecidible Problemas que no admiten soluciones Problemas con soluciones razonables Problemas que no admiten algoritmos razonables

27 Correspondencia de palabras Tenemos como entrada dos grupos de palabras de los alfabetos finitos X e Y. El problema pregunta si es posible, concatenando palabras de X, formar una nueva palabra, Z, tal que concatenando las palabras correspondientes del grupo Y se forme la misma palabra. aaaabaabbabY abababababaabbX 54321 aaaabaababY ababababababbX 54321 Correspondencia 2,1,1,4,1,5 ¿Existe algún algoritmo para resolver este problema? El problema es indecidible

28 Verificación de programas Nos gustaría obtener un algoritmo que, dada la descripción de un problema y un algoritmo, indique si este algoritmo resuelve el problema o no Queremos que la respuesta sea sí si para cada entrada legal del algoritmo éste termina y da la respuesta correcta, y no si existen entradas para las que el algoritmo falla o da respuestas erróneas. ¿Se puede determinar algorítmicamente si dado un problema y un algoritmo el algoritmo resuelve el problema? Este problema es indecidible

29 El problema de la parada El problema tiene dos entradas, el texto de un programa R en un lenguaje L y una entrada X. El problema de la parada pregunta si R termina con la entrada X. Si R(X) no para Programa R Potencial entrada X ¿Para R con X? Si R(X) para sino

30 Probando la indecibilidad ¿Cómo puedo probar que un problema es indecidible? La indecibilidad de otro problema se establecerá mostrando la reducción de un problema conocido inecidible al que estamos examinando. Primero necesito un problema inicial cuya indecibilidad esté probada. En este caso es el problema de la Parada.

31 Probando la indecibilidad La reducción de un problema P a otro Q no tiene que ser necesariamente limitada; puede tomar cualquier cantidad de tiempo o de espacio. Todo lo que se requiere es una forma algorítmica de transformar una P_entrada en una Q_entrada de manera que la respuesta sí/no de P para una entrada es precisamente la respuesta de Q a la entrada transformada Si sabemos que P es indecidible Q debe ser también indecidible. La razón es que de otra manera nosotros podríamos resolver P por un algoritmo que tomara cualquier entrada, transfórmala en una entrada para Q y preguntar al algoritmo Q por la respuesta. Semejante hipotético algoritmo se llama oráculo

32 Probando la indecibilidad Asumimos que el problema de la parada es indecidible una entrada del problema de la parada, ¿para el programa R con la entrada X? Transformamos entrada del problema de la verificación, P es un problema algorítmico que sólo tiene una entrada legal X y su salida no importa. ¿Cuándo es correcto R? La respuesta del problema de la verificación a la entrada es sí, si y solo si la respuesta del problema de la parada a la entrada es sí. ¿Qué implica esto?

33 Problemas indecidibles ¿Cómo convencerías a alguien que en el problema de la correspondencia de palabras la respuesta es sí? ¿y de que un programa para? Problemas indecidibles tienen certificados finitos El problema del embaldosado, ¿que certificado tendría?

34 Problemas indecidibles Generar y chequear un nuevo certificado C C no certifica X Todos los posibles certificados sí Todos los posibles certificados no Entrada X SI NO ¿Qué ocurre cuando un problema tiene dos certificados?

35 Problemas menos decidibles Los problemas con un certificado decimos que son parcialmente decidibles, y son algorítmicamente equivalentes. ¿Se puede reducir el problema de la verificación al problema de la parada?¿Tiene algún certificado? El problema de la totalidad es menos decidible Problemas altamente indecidibles. Dominós recurrentes

36 Niveles de comportamiento algorítmico Altamente indecidibles Problemas indecidibles Problemas intratables Problemas tratables


Descargar ppt "Introducción a la NP_Completitud Ineficiencia e Intratabilidad No Computablidad e Indecibilidad."

Presentaciones similares


Anuncios Google