Algoritmospara SAT Introducci´on Tema 3: Tableros sem´anticos Algoritmos para SAT: F´ormulasαyβ Tableroscompletos Tableros y algoritmo DPLL Bu´squedademodelos Formasnormales Consecuencial´ogica Algoritmode Davis–Putnam Estructuradel algoritmo Ejemplos Dpto. CienciasdelaComputaci´onInteligenciaArtificial Universidad de Sevilla L´ogicas Inform´atica (Tecnolog´ıas Inform´aticas) Curso 2016–17 Contenido Algoritmospara SAT Introducci´on Introducci´on Tableros sem´anticos F´ormulasαyβ Tableroscompletos Tableros sem´anticos Bu´squedademodelos Formasnormales Fo´rmulas α y β Consecuencial´ogica Algoritmode Tableros completos Davis–Putnam Bu´squeda de modelos Ealsgtorurictmtuoradel Ejemplos Formas normales Consecuencia l´ogica Algoritmo de Davis–Putnam Estructura del algoritmo Ejemplos Introducci´on Algoritmospara SAT (cid:73) Presentaremos dos algoritmos para estudiar la satisfactibilidad de un conjunto de f´ormulas Introducci´on proposicionales: Tableros sem´anticos (cid:73) El m´etodo de tableros sem´anticos, y F´ormulasαyβ Tableroscompletos (cid:73) El algoritmo DPLL Bu´squedademodelos Formasnormales (Davis–Putnam–Logemann-Loveland) Consecuencial´ogica (cid:73) Ambos est´an basados en una bu´squeda sistem´atica de Algoritmode Davis–Putnam modelos. Estructuradel algoritmo Ejemplos (cid:73) En ambos casos la bu´squeda suele representarse gr´aficamente mediante un ´arbol. Tableros vs DPLL Algoritmospara SAT Tienen caracter´ısticas propias que distinguen claramente Introducci´on ambos m´etodos: Tableros (cid:73) Algoritmo DPLL: sem´anticos F´ormulasαyβ (cid:73) No trabaja con f´ormulas arbitrarias sino sobre conjuntos Tableroscompletos Bu´squedademodelos de cl´ausulas. Es preciso “preprocesar” el conjunto de Formasnormales Consecuencial´ogica f´ormulas, pas´andolo a forma clausal. Algoritmode (cid:73) Est´a entre los algoritmos m´as eficientes para la l´ogica Davis–Putnam proposicional, pero no se extiende f´acilmente a otras Estructuradel algoritmo l´ogicas. Ejemplos (cid:73) Tableros sem´anticos: (cid:73) Trabaja directamente sobre el conjunto de f´ormulas proposicionales. (cid:73) No es tan eficiente como DPLL, pero es muy flexible y puede adaptarse a otras l´ogicas (como la l´ogica de primer orden, l´ogicas descriptivas, modales, etc.). (cid:73) Resulta u´til en el estudio te´orico de diversas l´ogicas, para probar propiedades formales como la completitud. Tableros Sem´anticos Algoritmospara SAT (cid:73) Gracias a la FND sabemos que la satisfactibilidad de Introducci´on una f´ormula puede reducirse a la de ciertos conjuntos Tableros de literales. sem´anticos F´ormulasαyβ (cid:73) El m´etodo de los tableros sem´anticos organiza de Tableroscompletos Bu´squedademodelos manera sistem´atica la bu´squeda de modelos, reduciendo Formasnormales Consecuencial´ogica la satisfactibilidad de las f´ormulas consideradas a la de Algoritmode Davis–Putnam ciertos conjuntos de literales. Estructuradel algoritmo El m´etodo de tableros sem´anticos: Ejemplos 1. Clasifica las f´ormulas en dos clases: (cid:73) Las f´ormulas α, que se comportan como conjunciones (cid:73) Las f´ormulas β, que se comportan como disyunciones 2. Asocia a cada f´ormula, F, otras dos f´ormulas m´as sencillas (sus componentes) de modo que la satisfactibilidad de F se reduce a la de sus componentes. Fo´rmulas de tipo α Algoritmospara SAT Las f´ormulas de tipo α son las siguientes: Introducci´on Tableros α α α 1 2 sem´anticos ¬¬F F F´ormulasαyβ Tableroscompletos F ∧F F F Bu´squedademodelos 1 2 1 2 Formasnormales ¬(F ∨F ) ¬F ¬F Consecuencial´ogica 1 2 1 2 Algoritmode ¬(F1 → F2) F1 ¬F2 Davis–Putnam Estructuradel F1 ↔ F2 F1 → F2 F2 → F1 algoritmo Ejemplos (cid:73) Las f´ormulas α y α son las componentes de α. 1 2 (cid:73) Si F es de tipo α, entonces F ≡ α ∧α . 1 2 (cid:73) Para satisfacer una f´ormula de tipo α es necesario y suficiente satisfacer simult´aneamente sus dos componentes α y α . 1 2 Fo´rmulas de tipo β Algoritmospara SAT Las f´ormulas de tipo β son las siguientes: Introducci´on Tableros β β β 1 2 sem´anticos F ∨F F F F´ormulasαyβ 1 2 1 2 Tableroscompletos ¬(F ∧F ) ¬F ¬F Bu´squedademodelos 1 2 1 2 Formasnormales (F → F ) ¬F F Consecuencial´ogica 1 2 1 2 Algoritmode ¬(F1 ↔ F2) ¬(F1 → F2) ¬(F2 → F1) Davis–Putnam Estructuradel algoritmo Ejemplos (cid:73) Las f´ormulas β y β son las componentes de β. 1 2 (cid:73) Si F es de tipo β, entonces F ≡ β ∨β 1 2 (cid:73) Para satisfacer una f´ormula de tipo β s´olo es necesario y suficiente satisfacer una de sus componentes β y β . 1 2 Reglas α y β Algoritmospara SAT Reducen la consistencia de un conjunto de f´ormulas U a la Introducci´on de otro conjunto U(cid:48) formado por f´ormulas m´as sencillas. Tableros sem´anticos (cid:73) Regla α: Si F ∈ U es de tipo α, entonces F´ormulasαyβ Tableroscompletos Bu´squedademodelos U satisfactible ⇐⇒ (U−{F})∪{α ,α } satisfactible Formasnormales 1 2 Consecuencial´ogica Algoritmode (cid:73) Regla β: Si F ∈ U es de tipo β, entonces Davis–Putnam Estructuradel algoritmo Ejemplos (U −{F})∪{β } satisfactible 1 U satisfactible ⇐⇒ o (U −{F})∪{β } satisfactible 2 Ejemplo Algoritmospara SAT La f´ormula q∧p∧(p → (q → ¬p)) es insatisfactible: Introducci´on Tableros q∧p∧(p →(q →¬p)) sem´anticos F´ormulasαyβ Tableroscompletos Bu´squedademodelos q, p∧(p →(q →¬p)) Formasnormales Consecuencial´ogica Algoritmode q, p, (p →(q →¬p)) Davis–Putnam (cid:8)(cid:8)(cid:72)(cid:72) Ealsgtorurictmtuoradel (cid:8)(cid:8) (cid:72)(cid:72) Ejemplos (cid:8) (cid:72) q, p, ¬p q, p, q →¬p (cid:8)(cid:72) × (cid:8) (cid:72) (cid:8) (cid:72) q, p, ¬q q, p, ¬p × × Construccio´n de un tablero completo Algoritmospara SAT Un tablero para {A ,...,A } es un ´arbol T, con nodos 1 n Introducci´on etiquetados por conjuntos de f´ormulas, tal que: Tableros (cid:73) La ra´ız r de T est´a etiquetado por U(r) = {A ,...A }. sem´anticos 1 n F´ormulasαyβ (cid:73) Para cada hoja l de T, con etiqueta U(l), no marcada, Tableroscompletos Bu´squedademodelos hacer: Formasnormales Consecuencial´ogica 1. Si U(l) es un conjunto de literales, entonces: Algoritmode Davis–Putnam 1.1 Si existe un par de literales complementarios en U(l), Estructuradel marcar con × (y se denomina hoja cerrada). algoritmo Ejemplos 1.2 Si no existe tal par, marcar con (cid:13) (hoja abierta). 2. Si U(l) no es un conjunto de literales, elegir A de U(l) no literal. 2.1 Si A es una α–fo´rmula, entonces an˜adir un hijo l(cid:48) de l con U(l(cid:48))=(U(l)\{A})∪{α ,α } (α puede no 1 2 2 existir). 2.2 Si A es una β–fo´rmula, entonces an˜adir dos hijos l(cid:48),l(cid:48)(cid:48) con etiquetas U(l(cid:48))=(U(l)\{A})∪{β } y U(l(cid:48)(cid:48))=(U(l)\{A})∪{β } 1 2
Description: