4.1 Lógica de Primer Orden

84
Lógica de Primer Orden “El que guarda mi palabra, nunca sufrirá muerteJesucristo Jn.16.7

description

“El que guarda mi palabra, nunca sufrirá muerte ” Jesucristo Jn.16.7 Lógica de Primer Orden La lógica proposicional trata con “hechos”, sentencias que pueden ser o no verdades del mundo, ej. “esta lloviendo”. Pero, no puede tener variables que puedan representar libros o mesas.

Transcript of 4.1 Lógica de Primer Orden

Lógica de Primer Orden

“El que guarda mi palabra, nunca sufrirá muerte”Jesucristo Jn.16.7

Lógica de Primer OrdenLa lógica proposicional trata con “hechos”, sentencias que pueden ser o no verdades del mundo, ej. “esta lloviendo”. Pero, no puede tener variables que puedan representar libros o mesas.

Lógica de Primer OrdenLa lógica proposicional trata con “hechos”, sentencias que pueden ser o no verdades del mundo, ej. “esta lloviendo”. Pero, no puede tener variables que puedan representar libros o mesas.

En la lógica de primer orden, las variables se refieren a cosas del mundo y, por tanto, usted puede cuantificar sobre ellas: hablar de todas ellas o algunas de ellas sin mencionarles el nombre explícitamente.

Motivación para la LPOHay sentencias que no pueden ser hechas en lógica proposicional pero pueden ser escritas en LPO

Cuando usted pinta un bloque con pintura verde , esta se vuelve verde.

• En lógica proposicional, necesitara una sentencia referida a cada bloque individual, no se puede hacer una sentencia general acerca de todos los bloques.

Cuando se esteriliza un jarrón, todas las bacterias son eliminadas.

• En LPO, podemos hablar acerca de todas las bacterias sin nombrarlas a ellas explícitamente.

- Una persona se le permite accesar a este sitio web si ella ha sido formalmente autorizado o ellas conocen a alguien que ha accesado.

Sintaxis de LPO

Términos

Sintaxis de LPOTérminos

Símbolos constantes: Fred, Japón, Bacteria39

Sintaxis de LPOTérminos

Símbolos constantes: Fred, Japón, Bacteria39Variables: x, y, a

Sintaxis de LPOTérminos

Símbolos constantes: Fred, Japón, Bacteria39Variables: x, y, aFunción símbolo aplicada a uno o más términos: f(x), f(f(x)), madre-de(Juan)

Sintaxis de LPOTérminos

Símbolos constantes: Fred, Japón, Bacteria39Variables: x, y, aFunción símbolo aplicada a uno o más términos: f(x), f(f(x)), madre-de(Juan)

SentenciaUn símbolo predicado aplicado a cero o mas términos:Sobre(a, b), Hermana(Juana, Maria),

Hermana(madre-de(Juan), Juana)

Sintaxis de LPOTérminos

Símbolos constantes: Fred, Japón, Bacteria39Variables: x, y, aFunción símbolo aplicada a uno o más términos: f(x), f(f(x)), madre-de(Juan)

SentenciaUn símbolo predicado aplicado a cero o mas términos:Sobre(a, b), Hermana(Juana, Maria),

Hermana(madre-de(Juan), Juana)t1 = t2

Sintaxis de LPOTérminos

Símbolos constantes: Fred, Japón, Bacteria39Variables: x, y, aFunción símbolo aplicada a uno o más términos: f(x), f(f(x)), madre-de(Juan)

SentenciaUn símbolo predicado aplicado a cero o mas términos:Sobre(a, b), Hermana(Juana, Maria),

Hermana(madre-de(Juan), Juana)t1 = t2Si v es una variable y es una sentencia, entonces

Para toda v. y Existe v. son sentencias.

Sintaxis de LPOTérminos

Símbolos constantes: Fred, Japón, Bacteria39Variables: x, y, aFunción símbolo aplicada a uno o más términos: f(x), f(f(x)), madre-de(Juan)

SentenciaUn símbolo predicado aplicado a cero o mas términos:

Sobre(a, b), Hermana(Juana, Maria), Hermana(madre-de(Juan), Juana)

t1 = t2Si v es una variable y es una sentencia, entonces Para toda

v. y Existe v. son sentencias.Operadores: ^, v, ¬, =>, <=>, ( )

Interpretaciones de LPOInterpretación I

Interpretaciones de LPOInterpretación I

Conjunto U de objetos (llamado ”dominio del discurso” o “universo”)

Interpretaciones de LPO

Interpretación IConjunto U de objetos (llamado ”dominio del discurso” o “universo”)Mapeamiento de constantes a elementos de U

Interpretaciones de LPO

Interpretación IConjunto U de objetos (llamado ”dominio del discurso” o “universo”)Mapeamiento de constantes a elementos de UMapear predicados a relaciones en U (una relación binaria es un conjunto de pares)

Interpretaciones de LPO

Interpretación IConjunto U de objetos (llamado ”dominio del discurso” o “universo”)Mapeamiento de símbolos constantes a elementos de UMapear símbolos predicados a relaciones en U (una relación binaria es un conjunto de pares)Mapear símbolos funciones a funciones en U (una función es binaria con un único par para cada elemento en U, cuyo primer ítem es ese elemento)

Denotación de términosLos términos nombran objetos en U

Denotación de términosLos términos nombran objetos en U

I(Fred) si Fred es constante, entonces es dada

Denotación de términosLos términos nombran objetos en U

I(Fred) si Fred es constante, entonces es dadaI(x) si x es una variable, entonces es indefinidaI(f(t1, ...,tn)) I(f)(I(t1),..., I(tn))

AfirmaciónCuando una sentencia se afirma en una interpretación?

AfirmaciónCuando una sentencia se afirma en una interpretación?

P es un simbolo relaciónT1,..,tn son términos

Afirma(P(t1,.., tn), I) ssi < i(t1), ...i(tn) > Є I(P)

AfirmaciónCuando una sentencia se afirma en una interpretación?

P es un simbolo relaciónT1,..,tn son términos

Afirma(P(t1,.., tn), I) ssi < i(t1), ...i(tn) > Є I(P)Hermano(juan, jose)??

AfirmaciónCuando una sentencia se afirma en una interpretación?

P es un simbolo relaciónT1,..,tn son términos

Afirma(P(t1,.., tn), I) ssi < i(t1), ...i(tn) > Є I(P)Hermano(juan, jose)??• I(Juan) = ☺[un elemento de U]

AfirmaciónCuando una sentencia se afirma en una interpretación?

P es un simbolo relaciónT1,..,tn son términos

Afirma(P(t1,.., tn), I) ssi < i(t1), ...i(tn) > Є I(P)Hermano(Juan, Jose)??

• I(Juan) = ☺ [un elemento de U]• I(José) =☻ [un elemento de U]

AfirmaciónCuando una sentencia se afirma en una interpretación?

P es un simbolo relaciónT1,..,tn son términos

Afirma(P(t1,.., tn), I) ssi < i(t1), ...i(tn) > Є I(P)Hermano(Juan, Jose)??

• I(Juan) = ☺ [un elemento de U]• I(José) =☻ [un elemento de U]• I(hermano)= {< , >, <☺,☻ >, <...,...>, ...}

Igualdad Afirmar(t1 = t2, I) ssi I(t1) es el mismo objeto que I(t2)

Igualdad Afirmar(t1 = t2, I) ssi I(t1) es el mismo objeto que I(t2)Juan = Jaime ?

I(Juan) = [un elemento de U]I(Jaime) = [un elemento de U]Afirmar(Juan = Jaime, I)

Semántica de cuantificadores

Semántica de cuantificadores

Extender una interpretación I para ligar la variable x al elemento a Є U: Ix/a

Semántica de cuantificadores

Extender una interpretación I para ligar la variable x al elemento a Є U: Ix/a

Afirmar(x., I) ssi afirmar(, Ix/a ) para toda a Є U

Semántica de cuantificadores

Extender una interpretación I para ligar la variable x al elemento a Є U: Ix/a

Afirmar(x., I) ssi afirmar(, Ix/a ) para toda a Є UAfirmar(x. , I) ssi afirmar(, Ix/a ) para algún a Є U

Semántica de cuantificadores

Extender una interpretación I para ligar la variable x al elemento a Є U: Ix/a

Afirmar(x., I) ssi afirmar(, Ix/a ) para toda a Є UAfirmar(x. , I) ssi afirmar(, Ix/a ) para algún a Є U

Dominio ejemplo de LPO

El mundo real

Dominio ejemplo de LPOU ={ , , , }

El mundo real

Dominio ejemplo de LPOU ={ , , , }Constantes: FredPredic: Arriba2, Circulo1, Oval1, Cuadrado1

El mundo real

Dominio ejemplo de LPOU ={ , , , }Constantes: FredPredic: Arriba2, Circulo1, Oval1, Cuadrado1

Función: sombrero El mundo real

Dominio ejemplo de LPOU ={ , , , }Constantes: FredPredic: Arriba2, Circulo1, Oval1, Cuadrado1

Función: sombreroI(Fred)=

El mundo real

Dominio ejemplo de LPOU ={ , , , }Constantes: FredPredic: Arriba2, Circulo1, Oval1, Cuadrado1

Función: sombreroI(Fred)= I(arriba)= {< , > , < , >}

El mundo real

Dominio ejemplo de LPOU ={ , , , }Constantes: FredPredic: Arriba2, Circulo1, Oval1, Cuadrado1

Función: sombreroI(Fred)= I(arriba)= {< , > , < , >}I(Circulo) = {< >}

El mundo real

Dominio ejemplo de LPOU ={ , , , }Constantes: FredPredic: Arriba2, Circulo1, Oval1, Cuadrado1

Función: sombreroI(Fred)= I(Arriba)= {< , > , < , >}I(Circulo) = {< >}I(Oval) ={< >, < >}

El mundo real

Dominio ejemplo de LPOU ={ , , , }Constantes: FredPredic: Arriba2, Circulo1, Oval1, Cuadrado1

Función: sombreroI(Fred)= I(Arriba)= {< , > , < , >}I(Circulo) = {< >}I(Oval) ={< >, < >}

El mundo real

I(sombrero) = {< , >, < , >, < , >, < , >}

I

Dominio ejemplo de LPOU ={ , , , }Constantes: FredPredic: Arriba2, Circulo1, Oval1, Cuadrado1

Función: sombreroI(Fred)= I(Arriba)= {< , > , < , >}I(Circulo) = {< >}I(Oval) ={< >, < >}

El mundo real

I(sombrero) = {< , >, < , >, < , >, < , >} I(cuadrado) = {< >}

I

Ejemplo LPOI(Fred)= I(Arriba)= {< , > , < , >}I(Circulo) = {< >}I(Oval) ={< >, < >} I(sombrero) = {< , >, < ,

> < , >, < , >} I(cuadrado) = {< >}

Afirmar(Cuadrado(Fred), I) ?SI

Ejemplo LPOI(Fred)= I(Arriba)= {< , > , < , >}I(Circulo) = {< >}I(Oval) ={< >, < >} I(sombrero) = {< , >, < ,

> < , >, < , >} I(cuadrado) = {< >}

Afirmar(Cuadrado(Fred), I) ?SI

Afirmar(arriba(Fred,sombrero(Fred)), I) ?

Ejemplo LPOI(Fred)= I(Arriba)= {< , > , < , >}I(Circulo) = {< >}I(Oval) ={< >, < >} I(sombrero) = {< , >, < ,

> < , >, < , >} I(cuadrado) = {< >}

Afirmar(Cuadrado(Fred), I) ?SI

Afirmar(arriba(Fred,sombrero(Fred)), I) ?•I(sombrero(Fred)) =

Ejemplo LPOI(Fred)= I(Arriba)= {< , > , < , >}I(Circulo) = {< >}I(Oval) ={< >, < >} I(sombrero) = {< , >, < ,

> < , >, < , >} I(cuadrado) = {< >}

Afirmar(Cuadrado(Fred), I) ?SI

Afirmar(arriba(Fred,sombrero(Fred)), I) ?•I(sombrero(Fred)) = •afirma(arriba( , ), I) ?

Ejemplo LPOI(Fred)= I(Arriba)= {< , > , < , >}I(Circulo) = {< >}I(Oval) ={< >, < >} I(sombrero) = {< , >, < ,

> < , >, < , >} I(cuadrado) = {< >}

Afirmar(Cuadrado(Fred), I) ?SI

