190 likes | 520 Views
Lógica de Primer Orden. Ref. Cap VII. http://www.massey.ac.nz/~mjjohnso/notes/59302/l07.html. Lógica de Primer Orden. La lógica p roposi c ional sólo puede represent ar hechos acerca del mundo .
E N D
Ref. Cap VII http://www.massey.ac.nz/~mjjohnso/notes/59302/l07.html
Lógica de Primer Orden La lógica proposicional sólo puede representarhechos acerca del mundo. La lógicade primer orden describe un mundo que constade objetos y propiedades (o predicados) deesos objetos. Entre los objetos, se verifican varias relaciones p.ej. Progenitor(Marcos, José). Una función es una relación en la cualsólo hay un valorpara un input dado. Ejemplos Objetos: gente, casas, números, planetas,... Relaciones: progenitor, hermano-de, mayor-que,... Propiedades: rojo, pequeño, primo,... Funciones: padre-de, uno-más-que
Lógica de Primer Orden Ejemplos: “Unomásunoigual ados." “Cuadradosvecinos del Wumpus sonmalolientes." La lógica de primer orden es universal porque puede expresar cualquier cosa que pueda ser programada. Syntaxisy semántica La lógica de primer orden tiene sentencias como lógica proposicional y, además, tiene términos, que representan objetos. Para construír términos se usan símbolos constantes, variables y funciones,ycuantificadores ysímbolos predicado son usadospara construír sentencias.
Lógica de Primer Orden: BNF <Sentencia> := <Sentencia Atómica> | <Sentencia> <Conector> <Sentencia> | <Cuantificador> <Variable>,... <Sentencia> | <Sentencia> | (<Sentencia>) <Sentencia Atómica> := <Predicado>(<Término>,...) | <Término> = <Término> <Término> := <Función>(<Término>,...) | <Constante> | <Variable> <Conector> :=^ | | <=> | => <Cuantificador> := | <Constante> := Martin | 59302 | Gato | X | ... <Variable> := a | x | s | ... <Predicado> := Previo | Gusta | Llueve | Falla | ... <Función> := Padre | Cabellode | 10043nota | ...
Lógica de Primer Orden Símbolos constantes: A, B, C, 1, Juan,... Cada símbolo constante nombra a exactamente un objeto en el mundo, no todos los objetos necesitan tener nombres y algunos pueden tener más de un nombre. Símbolos predicado: Vecino, Hermano,... Un símbolo predicado se refiere a una relación particular en el modelo. Por ejemplo, Hermano ; dado queHermanoes unsímbolo de relación binaria, la relación a que se refieredebe ser también binaria, es decir, debe darse o fallar entre pares de objetos. Símbolos de función: Coseno, Padrede, PiernaIzquierdade Una relación funcional relaciona un objetoa exactamente otro único objeto. El último elementoen la tuplaes el valorde la funciónpara los otros elementos. ej. Oficinade(María,bas1.240)
Lógica de Primer Orden Términos Un término es una expresión lógica que se refiere a un objeto. Los símbolos constantes son términos. Los términos también se pueden construír a partir de símbolos de funciones y símbolos de constantes, ej., Padrede(Juan). La semántica formal de los términos es la siguiente: Una interpretación especificauna relación funcional referidapor elsímbolo funcion y objetos referidos porlos símbolos constantes. En consecuencia, untérmino función se refiere ael objeto n+1 en una tuplacuyos primeros n elementos son aquellos referidospor los argumentos de la función. Sentencias atómicas Unasentencia atómica está formadapor unsímbolo predicado seguido por una lista entre paréntesis de términos, por ejemplo, Hermano(Roberto,Juan) indica que el objeto referidopor Robertoes elhermano del objeto referido por Juan.
Lógica de Primer Orden Las sentencias atómicaspueden tener argumentos que son términos complejos: Casado(Padrede(Roberto),Madrede(Juan)) Sentencias complejas Podemos usar conectores lógicos para construír sentencias más complejas. La semántica de éstas es la misma usada en lógica 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.
Lógica de Primer Orden Cuantificadores Nos permiten expresar propiedades de colecciones de objetos. Hay dos cuantificadores en lógica de primer orden: universal y existencial. Cuantificación universal() Usando esta cuantificación podemos decir cosas tal como, “Todos los hamsters son mamíferos." x Hamster(x) Mamifero(x) En consecuencia, una sentencia x (x) es verdaden un modelo solo si es verdadpara todos los objetosen el modelo.
Lógica de Primer Orden Notar la diferencia entre x Hamster(x)Mamifero(x) yx Hamster(x)Mamifero(x) Las afirmaciones universalessonverdadsi son verdad para cada individuo en el mundo. Se pueden pensar como una conjunción infinita. Cuantificación existencial Realiza afirmaciones acerca de al menos algún objeto. Para decir, por ejemplo que Mancha tiene una hermana que es un hamster, escribimos x Hermana(x,mancha) Hamster(x) x P es verdadsi P es verdadparaalgún objetoen elmundo. Se puede pensar como una disyunción infinita. Cuantificadores anidados Se pueden realizar afirmaciones muy complejas si se anidan cuantificadores.
Lógica de Primer Orden Sin mezclar tipos decuantificadores, podemos decir cosas como x,y Progenitor(x,y) Hijo(y,x) También podemos mezclar cuantificadores, xy Buenopara(x,y)“Todos somos buenos para alguna cosa" Conexiones entre y Hay una íntima conexión entrelos dos cuantificadores. Para ver esto, considerarla sentencia xGusta(x,LideresDecepcionantes) “Para todo x, x no gusta de los líderes decepcionantes." Otra forma de decir esto es, “No existe un x que guste de los líderes decepcionantes.“x Gusta(x,LideresDecepcionantes) Esto es verdad en generalporque es una conjunción sobretodos los objetos y es una disyunción sobre todos los objetos.
Lógica de Primer Orden De hecho, todo lo siguiente también es verdad xP x P PQ (PQ) x Px P (PQ) P Q xPx P P Q(P Q) x P x P P Q(P Q) Igualdad Con frecuencia el símbolo de igualdad se incluye como un símbolo especial. Esto se debe a que la noción deigualdades muy importanteen nuestro modo de pensar.Con este símbolo, podemos escribir cosas comoPadre(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 símbolo de relación binaria ordinaria, así la interpre-tación de = es un conjunto de pares.
Lógica de Primer Orden La igualdad puede ser usadapara decir que hay dos o más 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 Manchay no son el mismo individuo." El símbolo de igualdadtambién puede ser usado para restringirel número de objetosque tienen cierta propiedad, por ejemplo, x,y P(x) P(y) x=y “Todo par de objetoscon la propiedad P soniguales." Esta afirmación 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
Lógica de Primer Orden En la representación del conocimiento, un dominio es una sección del mundo acerca del cual deseamos expresar algún 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 básicos acerca de un dominio. Los axiomas son luego usadospara probar teoremas. Haciendo preguntas y obteniendo respuestas Para agregar sentenciasa 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) yhechos específicos acercade una situación particular como TELL(KB,(Hembra(Maxi)Progenitor(Maxi,Mancha)Progenitor(Mancha,Boots)))
Lógica de Primer Orden Con el agregado de estos hechos podemos ASK(KB,Abuela(Maxi,Boots)) Y recibir respuesto si/no. También podemos hacer preguntas para obtener información adicional en las respuestas, como ASK(KB, x hijo(x,Mancha)). Aquí no solo queremos la respuesta si/no, querríamos conocer el término x que denota objetos en el dominio.En general, para un query con variables existencialmentecuantificadas, queremos conocer las particularizaciones de dichas variables. Entonces, ASK retornauna lista de particularizaciones, ej., {x/boots}.
Agentes lógicos para el mundo de Wumpus • Agente reflejo. Meramente clasifica sus percepciones y actúa de acuerdo a dicha clasificación. • Agente basado en modelo. Construye una representación interna del mundo y la usa para actuar. • Agente basado en objetivos. Forma objetivos y trata de alcanzarlos
Agentes lógicos para el mundo de Wumpus El primer paso es definirla interfaceentre el agente y el mundo. La secuencia de percepcióndebe contenerlas percepciones y el momento en que ocurrieron. Usaremosenteros para las etapas temporales, asi una típica sentencia de percepción sería Percepcion([Hedor,Brisa,Brillo,Nada,Nada],5) La acción del agente debe ser una de: Girar(Derecha), Girar(Izquierda), Avanzar, Disparar, Tomar, Liberar, Trepar Para determinarcuál es la mejor acción, 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}.
Cálculo de situación Cálculo de situación 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 generadasa partir de situaciones previas por medio de acciones. Cada relación cuya verdad pueda cambiar con el tiempo, es manejada dándole un argumento extra de situación al correspondiente símbolo de predicado. Por convención, ubicamos el argumento de situación siempre al final. Así,en vez de En(Agente,Ubicacion), deberemos tenerEn(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]).