Lgica de predicados Hasta ahora Lgica Proposicional Si

  • Slides: 44
Download presentation
Lógica de predicados • Hasta ahora: Lógica Proposicional. Si tienes un jaguar, conduces rápido.

Lógica de predicados • Hasta ahora: Lógica Proposicional. Si tienes un jaguar, conduces rápido. Tienes un jaguar. Es cierto que conduces rápido? p: -q. q. -----? -p. q. p: -q. r: -p. -----? -r.

Pero… • Todos los alumnos de Lógica tienen un jaguar. Prolog: tiene(X, jaguar): -alumno(X,

Pero… • Todos los alumnos de Lógica tienen un jaguar. Prolog: tiene(X, jaguar): -alumno(X, lógica). CP 0: alumno_lógica->tiene_jaguar. Necesitamos: - predicados y funciones, - variables y constantes.

Pero… CP 0: alumno_lógica->tiene_jaguar. CP 1: alumno(X, lógica)->tiene(X, jaguar). Cual es la diferencia entre:

Pero… CP 0: alumno_lógica->tiene_jaguar. CP 1: 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)).

Lógica de predicados (CP 1) • CP 1 es una extensión de CP 0

Lógica de predicados (CP 1) • CP 1 es una extensión de CP 0 incluyendo las funciones, predicados, constantes, variables y cuantificadores. – Necesitamos redefinir sus componentes: • Lenguaje • Semántica • Sistema formal

Lenguaje de CP 1 • El alfabeto del lenguaje CP 1 contiene: – Un

Lenguaje de CP 1 • El alfabeto del lenguaje CP 1 contiene: – Un conjunto de símbolos constantes {a 1, a 2, a 3, …} – Un conjunto de variables: {x 1, x 2, x 3, …} – Un conjunto de símbolos de funciones: {f 1 m 1, f 2 m 2, …} – Un conjunto de predicados: {p 1 n 1, p 2 n 2, …} – 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: f 2 => f(a 1, a 2)

Lenguaje CP 1 • Los elementos del lenguaje son: – Los términos • Una

Lenguaje CP 1 • 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 CP 1 • Una fórmula atómica – un predicado

Que es una fórmula en CP 1 • Una fórmula atómica – un predicado aplicado a tantos términos cuanto es su aritad Df: Una fórmula es: – Cada fórmula atómica es una fórmula – Si A y B son fórmulas, A, A B, A B son fórmulas. – Si x es una variable y A es una fórmula, x. A y x. A son fórmulas. – No hay otra forma de componer fórmulas. Nota: Fijémonos, podemos cuantificar solo variables! • Es un cálculo proposicional de I orden.

Cuantificación de las variables Df: El campo del cuantificador es la fórmula atómica o

Cuantificación de las variables Df: El campo del cuantificador es la fórmula atómica o cuantificada o en paréntesis que sigue inmediatamente la variable cuantificada. x. A B, x(A B), • Df. Una variable es ligada si sigue un cuantificador o pertenece al campo de un cuantificador x. A(x) B(x), x(A(x) B(x)), Df. Una variable es libre si no es ligada. Ejemplo: xp(x, y)

Cuantificación de las variables • x y. A(x, y) B(x, y), • x(A(x, y)

Cuantificación de las variables • x y. A(x, y) B(x, y), • x(A(x, y) y. B(x, y)), • Son fórmulas de CP 1? !: – x (x p(x)), – pq – p x y (p(x) p(y))

Clasificación de las fórmulas Df. Fórmulas base: no contienen variables Df. Fórmulas cerradas (enunciados):

Clasificación de las fórmulas Df. Fórmulas base: no contienen variables Df. Fórmulas cerradas (enunciados): todas las variables están ligadas Df. Fórmulas abiertas: alguna variable esta libre • Nota: Para poder evaluar, necesitamos trabajar con fórmulas cerradas (enunciados). Df. Matriz de una fórmula es la fórmula que sigue el cuantificador y la variable Ejemplo: x y (p(x) p(y))

Ejercicio • “No existe en la humanidad ninguna persona mas importante que Mister Dólar.

Ejercicio • “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

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$)))

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. ”

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 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”.

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

