Upgrade to Pro — share decks privately, control downloads, hide ads and more …

IA - U3

IA - U3

Inteligencia Artificial
U3 - Representación del conocimiento y razonamiento

Jaime Jesús Delgado Meraz

October 29, 2015
Tweet

More Decks by Jaime Jesús Delgado Meraz

Other Decks in Technology

Transcript

  1. U : Representacióndel conocimientoyrazonamiento Inteligencia Artificial MSC. Jaime Jesús Delgado

    Meraz Instituto Tecnológico de Ciudad Valles agosto – diciembre
  2. Representación del conocimiento Sistemas basados en conocimiento / Conocimiento .

    Hechos o información adquiridos por un ser vivo a través de la experiencia o la educación, la comprensión teórica o práctica de un asunto de referente a la realidad. . Lo que se adquiere como conocimiento relativa a un campo determinado o a la totalidad del universo. . Conciencia o familiaridad adquirida por la experiencia de un hecho o situación. . Representa toda certidumbre cognitiva mensurable según su existencia: Porqué, cómo, cuándo, dónde.
  3. Sistemas basados en conocimiento / La representación del conocimiento en

    una máquina aborda el problema de la descripción, de manera formal, en una base de datos el mundo o dominio sobre el cual se quiere operar, tanto sus objetos como las relaciones entre ellos. Esta representación debe ser abstracta, es decir despojada de detalles irrelevante, sencilla y clara para poder operar en forma simple. Debiera conservar la separación entre conocimientos y procesos de inferencia. Se debe tener presente que la representación tiene dos consumidores, las personas y los procedimientos de inferencia.
  4. Sistemas basados en conocimiento / El uso del cálculo de

    predicados ha sido extensamente empleado para representar la mayoría del conocimiento en sistemas de IA, sin embargo hay una variedad de conocimiento que las personas emplean diariamente para resolver problemas y para interactuar con otros, que presentan dificultades para representarse en lógica de primer orden, tales como el razonamiento con incertidumbre o indefinido. Para representar eficientemente se debe definir: a) De que se va a hablar. b) Vocabulario para predicados, funciones y constantes. c) Codificar todo el conocimiento general relativo al dominio. d) Correr casos testigo.
  5. Características Sistemas basados en conocimiento / Una buena representación del

    conocimiento cubre seis características básicas: . Cobertura, que significa que la representación del conocimiento cubre la información en anchura y profundidad. Sin una cobertura amplia, la representación del conocimiento no puede determinar nada ni resolver ambigüedades. . Comprensible por humanos. La representación del conocimiento es vista como un lenguaje natural, así que la lógica debería fluir libremente. Debería soportar la modularidad y la jerarquía de clases (los osos polares son osos, que son animales). Debería además contar con primitivas simples que se combinen de forma compleja. . Consistencia, si Pedro ha cerrado la puerta, también puede ser interpretado como la puerta ha sido cerrada por Pedro. Siendo consistente, la representación del conocimiento puede eliminar conocimiento redundante o conflictivo.
  6. Sistemas basados en conocimiento / . Eficiencia. . Facilidad de

    modificación y actualización. . Soporte de la actividad inteligente que usa la base de conocimiento. Un buen ejemplo de una representación del conocimiento, puede observarse en como está estructurada la Wikipedia: Hay millones de artículos (cobertura), que están organizados en categorías, tipos de contenido, y temas similares (comprensible por humanos). Redirecciona diferentes títulos pero mismo contenido al mismo artículo (consistencia). Es eficiente, es fácil añadir o actualizar páginas, y permite a los usuarios consultar la base de conocimiento en sus teléfonos u ordenadores de escritorio.
  7. Tipos de conocimiento Sistemas basados en conocimiento / Conocimiento Declarativo

    El conocimiento se representa de forma independiente a su uso posterior. El control del uso adecuado se logra... mediante heurísticas de propósito general que determina la mejor manera de utilizar el conocimiento. mediante la adición de información sobre el control del uso del conocimiento declarativo que dirija al mecanismo de resolución. Tipos de conocimiento declarativo Conocimiento relacional Conocimiento heredable Conocimiento inferible Conocimiento Procedimental El conocimiento representado implica la inclusión de información sobre como usarlo.
  8. Conocimiento Relacional Sistemas basados en conocimiento / La forma más

    simple de representar hechos declarativos es mediante un conjunto de relaciones expresables mediante tablas (como en una base de datos). P.e. Una colección de información sobre los clientes de una empresa Cliente Dirección Compras ... A. Perez Av. Diagonal J. Lopez Calle Industrial ... Su mayor problema es que tal cual, no aporta mucha información, requiere de procedimientos que lo enriquezcan como un motor de inferencia, que genera conocimiento a partir de información.
  9. Conocimiento Heredable Sistemas basados en conocimiento / Suele ser muy

    útil el disponer de una estructuración jerárquica del conocimiento (taxonomía jerárquica) Se trata de construir un árbol o grafo de conceptos basado en la generalización y/o especialización Los nodos son los conceptos/clases, los arcos las relaciones: Is-a (es-un): relación clase-clase Instance-of (instancia-de, ejemplar-de): relación clase-ejemplar El mecanismo de inferencia es la herencia de propiedades y valores Herencia simple/múltiple Valores por defecto
  10. Conocimiento Inferible Sistemas basados en conocimiento / Conocimiento descrito mediante

    lógica Se puede utilizar la semántica de los operadores para inferir nuevo conocimiento. ∀x, y : persona(x)∧¬menor(x)∧¬ocupacion(x, y) → desempleado(x) El mecanismo de inferencia en el caso de la lógica de primer orden se obtiene eligiendo entre los métodos generales de resolución automática de teoremas que existen.
  11. Conocimiento Procedimental Sistemas basados en conocimiento / Conocimiento que, a

    diferencia del declarativo, incluye la especificación de los procesos de uso del conocimiento: Programas: utilizan funciones para obtener el conocimiento a partir de información o de otro conocimiento que ya se tiene. P.e. Fecha_nacimiento= DD-MM-AAAA; funcion Edad(Fecha_nacimiento:entero) Reglas de producción: si se cumplen unas condiciones entonces se realizan unas acciones u otras. P.e. SI condición ENTONCES acción Este tipo de conocimiento suele ser más eficiente computacionalmente, pero hace más difícil la inferencia y la adquisición/modificación.
  12. Lenguajes para representación conocimiento Sistemas basados en conocimiento / Cuando

    diseñamos una representación del conocimiento debemos hacer elecciones a lo largo de un número de ámbitos. La decisión más importante, es el nivel de expresividad de la representación del conocimiento. Cuanto más expresiva es, decir algo es más fácil y más compacto, sin embargo, se hace más difícil derivar inferencias automáticamente de él. Las representaciones del conocimiento poco expresivas, pueden ser tanto completas como consistentes, mientras que las muy expresivas pueden no ser completas ni consistentes.
  13. Sistemas basados en conocimiento / El principal problema es encontrar

    una representación del conocimiento y un sistema de razonamiento que la soporte, y que además pueda hacer las inferencias que necesiten nuestras aplicaciones dentro de los límites de recursos del problema a tratar. Los desarrollos recientes en la representación del conocimiento han sido liderados por la web semántica, y han incorporado el desarrollo de lenguajes y estándares de representación del conocimiento basados en XML, que incluyen: RDF Resource Description Framework RDFS RDF Schema DAML DARPA Agent Markup Language OWL Web Ontology Language
  14. Mapas Conceptuales Mapas Conceptuales / Un mapa conceptual es una

    técnica usada para la representación gráfica del conocimiento. Un mapa conceptual es una red de conceptos. En la red, los nodos representan los conceptos, y los enlaces los relacionan entre los conceptos. Estan compuestos de tres elementos principales: Concepto se entiende por concepto a una regularidad en los acontecimientos o en los objetos que se designa mediante algún término. Palabra-enlace son las palabras que sirven para unir los conceptos y señalar el tipo de relación existente entre ambos. Proposición Consta de dos o más términos conceptuales unidos por palabras (palabras- enlaces) para formar una unidad semántica.
  15. Construcción de un mapa conceptual Mapas Conceptuales / La construcción

    de un mapa conceptual, en su utilización como representación del conocimiento se basa en pasos fundamentales: . Seleccionar . Agrupar . Ordenar . Representar . Conectar . Comprobar . Reflexionar
  16. Mapas Conceptuales / .- Seleccionar Después de leer un texto,

    o seleccionando un tema concreto, seleccionar los conceptos con los que se va a trabajar y hacer una lista con ellos. Nunca se pueden repetir conceptos más de una vez en una misma representación.
  17. Mapas Conceptuales / .- Agrupar Agrupar los conceptos cuya relación

    sea próxima. Algunos autores recomiendan ordenar antes que agrupar, es preferible hacerlo primero: a medida que agrupamos, habrá conceptos que podamos meter en dos grupos al mismo tiempo. De esta forma aparecen los conceptos más genéricos.
  18. Mapas Conceptuales / .- Ordenar Ordenar los conceptos del más

    abstracto y general, al más concreto y específico.
  19. Mapas Conceptuales / .- Representar Representar y situar los conceptos

    en el diagrama. El uso de notas autoadhesivas (post-its) puede agilizar el proceso, así como las posibles correcciones. En este caso, no hace falta, puesto que se han representado los conceptos desde el principio. .- Conectar Esta es la fase más importante: a la hora de conectar y relacionar los diferentes conceptos, se comprueba si se comprende correctamente una materia. Conectar los conceptos mediante enlaces. Un enlace define la relación entre dos conceptos, y este ha de crear una oración correcta. La dirección de la flecha nos dice cómo se forma la oración.
  20. Mapas Conceptuales / .- Comprobar Comprobar el mapa: ver si

    es correcto o incorrecto. En caso de que sea incorrecto corregirlo añadiendo, quitando, cambiando de posición los conceptos. .- Reflexionar Reflexionar sobre el mapa, y ver si se pueden unir distintas secciones. Es ahora cuando se pueden ver relaciones antes no vistas, y aportar nuevo conocimiento sobre la materia estudiada.
  21. Mapa Conceptual ! = Mapa Mental Mapas Conceptuales / Para

    muchas personas las dos técnicas pueden parecer similares pero, gran parte de su diferencia estriba en la capacidad visual del mapa mental y las conexiones que realiza. El mapa mental busca y exige imágenes para su construcción. Las imágenes y dibujos tienen varias funciones, algunas nemotécnicas, otras para reducir las palabras manteniendo un concepto o idea compleja y también para buscar nuevas conexiones.
  22. Redes Semánticas Redes Semánticas / Una red semántica es una

    forma de representación de conocimiento lingüístico en la que los conceptos y sus interrelaciones se representan mediante un grafo. En caso de que no existan ciclos, estas redes pueden ser visualizadas como árboles. Las redes semánticas son usadas, entre otras cosas, para representar mapas conceptuales y mentales. En un grafo o red semántica los elementos semánticos se representan por nodos. Dos elementos semánticos entre los que se admite se da la relación semántica que representa la red, estarán unidos mediante una línea, flecha o enlace o arista. Cierto tipo de relaciones no simétricas requieren grafos dirigidos que usan flechas en lugar de líneas.
  23. Introducción Lógica de Predicados / Formalizar una frase del lenguaje

    natural en lógica de predicados, consiste en encontrar una expresión que la represente fielmente en el lenguaje formal. No hay procedimientos generales para la formalización, pero se pueden determinar algunas estrategias, como las que se indican a continuación.
  24. Estrategias Iniciales Lógica de Predicados / Si la frase que

    se quiere formalizar no tiene una estructurasintáctica fácilmente reconocible, se puede intentar reescribirla en el lenguaje natural hasta llegar a una frase con una estructura más sencilla y que mantenga el mismo significado. Tenemos que definir claramente el dominio o los dominios a los que pertenecen los objetos que vamos a usar. P.e. Todos los hombres son mortales Si el dominio son los hombres no hace falta el predicado P(x) =“x es hombre”. Si el dominio es el de los seres vivos, sin embargo, si hace falta.
  25. Estrategias Finales Lógica de Predicados / Identificadas las conectivas lingüısticas

    y los cuantificadores (universales o existenciales) debemos sustituirlas por los conectivos y los cuantificadores de la lóica de primer orden. Para formalizar un razonamiento necesitamos formalizar el conjunto de sus premisas y de su conclusión.
  26. Estrategias en Frases Lógica de Predicados / En una frase

    debemos determinar: Constantes que son objetos concretos de uno o más dominios. Variables que son objetos genéricos de uno o más dominios. Funciones de aridad n > , que representan como un cierto objeto queda determinado por otros (u otro). Predicados monádicos que representan propiedades de un objeto. Predicados de aridad n > , que representan relaciones entre los objetos.
  27. Ejemplo en Frases Lógica de Predicados / Todos los hombres

    son mortales Con el dominio de los hombres: ∀x M(x) donde M(x) significa que x es mortal. Con el dominio de los seres vivos: ∀x (H(x) → M(x)) donde H(x) significa que x es hombre. Existen hombre inmortales En el primer caso: ∃x ¬M(x). En el segundo: ∃x (H(x) ∧ ¬M(x)).
  28. Observaciones Lógica de Predicados / Primera Observación Ya que la

    formalización de una frase depende del dominio o de los dominios elegidos, se pueden obtener formalizaciones distintas de un mismo enunciado.
  29. Observaciones Lógica de Predicados / Para formalizar la frase: “Todos

    los niños juegan a la pelota”. Podemos definir los predicados: J(x) : x juega con la pelota y J(x, y) : x juega con el juguete y.
  30. Observaciones Lógica de Predicados / a) Sea D el conjunto

    de niños. Entonces se obtiene ∀xJ(x). b) Sea D el conjunto de personas y sea “N(x) : x es un niño”. En este caso se obtiene ∀x(N(x) → J(x)). c) Sea D el conjunto de los niños y D el conjunto de los juegos. Entonces “p = la pelota” es una constante en D y obtenemos la formalización ∀xJ(x, p). d) Sean D el conjunto de las personas y D el conjunto de los juegos. Entonces “p = la pelota” es una constante en D y, usando el predicado “N(x) : x es un niño” obtenemos la formalización ∀x(N(x) → J(x, p)).
  31. Observaciones Lógica de Predicados / Segunda Observación Toda función se

    puede representar mediante un predicado con un argumento más que la función. Además, las funciones simplifican la estructura de la fórmula obtenida.
  32. Observaciones Lógica de Predicados / Consideremos la frase: “Todo padre

    quiere mucho a sus hijos”. a) Formalización con predicados. Podemos definir el dominio D de las personas y los predicados: P(x, y) : x es el padre de y y Q(x, y) : x quiere mucho a y. Con estas definiciones, la formalización sería: ∀x∀y(P(x, y) → Q(x, y))
  33. Observaciones Lógica de Predicados / b) Formalización con funciones. Usando

    el dominio y predicados anteriores, pero añadiendo la función f(x) : el padre de x, Podemos escribir: ∀x(Q(f(x), x)) En este caso se ha simplificado el predicado P(x, y) mediante la función f(x). Notesé que “el hijo de x” no es una función, ya que un mismo padre puede tener más que un hijo y, por tanto, el término asociado a x (al padre) no quedaría unívocamente determinado.
  34. Universal Afirmativo Lógica de Predicados / ∀x(ϕ → ϕ ),

    ∀x(¬ϕ → ¬ϕ ). Es la forma de representar frases del tipo: Todo ϕ es ϕ , Sólo los ϕ son ϕ , Nadie es ϕ a menos que sea ϕ , No hay ningún ϕ que no sea ϕ , ϕ es suficiente para ϕ , ϕ es necesario para ϕ .
  35. Universal Negativo Lógica de Predicados / ∀x(ϕ → ¬ϕ ),

    Es la forma de representar frases del tipo: Ningún ϕ es ϕ , Todos los ϕ carecen de ϕ .
  36. Existencial Afirmativo Lógica de Predicados / ∃x(ϕ ∧ ϕ ),

    Es la forma de representar frases del tipo: Algún ϕ es ϕ , Alguien es a la vez ϕ y ϕ .
  37. Existencial Negativo Lógica de Predicados / ∃x(ϕ ∧ ¬ϕ ),

    Es la forma de representar frases del tipo: Algún ϕ no es ϕ , No todos los ϕ son ϕ .
  38. Ejemplos Lógica de Predicados / . Universal Afirmativo “Nadie se

    levanta a menos que tenga que irse” La frase anterior se puede reescribir como: “Para todo x, si x no tiene que irse, entonces no se levanta” o “Para todo x, si x se levanta, entonces tiene que irse” Sea D el dominio de las personas y sean: P(x) : x se levanta, Q(x) : x tiene que irse. Con estas definiciones obtenemos la formalización: ∀x(P(x) → Q(x))
  39. Ejemplos Lógica de Predicados / . Universal Negativo “Ningún emperador

    es odontólogo (L. Carroll)” Sea D el dominio de las personas y sean: P(x) : x es emperador, Q(x) : x es odontólogo. Con estas definiciones obtenemos la formalización: ∀x(P(x) → ¬Q(x))
  40. Ejemplos Lógica de Predicados / . Existencial Afirmativo “Algunos estudiantes

    de informática solo son amigos de los aficionados de la lógica.” Esta frase puede reescribirse como: “Para algunos estudiantes de informática, una persona es una amigo sólo si es aficionado a la lógica.” Sea D el dominio de las personas y sean: P(x) : x es estudiante de informática, Q(x) : x es aficionado a la lógica, R(x, y) : x es amigo de y. Con estas definiciones obtenemos la formalización: ∃x(P(x) ∧ ∀y(R(x, y) → Q(y)))
  41. Ejemplos Lógica de Predicados / . Existencial Negativo “Algunos gatos

    no saben silbar ni maullar (L. Carroll).” Sea D el dominio de los animales y sean: P(x) : x es un gato, Q(x) : x sabe silbar, R(x) : x sabe maullar. Con estas definiciones obtenemos la formalización: ∃x(P(x) ∧ ¬Q(x) ∧ ¬R(x))
  42. Negación de cuantificadores Lógica de Predicados / Universal → Existencial

    Consideremos la frase: “Todos los alumnos de esta clase aprobarán verano” Sea D el conjunto de alumnos de esta clase y P(x) : x aprobará verano La frase dada se puede escribir como: ∀xP(x). La negación “Todos los alumnos de esta clase aprobarán verano” es “No todos los alumnos de esta clase aprobarán en verano”, es decir, ¬(∀xP(x)), se puede reescribir como: “Existen alumnos de esta clase que no aprobarán verano” Con los mismos dominio y predicados anteriores, su formalización sería: ∃x(¬P(x))
  43. Negación de cuantificadores Lógica de Predicados / Existencial → Universal

    Consideremos la frase: “Algunos alumnos de esta clase reprobarán en verano” Sea D el conjunto de alumnos de esta clase y P(x) : x reprobará en verano. La frase dada se puede escribir como: ∃xP(x). La negación “Algunos alumnos de esta clase reprobarán en verano” es “Ningún alumno de esta clase reprobará en verano”, es decir, ¬(∃xP(x)), que se puede reescribir como: “Todos los alumnos de esta clase no reprobarán en verano” Con los mismos dominio y predicados anteriores, su formalización sería: ∀x(¬P(x))
  44. Formalización de razonamientos Lógica de Predicados / Sólo las buenas

    personas ayudan a los pobres. Ninguna buena persona es aficionada a la fotografía. Antonio ayuda a Juan. Antonio es aficionado a la fotografía. Entonces, Juan es pobre.
  45. Formalización de razonamientos Lógica de Predicados / Sea D el

    dominio de las personas, a la constante Antonio y j la constante Juan. Se definen los siguiente predicados: P(x) : x es buena persona, Q(x, y) : x ayuda a y, R(x) : x es pobre, S(x) : x es aficionado a la fotografía. Con estas definiciones el razonamiento dado se puede escribir como: ∀x∀y(Q(x, y) ∧ R(y) → P(x)) ∀x(P(x) → ¬S(x)) Q(a, j) S(a) R(j)