Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Demostracin o prueba: secuencia finita de pasos, de aplicaciones de reglas de inferencia. Conexin con el concepto semntico de consecuencia Correccin, completitud, decidibilidad
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.
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
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
Introduccin negacin A B B . A
Sistemas Deductivos
- Resolucin: nica regla de deduccin (sin axiomas) fcil implementacin deduccin por refutacin
B AB
Formas Normales
FORMA NORMAL DISYUNTIVA (FND) Una frmula A est en FND si A = Ci
i=1,...n
Ci clusulas duales
lij literales
Ejemplo: A = (p q) r (p q) r p q r
Resolucin
FORMA NORMAL CONJUNTIVA (FNC) Una frmula A est en FNC si A = Ci
i=1,...n
Ci clusulas
lij literales
Ejemplo A = (p q) r (p q) r p q r FNC(A) = (p r) (q r)
Resolucin
FORMA CLAUSULAR A en FNC se puede escribir cl(A) = {C1, C2, ..., Cn} Clusula C = l1 l2 ... lm se escribe Ci clusulas
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
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
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
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
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.
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
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
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)
Resolucin
Corolario:
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
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