210 likes | 446 Views
Desarrollo de sistemas expertos basados en reglas. Toribio Sarmiento Miguel Sesarego Cruz Rosmery. 7.1 Base de Hechos. Definición Es una memoria auxiliar que contiene los datos del usuario (hechos iniciales que describen el problema a resolver) y los resultados intermedios obtenido a lo
E N D
Desarrollo de sistemas expertos basados en reglas Toribio Sarmiento Miguel Sesarego Cruz Rosmery
7.1 Base de Hechos Definición Es una memoria auxiliar que contiene los datos del usuario (hechos iniciales que describen el problema a resolver) y los resultados intermedios obtenido a lo largo del procedimiento de deducción.
7.1 Base de Hechos Ejemplo: Diagnóstico de enfermedades Datos personales del paciente: (nombre, dirección, N° de seguro) Síntomas del paciente: (s1 s2 s3 s4 ....sk)
7.2 Base de Conocimiento Definición Es una estructura de datos que contiene el conjunto de conocimiento especializado introducido por el experto del dominio (área del saber) Formas de Representación: • Predicado • Registro • Red semántica
7.2 Base de Conocimiento Reglas Si A11, A12, A13, ... A1k Entonces C1 Si A21, A22, A23, ... A2k Entonces C2 ... Si An1, An2, An3, ... Ank Entonces Cn Representación Registro - Listas ( C1 A11 A12 A13 ... A1k) ( C2 A21 A22 A23 ... A2k) ... ( Cn An1 An2 A23 ... Ank)
7.2 Base de Conocimiento Ejemplo: Diagnóstico de Enfermedades Si Síntoma11, Síntoma12, Síntoma13, ... Síntoma1k Entonces Enfermedad 1 Si Síntoma21, Síntoma22, Síntoma23, ... Síntoma2k Entonces Enfermedad 2 ... Si Síntoma n1, Síntoma n2, Síntoma n3, ... Síntoma nk Entonces Enfermedad n Representación Registro - Listas ( Enfermedad1 Síntoma11 Síntoma12 Síntoma13 ... Síntoma1k) ( Enfermedad2 Síntoma21 Síntoma22 Síntoma23 ... Síntoma2k) ... ( Enfermedad_n Síntoma_n1 Síntoma_n2 Síntoma_n3 ... Síntoma_nk)
Motor de Inferencia Definición Es la unidad lógica con la que se extraen conclusiones de la base de conocimientos, una conclusión se produce mediante aplicación de las reglas sobre los hechos presentes. Decide que se debe aplicar, que se debe hacer, resuelve conflictos nuevos, hace uso de la base de conocimiento.
Métodos de Encadenamiento Progresivo ó Encadenamiento hacia delante Los hechos de la Base de datos global (base de hechos), son considerados como disparadores de las reglas, son hechos establecidos. .
Métodos de Encadenamiento Regresivo ó Encadenamiento hacia atrás Los hechos de la base de hechos son considerados como hechos a establecer (sub-objetivos). La exploración de las reglas corresponde a un razonamiento desde los objetivos a los hechos
Método de Encadenamiento Progresivo- Problema Ejemplo :Base de Hechos(BH) R1: Si A,B → C BH = (H,I,K,M) R2: Si D,E, F → G Problema R3: Si H,I → J Determine el consecuente R4: Si C,G → K terminal asociado a BH R5: Si G,J →L R6: Si K,L → M LCT : M Lista de Consecuentes terminales
Representación gráfica de las relaciones del Problemas con sus 6 Reglas
Algoritmo de Rete (Presentación) • ‘rete’ es la palabra en latín para red. • Algoritmo eficiente para correspondencia de patrones. • Desarrollado por Dr. Charles L. Forgy en 1979. • Es una red donde todos los nodos (excepto las hojas) representan un patrón del L. Izq. de una regla. • Un camino entre la raíz y una hoja forma una regla. • Cada nodo tiene una memoria. • Cada nuevo hecho se propaga haciendo que los nodos puedan cambiar sus memorias. • Si la propagación alcanza una hoja se dispara una regla. TEIA Agentes Inteligentes
A(x) B(x) C(y) A(x) B(y) D(x) A(x) B(x) E(z) ADD D(x) ADD E(x) DEL A(x) Algoritmo de Rete (Comparación) Reglas 1) A(x) ∧ B(x) ∧ C(y) ⇒ add D(x) 2) A(x) ∧ B(y) ∧ D(x) ⇒ add E(x) 3) A(x) ∧ B(x) ∧ E(z) ⇒ delete A(x) Memoria de Trabajo {A(1), A(2), B(2), B(3), B(4), C(5)} Estructura o enfoque tradicional Estructura o enfoque Rete TEIA Agentes Inteligentes
Algoritmo de Rete (Nodos) • Tipos de nodos • 1 Entrada / 1 Salida (Tipo A) • Son reductores y únicamente permiten el paso de tuplas que cumplen con la condición requerida. • 2 Entradas / 1 Salida (Tipo B) • Conectan la salida de otros dos nodos (cualquier tipo). • Mantienen una memoria con las tuplas que cumplen la condición. Esto evita repetir comparaciones en vano. • Nodos tipo A forman la entrada de la red. • Cada tupla tiene un tipo determinado. • Una condición es un patrón que especifica las características que una tupla debe cumplir. TEIA Agentes Inteligentes
Algoritmo de Rete (conflictos) • Refracción • Una regla sólo puede utilizarse una vez para cada conjunto de hechos vigente. • Nuevos hechos primero • Utilizar reglas que utilizan los hechos agregados más recientemente. • Especificidad • Utilizar la regla más específica (i.e. la más “pequeña”) • Prioridades • Asignar prioridades a las reglas (e.g. MYCIN) TEIA Agentes Inteligentes
Algoritmo de Rete (Heurística al construir reglas) • Patrones específicos. • Deben tener preferencia en el lado izquierdo. • Variables sin ligar o comodines deben ir más a la derecha. • Patrones con pocas condiciones • se deben colocar al principio para minimizar correspondencias parciales. • Patrones volátiles • Deben ser colocados de último en la lista. TEIA Agentes Inteligentes
Algoritmo de Rete (Mejoras de rendimiento) Reglas: R1 X ∧ Y ∧ Z ➔ M R2 X ∧ Y ➔ N Red resultante Tomado y modificado de la documentación de Jess TEIA Agentes Inteligentes
Algoritmo de Rete (Compartir Nodos-Patrón) Reglas: R1 X ∧ Y ∧ Z ➔ M R2 X ∧ Y ➔ N Red resultante al compartir nodos-patrón Tomado y modificado de la documentación de Jess TEIA Agentes Inteligentes
Algoritmo de Rete (Compartir Nodos-Unión) Reglas: R1 X ∧ Y ∧ Z ➔ M R2 X ∧ Y ➔ N Red resultante al compartir nodos-unión Tomado y modificado de la documentación de Jess TEIA Agentes Inteligentes