La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Sistemas de Razonamiento Lógico

Presentaciones similares


Presentación del tema: "Sistemas de Razonamiento Lógico"— Transcripción de la presentación:

1 Sistemas de Razonamiento Ló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 ( ,x). ¿Predicado? Hermano ¿Primer argumento?

15 X.III Sistemas de programació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 PROLOG es un lenguaje de programación lógica que más se a utilizado.
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 – Mejoras Punto 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 – Mejoras Pista 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 donde pi son literales y acti son acciones
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 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) Memoria de trabajo {A(1),A(2),B(1),B(2),B(3)} 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 y Redes 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 de redes 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 De ahí basarse en suposiciones para dar una acertada explicación
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


Descargar ppt "Sistemas de Razonamiento Lógico"

Presentaciones similares


Anuncios Google