Professional Documents
Culture Documents
Algoritmo Rete
Características
Componentes
Funcionamiento básico
Algoritmo Rete-OO
Características
Funcionamiento
Herramientas
Conclusiones
Referencias
2
Definiciones de sistema experto
Un sistema experto, se puede definir
como un sistema informático que simula
a los expertos humanos en un área de
especialización dada [1].
3
Tipos de sistemas expertos
Sistemas expertos basados en casos
4
Tipos de sistemas expertos
(cont.)
Sistemas expertos basados en reglas
5
Estructura básica
6
Base de conocimiento
Es el componente que almacena el
conocimiento extraído al experto
7
Base de conocimiento
Tipos de bases dependen de la forma de
representación del conocimiento:
Pares atributo-valor
○ Ej: nacionalidad: costarricense
8
Base de conocimiento
Redes Semánticas:
○ Serie de objetos o conceptos conectados
○ Cada conexión representa las relaciones
entre conceptos
○ Generaliza las tripletas Objeto – Atributo –
Valor
9
Base de conocimiento
Redes Neuronales:
○ Aún en desarrollo
○ Redefine la visión del cerebro como
un procesador de símbolos a través
de las neuronas.
Reglas de producción:
○ Representación más común
○ Serie de declaraciones if – then
○ Pueden ser difusas o deterministas
10
Base de hechos
Es la memoria de trabajo para cada
caso.
Es volátil.
11
Motor de inferencia (cont.)
Híbrido
Utilizan el pattern-matching.
12
Motor de inferencia (cont.)
Los tipos de búsqueda pueden ser:
Desinformada
○ Se utiliza la fuerza bruta, hasta llegar a la
conclusión esperada.
Informada
○ Se utilizan heurísticos para aumentar la
probabilidad de hallar la solución más rápido.
13
Algoritmo RETE
Creado por el Dr. Charles L. Forgy (CMU)
14
Algoritmo RETE (cont.)
Implementación eficiente para un SE.
15
Algoritmo RETE (cont.)
Componentes:
WM (Working memory) contiene hechos
WME (Working memory elements)
Ejemplo de WM [4] 16
Algoritmo RETE (cont.)
Componentes:
PM (Production memory) producciones
(reglas)
Condición Acción
Notación:
○ (nombreProducción
LHS RHS
)
17
Algoritmo RETE (cont.)
Componentes:
PM (Production memory) producciones
(reglas)
Ejemplo:
Ejemplo de Producciones[4] 18
Algoritmo RETE (cont.)
Rete se compone de dos subredes:
Red alfa
○ Maneja constates
○ Contiene memoria alfa (AM)
Red beta
○ Contiene nodos “join”
○ Contiene memoria beta (BM)
19
Algoritmo RETE (cont.)
Desventajas
Alto uso de memoria cada estado en
memoria.
21
Algoritmo RETE-OO
Adaptación hecha por Bob McWhirter
[10] para trabajar con RETE en
lenguajes orientados a objetos.
22
Algoritmo RETE-OO (cont.)
Diferencia de representación de LHS
entre lenguajes declarativos y
orientados a objetos lo hace necesario.
23
Algoritmo RETE-OO (cont.)
RETE RETE-OO
24
Algoritmo RETE-OO (cont.)
Tipos de nodos:
25
Herramientas
Muchas herramientas hacen uso de RETE y
RETE-OO. Entre ellas:
Jess
Drools
OPS (Official Production System) originalmente
desarrollado por Charles Forgy
NRuler (C#)
CLIPS
Soar
BizTalk (de Microsoft)
26
Conclusiones
Algoritmos como RETE y RETE-OO son
ampliamente utilizados para sistemas de
producción basados en reglas.
27
Conclusiones
RETE-OO es un ejemplo importante de
cómo ajustar un algoritmo para un
ambiente de desarrollo diferente.
28
Referencias
[1] Castillo, E., Gutiérrez, J.M. and Hadi, A.S. (1997) Expert Systems and Probabilistic Network
Models. Springer Verlag, New York.
[4] Doorenbos R, (1995) Production Matching for large learning systems, Pittsburg, PA
[5] http://es.wikipedia.org/wiki/Algoritmo_Rete
[6] http://www.mty.itesm.mx/dtie/centros/csi/materias/ia-4003/sistemasproduccion.pdf
[7] http://www.infor.uva.es/~calonso/IAI/Tema9-Sistemas%20de%20Produccion/Rete.pdf
[8] http://iaaa.cps.unizar.es/curriculum/09-Otras-Publicaciones-
Congresos/cong_1997_CAEPIA_Comparacion.pdf
[9] http://en.wikipedia.org/wiki/Rete_algorithm
[10] http://legacy.drools.codehaus.org/
29
Muchas Gracias
30