Lógica y Programación - Sintaxis y semántica de la lógica ...
Embed Size (px)
Transcript of Lógica y Programación - Sintaxis y semántica de la lógica ...
-
Logica y Programacion
Sintaxis y semantica de la logica proposicional
Antonia M. Chavez, Carmen Graciani, Agustn Riscos
Dpto. Ciencias de la Computacion e Inteligencia ArtificialUniversidad de Sevilla
-
Aplicaciones de la Logica Proposicional
La Logica es a los informaticos como la matematica a losarquitectos o fsicos.Es el calculo de la informatica (M. Y. Vardi).
Analisis de las propiedades de los sitemas en su diseno,desarrollo, mantenimiento.
Planificacion: manufactura automatica, robotica,programacion de vuelos en aerolneas, ...
Diseno y verificacion de circuitos ...
Deduccion: resolucion de problemas SAT
Resolucion de problemas de la vida real: horarios, rutas detransporte planificacion de obras, ...
-
Elementos de una logica
Elementos de una logica: Sintaxis: que expresiones son formulas? Semantica: que significa que una formula F es consecuencia
de un conjunto de formulas S?: S |= F Calculo: que significa que una formula F puede deducirse a
partir de un conjunto de formulas S?: S F
Propiedades: Potencia expresiva Adecuacion: S F = S |= F Completitud: S |= F = S F Decidibilidad Complejidad
-
Sintaxis de la logica proposicional
Alfabeto proposicional: Smbolos proposicionales: p, p0, p1, ..., q, q0, q1, ... Constantes: , Conectivas logicas: Negacion: Condicional:
Conjuncion: Equivalencia: Disyuncion:
Smbolos auxiliares: (, ).
-
Sintaxis de la logica proposicional
Dado un conjunto SP de smbolos proposicionales, se puede definirun lenguaje proposicional L(SP), que contiene todas las formulasposibles segun la siguiente definicion:
Una formula proposicional es: Un elemento de SP: (Formula atomica) Si F y G son formulas, entonces: ( F ), (F G), (F G),
(F G), (F G) tambien lo son.
Ejemplos: ((p q) (q p)) (p (q ( r)))
-
Sintaxis de la logica proposicional
Metavariables: SP: conjunto de smbolos proposicionales FProp: conjunto de formulas proposicionales Smbolos proposicionales: p, p0, p1, ..., q, q0, q1, ..., r , ... Formulas proposicionales: F , F0, F1, ..., G , G0, G1, ...
Eliminacion de parentesis: Parentesis externos: (p q) = p q Prioridad: , , , ,
(p ( q r)) (s t) = p q r s t((p q) r) s = p q r s
Asociatividad: y asocian por la derechap (q r) = p q r
-
Smbolos de una formula
Smbolos proposicionales de una formula:sp(p) = {p}sp( F ) = sp(F )sp(F G ) = sp(F ) sp(G )sp(F G ) = sp(F ) sp(G )sp(F G ) = sp(F ) sp(G )sp(F G ) = sp(F ) sp(G )
-
Semantica de la logica proposicional
La semantica debe proporcionarnos: Nocion de verdad: funcion de verdad Significado de las formulas: especificacion Nocion de consecuencia logica: conclusiones
Valores de verdad: y (utilizaremos False y True)
-
Semantica de la logica proposicional
Funciones de verdad fv : {False, True} {False, True}
fv(i) =
{
True si i = FalseFalse si i = True
fv : {False, True}2 {False, True}
fv(i , j) =
{
True si i = j = TrueFalse en otro caso
fv : {False, True}2 {False, True}
fv(i , j) =
{
False si i = j = FalseTrue en otro caso
-
Semantica de la logica proposicional
Funciones de verdad fv : {False, True}
2 {False, True}
fv(i , j) =
{
False si i = True y j = FalseTrue en otro caso
fv : {False, True}2 {False, True}
fv(i , j) =
{
True si i = jFalse en otro caso
-
Semantica de la logica proposicional
Interpretacion: Una interpretacion I es un conjunto de smbolos
proposicionales
Interpretaciones: Conjunto de todas las interpretaciones
sig : FProp Interpretaciones {False,True}
sig(p, I ) =
{
True si p IFalse en otro caso
sig(F , I ) = fv(sig(F , I )) sig(F G , I ) = fv(sig(F , I ), sig(G , I )) sig(F G , I ) = fv(sig(F , I ), sig(G , I )) sig(F G , I ) = fv(sig(F , I ), sig(G , I )) sig(F G , I ) = fv(sig(F , I ), sig(G , I ))
-
Semantica de la logica proposicional
Ejemplo: F = (p q) (q r)I = {p, r}
sig(F , I ) = sig((p q) (q r), I )= fv(sig(p q, I ), sig(q r , I ))= fv(sig(p q, I ), sig(q r , I ))= fv(fv(sig(p, I ), sig(q, I )),
fv(sig(q, I ), sig(r , I )))= fv(fv(True,False), fv(fv(sig(q, I )),True))= fv(True, fv(fv(False),True))= fv(True, fv(True,True))= fv(True,True)= True
-
Semantica de la logica proposicional
I = {p, r}
F = (p q) (q r)(True False) (False True)
True (True True)True True
True
I = {r}
F = (p q) (q r)(False False) (False True)
False (True True)False True
False
-
Modelos y contramodelos
interpretaciones(F ) = {I Interpretaciones : I sp(F )}
|interpretaciones(F )| = 2|sp(F )|
Modelo I es modelo de F sig(F , I ) = True Representacion: I |= F Ejemplo: {p, r} |= (p q) (q r)
Contramodelo I es contramodelo de F sig(F , I ) = False Representacion: I 6|= F Ejemplo: {r} 6|= (p q) (q r)
Modelos de una formula modelos(F ) = {I interpretaciones(F ) : I |= F}
-
Tablas de verdad
Comprobacion de todas las interpretaciones
p q r (p q) (q r) (p q) (q r)
True True True True True True
True True False True False True
True False True False True True
True False False False True True
False True True True True True
False True False True False True
False False True True True True
False False False True True True
-
Validez y satisfactibilidad
Formulas validas o tautologas F es valida toda interpretacion de F es modelo de F Representacion: |= F Ejemplos: |= (p p), |= (p q) (q p), 6|= (p q)
Formulas satisfacibles F es satisfacible tiene algun modelo F es insatisfacible no tiene ningun modelo Ejemplos:
(p q) (q r) es satisfacible(p (p)) no es satisfacible(p (p)) es insatisfacible(p q) (q r) no es insatisfacible
-
Validez y satisfactibilidad
Problema de la satisfacibilidad: Dada F determinar si essatisfacible
Problema de la validez: Dada F determinar si es valida
Relaciones entre validez y satisfacibilidad F es valida F es insatisfacible F es valida F es satisfacible F es satisfacible 6 F es insatisfacible
El problema de la satisfacibilidad es NPcompleto
-
Conjuntos de formulas
Smbolos proposicionales de un conjunto de formulas sp(S) =
{sp(F ) : F S} Ejemplo: sp({p q r , p s}) = {p, q, r , s}
Interpretaciones de un conjunto de formulas interpretaciones(S) = {I Interpretaciones : I sp(S)}
Modelos de un conjunto de formulas I es modelo de S para toda F de S, I |= F Representacion I |= S Ejemplo: {p, r} |= {(p q) ((q) r), q r}
Contramodelo de un conjunto de formulas I es contramodelo de S para alguna F de S, I 6|= F Representacion I 6|= S Ejemplo: {p, r} 6|= {(p q) ((q) r), r q}
-
Conjuntos de formulas
Modelos de un conjunto de formulas modelos(S) = {I interpretaciones(S) : I |= S}
Conjuntos consistentes e inconsistentes de formulas S es consistente S tiene algun modelo S es inconsistente S no tiene ningun modelo Ejemplos:
{(p q) ((q) r), p r} es consistente{(p q) ((q) r), p r ,r} no es consistente{(p q) ((q) r), p r ,r} es inconsistente{(p q) ((q) r), p r} no es inconsistente
-
Consecuencia logica
F es consecuencia logica de S para toda interpretacionI interpretaciones(S {F}), si I |= S entonces I |= F
Representacion: S |= F
Ejemplos:{p q, q r} |= p r{p} 6|= p q{p} 6|= r
Las siguientes condiciones son equivalentes: {F1, ..., Fn} |= G |= (F1 ... Fn) G {F1, ..., Fn,G} es inconsistente
-
Ejercicios
Sean S = {p (q r), p s, (q r) s} y F = s r .Se pide comprobar que S |= F mediante la definicion deconsecuencia logica.
Sean S = {(p q) r , (p r), q r} y F = r s. Sepide comprobar que S |= F mediante la definicion deconsecuencia logica.
Sean S = {a b,a (c b), b (d a), d c} yF = a d . Se pide comprobar que S |= F mediante ladefinicion de consecuencia logica.
Sean S = {a b,b (c d), c d , d (b a)} yF = b d . Se pide comprobar que S |= F mediante ladefinicion de consecuencia logica.
-
Ejercicios
Sean S = {p (q r), p s, (q r) s} y F = s r .Se pide comprobar que S |= F mediante la definicion deconsecuencia logica.
p q r s {p (q r) p s (q r) s} s r
-
Ejercicios
Sean S = {p (q r), p s, (q r) s} y F = s r .Se pide comprobar que S |= F mediante la definicion deconsecuencia logica. (False = 0, True = 1)
p q r s {p (q r) p s (q r) s} s r
-
Ejercicios
Sean S = {p (q r), p s, (q r) s} y F = s r .Se pide comprobar que S |= F mediante la definicion deconsecuencia logica. (False = 0, True = 1)
p q r s {p (q r) p s (q r) s} s r
0 0 0 0 1 0 1 10 0 0 1 1 1 1 10 0 1 0 1 0 0 00 0 1 1 1 1 1 10 1 0 0 1 0 1 10 1 0 1 1 1 1 10 1 1 0 1 0 1 00 1 1 1 1 1 1 1
-
Ejercicios
Sean S = {p (q r), p s, (q r) s} y F = s r .Se pide comprobar que S |= F mediante la definicion deconsecuencia logica. (False = 0, True = 1)
p q r s {p (q r) p s (q r) s} s r
1 0 0 0 1 1 1 11 0 0 1 1 1 1 11 0 1 0 1 1 0 01 0 1 1 1 1 1 11 1 0 0 1 1 1 11 1 0 1 1 1 1 11 1 1 0 0 1 1 01 1 1 1 0 1 1 1
-
Referencias
Chang, C.L. y Lee, R.C.T Symbolic Logic and MechanicalTheorem Proving. (Academic Press, 1973)
Cap. 2: The propositional logic
Genesereth, M.R. Computational Logic Cap. 2: Propositional logic
Nilsson, N.J. Inteligencia artificial (Una nueva sntesis).(McGrawHill, 2000)
Cap. 13: El calculo proposicional
Russell, S. y Norvig, P. Inteligencia artificial (un enfoquemoderno). (Prentice Hall Hispanoamericana, 1996)
Cap. 6.4: Logica propositiva: un tipo de logica muy sencillo