1 / 34

Sistemas de Razonamiento Lógico

Sistemas de Razonamiento Lógico. Capítulo X. ¿Cómo construir programas eficientes que razonen de manera lógica?. X.I Introducción. Son sistemas que pueden representar el conocimiento y efectuar razonamientos sobre él. Ventajas Alto grado de modularidad

bien
Download Presentation

Sistemas de Razonamiento Lógico

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. Sistemas deRazonamientoLógico Capítulo X

  2. ¿Cómo construir programas eficientes que razonen de manera lógica?

  3. X.I Introducción Son sistemas que pueden representar el conocimiento y efectuar razonamientos sobre él. Ventajas • Alto grado de modularidad • Independiente la estructura de control de la estructura del conocimiento (independencia) • Modifica el conocimiento con la experiencia • Facilita el autoaprendizaje

  4. Sistemas de razonamiento automático Se clasifican en cuatro grupos: • Demostradores de teoremas y lenguajes de programación lógicos • Sistemas de producción • Sistemas de cuadro y redes semánticas • Sistemas lógicos por descripción

  5. Demostradores de teoremas y lenguajes de programación lógicos • En los demostradores de teoremas se emplea la lógica de primer orden total. (utilizado para trabajos matemáticos o científicos) • En los lenguajes de programación lógicos se restringe la lógica. Esto impide el manejo de la negación, la disyunción y la igualdad. (utiliza la estructura de control con encadenamiento hacia atrás)

  6. Sistemas de producción Al igual que en los lenguajes de programación lógicos utilizan la implicación como elemento primario de las representaciones. Intersección de los conocimientos de la base de datos con las entradas y salidas (utiliza la estructura de control con encadenamiento hacia adelante)

  7. Sistemas de cuadro y redes semánticas Los objetos representan nodos en una gráfica organizados de acuerdo con una estructura taxonómica y vinculados para representar relaciones binarias

  8. Sistemas lógicos por descripción La idea consiste en emplear como medio de expresión y de razonamiento las definiciones complejas de objetos y clases, así como sus relaciones entre ellos

  9. Técnicas para mantener una base de conocimiento • Implantación de oraciones y términos • Almacenar y recoger • Indización basada en tablas • Indización basada en árboles

  10. Implantación de oraciones y términos Para construir un sistema de razonamiento debe definirse: • Tipo de datos de las oraciones y los términos • Definir las sintaxis de las oraciones • Definir la representación interna en donde el sistema guardará y manejará las oraciones

  11. Almacenar y recoger Recoger(BC,Q): Debe recorrer todos los elementos de la base de conocimientos, de uno a la vez, hasta que coincida con Q o hasta llegar al final Guardar(BC,S): Representa añadir todos los conjuntos de la oración S a la base de conocimientos BC

  12. Indización basada en tablas • Implantar la base de conocimientos como una tabla de dispersión. • Las tablas de dispersión son estructuras de datos para guardar y recuperar información que se indiza por medio de llaves fijas. • Los tiempos de acceso y almacenamiento son constantes aun cuando en dicha tabla exista una gran cantidad de elementos • Las tablas son ideales cuando existen varios signos de predicado y pocas cláusulas por signo

  13. Indización basada en un arbol • Hace posible una búsqueda más eficiente • Es necesario indizar los argumentos como los signos de los predicados • Esta estructura organiza la BC donde cada nodo es una tabla indizada por el valor correspondiente a una determinada posición de oración

  14. Indización basada en árboles Ejemplo: En el caso de una base de datos de conocimientos, como la Oficina de Censos de Estados Unidos en donde se utilizan los números de afiliación al seguro social para representar a las personas. Se desea conocer la consulta: Hermano (012-34-5678,x). ¿Predicado? Hermano ¿Primer argumento? 012-34-5678

  15. X.III Sistemas deprogramación lógicos La programación lógica considera: • al programa y a sus entradas como aseveraciones lógicas acerca del mundo • al procedimiento como el control y unificación de la inferencia La relación lógica y el algoritmo se resumen a la ecuación de Robert Kowalski: ALGORITMO = LOGICA + CONTROL Los lenguajes de programación permiten escribir algoritmos al complementar las oraciones lógicas con información para control del procedimiento de inferencia

  16. El Lenguaje PROLOG PROLOG es un lenguaje de programación lógica que más se a utilizado. Aplicaciones: • Para elaborar prototipos • En tareas donde hay que manejar signos • En sistemas expertos en las áreas legales, medicina, financiera y otras

  17. PROLOG - Implantación • Todas las inferencias se realizan por ENCADENAMIENTO-HACIA- ATRÁS. Cuando en el proceso de demostración de una oración se tope con un callejón sin salida, Prolog retrocederá al paso inmediato. • El orden de búsqueda de un antecedente es siempre de izquierda a derecha • Las cláusulas de la base de conocimientos se aplica en orden de primero al último • La búsqueda es preferente por profundidad • La ejecución de un programa se realiza por interpretación y por compilación.

  18. PROLOG - Ventajas El modelo de ejecución es lo suficientemente sencillo como para que un programador con la capacitación necesaria pueda incorporar información de control y producir así programas eficientes

  19. PROLOG – MejorasPunto de elección En vez de construir la lista de todas las respuestas posibles para cada subtema, PROLOG genera una respuesta y una promesa o punto de elección. Una vez que la búsqueda preferente por profundidad concluye, retrocede hasta el punto de elección y se expande para producir una nueva submeta y un nuevo punto de elección. Ventajas: • Permite ahorrar tiempo y espacio • Más sencilla la depuración puesto que trabaja con una sola ruta de solución

  20. PROLOG – MejorasPista El Encadenamiento-hacia-atrás implica el consumo de mucho tiempo para sustituciones. PROLOG implementa variables lógicas capaces de recordar su vinculación actual. De esta manera se produce una sustitución a la vez. Si fallara una ruta de la búsqueda, PROLOG retrocederá a un punto de elección previo y posiblemente allí deba desvincular alguna variable. Para ello es necesario que lleve un registro de todas las variables vinculadas en una pila que se conoce con el nombre de pista

  21. PROLOG –Recurso avanzados de control • Metarrazonamiento: Permite al programador escribir metarreglas donde se afirme que la meta que implica menos variables se resuelva primero • Salto regresivo: De esta manera se evita tener que hacer repeticiones inútiles dando un salto reversivo mediante la información que el compilador conserva y que llevaron a ir a un callejón sin salida.

  22. X.V Sistemas de producción por encadenamiento hacia adelante Se aplican reglas de inferencia a la base de conocimientos. Este procedimiento se repite indefinidamente o hasta que se logra satisfacer un criterio de paro.

  23. Características • Memoria de trabajo: donde se guardan el conjunto de literales positivas que no tienen variables. • Memoria de reglas: Reglas del tipo p1, p2 => act1, act2 donde pi son literales y acti son acciones • Fases: • Fase de cotejo • Fase de resolución de conflictos • Fase de actuación

  24. Fase de cotejo – red rete Memoria de trabajo {A(1),A(2),B(1),B(2),B(3)} Memoria de reglas A(x) and B(x) and C(x) =>anadir D(x) A(x) and B(y) and D(x) =>anadir E(x) A(x) and B(x) and E(x) =>borrar A(x) D A=D añadir E A B A=B C añadir D C(5) A(1),A(2) B(2),B(3),B(4) A(2) B(2) D(2) E borrar A Ventajas • Elimina la duplicación en las reglas (las tres comienzan por la conjunción A y B , parte que se puede compartir) • Elimina el tiempo de duplicación

  25. Fase de solución de conflictos Esta fase es de control y determina cuales de las reglas de la fase de cotejo se ejecutarán. Criterios • No duplicación: No aplica dos veces la misma regla a los mismos argumentos • Novedad: Prefiere aquellas reglas más recientes • Especificidad: Prefiere reglas más específicas • Prioridad de operación: prefiere aquellas acciones que tienen mayor prioridad

  26. Fase de actuación Los sistemas de producción son sistemas expertos que aplican inteligencia artificial. Utilidad • Para la resolución de conflictos • Para guardar los resultados de los razonamientos para ser utilizados en el futuro

  27. Sistemas de Marco yRedes Semánticas Las redes semánticas son una representación por nodos y vínculos de la lógica. Esta lógica se la considera de primer orden Características • Más fácil es su comprensión • Modelo más sencillo • Mejor visualización de los pasos que dará un procedimiento de inferencia • Impide consultas complicadas porque el lenguaje es sencillo

  28. Sintaxis y semántica de las redes semánticas En las redes semánticas hablamos de: • Categorías de objetos • Relaciones Notación Gráfica (redes semánticas) Gatos subconjunto Mamíferos Notación Normalizada x Gato(x) => Mamífero(x)

  29. Herencia múltiple • Se da cuando un objeto pertenece a más de una categoría, y por lo tanto, hereda propiedades de varias rutas. • Pueden existir conflictos que produzcan conflictos. Para ello es necesario contar con una base de conocimientos para resolver estas situaciones

  30. Implantación deredes semánticas • Las redes semánticas se implantan mediante lenguaje de programación lógica. • Las distintas funciones y procedimientos van recorriendo los vínculos que corresponda hasta encontrar lo que se está buscando o hasta que se sale de los vínculos.

  31. Lógica para la descripción • La lógica de la descripción permite efectuar operaciones lógicas directas en los predicados en vez de tener que crear oraciones que se unen por medio de conectores • La lógica de la descripción carece de la negación y la disyunción ya que en la mayoría de los casos hacen que la función de tiempo de resolución sea exponencial

  32. Manejo de retracciones La capacidad de retractar una oración en la base de conocimientos corresponde a los siguientes casos: • Un hecho que ha perdido importancia se desea eliminarlo para aprevechar ese lugar. • El sistema no le importa almacenar datos correspondientes al pasado. • El sistema concluye que algo es verdad pero se desea suponer que es falso.

  33. Suposiciones Ofrecer explicaciones de las preposiciones puede no siempre ser posible. De ahí basarse en suposiciones para dar una acertada explicación

  34. Conclusión Existen distintos razonamientos y estos pueden ser representados y aplicados por diferentes métodos de acuerdo a la lógica que se aplique. Si bien hablamos en todo momento de una lógica de primer orden se puede optar por una representación gráfica o más bien algo más metodológico se puede optar por lógicas como puede ser la notación normalizada. El hecho de aplicar una programación a la interpretación de textos y oraciones hace posibles, independientemente del método que empleemos, la aplicación de los conocimientos en forma automatizada

More Related