hasta ahora: lógica proposicional. q. p:-q. r:-p. ------ ?-r. si tienes un jaguar, conduces...
TRANSCRIPT
• Hasta ahora: Lógica Proposicional.
q.
p:-q.
r:-p.
------
?-r.
Si tienes un jaguar, conduces rápido.Tienes un jaguar. Es cierto que conduces rápido?
p:-q.
q.
------
?-p.
Lógica de predicados
Pero…
• Todos los alumnos de Lógica tienen un jaguar.
Prolog: tiene(X,jaguar):-alumno(X,lógica).
CP0: alumno_lógica->tiene_jaguar.
Necesitamos:
- predicados y funciones,
- variables y constantes.
Pero…
CP0: alumno_lógica->tiene_jaguar.CP1: alumno(X,lógica)->tiene(X,jaguar).Cual es la diferencia entre:• Todos los alumnos de Lógica tienen un jaguar.• Existe un alumno de Lógica que tiene un jaguar.
• Necesitamos:– cuantificadores:
X(alumno(X,lógica)->tiene(X,jaguar)).X(alumno(X,lógica)->tiene(X,jaguar)).
Lógica de predicados (CP1)
• CP1 es una extensión de CP0 incluyendo las funciones, predicados, constantes, variables y cuantificadores.
– Necesitamos redefinir sus componentes:• Lenguaje• Semántica• Sistema formal
Lenguaje de CP1
• El alfabeto del lenguaje CP1 contiene:– Un conjunto de símbolos constantes {a1,a2,a3,…}– Un conjunto de variables: {x1,x2,x3,…}– Un conjunto de símbolos de funciones: {f1m1,f2m2,…}– Un conjunto de predicados: {p1n1,p2n2,…}– Un conjunto de conectivas lógicas {,,,}– Los cuantificadores {,}– Los símbolos de puntuación: {, , ( , ) }La aritad de las funciones y predicados determinan el
número de argumentos: f2 => f(a1,a2)
Lenguaje CP1
• Los elementos del lenguaje son:– Los términos
• Una constante• Una variable• El resultado de aplicar una función a tantos
argumentos cuanto es su aritad
Ejemplo: +2(* 2(x,x)1)• Las fórmulas – son los elementos del lenguaje que
se pueden evaluar
Que es una fórmula en CP1• Una fórmula atómica – un predicado aplicado a tantos
términos cuanto es su aritad
Df:Df: Una fórmula es:– Cada fórmula atómica es una fórmula– Si A y B son fórmulas,
A, AB,AB,AB son fórmulas.
– Si x es una variable y A es una fórmula, xA y xA son fórmulas.– No hay otra forma de componer fórmulas.
Nota:Nota: Fijémonos, podemos cuantificar solo variables! • Es un cálculo proposicional de I orden.
Cuantificación de las variables
Df:Df: El campo del cuantificador es la fórmula atómica o cuantificada o en paréntesis que sigue inmediatamente la variable cuantificada.
xAB, x(AB), • Df. Una variable es ligada si sigue un cuantificador
o pertenece al campo de un cuantificadorxA(x)B(x), x(A(x)B(x)), Df.Df. Una variable es libre si no es ligada.
Ejemplo: xp(x,y)
Cuantificación de las variables
xyA(x,y) B(x,y),x(A(x,y) yB(x,y)),
• Son fórmulas de CP1?!: x (x p(x)),– pq p x y (p(x) p(y))
Clasificación de las fórmulasDf.Df. Fórmulas base: no contienen variablesDf.Df. Fórmulas cerradas (enunciados): todas las variables están
ligadasDf.Df. Fórmulas abiertas: alguna variable esta libre
• Nota: Para poder evaluar, necesitamos trabajar con fórmulas cerradas (enunciados).
Df.Df. Matriz de una fórmula es la fórmula que sigue el cuantificador y la variable
Ejemplo: x y (p(x) p(y))
• “No existe en la humanidad ninguna persona mas importante que Mister Dólar.”
Ejercicio
Traduzcamos los siguientes ejemplos:
• “No existe en la humanidad ninguna persona mas importante que Mister Dólar.” x(persona(x) mas_importante(x,Mister$))
x(persona(x) mas_importante(x,Mister$))
x( persona(x) mas_importante(x,Mister$))
x((persona(x) mas_importante(x,Mister$)))
Ejercicio
Traduzcamos los siguientes ejemplos:
• “Todas las cosas no negras no son cuervos.”
Ejercicio
Traduzcamos los siguientes ejemplos:
• “Todas las cosas no negras no son cuervos.”
x(negro(x) cuervo(x)) x( negro(x) cuervo(x))
x(negro(x) cuervo(x))
Ejercicio
Ejercicio
Traduzcamos los siguientes ejemplos:
• “Ningún pájaro blanco llegara al Polo Sur”.
Ejercicio
Traduzcamos los siguientes ejemplos:
• “Ningún pájaro blanco llegara al Polo Sur”.
Ejercicio
Traduzcamos los siguientes ejemplos:
• “Ningún pájaro blanco llegara al Polo Sur”. x (pájaro(x) blanco(x) llegara (x,PoloSur)), o
x (pájaro(x) blanco(x) llegara(x,PoloSur))
x ( pájaro(x) blanco(x) llegara(x,PoloSur))
Ejercicio
Traduzcamos los siguientes ejemplos:
• “Entre cada par de vecinos, uno molesta.”
Ejercicio
Traduzcamos los siguientes ejemplos:
• “Entre cada par de vecinos, uno molesta.”x y(vecinos(x,y) molesta(x) molesta(y))
x y( vecinos(x,y) molesta(x) molesta(y))
Semántica de CP1
Df.Df. Interpretación A=(D,I) de un lenguaje CP1 consiste en:
– Un conjunto D no vació que denotaremos dominio o universo de la interpretación
– Una aplicación I tal que:• A cada constante a le hace corresponder un elemento I(a) de D
• A cada función n-aria f le hacer corresponder una aplicación f: Dn -> D.
• A cada predicado n-ario p le asigna una relación (subconjunto) de Dn p.e. padre -> {(x,y)D | x es padre de y}
Semántica de CP1
• Dada una interpretación A, una fórmula cerrada será falsa o cierta. Una fórmula abierta puede ser falsa o cierta, dependiendo de la cuantificación de las variables.
• Para tratar las variables libres, necesitamos una valoración es decir una aplicación que a cada variable libre le asigna un valor.
• Ejemplo: G=p(a,f(b,c)), la interpretación A=(D,I) donde D representa el conjunto de números naturales y la aplicación I es I(a)=2, I(b)=4, I(c)=6, I(f)=+, I(p)={(m,n) |m>n }
Ejemplo:Ejemplo: F= x p(x,f(x)) q(g(a,z)), I(a)=2, I(f)=suc, I(g)=+, I(p)={(m,n)|m<n}, I(q)={m natural|m es primo},
• Tenemos z – variable libre. Calcular el valor de la fórmula si utilizamos la valoración (z)=3.
• Y si (z)=2?!
Df.Df. Si tenemos una interpretación A=(D,I) y una valoración de las variables libres, la semántica de un termino es:– Si t es una constante, será I(t).– Si t es una variable libre, será (t).– Si t es de la forma f(t1,t2,…tn), será I(f)(I(t1),I(t2),…I(tn)).
DfDf. La semántica de una fórmula F por (A, ) es:– Si F=p(t1,t2,…tn),
• I(F)=1 sii I(p)(I(t1),I(t2),…I(tn)) es cierta y 0 en caso contrario.
– Si F= A, donde A es una fórmula, • I(F)=1 sii I(A)=0 y viceversa.
– Si F= A B, donde A y B son fórmulas, • I(F)=1 sii I(A)=1 y I(B)=1 y viceversa.
– Si F= A B, donde A y B son fórmulas,• I(F)=1 sii I(A)=1 o I(B)=1, y viceversa.
– Si F= A B, donde A y B son fórmulas, • I(F)=0 sii I(A)=1 y I(B)=0, y viceversa.
– Si F= x A(x), I(F)=1 sii uD, A(u)=1 y viceversa.
– Si F= x A(x), I(F)=1 sii uD, A(u)=1 y viceversa
Modelos en CP1
• Df. Un modelo de una fórmula F es una interpretación A de la fórmula que la hace cierta. Decimos que F se satisface para la interpretación A.
A F• Una fórmula es insatisfactible, si no tiene modelos.• Una fórmula es satisfactible, si tiene modelos.• Una fórmula es valida, si se satisface para cada
interpretación. F
Modelos en CP1
• Dado un conjunto de fórmulas Г={F1,F2,…Fn}, decimos que A es un modelo de Г sii es un modelo de todas las fórmulas.
Df.Df. A es un modelo de Г={F1,F2,…Fn} si A(F1F2 … Fn)=1
• Un conjunto de fórmulas es satisfactible, si tiene por lo menos un modelo.
• Sino, es un conjunto contradictorio o insatisfactible.
Df.Df. Dado un conjunto de fórmulas Г={F1,F2,…Fn}, decimos que una fórmula es consecuencia lógica de Г, (o Г implica semánticamente B) sii cualquier modelo de Г es modelo de B.
Propiedades:Propiedades:Prop.Prop. Una fórmula F es valida sii F es insatisfactible.Prop.Prop. Г B sii Г B es insatisfactible.Prop.Prop. F1,F2,…Fn B sii F1,F2,… Fn-1 (FnB)Df.Df. Dos fórmulas A y B son semánticamente equivalentes
(AB) sii AB y BA.
Prop.Prop. Si CB es una fórmula que contiene B como subfórmula y B D, entonces CB CD.
Sistemas formales en CP1
• Nuestro objetivo es demostrar – Г ={F1,F2,…Fn} B
• Para este objetivo utilizamos el teorema:Г B sii Г B es insatisfactible
e.d. F1F2 … Fn B es insatisfactible• Lo podemos demostrar de dos maneras:
– Semánticamente (p.e. utilizando la tabla de verdad)– Formalmente: F1F2 … Fn B |-Ǡ
• siempre y cuando tenemos un sistema formal que sea sólido y completo por refutación
Ejemplo
Para demostrar:x gusta_nieve(x)->gusta_montanya(x)gusta_nieve(joan)------------------y gusta_montanya(y)
Hemos de demostrar que es absurdo:
gusta_nieve(joan) x gusta_nieve(x)-> gusta_montanya(x) y gusta_montanya(y)
Pero como podemos demostrarlo?!Podemos utilizar la algebra de Boole?!Podemos utilizar el sistema formal basado en la resolucion?!
Equivalencias y leyes en CP1Leyes de Morgan:“No existe ningún pájaro que llegue al horizonte”“Todos los pájaros no llegan al horizonte”xF xF“No existe ninguna persona mas importante que Mister$”“No es cierto que a todos les apetece la opera”xF xF
“A todos les gusta el sol y hace buen tiempo” es eqivalente a“Para todos podemos decir que: les gusta el sol y hace buen tiempo”Si la variable x no figura en la fórmula G podemos decir:xF(x) G x(F(x) G)xF(x) G x(F(x) G)xF(x) G x(F(x) G)xF(x) G x(F(x) G)
Resumen de las equivalencias y leyes en CP1Leyes de Morgan:
xF xFxF xF
Si la variable x no figura en la fórmula G podemos decir:xF(x) G x(F(x) G)xF(x) G x(F(x) G)xF(x) G x(F(x) G)xF(x) G x(F(x) G)
xF(x) xG(x) x(F(x) G(x))xF(x) xG(x) x(F(x) G(x))
x yG(x,y) y xG(x,y)x yG(x,y) y xG(x,y)
Equivalencias y LeyesEs equivalente decir:“A todos los gusta ir a cine y a todos les gusta la coca-cola”“ A todos les gusta: ir al cine y la coca-cola”xF(x) xG(x) x(F(x) G(x))
“Aqui hay gente con pelo rizado o hay gente con ojos azules.”xF(x) xG(x) x(F(x) G(x))
“A todas las personas todos los días les gusta ir al mar.”“Es cierto que todos los días a todas las personas les gusta ir al mar?!”x yG(x,y) y xG(x,y)
“Existen plantas y existen animales que comen plantas.” “Es cierto que existen animales y plantas tales que los animales comen estas plantas?!”x yG(x,y) y xG(x,y)
Equivalencias y LeyesPero!xF(x) xG(x) x(F(x) G(x))Cada día como pizza o cada día como bocadillo. Es cierto que cada día
como pizza o bocadillo?!Todas las fichas son blancas o negras. Es cierto que todas las fichas son
blancas o todas las fichas son negras?!xF(x) xG(x) x(F(x) G(x))
xF(x) xG(x) x(F(x) G(x))• Existen colores que les gustan a la gente y además son fuertes. Es cierto
que existen colores que les gustan a la gente y que existen colores que son fuertes?!
• Existen días buenos y malos. Es cierto que existen días que son buenos y malos?!
xF(x) xG(x) x(F(x) G(x))
Equivalencias y Leyes
x yG(x,y) y xG(x,y)
• Existe un coche que a todos les gusta. Es cierto que para todos existe un coche que les gusta?!
• Para cada numero y existe un numero x que es sucesor de y. Existe un numero x tal que para cada numero y, x es sucesor de y?!
x yG(x,y) y xG(x,y)
Ejercicios
Ejercicio 1: Escribir la fórmula equivalente a:
(x p(x,y) x q(x)) w p(f(a,w))
sacando los cuantificadores adelante.
Ejercicio 2: Escribir la fórmula equivalente a:
x y p(x,f(y)) y (q(x,y) r(x))
sacando los cuantificadores adelante.
Formas Normales para CP1Df.Df. Una fórmula es en Forma Normal Prenexa (FNP) si tiene la forma:
Q1x1Q2x2…QnxnF
donde Qi{,} y F no contiene cuantificadores.
Teorema: Teorema: Toda fórmula en CP1 es semánticamente equivalente a una fórmula escrita en FNP.
Ejercicio: x a(x)xb(x)Paso 1: Eliminar los condicionalesPaso 2: Aplicar las reglas de transformación para que las negaciones esten aplicadas
solo a fórmulas atómicas.Paso 3: Eliminar dobles negacionesPaso 4: Trasladar los cuantificadores a la izquierda renombrando las variables repetidas.Es la expresión obtenida única?!
Ejercicio: Escribir en FNP:x y (z(p(x,y) p(y,z)) u q(x,y,u))Df. Df. Una fórmula esta escrita en Forma Normal de Skolem (FNS) si esta
escrita en FNP con todas las variables cuantificadas universalmente.Algoritmo de skolemización:Paso 1: Renombrar las variables repetidas y pasar la fórmula en FNP.Paso 2: Cuantificar las variables libres como existenciales. Paso 3: Eliminar las variables existenciales de la siguiente forma:
Si tenemos x1 x2… xn sin ningún cuantificador universal, sustituimos las variables existenciales con constantes.
Si tenemos x …z t, sustituimos t con una función que depende de todas las variables universales antes de t (t-> f(x,…z))
• Ejercicio: Skolemizar la fórmula: x yp(x,y) y x p(x,y)Teorema:Teorema: Una fórmula es satisfactible sii su FNS es satisfactible.DfDf. Una fórmula está en Forma Normal Conjuntiva (FNC) si está escrita
en FNS y su matriz es una conjunción de disyunciones de predicados o predicados negados.Ejemplo: x y ( p(x,f(x)) (p(x,g(y)) q(1)))
Df.Df. Si una fórmula en FNC se representa como un conjunto de conjuntos de literales, decimos que está en forma clausal.
Ejemplo: Ejemplo: {{p(x,f(x))},{p(x,g(y)),q(1)}}
Ejercicios:Ejercicios: Escribir en forma clausal:a) x(p(x,z) y q(x,f(y))) y p(g(x,y),z)b) x p(x) (x (q(x) r(x)) x y s(x,y)
Cálculo por resolución en CP1• Recordemos:
– (+) el calculo por resolución tiene una única regla: la regla por resolución
{p}{p,q, r} => {q, r}– (-) necesita que las fórmulas estén en forma
clausal.– (-) es sólida y completa por refutación.
• Si F|-, � F es insatisfactible.• Si F es insatisfactible, F|- �
Cálculo por resolución en CP1Df. Df. Dadas dos cláusulas C1 y C2 en CP1, decimos que R es
resolvente de C1 y C2 si:• existen las sustituciones s1 y s2: C1s1 y C2s2 no
contienen variables en común.
• existen un conjunto de literales L y L’: L C1 y L’C2 son unificables es decir L1s1=L’s2
• El resolvente es la unión del resto de literales aplicadas las sustituciones:
R={C1\ L1}U{C2\L’}s1s2
Ejercicio:Ejercicio: Encontrar el resolvente:FNC: x z u((p(f(x)) q(z) p(z)) (p(u) r(g(u),a))Forma clausal: {{p(f(x)),q(z),p(z)},{p(u),r(g(u),a)}}
Teorema: Teorema: Si F es una fórmula de CP1 en forma clausal y R es el resolvente de cláusulas de F, se cumple:
F F U RLas propiedades de solidez y completitud de CP1 son los idénticos a las del CP0.
Teorema: Teorema: Una fórmula de CP1 en forma clausal es insatisfactible sii aplicando la regla de resolución se llega a la cláusula vacía:F es insatisfactible sii F -�
Propiedad: Propiedad: Las estrategias son las mismas como en el caso de CP0. Lo único que cambia es la forma de obtener el resolvente.
EjercicioFormalizar y demostrar en CP1 el siguiente problema: “Ningún chico rubio quiere cantar.No hay ningún chico alto que no quiere cantar.Todos mis profesores son rubios.Por lo tanto todos los profesores míos no son altos.”• Paso 1: Formalizamos el problema• Paso 2: Escribimos la formalización como una fórmula
insatisfactible• Paso 3: La pasamos a forma clausal (FNP, FNS, FNC)• Paso 4: Aplicamos la regla de resolución usando la estrategia
SLD.
EjercicioFormalizar y demostrar en CP1 el siguiente problema: “Ningún chico rubio quiere cantar.No hay ningún chico alto que no quiere cantar.Todos mis profesores son rubios.Por lo tanto todos los profesores míos no son altos.”Formalizacion:
x(r(x) c(x))x(a(x) c(x))x(p(x) r(x))
-------------- x(p(x) a(x))
Ejercicio
Formalizar y demostrar en CP1 el siguiente problema:
“Pere es primo de Jose. Antonio es hermano de Jose. Todos los primos son familiares. Todos los hermanos son familiares. Quien es familiar de Jose?!”