Descargar

Introducción a la NP_Completitud (página 2)

Enviado por Pablo Turmero


Partes: 1, 2
edu.red

Problemas NP_completos Problema de la satisfactibilidad: 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 formula verdadera?

(x1 or x2 or x3) and (x1 or not(x2))

edu.red

Problemas NP_completos Si la respuesta a alguno de estos problemas es si ¿se puede probar fácilmente? “Certificado” ¿De que orden seria 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

edu.red

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 si 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

edu.red

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

edu.red

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 esta en NPC?

edu.red

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!!!

edu.red

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.

edu.red

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

edu.red

El problema del embaldosado o domino 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?

edu.red

El problema del embaldosado o domino Este tipo de razonamiento no puede ser mecanizado. No existe un algoritmo ni lo habrá para solucionar el problema del embaldosado.

Cualquier algoritmo que podamos diseñar habrá siempre un conjunto de entrada T para el que el algoritmo no termine o de una respuesta errónea

edu.red

(Gp:) Intratables (Gp:) Tratables (Gp:) 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

(Gp:) Problemas que no admiten soluciones

(Gp:) Problemas con soluciones razonables

(Gp:) Problemas que no admiten algoritmos razonables

edu.red

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. Correspondencia 2,1,1,4,1,5 Existe algún algoritmo para resolver e este problema? El problema es indecidible

edu.red

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 si, si para cada entrada legal del algoritmo este 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

edu.red

El problema de la parada El problema tiene dos entradas, el texto de un programa R en un lenguaje L y una entrada para el X. El problema de la parada pregunta si R termina con la entrada X.

(Gp:) Si R(X)¡ (Gp:) Programa R (Gp:) Potencial entrada X (Gp:) Para R con X? (Gp:) Si R(X) ! (Gp:) si (Gp:) no

edu.red

Probando la indecibilidad Como 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 este probada. En este caso es el problema de la Parada.

edu.red

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 si/ 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

edu.red

Probando la indecibilidad Asumimos que el problema de la parada es indecidible < R X>una entrada del problema de la parada, ¿para el programa R con la entrada X? Transformamos < P R> entrada del problema de la verificación, P es un problema algorítmico que solo 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 < P R> es si, si y solo si la respuesta del problema de la parada a la entrada < R X> es si. ¿Qué implica esto?

edu.red

Problemas indecidibles Como convencerías a alguien que en el problema de la correspondencia de palabras la respuesta es si? y de que un programa para? Problemas indecidibles tienen certificados finitos El problema del embaldosado, que certificado tendría?

edu.red

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

edu.red

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

edu.red

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

Partes: 1, 2
 Página anterior Volver al principio del trabajoPágina siguiente