1 / 44

Hasta ahora: Lógica Proposicional.

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.

chandler
Télécharger la présentation

Hasta ahora: Lógica Proposicional.

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

  3. Pero… CP0: alumno_lógica->tiene_jaguar. CP1: alumno(X,lógica)->tiene(X,jaguar). Cuales 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)).

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

  5. 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)

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

  7. Que es una fórmula en CP1 • 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,AB 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: Fijémonos, podemos cuantificar solo variables! • Es un cálculo proposicional de I orden.

  8. 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. xAB, x(AB), • Df. Una variable es ligada si sigue un cuantificador o pertenece al campo de un cuantificador xA(x)B(x), x(A(x)B(x)), Df. Una variable es libre si no es ligada. Ejemplo: xp(x,y)

  9. Cuantificación de las variables • xyA(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))

  10. 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))

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

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

  13. Ejercicio Traduzcamos los siguientes ejemplos: • “Todas las cosas no negras no son cuervos.”

  14. 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))

  15. Ejercicio Traduzcamos los siguientes ejemplos: • “Ningún pájaro blanco llegara al Polo Sur”.

  16. Ejercicio Traduzcamos los siguientes ejemplos: • “Ningún pájaro blanco llegara al Polo Sur”.

  17. 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))

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

  19. 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))

  20. Semántica de CP1 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-ariop le asigna una relación (subconjunto) de Dn p.e. padre -> {(x,y)D | x es padre de y}

  21. 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 }

  22. 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(t1,t2,…tn), será I(f)(I(t1),I(t2),…I(tn)).

  23. Df. La semántica de una fórmula F por (A, ) es: • Si F=p(t1,t2,…tn), • I(F)=1 siiI(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 • uD, A(u)=1 y viceversa. • Si F= x A(x), I(F)=1 sii • uD, A(u)=1 y viceversa

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

  25. 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. A es un modelo de Г={F1,F2,…Fn} si A(F1F2 … Fn)=1 • Un conjunto de fórmulas es satisfactible, si tiene por lo menos un modelo. • Sino, es un conjunto contradictorio o insatisfactible.

  26. 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: Prop. Una fórmula F es valida sii F es insatisfactible. Prop.Г B sii Г B es insatisfactible. Prop. F1,F2,…Fn B sii F1,F2,… 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.

  27. 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. F1F2 … Fn Bes insatisfactible • Lo podemos demostrar de dos maneras: • Semánticamente (p.e. utilizando la tabla de verdad) • Formalmente: F1F2 … Fn B |-Ǡ • siempre y cuando tenemos un sistema formal que sea sólido y completo por refutación

  28. 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?!

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

  30. Resumen de las equivalencias y leyes en CP1 Leyes de Morgan: xF xF xF xF 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)

  31. 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” 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)

  32. Equivalencias y Leyes Pero! 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))

  33. 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)

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

  35. Formas Normales para CP1 Df. Una fórmula es en Forma Normal Prenexa (FNP) si tiene la forma: Q1x1Q2x2…QnxnF donde Qi{,} y F no contiene cuantificadores. 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 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?!

  36. 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 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))

  37. 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)

  38. 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|-

  39. Cálculo por resolución en CP1 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

  40. 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 CP1 en forma clausal y R es el resolvente de cláusulas de F, se cumple: F F UR Las propiedades de solidez y completitud de CP1 son los idénticos a las del CP0. 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: Las estrategias son las mismas como en el caso de CP0. Lo único que cambia es la forma de obtener el resolvente.

  41. Ejercicio Formalizar 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 losprofesores míosno 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.

  42. Ejercicio Formalizar 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 losprofesores míosno son altos.” Formalizacion: x(r(x)  c(x)) x(a(x)  c(x)) x(p(x)  r(x)) --------------  x(p(x)   a(x))

  43. Ejercicio Formalizar y demostrar en CP1 el siguiente problema: “Pere es primo de Jose. Antonio es hermano de Jose. Todos losprimos son familiares. Todos los hermanos son familiares. Quien es familiar de Jose?!”

More Related