Logic M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx February, 2009
Outline Representaciรณn del Conocimiento Lรณgica de Proposiciones Lรณgica de Predicados Deducciรณn Automรกtica
Representación del Conocimiento • El conocimiento debe estar expresado en un lenguaje simbólico para que pueda ser reconocido por una computadora o ‘agente’. • Los agentes pueden consultar a la base de conocimientos para resolver problema o bien agregar nuevos conocimientos. • Los agentes pueden obtener esta nueva información a través de la inferencia lógica.
Representación del Conocimiento • Inicialmente el agente cuenta con unos conocimientos básicos llamados antecedentes o hechos. • Se cuenta con una serie de reglas que definen la forma de deducir conocimiento. • El agente pregunta a estas reglas y hechos para poder razonar que opción le conviene más ejecutar.
El Juejo del Wumpus Percepciones: (4 sensores) {Hedor, Brisa, Resplandor, Nada} El agente no percibe su situaciรณn
Acciones: Ir hacia adelante, girar izda/dcha 90ยบ Agarrar (estando en la casillla) Disparar (sรณlo una flecha)
Objetivo: salir con el oro lo antes posible 1000 ptos: salir con el oro 1 pto penaliza cada acciรณn. Penaliz. Mรกxima: 10000 ptos
Lógica de Proposiciones • La sintaxis nos indica cuáles son los enunciados que se pueden construir. • Los enunciados atómicos se componen de una sola proposición. • Una proposición tiene un solo valor de verdad: Verdadero o Falso.
Lógica de Proposiciones • Los enunciados complejos se forman a partir de enunciados más simples y el empleo de conectivos lógicos. • Los Conectivos Lógicos son cinco: – – – –
NO (~) también conocida como Negación. Y (^) también conocida como Conjunción. O (v) también conocida como Disyunción. Implicación (⇒) también conocida como Condicional.
Lógica de Proposiciones • Las expresiones que contienen conectivos lógicos se interpretan siguiendo el orden de precedencia que corresponde al mostrado en la tabla anterior. • Por ejemplo: ~P ^Q v R ⇒ S equivale a: • (~(P) ^(Q v R)) ⇒ S • Además, se emplean los paréntesis para evitar ambigüedades.
Lógica de Proposiciones • La semántica nos define las reglas que permiten determinar el valor de verdad de un enunciado respecto de algún modelo. • Con dos símbolos proposicionales existen 4 modelos posibles para cada uno de los 5 conectivos lógicos, ¿Cómo quedarían las tablas de verdad?
Lógica en Wumpus • Regresemos al mundo del Wumpus para visualizar la construcción de la base de conocimiento. • Notación: – Bij indica que hay brisa en la celda (i,j). – Pij indica que hay un pozo en la celda (i,j).
• A partir de un conocimiento inicial: – E1: ~P11
Lógica en Wumpus • Cuando hay brisa en una casilla implica que en una casilla contigua hay un pozo: • E2: B11 ⇔ P12 v P21 • Ahora agregamos la primera percepción, no se percibe brisa en la celda (1,1): E3: ~B11 • ¿Cómo relacionar los enunciados 2 y 3 para obtener nuevo conocimiento?
Lógica de Proposiciones • Cuando los resultados de una Tabla de Verdad son todos verdaderos, a esa proposición compuesta se le llama Tautología. Como ejemplo tenemos a: (p v ~p) • Cuando los resultados de una Tabla de Verdad son todos falsos, a esa proposición compuesta se le llama Contradicción. Como ejemplo tenemos a: (p ^ ~p)
Lógica de Proposiciones • Básicamente la inferencia es implementación de una implicación.
la
• Los enunciados conocidos como verdaderos forman parte del antecedente. • El consecuente es un nuevo enunciado cuya veracidad se desprende de los anteriores. Simbólicamente se representa así: • antecedente :: consecuente
Lógica de Proposiciones • La equivalencia lógica se presenta cuando dos enunciados α y β tienen los mismos valores de verdad para el mismo conjunto de modelos. • A continuación mostramos una tabla con las equivalencias lógicas más comunes: • Doble Negación: ~( ~p ) ≡ p
Lógica de Proposiciones • Leyes Conmutativas (pvq)≡(qvp) (p^q)≡(q^p) • Leyes Asociativas (pvq)vr≡pv(qvr) (p^q)^r≡p^(q^r)
Lógica de Proposiciones • Leyes Distributivas pv(q^r)≡(pvq)^(pvr) p^(qvr)≡(p^q)v(p^r) • Leyes de Idempotencia (pvp)≡p (p^p)≡p
Lógica de Proposiciones • Leyes de DeMorgan ~( p v q ) ≡ ~p ^ ~q ~( p ^ q ) ≡ ~p v ~q • Leyes de Identidad ( p v ~p ) ≡ t ( p ^ ~p ) ≡ f (pvf)≡p (pvt)≡t
Lógica de Proposiciones • Leyes de Identidad (pvf)≡f (pvt)≡p • Leyes de la Implicación (p ⇔ q) ≡ (p ⇒ q) ^ (q ⇒ p) (p ⇒ q) ≡ (~q ⇒ ~p) (q ⇒ p) ≡ (~p ⇒ ~q) (p ⇒ q) ≡ (~p v q)
Lógica de Proposiciones • Reglas de Inferencias • La siguiente implicación lógica se llama Modus Ponens y corresponde a la siguiente inferencia: p ^ ( p ⇒ q ) :: q • Ejemplo: p: Estudio p ⇒ q: Si estudio aprobaré Matemáticas
Lógica de Proposiciones • La siguiente implicación lógica se llama Modus Tollens y corresponde a la siguiente inferencia: ( p ⇒ q ) ^ ~q :: ~p • Ejemplo: p ⇒ q: Si estudio apruebo Matemáticas ~q: No aprobé Matemáticas ~p: Entonces, no Estudié
Lógica de Proposiciones • La siguiente implicación lógica se llama Silogismo Hipotético y corresponde a la siguiente inferencia: ( p ⇒ q ) ^ ( q ⇒ r ) :: ( p ⇒ r ) • Ejemplo: p ⇒ q: Si estudio apruebo Matemáticas q ⇒ r: Si apruebo Matemáticas me regalan un auto p ⇒ r: Entonces, Si estudio me regalan un auto
Lógica de Proposiciones • La siguiente implicación lógica se llama Silogismo Disyuntivo y corresponde a la siguiente inferencia: ( p v q ) ^ ~p :: q • Ejemplo: p v q: Hay que estudiar Francés o Alemán ~p: No estudio Francés q: Entonces, Estudio Alemán
Lógica de Proposiciones • La simplificación conjuntiva consiste en eliminar uno de los términos de una conjunción: ( p ^ q ) :: q o también: ( p ^ q ) :: p • Por el otro lado, la amplificación disyuntiva permite agregar un nuevo término: p :: ( p v q )
Lógica en Wumpus • Se tiene que: • E2: B11 ⇔ P12 v P21 • E3: ~ B11 • Por lo que tenemos el siguiente razonamiento: • E4: (B11 ⇒ (P12 v P21)) ^ ((P12 v P21) ⇒ B11) • E5: ((P12 v P21) ⇒ B11) • E6: ~B11 ⇒ ~(P12 v P21)
Lógica en Wumpus • Del razonamiento anterior concluimos que no hay un pozo en la casilla (1,2) ni en la (2,1). • Ahora veamos el razonamiento cuando el agente llega a la celda (1,2). • E9: ~B12 • E10: B12 ⇔ P11 v P13 v P22 • E12: ~P22
Lógica en Wumpus • Concluimos que no hay pozo ni en la casilla (1,3) ni en la (2,2). • E11: ~P13 • E12: ~P22 • Pero cuando el agente visitó la celda (2,1) percibió una brisa: • E13: B21 • E14: B21 ⇔ P11 v P31 v P22
Lógica en Wumpus • Dado que ya verificamos que no hay pozo en las celdas (1,1) y (2,2), resulta evidente la conclusión que: • E15: P31 • Es conveniente que nuestra base de conocimiento esté basada solamente en conjunciones y disyunciones.
Lógica Proposicional • Cualquier enunciado compuesto puede ser transformado a uno equivalente que esté en la FNC • La Forma Normal Conjuntiva es la conjunción de n disyunciones de k elementos: ( p11 v … v p1k ) ^ … ^ ( pn1 v … v pnk )
Lógica Proposicional • A continuación se describe un procedimiento para convertir a nuestra FNC: • Eliminar ⇔ usando la equivalencia: (p ⇔ q) ≡ (p ⇒ q) ^ (q ⇒ p) • Eliminar ⇒ usando la equivalencia: (p ⇒ q) ≡ (~p v q)
Lógica Proposicional • Simplificar ~ usando las equivalencias: ~( ~p ) ≡ p ~( p v q ) ≡ ~p ^ ~q ~( p ^ q ) ≡ ~p v ~q • Finalmente, aplicar la ley distributiva donde sea necesario. pv(q^r)≡(pvq)^(pvr)
Lógica Proposicional • E2: B11 ⇔ (P12 v P21) (B11 ⇒ (P12 v P21)) ^ ((P12 v P21) ⇒ B11 ) (~B11 v P12 v P21) ^ (~(P12 v P21) v B11 ) (~B11 v P12 v P21) ^ ((~P12 ^ ~P21) v B11 ) (~B11 v P12 v P21) ^ (~P12 v B11) ^ (~P21 v B11)
Lógica Proposicional • Para demostrar que una implicación BC :: α es válida, se utiliza el método de reducción al absurdo. • Esto es, probar que su negación: BC ^ ~α es una contradicción. • Para ello se lleva a la FNC y luego se prueba que es equivalente a una cláusula vacía.
Lógica Proposicional • Probar que: E2 ^ E4 :: ~P12. • (B11 ⇔ (P12 - P21)) ^ ~B11 :: ~P12 • Se convierte a FNC: • (~B11 v P12 v P21) ^ (~P12 v B11) ^ (¿P21 v B11) ^ ~B11 :: ~P12
Lógica Proposicional • Y para probar por reducción al absurdo, tenemos la negación: • (~B11 v P12 v P21) ^ (~P12 v B11) ^ (~P21 v B11) ^ ~B11 ^ P12 • El proceso de simplificación funciona como sigue: • Si tomamos los primeros dos paréntesis, observamos que contienen a: ~B11 y B11,
Lógica Proposicional • Como no pueden ser ambos verdaderos simultáneamente, entonces, o (P12 v P21) o bien (~P12 ) son verdaderos, lo que se reduce a la siguiente expresión: • (P12 v P21 v ~P12) • Como (P12 v ~P12 ) es una tautología, la expresión anterior se reduce a: (P21)
Lógica Proposicional • Similarmente, los dos paréntesis siguientes, también contienen a: ~B11 y B11, por lo que la • expresión simplificada queda: (~P21) • Como ambas no pueden ser verdaderas, la conjunción resulta en una expresión nula.
Ejercicios • (p⇒q)^(q⇒r) • p^(p⇒q) • ((p ^ q) ⇔ (p v ~q)) • ((~(p ⇒ q) ^ r ) v ~(p ⇔ ~q))
Lógica de Predicados • Hay que aprovechar la característica declarativa y la composicionalidad de la lógica proposicional. Para ello definimos dos tipos de elementos: • Los objetos (Agente, Flecha, Wumpus, Pozo) • Las relaciones entre ellos, generalmente vinculadas por un verbo. • El Agente lanzó una Flecha
Lógica de Predicados • Las relaciones unitarias también se conocen como Propiedades y se vincula un objeto con una característica por el verbo SER: • La Pelota es roja. • Las Funciones son un tipo especial de relación que involucra un solo objeto y devuelven un valor: • El padre de • Uno más que
Lógica de Predicados • Uno sumado a Dos es igual a Tres – Objetos: Uno, Dos y Tres. – Relación: es igual a. – Función: sumado a; el resultado es un objeto, llamado: Uno sumado a Dos.
• Las Casillas que rodean al Wumpus apestan. – Objetos: Casillas y Wumpus. – Relación: que rodean al. – Propiedad: apestan.
Lógica de Primer Orden • La lógica de primer orden se construye sobre: Hechos, Objetos y Relaciones. • La lógica de primer orden es universal porque puede expresar cualquier cosa que pueda ser programada. • El dominio de un modelo es el conjunto de objetos que contiene.
Lógica de Primer Orden • Una relación binaria es un conjunto de pares ordenados. • Por ejemplo, si Hugo, Paco y Luis son hermanos se denota así: • H = { (Hugo, Paco), (Hugo, Luis), (Paco, Luis), • Por ejemplo, si Pepe es el padre de Hugo, Paco y Luis, tenemos entonces:
Lógica de Primer Orden • Padre_de(Hugo) → Pepe • Padre_de(Paco) → Pepe • Padre_de(Luis) → Pepe • Padre_de(Pepe) ? • A continuación se muestra la gramática de la LPO en BNF.
Lógica de Primer Orden • Los símbolos se agrupan en tres clases: • Símbolos de constante, que representan a los Objetos. 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. • Ejemplo: Juan, Casa, Wumpus.
Lógica de Primer Orden • Símbolos de predicado, que representan a las Relaciones. Ejemplos: Vecino, Hermano, … • Símbolos de función. Ejemplos: Coseno, Padre_de, Oficina_de • Los símbolos de predicado y de función tienen una Aridad que establece el número de argumentos.
Lógica de Primer Orden • 〈Enunciado〉 → 〈Sentencia Atómica〉 (〈Enunciado〉〈Conector〉〈Enunciado〉) 〈Cuantificador〉〈Variable〉…〈Enunciado〉 ~〈Sentencia〉
| | |
• 〈Sentencia Atómica〉 → 〈Predicado〉 (〈Término〉…) | 〈Término〉 = 〈Término〉 • 〈Término〉 → 〈Función〉(〈Término〉…) 〈Constante〉| 〈Variable〉
|
Lógica de Primer Orden • • • •
〈Conector〉 → . | - | ⇔ | ⇒ 〈Cuantificador〉 → ∀ | ∃ 〈Constante〉 → Martin | 59302 | Gato | X | … 〈Variable〉 → a | x | s | …
• 〈Predicado〉 → Previo | Gusta | Llueve | Falla |… • 〈Función〉
→
Padre_de
|
Cabello_de
|
Lógica de Primer Orden • Un término es una expresión lógica que se refiere a un objeto. – Los símbolos constantes son términos – Los símbolos de función son términos. – Las variables también son términos.
• Una sentencia atómica está formada por un símbolo predicado seguido por una lista entre paréntesis de términos.
Lógica de Primer Orden • Por ejemplo: Hermano(Roberto,Juan) indica que Roberto es el hermano de Juan. • Las sentencias atómicas pueden tener argumentos que son términos complejos: Casado(Padrede(Roberto),Madrede(Juan)) • Se pueden usar conectores lógicos para construir sentencias más complejas.
Lógica de Primer Orden • Ejemplo: • Hermano(Roberto,Juan) Hermano(Juan,Roberto)
∧
• Es verdadero si Juan y Roberto son hermanos, pues la relación es simétrica. • Los cuantificadores nos permiten expresar propiedades de colecciones de objetos.
Lógica de Primer Orden • Hay dos cuantificadores en lógica de primer orden: universal y existencial. • Cuando un enunciado abarca a todos los posibles valores del dominio de una variable, entonces se emplea el Cuantificador Universal, que se denota por ∀. El cual se enuncia con frases similares a: “Para todos …”, “Todos …”
Lógica de Primer Orden • Esta proposición es falsa si al menos un solo valor de la variable no satisface al enunciado. • La representación simbólica es: • ∀x Gato(x) ⇒ Mamifero(x) • Sin embargo, mucha gente cae en el error de interpretarla como: • ∀x Gato(x) ∧ Mamifero(x)
Lógica de Primer Orden • Aparentemente son equivalentes, pero esta segunda forma es más fuerte que la anterior, pues la primera será verdadera cuando el antecedente es falso (v.gr. x es un perro) • Cuando un enunciado indica que al menos uno de los posibles valores del dominio de una variable, entonces se emplea el Cuantificador Existencial, el cual se denota por ∃.
Lógica de Primer Orden • Y se enuncia con frases similares a: “Hay ...” o “Existe ...” o “Para algunos ...” • Ejemplo: En mi clase hay mujeres. • Esta proposición es falsa si no existe ningún valor de la variable que satisfaga al enunciado. • La representación simbólica es: • ∃x Alumnodemiclase(x) ∧ Mujer(x)
Lógica de Primer Orden • Semejante al caso anterior, mucha gente cae en el error de interpretarla como: • ∃x Alumnodemiclase(x) ⇒ Mujer(x) • Pero esta segundo enunciado es más débil que el anterior y sería verdadero para los estudiantes que no están en mi clase. • Se pueden realizar afirmaciones muy complejas si se anidan cuantificadores.
Lógica de Primer Orden • Sin mezclar tipos de cuantificadores, podemos decir cosas como: • ∀x,y Hermano(x,y) ⇒ Hermano(y,x) • También podemos mezclar cuantificadores, • ∀x ∃y Buenopara(x,y) “Todos somos buenos para alguna cosa" • ∃y ∀x Buenopara(x,y) “Alguien es bueno para todo"
Lógica de Primer Orden • Se pueden cambiar mediante la negación.
los
cuantificadores
• Considerar la sentencia: • ∀x ~Gusta(x,Verduras) “Para todo x, x no le gustan las verduras." • Es equivalente a decir: “No existe un x que le gusten las verduras.“ • ~∃x Gusta(x, Verduras)
Lógica de Primer Orden • Similarmente, los siguientes enunciados son equivalentes: • ∃x P = ~∀x ~P • ∀x P = ~∃x ~P • ~∀x P = ∃x ~P • ∀x ~P = ~∃x P • Con frecuencia el símbolo de igualdad se incluye como un símbolo especial.
Lógica de Primer Orden • Ejemplo: Padre(Juan) = José • Afirmar que el objeto que es padre de Juan es el mismo que el objeto José. • Los axiomas capturan los hechos básicos acerca de un dominio. Ejemplos: • ∀x,y Padre(x,y) ⇔ Hijo(y,x) • ∀x,y Abuelo(x,y) ⇔ ∃z Padre(x,z) . Padre(z,y)
Lógica de Primer Orden • Algunos axiomas son considerados como Definiciones. • Los axiomas son luego usados para probar teoremas. • FOL en Wumpus: • El primer paso es definir la interface entre el agente y el mundo.
FOL Wumpus • Un ejemplo de percepción sería: • Percepción([Hedor,Brisa,Brillo,Nada,Nada],5) • El vector de percepciones contiene 5 elementos que son: Hedor, Brisa, Brillo, Golpe con un muro y Grito. Además incluye un sexto elemento para el tiempo. • Las acciones posibles del agente pueden ser las siguientes:
FOL Wumpus • • • • •
Girar(Derecha) Girar(Izquierda) Avanzar Disparar Tomar
• Para determinar cuál es la mejor acción, el agente realiza una petición como esta: • PREGUNTAR(BC, ∃x MejorAcción(x,5))
FOL Wumpus • Esta petición retornará una lista de acciones posibles, tal como: {a/Tomar}. • Antes de realizar esa acción, el agente deberá DECIR a la base de conocimiento su decisión de hacer la acción de Tomar: • DECIR(BC, Acción(5)=Tomar) • Reglas de diagnóstico: nos llevan de los efectos observados a sus causas.
FOL Wumpus • Por ejemplo: si una casilla tiene brisa significa que una casilla adyacente tiene un pozo. • ∀x Brisa(x) ⇒ ∃y Adyacente(y,x) ∧ Pozo(y) • Reglas Causales: reflejan conclusiones respecto de las percepciones y sus causas. Por ejemplo: un pozo en una casilla provoca brisa en todas las casillas adyacentes. • ∀y Pozo(y) ⇒ [∀x Adyacente(x,y) ⇒ Brisa(x)]
Lógica de Primer Orden • La Ingeniería del Conocimiento es un proceso general para la construcción de una base de conocimiento. A continuación se describen los pasos de este proceso: • • • •
Identificación de la tarea. Recopilación del conocimiento. Decidir el vocabulario. Codificar el conocimiento.
Deducción Automática • Para el hecho: Contrata(Telmex,Toño), podemos construir índices para las siguientes peticiones: • Contrata(Telmex,Toño) ¿Contrata Telmex a Toño? • Contrata(x,Toño) ¿Quién Contrata a Toño? • Contrata(Telmex,y) ¿A quién Contrata Telmex? • Contrata(x,y) ¿Quién Contrata a quién?
Deducción automática • El primer paso consiste en transformar los enunciados en sentencias lógicas. • Posteriormente se aplican las técnicas anteriores para convertirlas en un conjunto de cláusulas positivas de primer orden. • Luego se encadenan esos conocimientos para obtener nuevos enunciados.
Deducción Automática • Pasar a FNC la siguiente base de conocimientos: 1.Asterix es un galo 2.Los romanos que son amigos de algún galo odian a César 3.Asterix ayudó a Marco 4.Marco es amigo de quien le ayuda 5.Quien odia a algún romano, lucha contra él 6.Marco es romano
Deducción Automática 1. Asterix es un galo • galo(Asterix) (en FNC) 1. Los romanos que son amigos de algún galo odian a César • ∀x [romano(x) . (∃y galo(y) . amigo(x, y)) ⇒ odia(x,Cesar)]
Deducción Automática • Reemplazando la cláusula existencial: • ∀x [romano(x) . (galo(G) . amigo(x, G)) ⇒ odia(x,Cesar)] 3.Asterix ayudó a Marco • ayuda(Asterix,Marco) (en FNC) 4.Marco es amigo de quien le ayuda • ∀x [ayuda(x,Marco) ⇒ amigo(Marco, x)]
Deducción Automática 5. Quien odia a algún romano, lucha contra él • ∀x ∃y [romano(y) . odia(x, y) ⇒ lucha(x, y)] • Reemplazando la cláusula existencial: • ∀x [romano(R) . odia(x, R) ⇒ lucha(x, R)] 6. Marco es romano • romano(Marco) (en FNC)
Deducción Automática • Los Miembros del equipo de tenis son: Juan, Sara, Beto y Elena. • Juan está casado con Sara. • Beto es hermano de Elena. • El cónyuge de un miembro del equipo también es miembro del equipo.
Deducción Automática • La última reunión fue en casa de Juan. • Representar los enunciados anteriores en lógica de predicados. Demostrar que: • La última reunión fue en casa de Sara. • Elena no está casada. • Agregue los hechos que necesite para las
Deducción Automática • A Paco le gustan los cursos fáciles. • Los cursos de Física son difíciles. • Los cursos de Humanidades son fáciles. • El curso de Humanidades.
Ética
es
del
área
de
Deducción Automática • A Beto le gusta la comida italiana. • En un restaurante hay comida mexicana a no ser que se anuncie explícitamente lo contrario. • En “La Conchita” no anuncian que tipo de comida sirven.
Deducción Automática • A las personas no les gusta ir a restaurantes donde sirven comida que no es de su preferencia. • ¿Se puede concluir que a Beto no le gusta ir a “La Conchita”?
Deducción Automática • Formaliza los siguientes hechos: • Todo dragón está feliz si todos sus hijos pueden volar. • Los dragones verdes pueden volar. Un dragón es verde si es hijo de al menos un dragón verde. • Demuestra por resolución que la conjunción de los hechos anteriores implica que: • Todos los dragones verdes son felices.
Deducción Automática • Considere las siguientes relaciones: • • • • • •
Feliz(x) para x es feliz. Volar(x) para x puede volar. Verde(x) para x es verde. Dragón(x) para x es dragón Rojo(x) para x es rojo. Hijo(x,y) para x es hijo de y.
Referencias • Carreón, J. (2007) Material de la Asignatura de Inteligencia Artificial, Universidad Vasco de Quiroga, Morelia, Michoacán, México. • Nilsson, N. (2001). Inteligencia Artificial. Una nueva síntesis. McGraw-Hill, España. • Russel, S. y Norving, P. (2004). Inteligencia Artificial. Un Nuevo enfoque. Pearson Prentice Hall, España
Questions?