fbpx
Wikipedia

Problema de satisfacibilidad booleana

En teoría de la complejidad computacional, el Problema de satisfacibilidad booleana (también llamado SAT) fue el primer problema identificado como perteneciente a la clase de complejidad NP-completo.

Historia

Su NP-completitud fue demostrada por Stephen Cook en 1971 (el Teorema de Cook).[1]​ Hasta entonces el concepto de problema NP-completo no había sido definido. El SAT sigue siendo NP-completo incluso si todas las fórmulas están en forma normal conjuntiva (FNC) con 3 variables por cláusula (3SAT-FNC) creando el problema (3SAT), o aun en el caso de que solo se permita un único valor verdadero en cada cláusula (3SAT en 1).

En 1960 Martin Davis y Hilary Putnam desarrollaron un algoritmo para comprobar la satisfacibilidad de las fórmulas de la lógica proposicional en FNC; es decir, en un conjunto de cláusulas unidas por conjunciones. El algoritmo usa una forma de resolución en la cual las variables son elegidas iterativamente y eliminadas mediante la resolución de cada cláusula donde la variable aparezca afirmada con una cláusula en la que la variable esté negada. En 1962 se desarrolló el algoritmo DPLL por Davis-Putnam-Logemann-Lovelandes, un algoritmo completo basado en la vuelta atrás (backtracking) que sirve para decidir la satisfacibilidad de las fórmulas de lógica proposicional en una forma normal conjuntiva; es decir, para resolver el problema FNC-SAT, al igual que hacía el algoritmo anterior de Davis y Putnam.

Planteamiento

El problema SAT es el problema de saber si, dada una expresión booleana con variables y sin cuantificadores, hay alguna asignación de valores para sus variables que hace que la expresión sea verdadera. Por ejemplo, una instancia de SAT sería el saber si existen valores para   tales que la expresión:

 

sea cierta.

Por el contrario, el problema de si la expresión en cuestión adquiere valor falso para todas las combinaciones de sus variables, se denomina UNSAT.[2]

Complejidad

El problema sigue perteneciendo a la clase de complejidad NP-completo aunque se restrinja el número de literales por cláusula a un máximo de 3. En este caso se conoce como 3 SAT. Cuando el número máximo de literales por cláusula es dos, el problema tiene complejidad polinómica y se conoce como problema 2 SAT.

El Teorema de Cook demuestra que el problema de la satisfactibilidad booleana es NP-completo, y de hecho, este fue el primer problema de decisión que se demostró pertenecer a esta clase de problemas. Sin embargo, más allá de este teorema, desde la última década se han desarrollado algoritmos eficientes y resistentes al cambio de tamaño del problema para SAT, y ha habido contribuciones con poderosos avances en nuestra capacidad para resolver automáticamente el problema de satisfactibilidad.

3-Satisfactibilidad

La 3-satisfactibilidad es un caso especial de -satisfactibilidad (-SAT), o simplemente satisfactibilidad (SAT), en la que cada cláusula contiene exactamente 3 literales. Fue uno de los 21 problemas NP-completos de Karp.

Partiendo de SAT (el caso general) se reduce a 3-SAT y SAT 3 -en 1 y se puede demostrar que son NP-completos, entonces podemos usarlos para demostrar también otros problemas NP-completos. Esto se hace mostrando cómo una solución a otro problema podría ser utilizado para resolver 3-SAT. Un ejemplo de este tipo de reducción es el problema del Clique. Por lo general, es más fácil utilizar reducción de 3-SAT que cuando se está tratando de probar que algún otro problema es NP-completo.

El SAT 3-puede ser más limitado a la 3SAT Uno-en-tres, cuando lo que pedimos sea que solo una de las variables aparezca como verdadera en cada cláusula, en vez de por lo menos una. 3SAT Uno-en-tres sigue siendo NP-completo.

Extensiones de SAT

Una extensión significativa a la popularidad que ganó desde 2003 es el problema de las teorías de satisfactibilidad módulo, que permite enriquecer las fórmulas en la FNC con lineales, vectores, la restricción de que todas las variables sean distintas, y no interpretar funciones, etc. Estas extensiones son típicamente NP-completas, pero resultan bastante eficaces para la resolución que son capaces de hacer frente a muchos tipos de restricciones de género.