Afirmar(arriba(Fred,sombrero(Fred)), I) ?•I(sombrero(Fred)) = •afirma(arriba( , ), I) ? no

Ejemplo LPOI(Fred)= I(Arriba)= {< , > , < , >}I(Circulo) = {< >}I(Oval) ={< >, < >} I(sombrero) = {< , >, < ,

> < , >, < , >} I(cuadrado) = {< >}

Afirmar(Cuadrado(Fred), I) ?SI

Afirmar(arriba(Fred,sombrero(Fred)), I) ?•I(sombrero(Fred)) = •afirma(arriba( , ), I) ? no

•Afirmar(x. Oval(x), I)?

Ejemplo LPOI(Fred)= I(Arriba)= {< , > , < , >}I(Circulo) = {< >}I(Oval) ={< >, < >} I(sombrero) = {< , >, < ,

> < , >, < , >} I(cuadrado) = {< >}

Afirmar(Cuadrado(Fred), I) ?SI

Afirmar(arriba(Fred,sombrero(Fred)), I) ?•I(sombrero(Fred)) = •afirma(arriba( , ), I) ? no

•Afirmar(x. Oval(x), I)? SI

•Afirmar(Oval(x), Ix/ )? SI

Ejemplo LPOI(Fred)= I(Arriba)= {< , > , < , >}I(Circulo) = {< >}I(Oval) ={< >, < >} I(sombrero) = {< , >, < ,

> < , >, < , >} I(cuadrado) = {< >}

Afirmar(x.y.arriba(x, y) v arriba(y, x), I)?

Ejemplo LPOI(Fred)= I(Arriba)= {< , > , < , >}I(Circulo) = {< >}I(Oval) ={< >, < >} I(sombrero) = {< , >, < ,

> < , >, < , >} I(cuadrado) = {< >}

•Afirmar(x.y.arriba(x, y) v arriba(y, x), I)?

•Afirmar(y. Arriba(x, y) v arriba( y, x), Ix/ ?

Ejemplo LPOI(Fred)= I(Arriba)= {< , > , < , >}I(Circulo) = {< >}I(Oval) ={< >, < >} I(sombrero) = {< , >, < ,

> < , >, < , >} I(cuadrado) = {< >}

•Afirmar(x.y.arriba(x, y) v arriba(y, x), I)?•Afirmar(y. Arriba(x, y) v arriba( y, x), Ix/ ? SI

afirmar(arriba(x, y) v arriba(y, x), Ix/ , y/ )? SI

Ejemplo LPOI(Fred)= I(Arriba)= {< , > , < , >}I(Circulo) = {< >}I(Oval) ={< >, < >} I(sombrero) = {< , >, < ,

> < , >, < , >} I(cuadrado) = {< >}

•Afirmar(x.y.arriba(x, y) v arriba(y, x), I)? SI•Afirmar(y. Arriba(x, y) v arriba( y, x), Ix/ ? SI

afirmar(arriba(x, y) v arriba(y, x), Ix/ , y/ )? SIVerifique para todos los otros valores de x

Ejemplo LPOI(Fred)= I(Arriba)= {< , > , < , >}I(Circulo) = {< >}I(Oval) ={< >, < >} I(sombrero) = {< , >, < ,

> < , >, < , >} I(cuadrado) = {< >}

•Afirmar(x.y.arriba(x, y) v arriba(y, x), I)? SI•Afirmar(y. Arriba(x, y) v arriba( y, x), Ix/ ? SI

afirmar(arriba(x, y) v arriba(y, x), Ix/ , y/ )? SIVerifique para todos los otros valores de x Afirmar (x. y. Arriba(x,y) v arriba(y, x), I)?

Ejemplo LPOI(Fred)= I(Arriba)= {< , > , < , >}I(Circulo) = {< >}I(Oval) ={< >, < >} I(sombrero) = {< , >, < ,

> < , >, < , >} I(cuadrado) = {< >}

•Afirmar(x.y.arriba(x, y) v arriba(y, x), I)? SI•Afirmar(y. Arriba(x, y) v arriba( y, x), Ix/ ? SI

afirmar(arriba(x, y) v arriba(y, x), Ix/ , y/ )? SIVerifique para todos los otros valores de x Afirmar (x. y. Arriba(x,y) v arriba(y, x), I)? afirmar(arriba(x, y) v arriba(y,x), Ix/ , y/ )?

Ejemplo LPOI(Fred)= I(Arriba)= {< , > , < , >}I(Circulo) = {< >}I(Oval) ={< >, < >} I(sombrero) = {< , >, < ,

> < , >, < , >} I(cuadrado) = {< >}

•Afirmar(x.y.arriba(x, y) v arriba(y, x), I)? SI•Afirmar(y. Arriba(x, y) v arriba( y, x), Ix/ ? SI

afirmar(arriba(x, y) v arriba(y, x), Ix/ , y/ )? SIVerifique para todos los otros valores de x Afirmar (x. y. Arriba(x,y) v arriba(y, x), I)? no afirmar(arriba(x, y) v arriba(y,x), Ix/ , y/ )? no

Escribiendo LPO

Escribiendo LPOLos gatos son mamiferos [gato1 , mamifero1 ]

Escribiendo LPOLos gatos son mamiferos [gato1 , mamifero1 ]

x. Gato(x) → mamifero(x)

Escribiendo LPOLos gatos son mamiferos [gato1 , mamifero1 ]

x. Gato(x) → mamifero(x)Juana es una evaluadora alta [Alta1 , Evaluadora1, Juana]

Alta(Juana) ^ Evaluadora(Juana)

Escribiendo LPOLos gatos son mamiferos [gato1 , mamifero1 ]

x. Gato(x) → mamifero(x)Juana es una evaluadora alta [Alta1 , Evaluadora1, Juana]

Alta(Juana) ^ Evaluadora(Juana)Un sobrino es hijo de hermanos [Sobrino2, Hermanos2, Hijo2]

xy.[Sobrino(x,y) z.[Hermanos(y,z) ^ Hijo(x,z)]]

Escribiendo LPOLos gatos son mamiferos [gato1 , mamifero1 ]

x. Gato(x) → mamifero(x)Juana es una evaluadora alta [Alta1 , Evaluadora1, Juana]

Alta(Juana) ^ Evaluadora(Juana)Un sobrino es hijo de hermanos [Sobrino2, Hermanos2, Hijo2]

xy.[Sobrino(x,y) z.[Hermanos(y,z) ^ Hijo(x,z)]]Una abuela materna es la madre de la madre [función:mdm, madre-de]

Escribiendo LPOLos gatos son mamiferos [gato1 , mamifero1 ]

x. Gato(x) → mamifero(x)Juana es una evaluadora alta [Alta1 , Evaluadora1, Juana]

Alta(Juana) ^ Evaluadora(Juana)Un sobrino es hijo de hermanos [Sobrino2, Hermanos2, Hijo2]

xy.[Sobrino(x,y) z.[Hermanos(y,z) ^ Hijo(x,z)]]Una abuela materna es la madre de la madre [función:mdm, madre-de]

xy. x=mdm(y) z.x=madre-de(z) z=madre-de(y)

Escribiendo LPOLos gatos son mamiferos [gato1 , mamifero1 ]

x. Gato(x) → mamifero(x)Juana es una evaluadora alta [Alta1 , Evaluadora1, Juana]

Alta(Juana) ^ Evaluadora(Juana)Un sobrino es hijo de hermanos [Sobrino2, Hermanos2, Hijo2]

xy.[Sobrino(x,y) z.[Hermanos(y,z) ^ Hijo(x,z)]]Una abuela materna es la madre de la madre [función:mdm, madre-de]

xy. x=mdm(y) z.x=madre-de(z) z=madre-de(y)Todos aman a alguien [amar2 ]

Escribiendo LPOLos gatos son mamiferos [gato1 , mamifero1 ]

x. Gato(x) → mamifero(x)Juana es una evaluadora alta [Alta1 , Evaluadora1, Juana]

Alta(Juana) ^ Evaluadora(Juana)Un sobrino es hijo de hermanos [Sobrino2, Hermanos2, Hijo2]

xy.[Sobrino(x,y) z.[Hermanos(y,z) ^ Hijo(x,z)]]Una abuela materna es la madre de la madre [función:mdm, madre-de]

xy. x=mdm(y) z.x=madre-de(z) z=madre-de(y)Todos aman a alguien [ama2 ]

x. y. Ama(x, y)

Escribiendo LPOLos gatos son mamiferos [gato1 , mamifero1 ]

x. Gato(x) → mamifero(x)Juana es una evaluadora alta [Alta1 , Evaluadora1, Juana]

Alta(Juana) ^ Evaluadora(Juana)Un sobrino es hijo de hermanos [Sobrino2, Hermanos2, Hijo2]

xy.[Sobrino(x,y) z.[Hermanos(y,z) ^ Hijo(x,z)]]Una abuela materna es la madre de la madre [función:mdm, madre-de]

xy. x=mdm(y) z.x=madre-de(z) z=madre-de(y)Todos aman a alguien [ama2 ]

x. y. Ama(x, y)y. x. Ama(x, y)

Escribiendo más LPONadie ama a Juana

Escribiendo más LPONadie ama a Juana

x. Ama(x, Juana)

Escribiendo más LPONadie ama a Juana

x. Ama(x, Juana)x. Ama(x, Juana)

Escribiendo más LPONadie ama a Juana

x. Ama(x, Juana)x. Ama(x, Juana)

Todos tienen un padre

Escribiendo más LPONadie ama a Juana

x. Ama(x, Juana)x. Ama(x, Juana)

Todos tienen un padrex. y. Padre(y, x)

Escribiendo más LPONadie ama a Juana

x. Ama(x, Juana)x. Ama(x, Juana)

Todos tienen un padrex. y. Padre(y, x)

Todos tienen un padre y una madre

Escribiendo más LPONadie ama a Juana

x. Ama(x, Juana)x. Ama(x, Juana)

Todos tienen un padrex. y. Padre(y, x)

Todos tienen un padre y una madrex. y, z. Padre(y, x) Madre(z,x) {y # z? No}

Escribiendo más LPONadie ama a Juana

x. Ama(x, Juana)x. Ama(x, Juana)

Todos tienen un padrex. y. Padre(y, x)

Todos tienen un padre y una madrex. y, z. Padre(y, x) Madre(z,x)

Cualquiera que tiene un padre, tiene una madre

Escribiendo más LPONadie ama a Juana

x. Ama(x, Juana)x. Ama(x, Juana)

Todos tienen un padrex. y. Padre(y, x)

Todos tienen un padre y una madrex. y, z. Padre(y, x) Madre(z,x)

Cualquiera tiene un padre, tiene una madre x. [ y. Padre(y, x)]

Escribiendo más LPONadie ama a Juana

x. Ama(x, Juana)x. Ama(x, Juana)

Todos tienen un padrex. y. Padre(y, x)

Todos tienen un padre y una madrex. y, z. Padre(y, x) Madre(z,x)

Cualquiera tiene un padre, tiene una madre x. [ y. Padre(y, x)] [y. Madre(y,x))]

Escribiendo más LPONadie ama a Juana

x. Ama(x, Juana)x. Ama(x, Juana)

Todos tienen un padrex. y. Padre(y, x)

Todos tienen un padre y una madrex. y, z. Padre(y, x) Madre(z,x)

Cualquiera tiene un padre, tiene una madre x. [ y. Padre(y, x)] [y. Madre(y,x))]

Derivando en Lógica de Primer Orden

Derivando en Lógica de Primer Orden

•KB deriva S: para cada interpretación I, si KB esta afirmada en I, entonces S será afirmada en I.

Todas las interpretaciones

S KB

Derivando en Lógica de Primer Orden

•KB deriva S: para cada interpretación I, si KB esta afirmada en I, entonces S será afirmada en I.

Todas las interpretaciones

S KB

•Calcular una derivación es imposible en general, porque hay infinitamente muchas posibles interpretaciones

Derivando en Lógica de Primer Orden

•KB deriva S: para cada interpretación I, si KB esta afirmada en I, entonces S será afirmada en I.

Todas las interpretaciones

S KB

•Calcular una derivación es imposible en general, porque hay infinitamente muchas posibles interpretaciones

•Aun procesando solo las afirmaciones de todas las interpretaciones es imposible hacerlo con universos infinitos.

Tomado del Instituto Tecnológico de Massachusetts www.owc.mit.edu6.034 Artificial Intelligence 2004Archivo ch9-logic1b

Leer capitulo 8 del libro de Russell & Norvig

Ejercicios