You are on page 1of 19

Lgica de Primer Orden

Ref. Cap VII


http://www.massey.ac.nz/~mjjohnso/notes/59302/l07.html

Lgica de Primer Orden


La lgica proposicional slo puede representar hechos acerca del mundo.
La lgica de primer orden describe un mundo que consta de objetos y
propiedades (o predicados) de esos objetos.
Entre los objetos, se verifican varias relaciones p.ej.
Progenitor(Marcos, Jos).
Una funcin es una relacin en la cual slo hay un valor para un input
dado.
Ejemplos
Objetos: gente, casas, nmeros, planetas,...
Relaciones: progenitor, hermano-de, mayor-que,...
Propiedades: rojo, pequeo, primo,...
Funciones: padre-de, uno-ms-que

Lgica de Primer Orden


Ejemplos:
Uno ms uno igual a dos."
Cuadrados vecinos del Wumpus son malolientes."
La lgica de primer orden es universal porque puede expresar cualquier
cosa que pueda ser programada.
Syntaxis y semntica
La lgica de primer orden tiene sentencias como lgica proposicional y,
adems, tiene trminos, que representan objetos. Para construr
trminos se usan smbolos constantes, variables y funciones, y
cuantificadores y smbolos predicado son usados para construr
sentencias.

Lgica de Primer Orden: BNF


<Sentencia> := <Sentencia Atmica>
| <Sentencia> <Conector> <Sentencia>
| <Cuantificador> <Variable>,... <Sentencia>
| <Sentencia>
| (<Sentencia>)
<Sentencia Atmica> := <Predicado>(<Trmino>,...)
| <Trmino> = <Trmino>
<Trmino> := <Funcin>(<Trmino>,...)
| <Constante>
| <Variable>
<Conector> :=^ | | <=> | =>
<Cuantificador> := |
<Constante> := Martin | 59302 | Gato | X | ...
<Variable> := a | x | s | ...
<Predicado> := Previo | Gusta | Llueve | Falla | ...
<Funcin> := Padre | Cabellode | 10043nota | ...

Lgica de Primer Orden


Smbolos constantes: A, B, C, 1, Juan,...
Cada smbolo constante nombra a exactamente un objeto en el
mundo, no todos los objetos necesitan tener nombres y algunos
pueden tener ms de un nombre.
Smbolos predicado: Vecino, Hermano,...
Un smbolo predicado se refiere a una relacin particular en el
modelo. Por ejemplo, Hermano ; dado que Hermano es un smbolo
de relacin binaria, la relacin a que se refiere debe ser tambin
binaria, es decir, debe darse o fallar entre pares de objetos.
Smbolos de funcin: Coseno, Padrede, PiernaIzquierdade
Una relacin funcional relaciona un objeto a exactamente otro nico
objeto. El ltimo elemento en la tupla es el valor de la funcin para
los otros elementos. ej. Oficinade(Mara,bas1.240)

Lgica de Primer Orden


Trminos
Un trmino es una expresin lgica que se refiere a un objeto. Los
smbolos constantes son trminos. Los trminos tambin se pueden
construr a partir de smbolos de funciones y smbolos de constantes,
ej., Padrede(Juan).
La semntica formal de los trminos es la siguiente: Una interpretacin
especifica una relacin funcional referida por el smbolo funcion y
objetos referidos por los smbolos constantes. En consecuencia, un
trmino funcin se refiere a el objeto n+1 en una tupla cuyos primeros
n elementos son aquellos referidos por los argumentos de la funcin.
Sentencias atmicas
Una sentencia atmica est formada por un smbolo predicado seguido
por una lista entre parntesis de trminos, por ejemplo,
Hermano(Roberto,Juan) indica que el objeto referido por Roberto es el
hermano del objeto referido por Juan.

Lgica de Primer Orden


Las sentencias atmicas pueden tener argumentos que son trminos
complejos:
Casado(Padrede(Roberto),Madrede(Juan))
Sentencias complejas
Podemos usar conectores lgicos para construr sentencias ms
complejas. La semntica de stas es la misma usada en lgica
proposicional.
Ejemplos
Hermano(Roberto,Juan) Hermano(Juan,Roberto) es verdad en el caso
en que Juan es hermano de Roberto y Roberto es hermano de Juan.
Mayor(Juan,30) Menor(Juan,30) es verdad cuando Juan es mayor de
30 o es menor que 30.

Lgica de Primer Orden


Cuantificadores
Nos permiten expresar propiedades de colecciones de objetos.
Hay dos cuantificadores en lgica de primer orden: universal y
existencial.
Cuantificacin universal ()
Usando esta cuantificacin podemos decir cosas tal como, Todos los
hamsters son mamferos."
x

Hamster(x) Mamifero(x)

En consecuencia, una sentencia x (x) es verdad en un modelo solo


si es verdad para todos los objetos en el modelo.

Lgica de Primer Orden


Notar la diferencia entre
x Hamster(x)Mamifero(x) y x Hamster(x)Mamifero(x)
Las afirmaciones universales son verdad si son verdad para cada
individuo en el mundo. Se pueden pensar como una conjuncin infinita.
Cuantificacin existencial
Realiza afirmaciones acerca de al menos algn objeto. Para decir, por
ejemplo que Mancha tiene una hermana que es un hamster, escribimos
x

Hermana(x,mancha) Hamster(x)

x P es verdad si P es verdad para algn objeto en el mundo. Se puede


pensar como una disyuncin infinita.
Cuantificadores anidados
Se pueden realizar afirmaciones muy complejas si se anidan
cuantificadores.

