Source: http://docplayer.es/4611219-Tema-3-parte-2-representacion-del-conocimiento.html
Timestamp: 2018-03-24 20:42:05+00:00

Document:
TEMA 3 (parte 2). Representación del Conocimiento - PDF
Download "TEMA 3 (parte 2). Representación del Conocimiento"
Bernardo Contreras Paz
1 TEMA 3 (parte 2). Representación del Conocimiento Francisco José Ribadas Pena INTELIGENCIA ARTIFICIAL 5 Informática 13 de noviembre de 2009 FJRP ccia [Inteligencia Artificial]
2 3.2.2 Lógica de Predicados Mayor expresividad que la lógica de proposiciones En lógica de proposiciones: hecho = proposición Tantas proposiciones como hechos se quieran representar Proposiciones no tienen estructura interna No se puede expresar conocimiento sobre conjuntos de hechos Ejemplo: Mundo de los bloques B C A sobre C B sobre C B libre C sobre A C sobre C A libre C sobre B A sobre B A libre B sobre B C sobre B C libre B sobre C A... sobre A B Solución: Lógica de predicados de 1 er orden Representa un mundo constituido por objetos (=elementos individuales del dominio) Esos objetos tienen propiedades Existen relaciones entre objetos Se puede generalizar sobre los objetos, sus propiedades y relaciones FJRP ccia [Inteligencia Artificial] 1
3 (a) SINTAXIS ELEMENTOS Términos: Representan objetos del dominio Constantes: Representan un objeto individual en concreto notación: cadenas de caracteres, comienzan en mayúsculas Ejemplos: Juan, Mi coche,... Funciones: Representan (impĺıcitamente) un objeto individual que está relacionado con los n objetos que participan en la función notación: símbolo de función (cadena, comienza con Mays.) con aridad n + n argumentos (términos) entre paréntesis Ejemplos: P adre de(juan), Hijo de(p edro, Ana), Coseno(45)... Variables: j Representan objetos sin indicar cuáles referirse a un objeto específico no identificado Uso: referirse a un conjunto de objetos notación: cadenas de caracteres en minúsculas Ejemplos: x, y, padre, hijo,... Predicados: Representan una propiedad de un término (si aridad 1) o relaciones entre k términos (si aridad k > 1) notación: cadenas de caracteres + k términos (variables, constantes, funciones) entre paréntesis Átomos: fórmulas bien formadas (f.b.f.) compuestas por un único predicado Literales: Átomo o negación de un átomo. Ejemplos: Asesina(Juan, x), Es alto(juan), V ive con(juan, P adre de(juan)),... FJRP ccia [Inteligencia Artificial] 2
4 FÓRMULAS BIEN DEFINIDAS (oraciones lógicas) Formadas a partir de átomos (=predicados) aplicando conectivas lógicas y cuantificadores Conectivas:,,,, IDEM que en lógica proposicional Ejemplos: Hermano(Juan, Luis) Hijo(Luis, P edro) T io(juan, P edro) Cuantificadores: (, ) Permiten expresar propiedades sobre grupos de objetos sin tener que enumerarlos todos cuantificador universal ( ): para todo Afirmaciones sobre un conjunto de objetos x α: afirma que α es cierto para cualquier valor por el que sustituya la variable x x Hermano(Juan, Luis) Hijo(Luis, x) T io(juan, x) Juan es el tio de los hijos de Luis cuantificador existencial ( ): existe Afirmaciones sobre algunos objetos del dominio x α: afirma que existe al menos un objeto del dominio para el cual α es cierto Alcance del cuantificador: sentencia lógica que le sigue La variable que sigue al cuantificador está definida en todo el alcance del cuantificador variables cerradas (ligadas): asociadas a símbolos cuantificadores variables libres: no cuantificadas Una f.b.f. con todas las variables ligadas se dice que es una f.b.f. cerrada, si no es así se dirá f.b.f. abierta nota: Lógica de proposiciones = lógica de predicados de orden 0 los predicados no tienen argumentos (son proposiciones) no existen constantes, variables, funciones, cuantificadores FJRP ccia [Inteligencia Artificial] 3
5 (b) SEMÁNTICA Representamos un mundo donde hay: Un n o infinito de objetos individuales representados por símbolos de constantes y variables Pueden ser entidades concretas (personas, cosas) o abstractas (números, eventos) Un n o infinito de objetos definidos en función de otros objetos, representados por símbolos de función Relaciones entre los objetos del dominio, representadas por símbolos de predicado Si la aridad es 1, se habla de propiedades de objetos INTERPRETACIONES: Una interpretación establece las relaciones anteriores entre los símbolos de la lógica y los elementos del mundo real asocia a las constantes objetos del mundo asocia a las funciones relaciones funcionales entre objetos asocia a los predicados relaciones entre objetos Más compleja que en lógica de proposiciones FJRP ccia [Inteligencia Artificial] 4
6 dominio de una interpretación: Conjunto de objetos del mundo que se manejan en una interpretación Formalmente: Dada una conceptualización formada por: U: universo de discurso (conj. de individuos/objetos) R: conj. finito de relaciones entre objetos de U F : conj. finito de funciones que asocian a 1 objetos de U con 1 o más objetos de U Una interpretación i es una función que asocia símbolos del lenguaje con elementos del la conceptualización verificando: Si c es un símbolo de constante, i(c) U Si P es un símbolo de predicado de aridad k, i(p ) U k Si f es un símbolo de función de aridad k, i(f) = U k U Conceptualmente se pueden definir estas relaciones sobre U extensionalmente, enumerando en forma de tuplas, los objetos del mundo real que participan en ellas Ejemplo: FJRP ccia [Inteligencia Artificial] 5
7 SATISFACTIBILIDAD Asignación de variables(a): Función que asina a objetos de U con las variables de una f.b.f. Los átomos (predicados) pueden tener variables. Sólo se pueden asignar valores de verdad a una fórmula atómica si todas sus variables están asignadas El valor de verdad de un átomo con todas sus variables asignadas, es verdadero si y sólo si los objetos del dominio cumplen la relación que representa ese predicado el valor de verdad de una interpretación i depende de la asignación de variables considerada Para las f.b.f. no atómicas, su valor de verdad se obtiene combinando valores de verdad de acuerdo a las tablas de verdad de las conectivas (idem que lóg. proposiciones) y al significado de los cuantificadores x α : será V si α es V en cq. asignación de la variable x x α : será V si α es V en al menoa 1 asignación de la var. x j interpretación (i) La asignación de verdad es relativa a: asignac. de variables (A) nota: Una f.b.f. puede ser V o F en una misma conceptualización dependiendo de la interpretación y la asignación de variables Def.:sactisfactibilidad En una conceptualización, una interpretación i y una asignación de variables A, satisfacen una f.b.f. Ψ si hacen V a esa f.b.f. Notación: = ia Ψ ( Ψ se satisface para i y A ) Ψ es satisfactible si y sólo si i y A tales que = ia Ψ Ψ es válida si y sólo si i y A tales que = ia Ψ Una f.b.f. válida sin variables se denomina tautología Extensión a conjuntos de f.b.f. Φ = {Ψ 1,..., Ψ n } idem que en lógica proposicional FJRP ccia [Inteligencia Artificial] 6
8 MODELOS Una interpretación i es modelo de Ψ (respectivamente de Φ) si Ψ se satisface con esa i para todas las posibles asignaciones de variables Notación: = i Ψ modelo mínimo: Ningún subconjunto de esa interpretación es un modelo conclusión: Inaplicable tabla de verdad exhaustiva como mecanismo de evaluación EQUIVALENCIA E IMPLICACIÓN LÓGICA Ψ 1 y Ψ 2 son lógicamente equivalentes si sus valores de verdad son idénticos bajo todas las interpretaciones y asignaciones de variables. Ψ 1 Ψ 2 Implicación lógica Φ = Ψ si y sólo si interpretación i y asignación A para las cuales se satisface Φ, también se satisface Ψ Φ = Ψ sii Φ = ia Ψ i A Equivalencias Lógicas (sobre cuantificadores) j ( x α) x α Leyes de DeMorgan: ( x α) x α conjunción infinita, disyunción infinita j x α y α Renombrado de variables: x α y α j x y α y x α x, y α Ordenación cuantificadores: x y α y x α x, y α FJRP ccia [Inteligencia Artificial] 7
9 (c) REGLAS DE INFERENCIA Reglas inferencia de lógica proposicional siguen siendo válidas Se deben generalizar para manejar variables Existen nuevas reglas de inferencia para manejar cuantificadores SUSTITUCIÓN sust(θ, α) representa a la f.b.f. resultado de aplicar la sustitución Θ a la f.b.f. α Una sustitución es un conjunto ordenado de pares de términos (termino, termino), donde al menos uno de ellos es un símbolo de variable Ejemplo: Θ = {x/juan, y/ana, z/p adre de(juan),...} Una sustitución reemplaza en α el primer término de cada par de la lista por el término asociado. Los reemplazos se realizan iterativamente de forma ordenada REGLAS INFERENCIA CUANTIFICADORES eliminación del universal (generaliza introd. de la conjunción) Dada una f.b.f. α, una variable v y un término g (constante o función): v α sust({v/g}, α) Ejemplo: Usando la sustitución {x/billgates} x T ienedinero(x) EsRico(x) T ienedinero(billgates) EsRico(BillGates) FJRP ccia [Inteligencia Artificial] 8
10 introducción del existencial (generaliza introd. de la disyunción) Dada una f.b.f. α, una variable v no presente en α y un término g presente en α: α v sust({g/v}, α) Ejemplo: Usando la sustitución {Juan/x} Casados(Juan, Ana) x Casados(x, Ana) hay alguien casado con Ana nota: Ambos son sólidos (correctos) GENERALIZACIÓN MODUS PONENS Siendo p i, q i y r literales y Θ una sustitución que asegure sust(θ, p i ) = sust(θ, q i ) i (todos los p i unifican con los q j ) p 1, p 2,..., p n q 1 q 2... q n r sust(θ, r) Tenemos n literales + 1 implicación con n antecedentes. Si hay una sustitución que unifique los n literales con los n antecedentes, obtenemos el resultado de aplicar la sustitución sobre el consecuente. Ejemplo: Mediante la sustitución Θ = {x/juan, y/ana} Hombre(Juan), M ujer(ana), Liados(Juan.Ana) x y Hombre(x) M ujer(y) Liados(x, y) Casados(x, y) Casados(Juan, Ana) [= sust(θ, Casados(x, y))] FJRP ccia [Inteligencia Artificial] 9
11 RESOLUCIÓN EN LÓGICA DE PREDICADOS Unificación Procedimiento sintáctico mediante el cual, dadas dos f.b.f. α y β se encuentra una sustitución Θ que aplicada sobre ellas, ambas resultan idénticas, esto es unificador(α, β) = Θ tal que sust(θ, α) = sust(θ, β) Θ se denomina unificador de las 2 f.b.f. α y β En caso de no existir un unificador el algoritmo falla Unificador más general (m.g.u.) El m.g.u. de α y β es aquel unificador Θ tal que cualquier otro unificador σ podrá obtenerse a partir de σ mediante una sustitución τ, esto es σ = sust(τ, Θ) cualquier otro unificador se puede construir a partir del m.g.u. Regla Resolución en lógica de predicados Siendo p i y q j dos literales para los cuales existe un unificador de la forma Θ = unificador(p i, q j ) p 1 p 2... p i... p n q 1 q 2... q j... q m sust(θ, p 1... p i 1 p i+1... p n q 1... q j 1 q j+1... q m ) FJRP ccia [Inteligencia Artificial] 10
12 PROCEDIMIENTO DE REFUTACIÓN Al igual que en lóg. proposicional, el conocimiento tiene que estar representado en forma de cláusulas (F.N.C.) Conjunción de disyunciones (claúsulas) Sólo hay cuantificadores universales Paso a Forma Normal Conjuntiva 1. Eliminar implicaciones j α β α β Usar relaciones: α β (α β) (β α) 2. Reducir ámbito de las negaciones8 < xα x α Usar DeMorgan + doble neg.: xα x α : α α 3. Independizar variables cuantificadas (renombrar variables ligadas) Asegurar que cada símbolo de variable esté ligado a un único cuantificador Ejemplo: xp (x) xq(x) x 1 P (x 1 ) x 2 Q(x 2 ) 4. Eliminar cuantificadores existenciales (skolemización) Las ocurrencias de variables cuantificadas existencialmente se sustituyen por: a) Una constante (S k ) no presente en la f.b.f. si el aparece al principio de la expresión xp (x) Q(x) P (S k ) Q(S k ) {x/s k } b) Una función (S k (...)) con tantos argumentos como cuantificadores universales ( ) haya antes del que cuantifica la variable x y zp (x) Q(y, z) P (x) Q(y, S k (x, y)) {z/s k (x, y)} FJRP ccia [Inteligencia Artificial] 11
13 5. Mover cuantificadores universales a la izquierda de la f.b.f. 6. Reordenar f.b.f. para obtener FNC Distribuir sobre : α (β γ) = (α β) (α γ) 7. Abandonar cuantificadores universales 8. Renombrar variables (si es necesario) para que ninguna variable aparezca en más de una cláusula Ejemplo 1: Pasar { xp (x)} { x y z[p (x, y, z) wr(x, y, z, w)]} a FNC 1. { xp (x)} { x y z[ P (x, y, z) wr(x, y, z, w)]} 2. { x P (x)} { x y z[ P (x, y, z) wr(x, y, z, w)]} 3. { x 1 P (x 1 )} { x 2 y z[ P (x 2, y, z) wr(x 2, y, z, w)]} 4. P (SK 1 ) { x 2 y[ P (x 2, y, SK 2 (x 2, y)) wr(x 2, y, SK 2 (x 2, y), w)]} 5. x 2, y, w P (SK 1 ) [ P (x 2, y, SK 2 (x 2, y)) R(x 2, y, SK 2 (x 2, y), w)] 6. Nada 7. P (SK 1 ) P (x 2, y, SK 2 (x 2, y)) R(x 2, y, SK 2 (x 2, y), w) 8. Nada Ejemplo 2: x[p (x) x(q(x) R(x))] FJRP ccia [Inteligencia Artificial] 12
14 REFUTACIÓN MEDIANTE RESOLUCIÓN (como en lóg. proposicional) 1. Convertir f.b.f. de Φ a FNC 2. Negar f.b.f. Ψ a demostrar y convertir a FNC 3. Unir cláusulas resultantes de Φ y Ψ en Π 4. Aplicar de forma exhaustiva la regla de resolución para lógica de predicados sobre Π. Seleccionar un par de cláusulas con dos átomos p y q tales que unifiquen con Θ = m.g.u.(p, q) Añadir resolvente a Π Parar si: Se generar la cláusula vacía (hay contradicción) Se verifica: Φ = Ψ No hay resolventes nuevos (no contradicción) Se verifica: Φ =/ Ψ nota: Además de comprobar si una f.b.f. Ψ es consecuencia lógica de Φ o no, la refutación mediante resolución permite responder preguntas mediante las sustituciones que dan lugar a la cláusula vacía. FJRP ccia [Inteligencia Artificial] 13
15 Ejemplo: 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 Comprobar si a partir de este conocimiento es posible demostrar que Marco odia a César mediante refutación. Base de conocimiento (Φ) 1. galo(asterix) (en FNC) 2. x [romano(x) ( y galo(y) amigo(x, y)) odia(x, Cesar)] 3. ayuda(asterix, M arco) (en FNC) 4. x [ayuda(x, Marco) amigo(marco, x)] 5. x y [romano(y) odia(x, y) lucha(x, y)] 6. romano(m arco) (en FNC) Hipótesis (Ψ = odia(m arco, Cesar)) FJRP ccia [Inteligencia Artificial] 14
16 PROPIEDADES PROCEDIMIENTO DE REFUTACIÓN Refutación mediante resolución en lógica de predicados es sólida (correcta) Si se llega a la cláusula vacía (Φ REFUTACION ) entonces Φ = Ψ. Refutación mediante resolución en lógica de predicados es completa Si Φ = Ψ, el procedimiento de refutación por resolución generará la cláusula vacía Refutación mediante resolución en lógica de predicados no es decidible Si Φ =/ Ψ el procedimiento de refutación mediante resolución puede no terminar ( bucle infinito ) Siempre parará si Φ = Ψ, pero puede no parar si Φ =/ No existe un método que nos pueda decir siempre si Φ =/ Ψ Se dice que la lógica de proposiciones es semidecidible Se puede determinar Φ = Ψ, pero a veces no se puede probar Φ =/ Ψ soluciones: Renunciar a la solidez o a la completitud Utilizar un lenguaje de representación menos expresivo cláusulas de Horn Ψ FJRP ccia [Inteligencia Artificial] 15
17 CLÁUSULAS DE HORN Todas las variables están cuantificadas universalmente ( impĺıcito) Cláusulas que tienen como máximo un literal positivo (sin negar) Todas las variables se suponen cuantificadas universalmente Cláusulas de Horn pueden escribirse como implicaciones Consecuente: literal atómico positivo Antecedente: conjunción de literales positivos (DeMorgan) p 1 p 2... p n q p 1 p 2... p n q Distinguimos reglas: q p 1 p 2... p n hechos: h objetivos: o 1 o 2... o k Regla de resolución para cláusulas de Horn Si b y d i unifican mediante Θ = unificador(b, d i ), inferimos: b a 1 a 2... a m ( b a 1... a m ) c d 1 d 2... d n ( c d 1... d n ) sust(θ, (c d 1... d i 1 a 1... a m d i+1... d n )) Cláusulas de Horn son la base de los intérpretes Prolog Se añaden simplificaciones para mejorar eficiencia Todas las inferencias se realizan por encadenamiento hacia atrás (desde objetivos a hechos) usando búsqueda en profundidad El orden de las cláusulas y de los antecedentes dentro de ellas es relevante (establece orden de búsqueda) Búsqueda en los antecedentes de IZQ a DER Procesamiento de las cláusulas en orden de definición Se omite el test de ocurencia (occur check, test de ciclicidad) en la rutina de unificación Hace unificaciones más eficientes (menos comprobaciones) Existe la posibilidad de no terminación (sustituciones cíclicas) Se omite la negación (si se soporta negación por fallo) FJRP ccia [Inteligencia Artificial] 16
18 3.2.4 Representación del conocimiento en lógica de predicados Fases generales en la construcción y utilización de una base de conocimientos 1. Conceptualización Decidir qué conceptos son relevantes en el dominio identificar objetos, propiedades y relaciones relevantes Definir un vocabulario para asignar símbolos a los conceptos relevantes vocabulario de predicados, funciones y constantes Se tratará de construir una ontología: conjunto, normalmente estructurado, de términos relevantes en un dominio 2. Codificación Traducción, de acuerdo al vocabulario, de todo el conocimiento considerado de interés a su representación en lógica de predicados Se construyen los axiomas del dominio (conjunto de f.b.f. Φ) Fórmulas que se consideran ciertas en el dominio actual (Base de Conocimiento) Codificar reglas y propiedades generales Codificar conocimiento específico de partida Añadir predicados concretos (hechos iniciales) Los valores de verdad/falsedad de esos predicados deben de estar respaldados por algún tipo de percepción del dominio real representado (sensores, consulta a BD, preguntas al usuario, etc,...) FJRP ccia [Inteligencia Artificial] 17
19 3. Actualización del conocimiento y consulta Durante la ejecución del sistema inteligente Se consulta /desencadena el procedimiento de inferencia (modus ponens, resolución,...) para obtener respuestas Distintas alternativas: Sistemas que sólo usan modus ponens, bien de forma progresiva (razonamiento hacia adelante) o regresiva (razonamiento hacia atrás) Sistemas que sólo usan resolución y refutación Etc,... Se actualiza el conocimiento introducir nuevos hechos modificar hechos existentes Sus valores de verdad deben estar respaldados por el mundo real Pasos comunes a los demás mecanismos de representación del conocimiento En general es un proceso largo, que se suele hacer de forma iterativa se ampĺıa y refina de forma iterativa la representación Suele necesitar la intervención de expertos del dominio (entrevistas, etc...) FJRP ccia [Inteligencia Artificial] 18
Inteligencia Artificial Conocimiento y razonamiento 3. Lógica de primer orden Dr. Edgard Iván Benítez Guerrero 1 Lógica de primer orden La lógica proposicional asume que el mundo tiene hechos La lógica
Definición de la lógica proposicional
Capítulo 2 Definición de la lógica proposicional 2.1. Qué es una lógica? Para los propósitos de este texto, una lógica constará siempre de dos partes: 1. Sintaxis. La definición de la sintaxis de una lógica
Departamento de Cs. e Ingeniería de la Computación Universidad Nacional del Sur
Departamento de Cs. e Ingeniería de la Computación Universidad Nacional del Sur Lógica para Ciencias de la Computación Trabajo Práctico N 4 Cálculo de Predicados Primer Cuatrimestre de 2009 Observación
Tema 1. PROGRAMACION en PROLOG. 1.1. Sintaxis: Hechos, Preguntas y Reglas. 1.2. Sintaxis: Objetos estructurados. Listas.
. PROGRAMACION en PROLOG 1 Tema 1. PROGRAMACION en PROLOG 1.1. Sintaxis: Hechos, Preguntas y Reglas. 1.2. Sintaxis: Objetos estructurados. Listas. 1.3. Computación: Unificación y Regla de Resolución. 1.4.
Tema 4. Ejemplo Control Difuso
Tema 4. Ejemplo Control Difuso IA Inteligencia Artificial 5 o informática http://ccia.ei.uvigo.es/docencia/ia enero 2011 FJRP 2011 ccia IA Tareas típicas en el diseño de sistemas basados en lógica difusa
INTRODUCCIÓN A PROLOG Lenguaje declarativo (opuesto a procedimentales) basado en reglas de la lógica PROLOG = Programming in Logic Originado en Europa a principios de los 70 s por Alain Colmerauer (Universidad
Compiladores: Sesión 20. Análisis semántico, verificación e inferencia de tipos
Compiladores: Sesión 20. Análisis semántico, verificación e inferencia de tipos Prof. Gloria Inés Alvarez V. Departamento de Ciencias e Ingeniería de la Computación Pontificia Universidad Javeriana Cali
La formalización existente de acción en programación lógica están. adecuadas solamente para la clase más simple de razonamiento temporal
CAPITULO 2 Formulación de Código en AnsProlog La formalización existente de acción en programación lógica están adecuadas solamente para la clase más simple de razonamiento temporal Proyección temporal.

References: RESOLUCIÓN 
 Resolución 
 RESOLUCIÓN 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución