Está en la página 1de 13

Sistemas Deductivos

Naturaleza sintctica, combinatoria En general axiomas + reglas de inferencia teorema

Demostracin o prueba: secuencia finita de pasos, de aplicaciones de reglas de inferencia. Conexin con el concepto semntico de consecuencia Correccin, completitud, decidibilidad

Ciencias de la Computacin II - Filminas de Clase Facultad Cs. Exactas UNCPBA - 2013

Sistemas Deductivos
Demostracin de frmulas:

Demostracin de frmula A es una sucesin finita de frmulas F1, F2, ..., Fn, todas vlidas, tales que: 1) Cada frmula Fi es un axioma o teorema ya demostrado, o una frmula obtenida de las anteriores aplicando alguna regla de inferencia. 2) La ltima frmula de la sucesin Fn es la frmula A a demostrar.

A es entonces un teorema del sistema

Ciencias de la Computacin II - Filminas de Clase Facultad Cs. Exactas UNCPBA - 2013

Sistemas Deductivos
Demostracin de deducciones: - Un argumento o deduccin tiene la forma P1, P2, ..., Pn Q - Pi son hiptesis y Q es la conclusin Demostracin de la validez de un argumento es una sucesin finita de frmulas F1 = P1, F2 = P2, ..., Fn = Pn, Fn+1, Fn+2, Fm = Q, todas vlidas, tales que: 1) Cada frmula Fi es una hiptesis, un axioma o teorema ya demostrado, o una frmula obtenida de las anteriores aplicando alguna regla de inferencia. 2) La ltima frmula de la sucesin Fm = Q es la conclusin del argumento. Se dice entonces que Q se deduce de P1, P2, ..., Pn P , P , ..., P |_ Q
1 2 n
Ciencias de la Computacin II - Filminas de Clase Facultad Cs. Exactas UNCPBA - 2013

Sistemas Deductivos
- Axiomtico: conjunto de axiomas y conjunto de reglas de inferencia
Ejemplo: Axiomas: Regla de inferencia: A AB B

|_ A (B A) |_ (A B) (B A) |_ (A ( B C)) ((A B) (A C))

Ciencias de la Computacin II - Filminas de Clase Facultad Cs. Exactas UNCPBA - 2013

Sistemas Deductivos
- Deduccin natural (Gentzen): sin axiomas y con varias reglas de inferencia
Reglas de inferencia bsicas: Dadas A, B, C Fm Introduccin conjuncin A B . AB Introduccin disyuncin A AB . Eliminacin conjuncin AB AB A B Eliminacin disyuncin AB A C C
Ciencias de la Computacin II - Filminas de Clase Facultad Cs. Exactas UNCPBA - 2013

B C .

Sistemas Deductivos
Introduccin implicacin A C . A C Eliminacin implicacin (Modus Ponens) A A C C

Eliminacin doble negacin A A

Introduccin negacin A B B . A

Ciencias de la Computacin II - Filminas de Clase Facultad Cs. Exactas UNCPBA - 2013

Sistemas Deductivos
- Resolucin: nica regla de deduccin (sin axiomas) fcil implementacin deduccin por refutacin

B AB

s y slo s B es contradiccin s y slo s {A, B} es insatisfacible (A = {A1, A2, ..., An})

frmulas en forma normal conjuntiva

Ciencias de la Computacin II - Filminas de Clase Facultad Cs. Exactas UNCPBA - 2013

Formas Normales
FORMA NORMAL DISYUNTIVA (FND) Una frmula A est en FND si A = Ci
i=1,...n

Ci clusulas duales

Cada Ci tiene la forma Ci = lij


j=1,...m

lij literales

Ejemplo: A = (p q) r (p q) r p q r

FORMA NORMAL CONJUNTIVA (FNC)


Ciencias de la Computacin II - Filminas de Clase Facultad Cs. Exactas UNCPBA - 2013

Resolucin
FORMA NORMAL CONJUNTIVA (FNC) Una frmula A est en FNC si A = Ci
i=1,...n

Ci clusulas

Cada Ci tiene la forma Ci = lij


j=1,...m

lij literales

Ejemplo A = (p q) r (p q) r p q r FNC(A) = (p r) (q r)

Ciencias de la Computacin II - Filminas de Clase Facultad Cs. Exactas UNCPBA - 2013

Resolucin
FORMA CLAUSULAR A en FNC se puede escribir cl(A) = {C1, C2, ..., Cn} Clusula C = l1 l2 ... lm se escribe Ci clusulas

C = {l1, l2, ..., lm }

Clusula unitaria: clusula con un solo literal C = { l } Ejemplos: p es clusula unitaria y q tambin FNC(A) = (p r) (q r) Cl(A) = {C1, C2} = {p r, q r } Tambin se puede escribir C1 = {p, r} y C2 = {q, r } p, r, q literales siendo C1 = p r y C2 = q r