Lgica de Primer Orden


Sin mezclar tipos de cuantificadores, podemos decir cosas como
x,y

Progenitor(x,y) Hijo(y,x)

Tambin podemos mezclar cuantificadores,


xy Buenopara(x,y) Todos somos buenos para alguna cosa"
Conexiones entre y
Hay una ntima conexin entre los dos cuantificadores. Para ver esto,
considerar la sentencia
x Gusta(x,LideresDecepcionantes)
Para todo x, x no gusta de los lderes decepcionantes."
Otra forma de decir esto es, No existe un x que guste de los lderes
decepcionantes. x Gusta(x,LideresDecepcionantes)
Esto es verdad en general porque es una conjuncin sobre todos los
objetos y es una disyuncin sobre todos los objetos.

Lgica de Primer Orden


De hecho, todo lo siguiente tambin es verdad
x P x P

PQ (PQ)

x P x P

(PQ) P Q

x P x P

P Q (P Q)

x P x P

P Q (P Q)

Igualdad
Con frecuencia el smbolo de igualdad se incluye como un smbolo
especial. Esto se debe a que la nocin de igualdad es muy importante
en nuestro modo de pensar. Con este smbolo, podemos escribir cosas
como Padre(Juan)=Jose, con el objeto de afirmar que el objeto que es
padre de Juan es el mismo que el objeto Jos. Igualdad puede ser
pensada como un smbolo de relacin binaria ordinaria, as la interpretacin de = es un conjunto de pares.

Lgica de Primer Orden


La igualdad puede ser usada para decir que hay dos o ms individuos
con una propiedad particular
x,y Hermana(Mancha,x) Hermana(Mancha,y) (x=y)
Hay un x y un y que son hermanas de Mancha y no son el mismo
individuo."
El smbolo de igualdad tambin puede ser usado para restringir el
nmero de objetos que tienen cierta propiedad, por ejemplo,
x,y P(x) P(y) x=y
Todo par de objetos con la propiedad P son iguales." Esta afirmacin
los restringe a ser un objeto con la propiedad P.
Con frecuencia se usa la forma reducida ! x Rey(x) que significa
x Rey(x) y Rey(y) x=y

Lgica de Primer Orden


En la representacin del conocimiento, un dominio es una seccin del
mundo acerca del cual deseamos expresar algn conocimiento. Un
ejemplo simple y muy conocido del uso de LPO para codificar dominios
es el dominio de relaciones familiares.
Axiomas, Definiciones y Teoremas
Los axiomas capturan los hechos bsicos acerca de un dominio. Los
axiomas son luego usados para probar teoremas.
Haciendo preguntas y obteniendo respuestas
Para agregar sentencias a la base de conocimiento, llamamos a TELL,
por ej., TELL(KB,

m,c Madre(c)=m Hembra(m) Progenitor(m,c))

TELL se usa para axiomas(como aqu arriba) y hechos especficos


acerca de una situacin particular como
TELL(KB,(Hembra(Maxi)Progenitor(Maxi,Mancha)Progenitor(Mancha,Boots)))

Lgica de Primer Orden


Con el agregado de estos hechos podemos
ASK(KB,Abuela(Maxi,Boots))
Y recibir respuesto si/no. Tambin podemos hacer preguntas para
obtener informacin adicional en las respuestas, como
ASK(KB, x hijo(x,Mancha)).
Aqu no solo queremos la respuesta si/no, querramos conocer el
trmino x que denota objetos en el dominio. En general, para un query
con variables existencialmente cuantificadas, queremos conocer las
particularizaciones de dichas variables. Entonces, ASK retorna una lista
de particularizaciones, ej., {x/boots}.

Agentes lgicos para el


mundo de Wumpus
Agente reflejo. Meramente clasifica sus
percepciones y acta de acuerdo a dicha
clasificacin.
Agente basado en modelo. Construye una
representacin interna del mundo y la usa
para actuar.
Agente basado en objetivos. Forma
objetivos y trata de alcanzarlos

Agentes lgicos para el


mundo de Wumpus
El primer paso es definir la interface entre el agente y el mundo. La
secuencia de percepcin debe contener las percepciones y el
momento en que ocurrieron. Usaremos enteros para las etapas
temporales, asi una tpica sentencia de percepcin sera
Percepcion([Hedor,Brisa,Brillo,Nada,Nada],5)
La accin del agente debe ser una de:
Girar(Derecha), Girar(Izquierda), Avanzar, Disparar, Tomar, Liberar,
Trepar
Para determinar cul es la mejor accin, creamos un query tal como
Accion(a,5). Si hemos presentado las cosas de manera correcta, este
query retornar una lista de particularizac. tal como {a/Tomar}.

Clculo de situacin
Clculo de situacin es el nombre dado a un modo particular de
describir cambio en LPO. Concibe al mundo como una secuencia de
situaciones, cada una de las cuales es un instante en el estado del
mundo. Las situaciones son generadas a partir de situaciones previas
por medio de acciones.
Cada relacin cuya verdad pueda cambiar con el tiempo, es manejada
dndole un argumento extra de situacin al correspondiente smbolo de
predicado. Por convencin, ubicamos el argumento de situacin
siempre al final. As, en vez de En(Agente,Ubicacion), deberemos tener
En(Agente,[1,1],S0) En(Agente,[1,2],S1).
Las relaciones o propiedade que no cambian con el tiempo no
necesitan el argumento extra, ej., ParedEn([0,1]).

Clculo de situacin

You might also like