Title: Sistemas de Razonamiento L
1Sistemas deRazonamientoLógico
2- Cómo construir programas eficientes que razonen
de manera lógica?
3X.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
4Sistemas 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
5Demostradores 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)
6Sistemas 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)
7Sistemas 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
8Sistemas 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
9Té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
10Implantació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
11Almacenar 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
12Indizació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
13Indizació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
14Indizació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
15X.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
16El 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
17PROLOG - 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.
18PROLOG - 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
19PROLOG 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
20PROLOG 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
21PROLOG 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.
22X.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.
23Características
- Memoria de trabajo donde se guardan el conjunto
de literales positivas que no tienen variables. - Memoria de reglas Reglas del tipo
- p1, p2 gt act1, act2
- donde pi son literales y acti son acciones
- Fases
- Fase de cotejo
- Fase de resolución de conflictos
- Fase de actuación
24Fase de cotejo red rete
- Memoria de reglas
- A(x) and B(x) and C(x) gtanadir D(x)
- A(x) and B(y) and D(x) gtanadir E(x)
- A(x) and B(x) and E(x) gtborrar A(x)
- Memoria de trabajo
- A(1),A(2),B(1),B(2),B(3)
D
AD
añadir E
A
B
C
AB
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
25Fase 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
26Fase 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
27Sistemas 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
28Sintaxis 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) gt Mamífero(x)
29Herencia 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
30Implantació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.
31Ló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
32Manejo 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.
33Suposiciones
- Ofrecer explicaciones de las preposiciones puede
no siempre ser posible. - De ahí basarse en suposiciones para dar una
acertada explicación
34Conclusió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