Cl(A) = {{p, r}, {q, r } }


Ciencias de la Computacin II - Filminas de Clase Facultad Cs. Exactas UNCPBA - 2013

Resolucin
Clusula satisfacible C = {l1, l2, ..., lm } es satisfacible por una valuacin v s y slo s la frmula l1 l2 ... lm es satisfacible por v. Es decir v(li) = 1 para algn li C Frmula en FNC satisfacible A en FNC, A = {C1, C2, ..., Cn }, es satisfacible por una valuacin v s y slo s la frmula C1 C2 ... Cn es satisfacible por v

Ciencias de la Computacin II - Filminas de Clase Facultad Cs. Exactas UNCPBA - 2013

Resolucin
Frmula satisfacible Una frmula A es satisfacible s y slo s la forma clausular asociada, cl(A) = {C1, C2, ..., Cn }, es satisfacible. Clusula vaca C = { } (conjunto de literales es vaco) Se denota tambin con y es insatisfacible Conjunto de clusulas S -Si S = entonces S es satisfacible (S conjunto vaco de clusulas) -Si S = {{ }} = { } entonces S es insatisfacible (S contiene nicamente
la clusula vaca)
Ciencias de la Computacin II - Filminas de Clase Facultad Cs. Exactas UNCPBA - 2013

Resolucin
Resolvente Dada la forma clausular A = {p q, q t } Sea v una valuacin v(q) = 0 para que v(q t) = 1 debe ser v(t) = 0 (depende de t)

v(q) = 1 para que v(p q) = 1 debe ser v(p) = 1 (depende de p) A = {p q, q t } es satisfacible s y slo s p q y q t son satisfacibles s y slo s p t es satisfacible Satisfacibilidad de A depende de p t A se puede reducir a p t

Ciencias de la Computacin II - Filminas de Clase Facultad Cs. Exactas UNCPBA - 2013

Resolucin
Definicin de Resolvente Sean C1 y C2 clusulas. Supongamos que l C1 y lc C2 La resolvente de C1 y C2 es la clusula Res(C1, C2) = (C1- { l }) (C2 - { lc }) Ejemplos Res(p q, q t) = p t Res(q, q) = Cuidado Res(p q, q p) = p p Res(p q, q p) = q q resolviendo sobre q resolviendo sobre p

Ciencias de la Computacin II - Filminas de Clase Facultad Cs. Exactas UNCPBA - 2013

Resolucin
Regla o principio de resolucin Determinacin de la resolvente de un par de clusulas Dadas C1 y C2 clusulas tales que l C1 y lc C2 se denomina resolucin a la regla C1
.

C2
.

(C1- { l }) (C2 - { lc }) Teorema La regla de resolucin preserva la satisfacibilidad. Es decir, si una valuacin satisface un conjunto de clusulas, tambin satisface cualquier resolvente de un par de ellas.

Ciencias de la Computacin II - Filminas de Clase Facultad Cs. Exactas UNCPBA - 2013

Resolucin
Deduccin por Resolucin: Sea S un conjunto de clusulas y C una clusula. Una deduccin por resolucin de C a partir de S, S |_R C, es una sucesin finita de clusulas C1, C2, , Cn tales que 1) Cn = C 2) Para 1 i n se cumple que a) Ci S b) Existen clusulas Cj, Ck con j, k < n tal que Res(Cj, Ck) = Ci Refutacin de un conjunto de clusulas: Sea S un conjunto de clusulas. Una refutacin de S es una deduccin por resolucin de a partir de S. En smbolos S |_
R
Ciencias de la Computacin II - Filminas de Clase Facultad Cs. Exactas UNCPBA - 2013

Resolucin
Teorema: Sea S un conjunto de clusulas. Entonces S |_R s y slo s S es insatisfacible. Ejemplo: Determinar si S = { p q, p r, q r, r, p t } es satisfacible o no 1) p q 2) p r 3) q r 4) r 5) p t 6) Res(1, 2) = q r 7) Res(3, 4) = q 8) Res(7, 6) = r 9) Res(8, 4) = Como S |_R

S es insatisfacible

Ciencias de la Computacin II - Filminas de Clase Facultad Cs. Exactas UNCPBA - 2013

Resolucin
En una deduccin por resolucin: - una clusula puede ser utilizada ms de una vez - puede haber clusulas que no se utilicen - siempre se usa un conjunto finito de clusulas

Teorema: Sea S un conjunto de clusulas y C una clusula. Entonces S |_ C s y slo s existe un subconjunto finito S
R

S0 S tal que S0 |_R C

Ciencias de la Computacin II - Filminas de Clase Facultad Cs. Exactas UNCPBA - 2013

Resolucin
El mtodo de resolucin es completo, correcto y decidible. Dados { A } Fm Teorema de Completitud: Si A entonces cl( {A}) |_R Teorema de Correccin: Si cl() |_ cl(A) entonces A
R

