Tema 2: Métodos de Deducción para la Lógica Proposicional Dpto. Ciencias de la Computación Inteligencia Artificial Universidad de Sevilla Lógica y Computabilidad Curso 2010–11 LC, 2010–11 Métodos de Deducción 2.1 Contenido Formas normales Equivalencia Sustitución Formas normales Tableros Fomulas α y β Tableros completos Sistemas deductivos Resolución Cláusulas La regla de resolución Saturación Estrategias de resolución LC, 2010–11 Métodos de Deducción 2.2 Equivalencia Dos fórmulas F1 , F2 son equivalentes (F1 ≡ F2 ) si, para toda valoración v , v (F1 ) = v (F2 ). Es decir, F1 ≡ F2 si F1 y F2 tienen los mismos modelos. I F1 ≡ F2 si y sólo si F1 |= F2 y F2 |= F1 Ejemplos: I Cualesquiera dos fórmulas insatisfactibles son equivalentes. I Dos tautologı́as cualesquiera son equivalentes. LC, 2010–11 Métodos de Deducción 2.3 Equivalencias (I) Sean A, B ∈ PROP. Se tienen las siguientes equivalencias: I Conmutatividad: A ∨ B ≡ B ∨ A I Asociatividad: A ∨ (B ∨ C ) ≡ (A ∨ B) ∨ C I y y A∧B ≡B ∧A A ∧ (B ∧ C ) ≡ (A ∧ B) ∧ C 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 LC, 2010–11 y ¬(A ∨ B) ≡ ¬A ∧ ¬B Métodos de Deducción 2.4 Equivalencias (II) I Idempotencia: A ∨ A ≡ A I Absorción: A ∨ (A ∧ B) ≡ A I Leyes de tautologı́a: Si A es una tautologı́a, entonces A∧B ≡B I y y A∧A≡A A ∧ (A ∨ B) ≡ A A∨B ≡A Leyes de inconsistentes: Si A es insatisfactible, entonces A∧B ≡A LC, 2010–11 y y A∨B ≡B Métodos de Deducción 2.5 Sustitución I Dadas A, B ∈ PROP si A es una subfórmula de B y A0 ∈ PROP, la sustitución de A por A0 en B es la fórmula que se obtiene al cambiar cada aparición de A en B por A0 . Usaremos como notación para la sustitución: B{A/A0 }. I Si A no es una subfórmula de B, por definición B{A/A0 } es B. Ejemplos: Si B es p → q → r ∨ s entonces: I B{r ∨ s/p} es p → q → p. I B{q ∧ r /q} es p → q → r ∨ s. I B{q → r ∨ s/p ∧ r } es p → p ∧ r . I B{p → q/p} es p → q → r ∨ s. Si C es la fórmula (p → q) ∨ (r → p → q), entonces I C {p → q/t} es t ∨ (r → t). I C {p → q/t → p → q} es (t → p → q) ∨ (r → (t → p → q)) LC, 2010–11 Métodos de Deducción 2.6 El Teorema de sustitución Teorema de Sustitución. Sean B ∈ PROP y A, A0 ∈ PROP tales que A ≡ A0 . Entonces B{A/A0 } ≡ B I El teorema de sustitución nos permite manipular “algebraicamente” una fórmula F para obtener otra fórmula más simple y equivalente a F . Este proceso es similar al empleado en la simplificación de expresiones algebraicas. I Ejemplo: B ∨ (A ∧ (A → B)) ≡ B ∨ (A ∧ (¬A ∨ B)) ≡ B ∨ (A ∧ ¬A) ∨ (A ∧ B) ≡ B ∨ (A ∧ B) ≡ B LC, 2010–11 Métodos de Deducción 2.7 Literales I Una fórmula F es un literal si es una variable proposicional o la negación de una variable proposicional. I Dos literales, L1 y L2 , son complementarios (y decimos que uno es el complementario del otro) si L1 es p y L2 es ¬p. Lema 1. Sean L1 , . . . , Ln literales. Son equivalentes: n _ 1. Li es una tautologı́a. i=1 2. {L1 , . . . , Ln } contiene un par de literales complementarios. Lema 2. Sean L1 , . . . , Ln literales. Son equivalentes: n ^ 1. Li es inconsistente. i=1 2. {L1 , . . . , Ln } contiene un par de literales complementarios. LC, 2010–11 Métodos de Deducción 2.8 Formas normales I Una fórmula está en Forma normal conjuntiva (FNC) si es una conjunción de disyunciones de literales; mi n ^ _ Li,j F = i=1 I Una fórmula está en Forma normal disjuntiva (FND) si es una disyunción de conjunciones de literales; mi n _ ^ Li,j F = i=1 LC, 2010–11 j=1 j=1 Métodos de Deducción 2.9 Formas normales (II) Lema: I Una fórmula en forma normal conjuntiva es una tautologı́a syss cada una de sus disyunciones es una tautologı́a. I Una fórmula en forma normal disjuntiva es insatisfactible syss cada una de sus conjunciones es insatisfactible. Teorema. I Para toda fórmula G existe F en FNC tal que F ≡ G . I Para toda fórmula G existe F en FND tal que F ≡ G . LC, 2010–11 Métodos de Deducción 2.10 Paso a forma normal Procedimiento para transformar G en FNC: 1. Eliminar todas las implicaciones usando: A → B ≡ ¬A ∨ B y A ↔ B ≡ (A → B) ∧ (B → A) 2. Trasladar las negaciones, mediante las leyes de Morgan: ¬(A ∧ B) ≡ ¬A ∨ ¬B y ¬(A ∨ B) ≡ ¬A ∧ ¬B 3. Eliminar negaciones dobles usando ¬¬A ≡ A. 4. Convertir a FNC utilizando la ley distributiva: A ∨ (B1 ∧ B2 ) ≡ (A ∨ B1 ) ∧ (A ∨ B2 ) I Para pasar a FND utilizamos la ley distributiva: A ∧ (B1 ∨ B2 ) ≡ (A ∧ B1 ) ∨ (A ∧ B2 ) LC, 2010–11 Métodos de Deducción 2.11 Ejemplo (¬p ∧ q) → (q ∨ r ) → p ⇒ ¬(¬p ∧ q) ∨ ((q ∨ r ) → p) ⇒ ¬(¬p ∧ q) ∨ ¬(q ∨ r ) ∨ p ⇒ ¬¬p ∨ ¬q ∨ (¬q ∧ ¬r ) ∨ p ⇒ p ∨ ¬q ∨ ((¬q ∨ p) ∧ (¬r ∨ p)) ⇒ (p ∨ ¬q ∨ ¬q ∨ p) ∧ (p ∨ ¬q ∨ ¬r ∨ p) ⇒ (¬q ∨ p) ∧ (¬q ∨ ¬r ∨ p) Hemos eliminado literales repetidos en una misma cláusula gracias a la equivalencia: A ∨ A ≡ A (En la FND utilizarı́amos la equivalencia A ∧ A ≡ A). LC, 2010–11 Métodos de Deducción 2.12 Algoritmo de satisfactibilidad mediante FND Entrada: Una fórmula F . Salida: Satisfactible, si F es satisfactible; Insatisfactible, en caso contrario. Procedimiento Calcular una FND de F , FND(F ) G = G1 ∨ · · · ∨ Gn ← FND(F ) para i = 1 hasta n si en Gi no ocurren literales complementarios, entonces devolver satisfactible, parar devolver insatisfactible LC, 2010–11 Métodos de Deducción 2.13 Algoritmo de validez mediante FNC Entrada: Una fórmula F Salida: Tautologia, si F es una tautologı́a; No-tautologia, en caso contrario. Procedimiento Calcular una FNC de F , FNC (F ) G = G1 ∧ · · · ∧ Gn ← FNC (F ) para i = 1 hasta n si en Gi no ocurren literales complementarios, entonces devolver No-tautologia; parar devolver Tautologia LC, 2010–11 Métodos de Deducción 2.14 Ejemplos I F1 = (p ∧ q) → (q ∧ r ) ∨ p. Su forma normal conjuntiva es (¬p ∨ ¬q ∨ q ∨ p) ∧ (¬p ∨ ¬q ∨ r ∨ p) Es tautologı́a (y por tanto satisfactible) I F2 = ¬(p ∨ q) ∨ (p → q). Su forma normal disyuntiva es: (¬p ∧ ¬q) ∨ ¬p ∨ q Es satisfactible. Su forma normal conjuntiva es (¬p ∨ q) ∧ (¬q ∨ ¬p ∨ q) No es tautologı́a. LC, 2010–11 Métodos de Deducción 2.15 Tableros Semánticos I Gracias a la FND sabemos que la satisfactibilidad de una fórmula puede reducirse a la de ciertos conjuntos de literales. I El método de los tableros semánticos organiza de manera sistemática la búsqueda de modelos, reduciendo la satisfactibilidad de las fórmulas consideradas a la de ciertos conjuntos de literales. El método de tableros semánticos: 1. Clasifica las fórmulas en dos clases: I I Las fórmulas α, que se comportan como conjunciones Las fórmulas β, que se comportan como disyunciones 2. Asocia a cada fórmula, F , otras dos fórmulas más sencillas (sus componentes) de modo que la satisfactibilidad de F se reduce a la de sus componentes. LC, 2010–11 Métodos de Deducción 2.16 Fórmulas de tipo α Las fórmulas de tipo α son las siguientes: α α1 α2 ¬¬F F F1 ∧ F2 F1 F2 ¬(F1 ∨ F2 ) ¬F1 ¬F2 ¬(F1 → F2 ) F1 ¬F2 F1 ↔ F2 F1 → F2 F2 → F1 I Las fórmulas α1 y α2 son las componentes de α. I Si F es de tipo α, entonces F ≡ α1 ∧ α2 . I Para satisfacer una fórmula de tipo α es necesario y suficiente satisfacer simultáneamente sus dos componentes α1 y α2 . LC, 2010–11 Métodos de Deducción 2.17 Fórmulas de tipo β Las fórmulas de tipo β son las siguientes: β β1 β2 F1 ∨ F2 F1 F2 ¬(F1 ∧ F2 ) ¬F1 ¬F2 (F1 → F2 ) ¬F1 F2 ¬(F1 ↔ F2 ) ¬(F1 → F2 ) ¬(F2 → F1 ) I Las fórmulas β1 y β2 son las componentes de β. I Si F es de tipo β, entonces F ≡ β1 ∨ β2 I Para satisfacer una fórmula de tipo β sólo es necesario y suficiente satisfacer una de sus componentes β1 y β2 . LC, 2010–11 Métodos de Deducción 2.18 Reglas α y β Reducen la consistencia de un conjunto de fórmulas U a la de otro conjunto U 0 formado por fórmulas más sencillas. I Regla α: Si F ∈ U es de tipo α, entonces U consistente I LC, 2010–11 ⇐⇒ (U − {F }) ∪ {α1 , α2 } consistente Regla β: Si F ∈ U es de tipo β, entonces (U − {F }) ∪ {β1 } consistente o U consistente ⇐⇒ (U − {F }) ∪ {β2 } consistente Métodos de Deducción 2.19 Ejemplo La fórmula q ∧ p ∧ (p → (q → ¬p)) es insatisfactible: q ∧ p ∧ (p → (q → ¬p)) q, p ∧ (p → (q → ¬p)) q, p, (p → (q → ¬p)) H HH HH q, p, ¬p q, p, q → ¬p HH × H q, p, ¬q q, p, ¬p × × LC, 2010–11 Métodos de Deducción 2.20 Construcción de un tablero completo Un tablero para {A1 , . . . , An } es un árbol T , con nodos etiquetados por conjuntos de fórmulas, tal que: I I La raı́z r de T está etiquetado por U(r ) = {A1 , . . . An }. Para cada nodo l de T , con etiqueta U(l), no marcado, hacer: 1. Si U(l) es un conjunto de literales, entonces: 1.1 Si existe un par de literales complementarios en U(l), marcar con × (y se denomina hoja cerrada). 1.2 Si no existe tal par, marcar con (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 α–fórmula, entonces añadir un hijo l 0 de l con U(l 0 ) = (U(l) \ {A}) ∪ {α1 , α2 } (α2 puede no existir). 2.2 Si A es una β–fórmula, entonces añadir dos hijos l 0 , l 00 con etiquetas U(l 0 ) = (U(l) \ {A}) ∪ {β1 } y U(l 00 ) = (U(l) \ {A}) ∪ {β2 } LC, 2010–11 Métodos de Deducción 2.21 Propiedades de los tableros I La construcción siempre termina. El tablero final se denomina tablero completo. I Un tablero T es cerrado si todas sus hojas son cerradas. En otro caso es abierto. Corrección y Completitud Sea S un conjunto de fórmulas, y T un tablero completo para S. I Corrección: Si T es cerrado, entonces S es inconsistente. I Completitud: Si S es inconsistente, entonces T es cerrado. {A1 , . . . , An } admite un tablero abierto si y sólo si es un conjunto consistente. Además la rama abierta define un modelo: Si U es la etiqueta de la hoja abierta, v (p) = 1 si p ∈ U ó ¬p ∈ / U, LC, 2010–11 y v (p) = 0 si ¬p ∈ U. Métodos de Deducción 2.22 Ejemplo de consistencia: p ∧ ¬q ∧ (p → ((q ∨ r ) → (p ∧ r ))) p, ¬q ∧ (p → ((q ∨ r ) → (p ∧ r ))) p, ¬q, p → ((q ∨ r ) → (p ∧ r )) H HH HH H H p, ¬q, ¬p p, ¬q, (q ∨ r ) → (p ∧ r ) × HH H HH p, ¬q, p ∧ r p, ¬q, ¬(q ∨ r ) p, ¬q, ¬r p, ¬q, r Induce v (p) = v (r ) = 1, v (q) = 0 LC, 2010–11 Métodos de Deducción 2.23 Consecuencia lógica {A1 , . . . An } |= A ⇐⇒ {A1 , . . . , An , ¬A} admite un tablero cerrado. Por ejemplo, {p → q, q ∨ r → s} |= p → s. p → q, q ∨ r → s, ¬(p → s) p → q, q ∨ r → s, p, ¬s H H HH H H ¬p, q ∨ r → s p, ¬s q, q ∨ r → s, p, ¬s H H × HH H q, s, p, ¬s q, ¬(q ∨ r ), p, ¬s × q, ¬q, ¬r , p, ¬s × LC, 2010–11 Métodos de Deducción 2.24 Pruebas formales I Los tableros semánticos proporcionan un algoritmo para la deducción basado en este hecho: {A1 , . . . , An } |= A I ⇐⇒ {A1 , . . . , An , ¬A} inconsistente Un enfoque más natural del problema básico (PB) se obtiene a través de la noción de demostración: 1. Consideramos el conjunto de enunciados, BC, como un conjunto de axiomas (o hipótesis que asumimos como ciertas inicialmente). 2. El enunciado φ será consecuencia de BC si podemos obtener una demostración de φ a partir de BC (de manera similar a como en matemáticas se demuestra un teorema). LC, 2010–11 Métodos de Deducción 2.25 Sistemas deductivos Un sistema deductivo, T, (o teorı́a proposicional) consta de: I Un conjunto, Ax(T), de fórmulas proposicionales que llamamos los axiomas de T. I Reglas de inferencia de la forma: A1 , . . . , An A siendo A1 , . . . , An , A fórmulas proposicionales. Las fórmulas A1 , . . . , An se denominan premisas y la fórmula A conclusión. LC, 2010–11 Métodos de Deducción 2.26 Pruebas y teoremas I Una demostración en T es una sucesión de fórmulas proposicionales A1 , . . . , Ak cada una de las cuales es un axioma de T, o bien, se obtiene a partir de fórmulas anteriores de la sucesión mediante una regla de inferencia. I Una fórmula A es un teorema de T, `T A, si existe una demostración en T, A1 , . . . , Ak tal que A = Ak . La sucesión A1 , . . . , Ak se denomina una demostración de A en T. LC, 2010–11 Métodos de Deducción 2.27 Ejemplo I I LC, 2010–11 Axiomas de T: {p, q, p ∧ q → (¬s ∨ p → r )} Reglas de inferencia: (A y B fórmulas cualesquiera) I∧ : A, B A∧B I∨ : A A∨B C∨ : A∨B B ∨A MP : A, A → B B Métodos de Deducción 2.28 Ejemplo (bis) La siguiente sucesión es una demostración de r en T; luego `T r 1. 2. 3. 4. 5. 6. 7. 8. LC, 2010–11 p q p∧q p ∧ q → (¬s ∨ p → r ) ¬s ∨ p → r p ∨ ¬s ¬s ∨ p r [[Hip.]] [[Hip.]] [[I∧ aplicada a 1. y 2.]] [[Hip.]] [[MP aplicada a 3. y 4.]] [[I∨ aplicada a 1.]] [[C∨ aplicada a 6.]] [[MP aplicada a 7. y 5.]] Métodos de Deducción 2.29 Cláusulas I Una cláusula es una disyunción de literales L1 ∨ · · · ∨ Ln . I Dada una valoración v y una cláusula L1 ∨ · · · ∨ Ln se tiene: v |= L1 ∨ · · · ∨ Ln ⇐⇒ Existe i = 1, . . . , n tal que v |= Li Por tanto, el valor de verdad de L1 ∨ · · · ∨ Ln no depende ni del orden en que aparecen los literales ni de posibles repeticiones de literales. I En consecuencia, identificamos la cláusula L1 ∨ · · · ∨ Ln con el conjunto de literales {L1 , . . . Ln }. I Caso especial: la cláusula vacı́a, correspondiente al conjunto de literales vacı́o. La denotamos por . I Por definición, para toda valoración, v , se tiene v () = 0. I Notación: El literal complementario de L se denota por Lc . LC, 2010–11 Métodos de Deducción 2.30 Formas clausales I Para toda fórmula F ∈ PROP existe un conjunto de cláusulas {C1 , . . . , Cn } tal que para toda valoración, v , v |= F ⇐⇒ v |= {C1 , . . . , Cn } {C1 , . . . , Cn } se denomina una forma clausal de F . I Podemos obtener una forma clausal a partir de una forma normal conjuntiva. I La fórmula en forma normal conjuntiva (L1,1 ∨ · · · ∨ L1,n1 ) ∧ · · · ∧ (Lm,1 ∨ · · · ∨ Lm,nm ) se escribe en forma clausal: {{L1,1 , . . . , L1,n1 } . . . {Lm,1 , · · · , Lm,nm }} LC, 2010–11 Métodos de Deducción 2.31 La regla de resolución Generaliza algunas de las reglas de inferencia clásicas: Modus Ponens : p, p→q q {p}, {¬p, q} {q} Modus Tollens : p → q, ¬q ¬p {¬p, q}, {¬q} {¬p} Encadenamiento : p → q, q → r p→r {¬p, q}, {¬q, r } {¬p, r } p → q, {¬p, q}, {¬p, ¬q} {¬p} Reducción al absurdo : LC, 2010–11 p → ¬q ¬p Métodos de Deducción 2.32 La regla de resolución Regla de resolución: {L1 , . . . , L, . . . , Lm , }, {M1 , . . . , Lc , . . . , Mk } {L1 , . . . , Lm , M1 , . . . , Mk } LC, 2010–11 Métodos de Deducción 2.33 Resolución entre cláusulas I Si L ∈ C1 y L0 ∈ C2 son literales complementarios, entonces la resolvente de C1 y C2 respecto a L es resL (C1 , C2 ) = (C1 \ {L}) ∪ (C2 \ {L0 }) El conjunto de las resolventes de C1 y C2 es: Res(C1 , C2 ) = {resL (C1 , C2 ) : L ∈ C1 y Lc ∈ C2 }. I Ejemplos: Sea C1 = {p, q, ¬r } y C2 = {¬p, r , s}. Entonces resp (C1 , C2 ) = {q, ¬r , r , s} res¬r (C1 , C2 ) = {p, ¬p, q, s} LC, 2010–11 Métodos de Deducción 2.34 Demostraciones por resolución Dado un conjunto de cláusulas, S, podemos considerar el sistema deductivo que tiene a S como conjunto de axiomas y resolución como única regla de inferencia. I Una demostración por resolución a partir de S es una sucesión de cláusulas C1 , . . . , Cn tal que para cada i = 1, . . . , n se verifica: I I Ci ∈ S, o bien Existen j, k < i tales que Ci ∈ Res(Cj , Ck ). Si Cn = diremos que C1 , . . . , Cn es una refutación de S. I Una cláusula C es demostrable por resolución a partir de S si existe una demostración a partir de S, C1 , . . . , Cn , tal que Cn = C . Notación: S `r C . I Decimos que S es refutable si S `r . LC, 2010–11 Métodos de Deducción 2.35 Ejemplos I Sea S = {{p, q}, {¬p, q}, {p, ¬q}, {¬q, ¬p, s}}. Veamos que S `r {s}. 1. 2. 3. 4. 5. 6. 7. 8. I LC, 2010–11 {p, q} {¬p, q} {q} {¬q, p} {p} {¬q, ¬p, s} {¬q, s} {s} Hipótesis Hipótesis Resolvente Hipótesis Resolvente Hipótesis Resolvente Resolvente de 1 y 2 de 3 y 4 de 5 y 6 de 7 y 3 Es habitual presentar las demostraciones por resolución utilizando un árbol. Métodos de Deducción 2.36 Ejemplos (II) S1 = {{p, q}, {p, ¬q}, {¬p, q}, {¬p, ¬q}} es refutable; {p, q} {¬p, q} {q} {p, ¬q} S S S {p} {¬p, ¬q} {¬q} Luego S `r . LC, 2010–11 Métodos de Deducción 2.37 Adecuación y Completitud I Lema. Sean C1 , C2 y C cláusulas. Si C es una resolvente de C1 y C2 , entonces {C1 , C2 } |= C . I Teorema de adecuación. Sean S un conjunto de cláusulas y C una cláusula. Entonces S `r C I =⇒ S |= C Incompletitud de resolución: {{q}} |= {q, r } pero {{q}} 6`r {q, r } I Teorema de completitud de la refutación: S es inconsistente LC, 2010–11 ⇐⇒ S `r Métodos de Deducción 2.38 Resolución por saturación I Algoritmo de resolución por saturación. Entrada: S, un conjunto finito de cláusulas. Salida: SI, si S es inconsistente NO, en caso contrario. Procedimiento: 1. S 0 ← S 2. S 00 ← S 0 ∪ [ Res(C1 , C2 ) C1 ,C2 ∈S 0 00 3. Mientras ∈ / S y S 0 6= S 00 hacer: I I S0 ← S S 00 ← S 0 ∪ [ Res(C1 , C2 ) C1 ,C2 ∈S 0 4. Si ∈ S 00 devolver SI (i.e., inconsistente) 5. Si ∈ / S 00 devolver NO (i.e., consistente) LC, 2010–11 Métodos de Deducción 2.39 Resolución por saturación I El algoritmo de resolución por saturación genera una sucesión de conjuntos de cláusulas: [ S0 = S, Si+1 = Si ∪ Res(C1 , C2 ) C1 ,C2 ∈Si de tal modo que para toda cláusula, C , se tiene S `r C I LC, 2010–11 ⇐⇒ Existe j tal que C ∈ Sj En consecuencia, por el teorema de completitud, el algoritmo de resolución por saturación es correcto. Métodos de Deducción 2.40 Ejemplos (I) I Sea S = {{p, q}, {¬p, q}, {p, ¬q}, {¬q}}, aplicando el algoritmo: S1 = S ∪ {{q}, {p}, {¬p}, {¬p, p}, {q, ¬q}} S2 = S1 ∪ {, ...} Por tanto, S es inconsistente. I Sea S = {{p, q}, {p, ¬q}, {q, r , s}, {¬s, ¬r }}, aplicando el algoritmo: S1 = S ∪ {{p}, {p, r , s}, {q, s, ¬s}, {q, r , ¬r }} S2 = S1 ∪ {{p, s, ¬s}, {p, r , ¬r }, {q, ¬r , ¬s}, {p, q, r , s}} S3 = S2 ∪{{p, ¬r , ¬s}, {p, q, ¬s, s}, {p, q, ¬r , r }, {p, q, ¬r , ¬s}} Y S4 = S3 . Por tanto, S es consistente. LC, 2010–11 Métodos de Deducción 2.41 Ejemplos (II) I I La aparición de tautologı́as suele provocar el cálculo de muchas resolventes repetidas y la aparición de nuevas tautologı́as. Sin embargo, las tautologı́as son cláusulas esencialmente redundantes, ya que tenemos el siguiente resultado: I Sea C una tautologı́a y S un conjunto de fórmulas. Entonces S es consistente I ⇐⇒ S − {C } es consistente Por tanto, en cada etapa del algoritmo de saturación podemos eliminar las tautologı́as obtenidas. En el caso anterior tendrı́amos S = {{p, q}, {p, ¬q}, {q, r , s}, {¬s, ¬r }} y aplicando el algoritmo con eliminación de tautologı́as S1 = S ∪ {{p}, {p, r , s}}, S2 = S1 Por tanto, S es consistente. LC, 2010–11 Métodos de Deducción 2.42 Completitud y eficiencia I Hemos estudiado la deducción como un método mecánico para decidir la validez, consistencia, consecuencia lógica, etc. I La completitud es una propiedad fundamental de los procedimientos de deducción estudiados. I En el caso de resolución la existencia de una demostración es decidible, y el conjunto de teoremas es finito (si el conjunto de cláusulas inicial es finito): Resolución por Saturación. I Sin embargo, los métodos de decisión conocidos no son eficientes, en general. I Una solución: Restringir el tipo de cláusulas consideradas. I I LC, 2010–11 Una cláusula de Horn es una cláusulas con a lo sumo un literal positivo. El problema de decidir si un conjunto de cláusulas de Horn (proposicionales) es consistente es decidible de manera eficiente. Métodos de Deducción 2.43 Completitud y eficiencia (II) Existen diferentes estrategias para reducir el número o la complejidad de las pruebas, sin perder la adecuación y manteniendo la completitud. FORMULAS C_2 S−TEOREMAS Consecuencia Logica, no teoremas C_1 S C_4 C_3 = Pruebas originales LC, 2010–11 = Pruebas refinadas Métodos de Deducción 2.44 Opciones: I Aumentar el número de reglas de inferencia. I I I Acorta la longitud de las pruebas. Es necesario justificar su adecuación. Ejemplo: La regla de Hiperresolución: {¬A1 , . . . , ¬An , B1 , . . . , Bm }, {A1 }, . . . , {An } {B1 , . . . , Bm } I Reducir el ámbito de aplicación de las reglas. I I Utilizar Heurı́sticas. I LC, 2010–11 Acorta el tiempo de comprobación de la aplicabilidad. Basadas en comprobaciones empı́ricas. Métodos de Deducción 2.45 Estrategias Para reducir el ámbito de aplicación de las reglas de inferencia en el caso de resolución, podemos adoptar las siguientes estrategias. I Resolución positiva (resp. negativa): Sólo se calculan resolventes si una de las dos cláusulas contiene únicamente literales positivos (resp. negativos). Es (refutacionalmente) completa. I Resolución lineal: Una deducción por resolución a partir de un conjunto S, C1 , . . . , Cn , es lineal si para cada i < n la cláusula Ci+1 es una resolvente de Ci y otra cláusula previamente obtenida por resolución o perteneciente a S. I I LC, 2010–11 La resolución lineal es (refutacionalmente) completa, ya que se tiene el siguiente resultado: Teorema. Si S es un conjunto inconsistente y S − {C } es consistente, entonces existe una refutación de S por resolución lineal cuya cláusula inicial es C . Métodos de Deducción 2.46 Estrategias (II) I Resolución unidad: Sólo se permiten resolventes si una de las cláusulas es unitaria. I Resolución por entradas: Sólo se permiten resolventes si una de las cláusulas pertenece a S. I I LC, 2010–11 En general, resolución unidad y por entradas NO son refutacionalmente completas, pero sı́ lo son restringidas a conjuntos de cláusulas de Horn. Teorema. Sea S es un conjunto inconsistente formado por cláusulas de Horn. Entonces S es refutable mediante resolución unidad y mediante resolución por entradas. Métodos de Deducción 2.47