Ejercicio Traduzcamos los siguientes ejemplos: • “Ningún pájaro blanco llegara al Polo Sur”. x (pájaro(x) blanco(x) llegara (x, Polo. Sur)), o x (pájaro(x) blanco(x) llegara(x, Polo. Sur)) x ( pájaro(x) blanco(x) llegara(x, Polo. Sur))

Ejercicio Traduzcamos los siguientes ejemplos: • “Entre cada par de vecinos, uno molesta. ”

Ejercicio Traduzcamos los siguientes ejemplos: • “Entre cada par de vecinos, uno molesta. ”

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 CP 1 Df. Interpretación A=(D, I) de un lenguaje CP 1 consiste

Semántica de CP 1 Df. Interpretación A=(D, I) de un lenguaje CP 1 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 CP 1 • Dada una interpretación A, una fórmula cerrada será falsa

Semántica de CP 1 • 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: 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

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. 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(t 1, t 2, …tn), será I(f)(I(t 1), I(t 2), …I(tn)).

Df. Df La semántica de una fórmula F por (A, ) es: – Si

Df. Df La semántica de una fórmula F por (A, ) es: – Si F=p(t 1, t 2, …tn), • I(F)=1 sii I(p)(I(t 1), I(t 2), …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 • u D, A(u)=1 y viceversa

Modelos en CP 1 • Df. Un modelo de una fórmula F es una

Modelos en CP 1 • 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 CP 1 • Dado un conjunto de fórmulas Г={F 1, F 2,

Modelos en CP 1 • Dado un conjunto de fórmulas Г={F 1, F 2, …Fn}, decimos que A es un modelo de Г sii es un modelo de todas las fórmulas. Df. A es un modelo de Г={F 1, F 2, …Fn} si A(F 1 F 2 … Fn)=1 • Un conjunto de fórmulas es satisfactible, si tiene por lo menos un modelo. • Sino, es un conjunto contradictorio o insatisfactible.

Df. Dado un conjunto de fórmulas Г={F 1, F 2, …Fn}, decimos que una

Df. Dado un conjunto de fórmulas Г={F 1, F 2, …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: Prop. Una fórmula F es valida sii F es insatisfactible. Prop. Г B sii Г B es insatisfactible. Prop. F 1, F 2, …Fn B sii F 1, F 2, … Fn-1 (Fn B) Df. Dos fórmulas A y B son semánticamente equivalentes (A B) sii A B y B A. Prop. Si CB es una fórmula que contiene B como subfórmula y B D, entonces CB CD.

Sistemas formales en CP 1 • Nuestro objetivo es demostrar – Г ={F 1,

Sistemas formales en CP 1 • Nuestro objetivo es demostrar – Г ={F 1, F 2, …Fn} B • Para este objetivo utilizamos el teorema: Г B sii Г B es insatisfactible e. d. F 1 F 2 … Fn B es insatisfactible • Lo podemostrar de dos maneras: – Semánticamente (p. e. utilizando la tabla de verdad) – Formalmente: F 1 F 2 … 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

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 podemostrarlo? ! Podemos utilizar la algebra de Boole? ! Podemos utilizar el sistema formal basado en la resolucion? !

Equivalencias y leyes en CP 1 Leyes de Morgan: “No existe ningún pájaro que

Equivalencias y leyes en CP 1 Leyes de Morgan: “No existe ningún pájaro que llegue al horizonte” “Todos los pájaros no llegan al horizonte” x. F x F “No existe ninguna persona mas importante que Mister$” “No es cierto que a todos les apetece la opera” x. F x F “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: x. F(x) G x(F(x) G)

Resumen de las equivalencias y Leyes de Morgan: leyes en CP 1 x. F

Resumen de las equivalencias y Leyes de Morgan: leyes en CP 1 x. F x F Si la variable x no figura en la fórmula G podemos decir: x. F(x) G x(F(x) G) x. F(x) x. G(x) x(F(x) G(x)) x y. G(x, y) y x. G(x, y)

Equivalencias y Leyes Es equivalente decir: “A todos los gusta ir a cine y

Equivalencias y Leyes Es 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” x. F(x) x. G(x) x(F(x) G(x)) “Aqui hay gente con pelo rizado o hay gente con ojos azules. ” x. F(x) x. G(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 y. G(x, y) y x. G(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 y. G(x, y) y x. G(x, y)

Equivalencias y Leyes Pero! x. F(x) x. G(x) x(F(x) G(x)) Cada día como pizza

Equivalencias y Leyes Pero! x. F(x) x. G(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? ! x. F(x) x. G(x) x(F(x) G(x)) x. F(x) x. G(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? ! x. F(x) x. G(x) x(F(x) G(x))

Equivalencias y Leyes x y. G(x, y) y x. G(x, y) • Existe un

Equivalencias y Leyes x y. G(x, y) y x. G(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 y. G(x, y) y x. G(x, y)

Ejercicios Ejercicio 1: Escribir la fórmula equivalente a: ( x p(x, y) x q(x))

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 CP 1 Df. Una fórmula es en Forma Normal Prenexa (FNP)

Formas Normales para CP 1 Df. Una fórmula es en Forma Normal Prenexa (FNP) si tiene la forma: Q 1 x 1 Q 2 x 2…Qnxn. F donde Qi { , } y F no contiene cuantificadores. Teorema: Toda fórmula en CP 1 es semánticamente equivalente a una fórmula escrita en FNP. Ejercicio: x a(x) xb(x) Paso 1: Eliminar los condicionales Paso 2: Aplicar las reglas de transformación para que las negaciones esten aplicadas solo a fórmulas atómicas. Paso 3: Eliminar dobles negaciones Paso 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,

Ejercicio: Escribir en FNP: x y ( z(p(x, y) p(y, z)) u q(x, y, u)) 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 x 1 x 2… xn sin ningún cuantificador universal, sustituimos las variables existenciales 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:

• Ejercicio: Skolemizar la fórmula: x yp(x, y) y x p(x, y) Teorema: Una fórmula es satisfactible sii su FNS es satisfactible. Df 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. Si una fórmula en FNC se representa como un conjunto de conjuntos de literales, decimos que está en forma clausal. Ejemplo: {{ p(x, f(x))}, {p(x, g(y)), q(1)}} 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 CP 1 • Recordemos: – (+) el calculo por resolución

Cálculo por resolución en CP 1 • 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 CP 1 Df. Dadas dos cláusulas C 1 y C

Cálculo por resolución en CP 1 Df. Dadas dos cláusulas C 1 y C 2 en CP 1, decimos que R es resolvente de C 1 y C 2 si: • existen las sustituciones s 1 y s 2: C 1 s 1 y C 2 s 2 no contienen variables en común. • existen un conjunto de literales L y L’: L C 1 y L’ C 2 son unificables es decir L 1 s 1= L’s 2 • El resolvente es la unión del resto de literales aplicadas las sustituciones: R={C 1 L 1}U{C 2 L’}s 1 s 2

Ejercicio: Encontrar el resolvente: FNC: x z u((p(f(x)) q(z) p(z)) ( p(u) r(g(u), a))

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: Si F es una fórmula de CP 1 en forma clausal y R es el resolvente de cláusulas de F, se cumple: F F U R Las propiedades de solidez y completitud de CP 1 son los idénticos a las del CP 0. Teorema: Una fórmula de CP 1 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: Las estrategias son las mismas como en el caso de CP 0. Lo único que cambia es la forma de obtener el resolvente.

Ejercicio Formalizar y demostrar en CP 1 el siguiente problema: “Ningún chico rubio quiere

Ejercicio Formalizar y demostrar en CP 1 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.

Ejercicio Formalizar y demostrar en CP 1 el siguiente problema: “Ningún chico rubio quiere

Ejercicio Formalizar y demostrar en CP 1 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 CP 1 el siguiente problema: “Pere es primo de

Ejercicio Formalizar y demostrar en CP 1 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? !”