Formas Normales y Algoritmo DPLL
Formas Normales y Algoritmo DPLL
Algoritmo DPLL
Introducción
Formas normales
Tema 3: Equivalencia lógica
Sustitución
Algoritmo DPLL
Estructura del algoritmo
Extracción de Modelos
Dpto. Ciencias de la Computación Inteligencia Artificial
Universidad de Sevilla
Lógica Informática
(Tecnologı́as Informáticas)
Formas Normales y
Contenido Algoritmo DPLL
Introducción
Introducción Formas normales
Equivalencia lógica
Sustitución
Formas normales
Formas normales Algoritmos para SAT y
TAUT
Algoritmo DPLL
Estructura del algoritmo
Extracción de Modelos
Formas Normales y
Introducción Algoritmo DPLL
Definición. Introducción
Dos fórmulas F1 , F2 son equivalentes (F1 ≡ F2 ) si, para Formas normales
toda valoración v , se tiene que v (F1 ) = v (F2 ). Equivalencia lógica
Sustitución
Formas normales
Es fácil comprobar que: Algoritmos para SAT y
TAUT
I F ∈/ SAT , G ∈
/ SAT , entonces F ≡ G .
I F ∈ TAUT , G ∈ TAUT , entonces F ≡ G .
Formas Normales y
Equivalencias (I) Algoritmo DPLL
A ∨ (B ∨ C ) ≡ (A ∨ B) ∨ C Algoritmo DPLL
A ∧ (B ∧ C ) ≡ (A ∧ B) ∧ C Estructura del algoritmo
Extracción de Modelos
I Distributividad:
A ∧ (B ∨ C ) ≡ (A ∧ B) ∨ (A ∧ C )
A ∨ (B ∧ C ) ≡ (A ∨ B) ∧ (A ∨ C )
I Doble negación:
¬¬A ≡ A
I Leyes de De Morgan:
¬(A ∧ B) ≡ ¬A ∨ ¬B
¬(A ∨ B) ≡ ¬A ∧ ¬B
Formas Normales y
Equivalencias (II) Algoritmo DPLL
I Idempotencia: Introducción
A∨A≡A Formas normales
A∧A≡A Equivalencia lógica
Sustitución
Formas normales
I Absorción: Algoritmos para SAT y
TAUT
A ∨ (A ∧ B) ≡ A Tablero y Formas Normales
A ∧ (A ∨ B) ≡ A Forma clausal
Algoritmo DPLL
I Leyes de tautologı́a: Si A es una tautologı́a, entonces Estructura del algoritmo
Extracción de Modelos
A∧B ≡B
A∨B ≡A
B B{A/A0 }
z }| { z }| {
p → (q ∧ r ) ∨¬s p → (t → ¬r ) ∨¬s
| {z } | {z }
A A0
Formas Normales y
Sustitución: ejemplos Algoritmo DPLL
Si B = p → q → r ∨ s entonces: Introducción
I B{r ∨s/p} = p → q → p. Formas normales
Equivalencia lógica
I B{q∧r /q} = p → q → r ∨ s. Sustitución
Formas normales
I B{q→r ∨s/p∧r } = p → p ∧ r . Algoritmos para SAT y
TAUT
Tablero y Formas Normales
I B{p→q/p} = p → q → r ∨ s. Forma clausal
Algoritmo DPLL
Estructura del algoritmo
Extracción de Modelos
Si C = (p → q) ∨ (r → p → q), entonces:
I C{p→q/t} = t ∨ (r → t).
I C{p→q/t→p→q} = (t → p → q) ∨ (r → (t → p → q)).
Formas Normales y
El Teorema de Sustitución Algoritmo DPLL
Algoritmo DPLL
I Ejemplo: Estructura del algoritmo
Extracción de Modelos
Entonces:
_n
1. Li ∈ TAUT ⇐⇒ Σ contiene un par de literales
i=1
complementarios.
^n
2. Li ∈
/ SAT ⇐⇒ Σ contiene un par de literales
i=1
complementarios.
Formas Normales y
Formas normales en LP Algoritmo DPLL
^n mi
_ Formas normales
Algoritmos para SAT y
F = Li,j TAUT
Tablero y Formas Normales
i=1 j=1 Forma clausal
Algoritmo DPLL
I Una fórmula está en Forma Normal Disjuntiva Estructura del algoritmo
Extracción de Modelos
Corolario. Introducción
I Una fórmula en FNC es una tautologı́a si y solo si cada Formas normales
Algoritmo DPLL
Estructura del algoritmo
Extracción de Modelos
Teorema.
Para toda fórmula G ∈ PROP:
I existe F1 en FNC tal que F1 ≡ G .
I existe F2 en FND tal que F2 ≡ G .
Formas Normales y
Paso a forma normal Algoritmo DPLL
A → B ≡ ¬A ∨ B y A ↔ B ≡ (A → B) ∧ (B → A) Sustitución
Formas normales
Algoritmos para SAT y
TAUT
2. Trasladar las negaciones, mediante las leyes de Morgan: Tablero y Formas Normales
Forma clausal
¬¬A ≡ A
4. Convertir a FNC utilizando la ley distributiva:
A ∨ (B1 ∧ B2 ) ≡ (A ∨ B1 ) ∧ (A ∨ B2 )
Formas normales
⇒ (p ∨ ¬q ∨ ¬q ∨ p) ∧ (p ∨ ¬q ∨ ¬r ∨ p)
⇒ (¬q ∨ p) ∧ (¬q ∨ ¬r ∨ p)
I F1 = (p ∧ q) → (q ∧ r ) ∨ p. Introducción
Una FNC de F1 es: Formas normales
Equivalencia lógica
Sustitución
(¬p ∨ ¬q ∨ q ∨ p) ∧ (¬p ∨ ¬q ∨ r ∨ p) Formas normales
Algoritmos para SAT y
TAUT
Tablero y Formas Normales
Es una tautologı́a (y, por tanto, satisfactible). Forma clausal
(¬p ∧ ¬q) ∨ ¬p ∨ q
(¬p ∨ q) ∧ (¬q ∨ ¬p ∨ q)
C1 ∨ · · · ∨ Ck
Formas Normales y
Tableros y FND: Ejemplo Algoritmo DPLL
Formas normales
q ∧ s ∧ (q → (r → ¬p)) Equivalencia lógica
Sustitución
Formas normales
Algoritmos para SAT y
q, s ∧ (q → (r → ¬p)) TAUT
Tablero y Formas Normales
Forma clausal
q, s, ¬q q, s, r → ¬p
×
q, s, ¬r q, s, ¬p
Una FND de F es (q ∧ s ∧ ¬r ) ∨ (q ∧ s ∧ ¬p).
Formas Normales y
Tableros y FNC Algoritmo DPLL
D1 ∧ · · · ∧ D k
Formas Normales y
Tableros y FNC: Ejemplos Algoritmo DPLL
Algoritmo DPLL
≡ s ∧ (¬r ∨ ¬¬q) ∧ (¬p ∨ ¬¬q)) Estructura del algoritmo
Algoritmo DPLL
¬s ¬((¬r → p) → q) Estructura del algoritmo
Extracción de Modelos
disyunción: s ¬r → p, ¬q
r , ¬q p, ¬q
disyunción: ¬r ∨ q disyunción: ¬p ∨ q
Una FNC de F es s ∧ (¬r ∨ q) ∧ (¬p ∨ q).
Formas Normales y
Cláusulas en LP Algoritmo DPLL
Teorema. Introducción
Para toda fórmula F ∈ PROP existe un conjunto de Formas normales
cláusulas {C1 , . . . , Cn } tal que para toda valoración, v , Equivalencia lógica
Sustitución
Formas normales
Coroloario. Introducción
En el caso de un conjunto de fórmulas U existe un conjunto Formas normales
de cláusulas {C1 , . . . , Cn } tal que para toda valoración, v , Equivalencia lógica
Sustitución
Formas normales
U = {p → q , (p ∨ ¬q) ∧ (r → ¬p), p ∧ ¬r }
| {z } | {z } | {z }
(1) (2) (3)
{¬p ∨ q , p ∨ ¬q, ¬r ∨ ¬p , p, ¬r }
| {z } | {z } | {z }
(1) (2) (3)
Formas Normales y
El algoritmo DPLL Algoritmo DPLL
I Está entre los algoritmos más eficientes para la lógica Algoritmo DPLL
proposicional, pero no se extiende fácilmente a otras Estructura del algoritmo
Extracción de Modelos
lógicas.
I Tableros semánticos:
I Trabaja directamente sobre el conjunto de fórmulas
proposicionales.
I No es tan eficiente como DPLL, pero es muy flexible y
puede adaptarse a otras lógicas (lógica de primer orden,
descriptivas, modales, etc.), donde resulta útil en el
estudio teórico.
Formas Normales y
Estructura del algoritmo Algoritmo DPLL
Algoritmo DPLL
Estructura del algoritmo
Procedimiento DPLL Extracción de Modelos
Algoritmo DPLL
Entrada: S conjunto de cláusulas Estructura del algoritmo
Selecciona C ∈ S, L ∈ C
devolver {S ∪ {L}, S ∪ {Lc }}
Formas Normales y
Ejemplo Algoritmo DPLL
Introducción
S = {{p, q, r }, {¬p, q, r }, {¬q, r }, {¬q, ¬r }, {q, ¬r }} Formas normales
Equivalencia lógica
Sustitución
Formas normales
Algoritmos para SAT y
TAUT
Tablero y Formas Normales
p ¬p Forma clausal
q ¬q q ¬q
{{r }, {¬r }} {{r }, {¬r }} {{r }, {¬r }} {{r }, {¬r }}
r r r r
{} {} {} {}
Introducción
S = {{p, q, r }, {¬p, q, r }, {p, ¬q}, {p, r },
Formas normales
{¬p, ¬q, r }, {¬p, q, ¬r }, {¬p, ¬q, ¬r }} Equivalencia lógica
Sustitución
S Formas normales
Algoritmos para SAT y
TAUT
Tablero y Formas Normales
Forma clausal
Algoritmo DPLL
p ¬p Estructura del algoritmo
r
q ¬q
{{¬q}}
{{r }, {¬r }} {{r }, {¬r }}
¬q
r r
∅
{} {}
Satisfactible