1 / 114

Inteligencia Artificial Representación del conocimiento

Inteligencia Artificial Representación del conocimiento. Primavera 2009 profesor: Luigi Ceccaroni. Conocimiento y razonamiento. Las personas conocen cosas y realizan razonamientos de forma automática . ¿Y los agentes artificiales ?

sawyer
Télécharger la présentation

Inteligencia Artificial Representación del conocimiento

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Inteligencia Artificial Representación del conocimiento Primavera 2009 profesor: Luigi Ceccaroni

  2. Conocimiento y razonamiento • Las personas conocen cosas y realizan razonamientos de forma automática. • ¿Y los agentes artificiales? • Conocimiento y razonamiento en forma de estructuras de datos y algoritmos. • Para que el conocimiento sea accesible para los ordenadores, se necesitan sistemas basados en el conocimiento (SBCs). 2

  3. Conocimiento y razonamiento • En los SBCs se usan lenguajes declarativos: • Expresiones más cercanas a los leguajes humanos • Los SBCs expresan el conocimiento en una forma que tanto los humanos como los ordenadores puedan entender. • Esta parte de la asignatura analiza cómo expresar el conocimiento sobre el mundo real en una forma computacional. 3

  4. Logic, ontology and computation • Knowledge representation is an interdisciplinary subject that applies theories and techniques from three fields: • Logic provides the formal structure and rules of inference. • Ontology defines the kinds of things that exist in the application domain. • Computation supports the applications that distinguish knowledge representation from pure philosophy.

  5. Inferencia en lógica • Se quieren conseguir algoritmos que puedan responder a preguntas expresadas en forma lógica. • Tres grandes familias de algoritmos de inferencia: • encadenamiento hacia delante y sus aplicaciones en los sistemas de producción • encadenamiento hacia atrás y los sistemas de programación lógica • sistemas de demostración de teoremas basados en la resolución

  6. Sistemas de producción • La representación mediante formalismos lógicos es declarativa pero puede representar procedimientos. • Se describen cuales son los pasos para resolver un problema como una cadena de deducciones. • La representación se basa en dos elementos: • hechos: proposiciones o predicados • reglas: formulas condicionales

  7. Sistemas de producción • Un problema queda definido por: • Base de hechos: que describen el problema concreto. • Base de reglas: que describen los mecanismos de razonamiento que permiten resolver problemas. • Motor de inferencia: que ejecuta las reglas y obtiene una cadena de razonamiento que soluciona el problema.

  8. Hechos: terminología • Base de hechos (BH): • Memoria de trabajo • Memoria a corto plazo • Aserciones • Ejemplos: • x es un gato • x es un animal doméstico

  9. Reglas: terminología Sientonces • condiciones - acciones • antecedentes - consecuentes • premisas - conclusiones • Base de reglas: • Base de conocimiento (BC) • Memoria a largo plazo • Implicaciones • Ejemplo: Six es un gato entoncesx es un animal doméstico

  10. Motor de inferencia: terminología • El motor de inferencia o mecanismo de control está compuesto de dos elementos: • Interprete de reglas o mecanismo de inferencia • Mecanismo de razonamiento que determina qué reglas de la BC se pueden aplicar para resolver el problema, y las aplica • Estrategia de control o estrategia de resolución de conflictos • Función del motor de inferencia: • Ejecutar acciones para resolver el problema (objetivo) a partir de un conjunto inicial de hechos y eventualmente a través de una interacción con el usuario • La ejecución puede llevar a la deducción de nuevos hechos.

  11. Motor de inferencia • Fases del ciclo básico: • Detección (filtro): Reglas pertinentes • Interprete de reglas: Obtención, desde la BC, del conjunto de reglas aplicables a una situación determinada (estado) de la BH • formación del conjunto de conflictos • Selección: ¿Qué regla? • Estrategia de control: Resolución de conflictos • selección de la regla a aplicar

  12. Motor de inferencia • Fases del ciclo básico: • Aplicación • Aplicación de la regla sobre una instanciación de les variables: modificación de la memoria de trabajo • Vuelta al punto 1, o parada si el problema está resuelto • Si no se ha encontrado una solución y no hay reglas aplicables: fracaso.

  13. 1. Detección • Construcción del conjunto de reglas aplicables • El intérprete de reglas realiza los cálculos necesarios para obtener las instanciaciones que son posibles en cada estado de resolución del problema (comparación o matching). • Una regla puede instanciarse más de una vez, caso de existir variables que lo permitan.

  14. 2. Selección • Las reglas son o no aplicadas dependiendo de la estrategia de control: • estrategia fija • estrategia dinámica prefijada • estrategia guiada por meta-reglas • Selección de la “mejor” instanciación • Posible combinación de criterios

  15. 2. Selección Ejemplos de estrategia de control: • 1ª regla por orden en la base de conocimiento • la regla más/menos utilizada • la regla más específica (con más literales) / más general • la regla que tenga el grado de certeza más alto • la instanciación que satisfaga los hechos: • más prioritarios • más antiguos (instanciación más antigua) • más nuevos (instanciación más reciente) • aplicación de todas las reglas (sólo si se quieren todas las soluciones posibles) • la regla usada más recientemente • meta-reglas, que indican dinámicamente como seleccionar las reglas a aplicar

  16. 3. Aplicación • Ejecución de la regla ⇒ • Modificación de la base de hechos (en el razonamiento hacia delante) • Nuevos cálculos, nuevas acciones, preguntas al usuario • Nuevos sub-objetivos (en el razonamiento hacia atrás) • Propagación de las instanciaciones • Propagación del grado de certeza • El proceso de deducción acaba cuando: • se encuentra la conclusión (el objetivo) buscado ⇒ éxito • no queda ninguna regla aplicable ⇒ éxito? / fracaso?

  17. Tipos de razonamiento • Deductivo, progresivo, encadenamiento hacia delante, dirigido por hechos • evidencias, síntomas, datos ⇒ conclusiones • Inductivo, regresivo, encadenamiento hacia atrás, dirigido por objetivos • conclusiones ⇒ datos, evidencias, síntomas • Mixto, encadenamiento híbrido

  18. Encadenamiento hacia delante • Basado en modus ponens: A, A⇒B |- B • La base de hechos (BH) se inicializa con los hechos conocidos inicialmente. • Se obtienen las consecuencias derivables de la BH: • se comparan los hechos de la BH con la parte izquierda de las reglas; se seleccionan las reglas aplicables: las que tienen antecedentes conocidos (que están en la BH); • las nuevas conclusiones de las reglas aplicadas se añaden a la BH (hay que decidir cómo); • se itera hasta encontrar una condición de finalización.

  19. Encadenamiento hacia delante • Problemas: • No focaliza en el objetivo • Explosión combinatoria • Ventajas: • Deducción intuitiva • Facilita la formalización del conocimiento al hacer un uso natural del mismo • Ejemplo de lenguaje: CLIPS

  20. Encadenamiento hacia atrás • Basado en el método inductivo: • guiado por un objetivo que es la conclusión que se trata de validar reconstruyendo la cadena de razonamiento en orden inverso. • Cada paso implica nuevos sub-objetivos: hipótesis que han de validarse.

  21. Encadenamiento hacia atrás • Funcionamiento: • se inicializa la BH con un conjunto inicial de hechos; • se inicializa el conjunto de hipótesis (CH) con los objetivos a verificar; • mientras existan hipótesis a validar en CH se escoge una de ellas y se valida: • se comparan los hechos de la BH y la parte derecha de las reglas con las hipótesis; • si una hipótesis está en BH eliminarla de CH; • si no: buscar reglas que tengan como conclusión la hipótesis; seleccionar una y añadir las premisas a CH.

  22. Encadenamiento hacia atrás • El encadenamiento hacia atrás es un tipo de razonamiento dirigido por el objetivo. • Sólo se considera lo necesario para la resolución del problema. • El proceso de resolución consiste en la exploración de un árbol. • Ejemplo de lenguaje: Prolog • W. F. Clocksin y C. S. Mellish . Programming in Prolog: Using the ISO Standard. Springer, 2003 (primera edición de 1981).

  23. Prolog: lenguaje de programación lógica • Programa Prolog: • conjunto de aserciones lógicas • cada aserción es una cláusula de Horn • proceso de comparación: unificación • el orden de las aserciones (reglas) es significativo • Ejemplo • gato (bufa). • animaldomestico (X) :- gato (X). • animaldomestico (X) :- pequeño (X), conplumas (X). • p → q ⇔ q :- p • Consultas: ?- predicado. • La negación se representa con la falta de la aserción correspondiente: asunción de mundo cerrado.

  24. Cláusula de Horn • De Wikipedia: Las cláusulas de Horn (instrucciones ejecutables de PROLOG) tienen el siguiente aspecto: hija (*A, *B) :- mujer (*A), padre (*B, *A). que podría leerse así: "A es hija de B si A es mujer y B es padre de A". Obsérvese que, en PROLOG, el símbolo :- separa la conclusión de las condiciones. En PROLOG, las variables se escriben comenzando con un asterisco. Todas las condiciones deben cumplirse simultáneamente para que la conclusión sea válida. Por tanto, la coma que separa las distintas condiciones es equivalente a la conjunción copulativa (en algunas versiones de PROLOG se sustituye la coma por el símbolo &). La disyunción, en cambio, no se representa mediante símbolos especiales, sino definiendo reglas nuevas, como la siguiente: hija (*A, *B) :- mujer (*A), madre (*B, *A). que podría leerse así: "A es hija de B si A es mujer y B es madre de A". Cláusulas con como mucho un literal positivo.

  25. Encadenamiento híbrido • Partes de la cadena de razonamiento que conduce de los hechos a los objetivos se construyen deductivamente y otras partes inductivamente: exploración bi-direccional • El cambio de estrategia suele llevarse a cabo a través de meta-reglas. Ejemplos: • función del número de estados iniciales y finales • función de la dirección de mayor ramificación • función de la necesidad de justificar el proceso de razonamiento • Se evita la explosión combinatoria del razonamiento deductivo.

  26. Factores para decidir el sentido del encadenamiento • Número de estados iniciales y finales • Preferible del conjunto más pequeño hacia el más grande • Factor de ramificación • Preferible en el sentido del factor más pequeño • Necesidad de justificar el proceso de razonamiento • Preferible el sentido de razonamiento habitual del usuario

  27. Comparación (matching) • Es más complicada en el razonamiento hacia delante. • Si las condiciones de una regla se cumplen, una vez aplicada se puede entrar en un ciclo. • Existen mecanismos eficientes de comparación y selección que evitan repasar todas las reglas de la BC: • OPS-5 usa el algoritmo RETE • Prolog indexa las cláusulas según los predicados

  28. Bibliografía complementaria • J. F. Sowa. Knowledge Representation. Brooks/Cole, 2000. • W. F. Clocksin y C. S. Mellish. Programming in Prolog: Using the ISO Standard. Springer, 2003 (primera edición de 1981).

  29. Hacia las ontologías • El conocimiento ha de permitir guiar a los mecanismos de IA para obtener una solución más eficiente: • ¿Cómo escoger el formalismo que nos permita hacer una traducción fácil del mundo real a la representación? • ¿Cómo ha de ser esa representación para que pueda ser utilizada de forma eficiente?

  30. Información y conocimiento • Llamaremos información al conjunto de datos básicos, sin interpretar, que se usan como entrada del sistema: • los datos numéricos que aparecen en una analítica de sangre • los datos de los sensores de una planta química • Llamaremos conocimiento al conjunto de datos que modelan de forma estructurada la experiencia que se tiene sobre un cierto dominio o que surgen de interpretar los datos básicos: • la interpretación de los valores de la analítica de sangre o de los sensores de la planta química para decir si son normales, altos o bajos, preocupantes, peligrosos... • el conjunto de estructuras de datos y métodos para diagnosticar a pacientes a partir de la interpretación del análisis de sangre, o para ayudar en la toma de decisiones de qué hacer en la planta química

  31. Información y conocimiento • Los sistemas de IA necesitan diferentes tipos de conocimiento que no suelen estar disponibles en bases de datos y otras fuentes clásicas de información: • Conocimiento sobre los objetos en un entorno y posibles relaciones entre ellos • Conocimiento difícil de representar de manera sencilla, como intencionalidad, causalidad, objetivos, información temporal, conocimiento que para los humanos es de sentido común • Intuitivamente podemos decir que: Conocimiento = información + interpretación

  32. ¿Qué es una representación del conocimiento (RC)? Representación del conocimiento o esquema de representación, Davis et al. (MIT), 1993: • Un substituto de lo que existe en el mundo real o imaginario. • Un conjunto de cometidos ontológicos: ¿En qué términos hay que pensar acerca del mundo? • Una teoría fragmentaria del razonamiento inteligente: ¿Qué es la inteligencia? ¿Qué se puede inferir de lo que se conoce? ¿Qué se debería inferir de lo que se conoce? (¿Qué inferencias son recomendadas?) • Un medio para la computación eficiente: ¿Cómo se debería organizar la información para facilitar la manera de pensar y razonar? • Un medio de expresión humana: Un lenguaje que las personas usan para hablar entre ellas y con las máquinas.

  33. [1] Es un substituto • Es un substituto de los objetos del mundo real o imaginario. • Las operaciones sobre la RC substituyen acciones en el mundo. • El mismo razonamiento es un substituto de la acción. • Inversamente, las acciones pueden sustituir el razonamiento.

  34. Preguntas • ¿Un substituto de qué? → semántica • ¿Hasta que punto exacto como substituto? → fidelidad • Más fidelidad no es automáticamente mejor • La fidelidad perfecta es imposible • Las mentiras son inevitables • Las inferencias incorrectas son inevitables

  35. Terminología y perspectiva • Inferencia = obtención de nuevas expresiones desde expresiones previas • Tecnologías de representación del conocimiento (TRCs): • Lógica • Reglas • Marcos • Redes semánticas • Ontologías • …

  36. [2] Conjunto de cometidos ontológicos (COs) • Los substitutos son inevitablemente imperfectos → La selección de una RC inevitablemente hace un CO • Determina lo que se puede conocer, enfocando una parte del mundo y desenfocando las otras • El cometido ocurre incluso al nivel de las técnicas de representación del conocimiento (TRCs) • Diagnosis en forma de reglas vs. marcos • “An ontological commitment is an agreement to use a vocabulary (i.e., ask queries and make assertions) in a way that is consistent (but not complete) with respect to the theory specified by an ontology. We build agents that commit to ontologies. We design ontologies so we can share knowledge with and among these agents.” • Tom Gruber <gruber@ksl.stanford.edu>

  37. [3] Fragmento de una teoría de razonamiento inteligente • ¿Cuáles son todas las inferencias que está permitido hacer? • ¿ Cuáles inferencias están especialmente impulsadas?

  38. ¿Cuáles son las inferencias que está permitido hacer? • Ejemplos • Lógica formal clásica: inferencias bien fundamentadas • Reglas: inferencias plausibles • Ontologías: inferencia con valores por defecto • Estilos de respuestas • Precisas, formuladas en términos de un lenguaje formal • Imprecisas, no basadas en un lenguaje formal • Utilidad del pluralismo

  39. ¿Qué inferencias están especialmente impulsadas? • Ejemplos • Ontologías: propagación de valores, enlaces • Reglas: encadenamiento, asociaciones • Lógica: proposiciones subordinadas (lemas), grafos de conexión • Explosión combinatoria • Necesidad de guía sobre lo que se debería hacer, no sólo lo que se puede hacer

  40. [4] Medio para la computación pragmáticamente eficiente • Razonar con una RC significa hacer algún tipo de computación. • ¿Cómo se puede organizar la información para facilitar el razonamiento? • Ejemplos: • Marcos, ontologías: triggers, jerarquías taxonómicas • Lógica: theorem provers de grafos de conexión

  41. [5] Medio de expresión y comunicación • ¿Cómo se expresan las personas acerca del mundo? • ¿Cómo se comunican las personas entre ellas y con el sistema de razonamiento? • RC como medio de expresión: • ¿Cómo es de general, preciso? ¿Proporciona una expresividad adecuada? • RC como medio de comunicación: • ¿Cómo es de transparente? ¿Los humanos pueden entender lo que se está diciendo? • ¿Se pueden generar las expresiones que interesan?

  42. ¿Qué debería ser una RC? • Los cinco roles tienen importancia. • Los roles caracterizan el núcleo de una representación. • Hay que tenerlos en cuenta cuando se crea una RC. • Cada RC es sólo una de muchas posibles aproximaciones a la realidad.

  43. ¿Cómo debería ser una RC? • Pragmática en su visión de validez y eficiencia • Pluralista en la definición de las inferencias posibles • Efectiva en recomendar inferencias y organizar la información • Efectiva como medio de comunicación • Capaz de capturar la riqueza del mundo natural

  44. RC desde el punto de vista informático • Estructuras de datos: representan el dominio y el problema de manera estática. • Procedimientos: manipulan las estructuras de manera dinámica: • Operaciones: procedimientos para crear, modificar o destruir las representaciones o sus elementos. • Predicados: procedimientos para acceder a campos concretos de información.

  45. Tipos de conocimiento • Procedimental: funciones, reglas de producción, lenguajes de programación convencionales • Declarativo (o no procedimental): lógica • Pero la lógica puede representar el mismo tipo de procedimientos de un lenguaje de programación. (¡!) • Diferencia primaria: la lógica requiere relaciones o predicados explícitos para expresar la secuencia, mientras que los lenguajes procedimentales dependen de la secuencia implícita en la estructura del programa. 45

  46. Conocimiento declarativo • Conocimiento relacional simple • Conjunto de relaciones del mismo tipo que las de una base de datos • Conocimiento heredable • Estructuración jerárquica • Relaciones es-un (clase-clase), instancia-de (clase-instancia) • Herencia de propiedades y valores • Herencia simple y múltiple • Valores por defecto • Conocimiento inferible • Descripción vía lógica tradicional • Ejemplo de uso: en la resolución

  47. Nivel de granularidad • ¿A qué nivel de detalle se tiene que representar el mundo? • Primitivas • Ej.: relación de parentesco • Primitivas: madre, padre, hijo, hija, hermano, hermana • “Bruno es abuelo de Kora” • “Iain es primo de Ricardo” • Si la representación es de muy bajo nivel, las inferencias son muy simples, pero ocupan mucho espacio.

  48. El frame problem Nihil omninofit sine aliquaratione Nothing at all can happenwithoutsomereason • Ejemplo: • El semáforo se pone verde cada minuto par. • El semáforo se pone rojo cada minuto impar. • Persistencia • Un programa puede determinar qué pasa en los puntos de tiempo discretos en que el semáforo cambia de color. • Pero se necesita más información para determinar qué pasa en los intervalos entre cambios de color.

  49. El frame problem • La declaración en castellano que “el semáforo se queda en verde” o “en rojo” no es necesariamente capturada por los axiomas de un programa. • Se necesitan dos axiomas de persistencia adicionales: • Son una manera engorrosa de decir algo que debería ser obvio. • Desafortunadamente, los ordenadores no reconocen lo obvio, a menos que no se les diga explícitamente cómo. • Estos axiomas son la solución de un caso especial del más general frame problem.

  50. El frame problem • La aproximación general al frame problem se basa en el principio de razón suficiente de Leibniz: Nothing at all can happen without some reason • Es un axioma de meta-nivel que se usa para generar uno o más axiomas de nivel más bajo para cada ejemplo concreto. • Implica que el color del semáforo debería quedarse igual a menos que no haya alguna razón para que cambie.

More Related