El problema parece ser más difícil satisfactibilidad (PSPACE-completo) si permitimos que los cuantificadores "para todos" y "existencial", que enlace las variables booleanas.

Si se utiliza sólo cuantificadores Este sigue siendo el problema SAT Si permitimos que sólo los cuantificadores Se convierte en el problema de la tautología: Co-NP-completo. Si dejamos que ellos, el problema se llama el problema de la fórmula booleana cuantificados (QBF), que puede se ha demostrado PSPACE completa. Se cree ampliamente que los problemas son PSPACE completa-es son más difíciles que cualquier problema en NP, aunque esto aún no ha sido demostrada. . El problema de la máxima satisfactibilidad, una generalización de SAT, para pedir el número máximo de cláusulas que pueden ser satisfechas por ninguna asignación. Este problema tiene aproximación de con algoritmos eficientes, sino que es NP-difícil de resolver con precisión. Peor aún, el problema es APX-completo, lo que significa que no hay ningún sistema de aproximación polinomial de tiempo a este problema a menos que P = NP.

Algoritmos

Hay diversas clases de algoritmos de alto rendimiento para la solución de los casos de SAT en la práctica: las variantes modernas del Algoritmo DPLL, como el algoritmo de paja y los algoritmos estocásticos de búsqueda local, como WalkSAT. Una resolución del tipo SAT Algoritmo DPLL emplea un procedimiento sistemático de rastreo para buscar a explorar el espacio (del tamaño exponencial) los valores de las variables que se ajusten. El procedimiento básico de este sistema de búsqueda fue innovador en dos artículos a principios de los años 60 y es, hoy en día, normalmente se conoce como el algoritmo de Davis-Putnam-Loveland-Logemann Algoritmo DPLL.

El solucionador SAT moderno (desarrollado en los últimos diez años), mejora el algoritmo de base para encontrar el tipo de Algoritmo DPLL. eficiente con el análisis de conflictos, la cláusula de aprendizaje, no cronológico de rastreo (alias backjumping) y la propagación de la unidad " vieron dos literales "(Dos vistos literales), brazo ajustable, y reinicios aleatorios. Es empíricamente que tales "añadidos" a la búsqueda sistemática de base son esenciales para resolver el problema de casos SAT extensos que se plantean en la automatización de diseño electrónico. Los solucionadores modernos SAT también están causando un impacto significativo en los ámbitos de la verificación de software, la resolución de las limitaciones en la inteligencia artificial, y la investigación operativa, entre otros. Algunos solucionadores potente disponibles entan en el dominio público, y son muy fáciles de usar. En particular, el MINISAT, que ganó la competencia de la SAT de 2005, sólo alrededor de 600 líneas de código.

Algoritmos Genéticos y otros métodos estocásticos de búsqueda local para el uso general también se utilizan para resolver problemas SAT, especialmente cuando no hay o sólo un conocimiento limitado de la estructura específica de los casos del problema a ser resuelto. Ciertos tipos de grandes instancias aleatorias satisfactibles de SAT se puede resolver por la propagación de la vio literales. En particular en el diseño y verificación de hardware, la lógica satisfactibilidad y otras propiedades de una fórmula proposicional a veces se decidió sobre la base de una representación de la fórmula como un diagrama de decisión binario (BDD). La satisfactibilidad proposicional tiene varias generalizaciones, incluyendo satisfactibilidad al problema de la fórmula booleana cuantificados para la lógica clásica de primer y segundo orden (LCPO y LCSO, respectivamente), a los problemas de la satisfacción de las limitaciones para la programación de enteros 0 -- 1, y el problema de la satisfactibilidad máximo. Muchos otros problemas de la decisión, como los problemas de coloración de grafos, problemas de planificación y programación de problemas, puede ser codificado en SAT

Referencias

  1. Cook, Stephen A. «The Complexity of Theorem-Proving Procedures» (en inglés). Consultado el 8 de agosto de 2012. 
  2. «Unsatisfiable». Wolfram MathWorld (en inglés). Consultado el 8 de agosto de 2012. 

Véase también

  •   Datos: Q875276
  •   Multimedia: Boolean satisfiability problem