Decidibilidad: Existe un algoritmo para decidir si una frmula es deducible a partir de otras (puede aplicarse Algoritmo de Davis-Putnam)

Ciencias de la Computacin II - Filminas de Clase Facultad Cs. Exactas UNCPBA - 2013

Resolucin
Corolario:

s y slo s cl(A) |_R

Corolario: Sea S un conjunto de clusulas. S |_ s y slo s S es insatisfacible


R

Mtodo para determinar si una frmula A es tautologa: 1) Negar la frmula. 2) Calcular cl(A). 3) Usar resolucin para determinar si cl(A) |_R Ejemplo: Determinar si (p r) (q s) (p q r s)
Ciencias de la Computacin II - Filminas de Clase Facultad Cs. Exactas UNCPBA - 2013

10

Resolucin
Mtodo para determinar si una deduccin semntica es vlida: Dados { A } Fm Para determinar si A 1) Negar la conclusin (A) 2) Calcular cl( {A }) 3) Usar resolucin para determinar si cl( {A }) |_R Si cl( {A }) |_R entonces A (deduccin semntica es vlida) Si cl( {A }) |_R entonces A (deduccin semntica no es vlida) Ejemplo: Determinar si p q r, (s t), q s t p
Ciencias de la Computacin II - Filminas de Clase Facultad Cs. Exactas UNCPBA - 2013

Resolucin
Clusulas de Horn: - Como mximo un literal positivo - Pueden ser de la forma: 1) p1 p2 ... pn q p1 p2 ... pn q 2) q 3) p1 p2 ... pn (p1 p2 ... pn) Ejemplos: 1) p q r s 2) s 3) p q (reglas) (hechos)

Resolucin unitaria: en cada paso interviene una clusula unitaria Si S es un conjunto de clusulas de Horn insatisfacible entonces existe una refutacin unitaria de S.
Ciencias de la Computacin II - Filminas de Clase Facultad Cs. Exactas UNCPBA - 2013

11

Resolucin
Algoritmo de Davis-Putnam (sistematiza proceso de resolucin): Sea S conjunto finito de clusulas y {p1, p2, ..., pn} conjunto de variables proposicionales que ocurren en clusulas de S. 1) Sea S1 = S 2) Sea i = 1 3) Repetir hasta que i = n + 1 (n nro. var. proposicionales)

4) Sea Si = Si {C} C es clusula que tiene l y lc, l literal 5) Elegir una variable pi y definir el conjunto de clusulas que contienen pi Ti = { C Si: pi C o pi C } 6) Calcular el conjunto de resolventes de pares de clusulas en Ti Ri = { D: existen C1 {pi}, C2 { pi} Ti y D = Res(C1 {pi}, C2 { pi}) } 7) Definir el conjunto Si+1 = (Si - Ti ) Ri 8) Sea i = i + 1 9) Volver a 3)
Ciencias de la Computacin II - Filminas de Clase Facultad Cs. Exactas UNCPBA - 2013

Resolucin
- Como la cantidad de variables en S es finita (n), en n+1 pasos, como mximo, se eliminan todas las variables. - Sn+1 es el conjunto final o solucin y puede ser slo uno de los siguientes: Sn+1 = { } Sn+1 = Ejemplo: Dado S = { p q r, p r s, p q, s, r, s p s } Aplicando el ADP determinar si S es satisfacible o no es decir S |_R S es insatisfacible es decir S |_R S es satisfacible

Ciencias de la Computacin II - Filminas de Clase Facultad Cs. Exactas UNCPBA - 2013

12

Resolucin
Ejemplo: Dado S = { p q r, p r s, p q, s, r, s p s } 1) S1 = S 2) i = 1 3) i < n + 1 4) S1 = S1 { s p s } = { p q r, p r s, p q, s, r } 5) Elijo p T1 = { p q r, p r s, p q }
1 2 3

6) (1, 2) q r s R1 = { q r s, r s q }

(2, 3) r s q

7) S2 = (S1 T1 ) R1 = { s, r } { q r s, r s q } S2 = { s, r, q r s, r s q }
Ciencias de la Computacin II - Filminas de Clase Facultad Cs. Exactas UNCPBA - 2013

Resolucin
4) S2 = S2 = { s, r, q r s, r s q } 5) Elijo s T2 = { s, q r s, r s q} 6) R2 = { q r, r q} 7) S3 = (S2 T2 ) R2 = { r, q r, r q } 4) S3 = S3 = { r, q r, r q } 5) Elijo r T3 = {r, q r, r q } 6) R2 = 7) S4 = (S3 T3 ) R3 = Para S = { p q r, p r s, p q, s, r, s p s } el resultado de aplicar el ADP es , por lo tanto S |_R S es satisfacible
Ciencias de la Computacin II - Filminas de Clase Facultad Cs. Exactas UNCPBA - 2013

13

También podría gustarte