problema, satisfacibilidad, booleana, teoría, complejidad, computacional, también, llamado, primer, problema, identificado, como, perteneciente, clase, complejidad, completo, Índice, historia, planteamiento, complejidad, satisfactibilidad, extensiones, algorit. En teoria de la complejidad computacional el Problema de satisfacibilidad booleana tambien llamado SAT fue el primer problema identificado como perteneciente a la clase de complejidad NP completo Indice 1 Historia 2 Planteamiento 3 Complejidad 3 1 3 Satisfactibilidad 4 Extensiones de SAT 5 Algoritmos 6 Referencias 7 Vease tambienHistoria EditarSu NP completitud fue demostrada por Stephen Cook en 1971 el Teorema de Cook 1 Hasta entonces el concepto de problema NP completo no habia sido definido El SAT sigue siendo NP completo incluso si todas las formulas estan en forma normal conjuntiva FNC con 3 variables por clausula 3SAT FNC creando el problema 3SAT o aun en el caso de que solo se permita un unico valor verdadero en cada clausula 3SAT en 1 En 1960 Martin Davis y Hilary Putnam desarrollaron un algoritmo para comprobar la satisfacibilidad de las formulas de la logica proposicional en FNC es decir en un conjunto de clausulas unidas por conjunciones El algoritmo usa una forma de resolucion en la cual las variables son elegidas iterativamente y eliminadas mediante la resolucion de cada clausula donde la variable aparezca afirmada con una clausula en la que la variable este negada En 1962 se desarrollo el algoritmo DPLL por Davis Putnam Logemann Lovelandes un algoritmo completo basado en la vuelta atras backtracking que sirve para decidir la satisfacibilidad de las formulas de logica proposicional en una forma normal conjuntiva es decir para resolver el problema FNC SAT al igual que hacia el algoritmo anterior de Davis y Putnam Planteamiento EditarEl problema SAT es el problema de saber si dada una expresion booleana con variables y sin cuantificadores hay alguna asignacion de valores para sus variables que hace que la expresion sea verdadera Por ejemplo una instancia de SAT seria el saber si existen valores para x 1 x 2 x 3 x 4 displaystyle x 1 x 2 x 3 x 4 tales que la expresion x 1 x 3 x 2 x 3 x 4 displaystyle x 1 lor neg x 3 land neg x 2 lor x 3 lor neg x 4 sea cierta Por el contrario el problema de si la expresion en cuestion adquiere valor falso para todas las combinaciones de sus variables se denomina UNSAT 2 Complejidad EditarEl problema sigue perteneciendo a la clase de complejidad NP completo aunque se restrinja el numero de literales por clausula a un maximo de 3 En este caso se conoce como 3 SAT Cuando el numero maximo de literales por clausula es dos el problema tiene complejidad polinomica y se conoce como problema 2 SAT El Teorema de Cook demuestra que el problema de la satisfactibilidad booleana es NP completo y de hecho este fue el primer problema de decision que se demostro pertenecer a esta clase de problemas Sin embargo mas alla de este teorema desde la ultima decada se han desarrollado algoritmos eficientes y resistentes al cambio de tamano del problema para SAT y ha habido contribuciones con poderosos avances en nuestra capacidad para resolver automaticamente el problema de satisfactibilidad 3 Satisfactibilidad Editar La 3 satisfactibilidad es un caso especial de satisfactibilidad SAT o simplemente satisfactibilidad SAT en la que cada clausula contiene exactamente 3 literales Fue uno de los 21 problemas NP completos de Karp Partiendo de SAT el caso general se reduce a 3 SAT y SAT 3 en 1 y se puede demostrar que son NP completos entonces podemos usarlos para demostrar tambien otros problemas NP completos Esto se hace mostrando como una solucion a otro problema podria ser utilizado para resolver 3 SAT Un ejemplo de este tipo de reduccion es el problema del Clique Por lo general es mas facil utilizar reduccion de 3 SAT que cuando se esta tratando de probar que algun otro problema es NP completo El SAT 3 puede ser mas limitado a la 3SAT Uno en tres cuando lo que pedimos sea que solo una de las variables aparezca como verdadera en cada clausula en vez de por lo menos una 3SAT Uno en tres sigue siendo NP completo Extensiones de SAT EditarUna extension significativa a la popularidad que gano desde 2003 es el problema de las teorias de satisfactibilidad modulo que permite enriquecer las formulas en la FNC con lineales vectores la restriccion de que todas las variables sean distintas y no interpretar funciones etc Estas extensiones son tipicamente NP completas pero resultan bastante eficaces para la resolucion que son capaces de hacer frente a muchos tipos de restricciones de genero El problema parece ser mas dificil satisfactibilidad PSPACE completo si permitimos que los cuantificadores para todos y existencial que enlace las variables booleanas Si se utiliza solo cuantificadores Este sigue siendo el problema SAT Si permitimos que solo los cuantificadores Se convierte en el problema de la tautologia Co NP completo Si dejamos que ellos el problema se llama el problema de la formula booleana cuantificados QBF que puede se ha demostrado PSPACE completa Se cree ampliamente que los problemas son PSPACE completa es son mas dificiles que cualquier problema en NP aunque esto aun no ha sido demostrada El problema de la maxima satisfactibilidad una generalizacion de SAT para pedir el numero maximo de clausulas que pueden ser satisfechas por ninguna asignacion Este problema tiene aproximacion de con algoritmos eficientes sino que es NP dificil de resolver con precision Peor aun el problema es APX completo lo que significa que no hay ningun sistema de aproximacion polinomial de tiempo a este problema a menos que P NP Algoritmos EditarHay diversas clases de algoritmos de alto rendimiento para la solucion de los casos de SAT en la practica las variantes modernas del Algoritmo DPLL como el algoritmo de paja y los algoritmos estocasticos de busqueda local como WalkSAT Una resolucion del tipo SAT Algoritmo DPLL emplea un procedimiento sistematico de rastreo para buscar a explorar el espacio del tamano exponencial los valores de las variables que se ajusten El procedimiento basico de este sistema de busqueda fue innovador en dos articulos a principios de los anos 60 y es hoy en dia normalmente se conoce como el algoritmo de Davis Putnam Loveland Logemann Algoritmo DPLL El solucionador SAT moderno desarrollado en los ultimos diez anos mejora el algoritmo de base para encontrar el tipo de Algoritmo DPLL eficiente con el analisis de conflictos la clausula de aprendizaje no cronologico de rastreo alias backjumping y la propagacion de la unidad vieron dos literales Dos vistos literales brazo ajustable y reinicios aleatorios Es empiricamente que tales anadidos a la busqueda sistematica de base son esenciales para resolver el problema de casos SAT extensos que se plantean en la automatizacion de diseno electronico Los solucionadores modernos SAT tambien estan causando un impacto significativo en los ambitos de la verificacion de software la resolucion de las limitaciones en la inteligencia artificial y la investigacion operativa entre otros Algunos solucionadores potente disponibles entan en el dominio publico y son muy faciles de usar En particular el MINISAT que gano la competencia de la SAT de 2005 solo alrededor de 600 lineas de codigo Algoritmos Geneticos y otros metodos estocasticos de busqueda local para el uso general tambien se utilizan para resolver problemas SAT especialmente cuando no hay o solo un conocimiento limitado de la estructura especifica de los casos del problema a ser resuelto Ciertos tipos de grandes instancias aleatorias satisfactibles de SAT se puede resolver por la propagacion de la vio literales En particular en el diseno y verificacion de hardware la logica satisfactibilidad y otras propiedades de una formula proposicional a veces se decidio sobre la base de una representacion de la formula como un diagrama de decision binario BDD La satisfactibilidad proposicional tiene varias generalizaciones incluyendo satisfactibilidad al problema de la formula booleana cuantificados para la logica clasica de primer y segundo orden LCPO y LCSO respectivamente a los problemas de la satisfaccion de las limitaciones para la programacion de enteros 0 1 y el problema de la satisfactibilidad maximo Muchos otros problemas de la decision como los problemas de coloracion de grafos problemas de planificacion y programacion de problemas puede ser codificado en SATReferencias Editar Cook Stephen A The Complexity of Theorem Proving Procedures en ingles Consultado el 8 de agosto de 2012 Unsatisfiable Wolfram MathWorld en ingles Consultado el 8 de agosto de 2012 Vease tambien EditarAlgoritmos SAT Datos Q875276 Multimedia Boolean satisfiability problemObtenido de https es wikipedia org w index php title Problema de satisfacibilidad booleana amp oldid 133489733, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos