Sistemas Expertos - UNR · permite presentar la cadena de razonamiento asociada. Semejanza con el...

50
Sistemas Expertos Introducción Arquitectura - Motor de Inferencias Ingeniería del Conocimiento Ingeniería Electrónica

Transcript of Sistemas Expertos - UNR · permite presentar la cadena de razonamiento asociada. Semejanza con el...

Page 1: Sistemas Expertos - UNR · permite presentar la cadena de razonamiento asociada. Semejanza con el proceso cognitivo humano: modelo natural del razonamiento humano. Dificultades: Completitud

Sistemas ExpertosIntroducción

Arquitectura - Motor de Inferencias

Ingeniería del Conocimiento

Ingeniería Electrónica

Page 2: Sistemas Expertos - UNR · permite presentar la cadena de razonamiento asociada. Semejanza con el proceso cognitivo humano: modelo natural del razonamiento humano. Dificultades: Completitud

60´s

Inicio de los Sistemas Expertos

Se buscaban soluciones generales

70´s Los sistemas son más eficientes en dominios

acotados

La calidad y cantidad de conocimiento son

esenciales para una buena performance

Es importante independizar el conocimiento

del dominio, del mecanismo de inferencia.

Page 3: Sistemas Expertos - UNR · permite presentar la cadena de razonamiento asociada. Semejanza con el proceso cognitivo humano: modelo natural del razonamiento humano. Dificultades: Completitud

Sistemas basados en conocimiento (SBC-KBS)Definiciones.

� Sistemas que representan el conocimiento sobre el dominio en forma explícita y separada del resto del sistema.

Waterman.

� Sistemas que resuelven problemas aplicando una representación simbólica de la experiencia humana.

Jackson.

Page 4: Sistemas Expertos - UNR · permite presentar la cadena de razonamiento asociada. Semejanza con el proceso cognitivo humano: modelo natural del razonamiento humano. Dificultades: Completitud

Sistemas basados en conocimiento (SBC-KBS)Definiciones.

� Sistemas de software capaz de soportar la representación explícita del conocimiento de un dominio específico y de explotarlo a través de

mecanismos apropiados de razonamiento para proporcionar un comportamiento de alto nivel en la resolución de problemas.

Guida y Taso

Page 5: Sistemas Expertos - UNR · permite presentar la cadena de razonamiento asociada. Semejanza con el proceso cognitivo humano: modelo natural del razonamiento humano. Dificultades: Completitud

Sistemas Expertos: Definición.

Es un sistema de cómputo capaz de simular la conducta inteligente de un experto humano en un dominio específico y especializado, con el objeto de resolver problemas.

Hardware + software

Fuente de pericia humana en el dominio

Sistema de computación

Simulación

Conducta inteligente

Experto

Dominio limitado Específico y especializado

Page 6: Sistemas Expertos - UNR · permite presentar la cadena de razonamiento asociada. Semejanza con el proceso cognitivo humano: modelo natural del razonamiento humano. Dificultades: Completitud

Experiencia humana vs. SE.

PERICIA ARTIFICIAL PERICIA HUMANA

Permanente Perecedera Siempre accesible No siempre accesible

Fácil de documentar No documentable Estable, confiable Variable, flexible � Costo manejable Costosa

Fragilidad de las máquinas Fragilidad humana Sin inspiración Creativa �

Conocimiento técnico Sentido común � Estática - Dinámica Dinámica (aprendizaje) � Dominios estrechos Dominios más extensos

� Los humanos son aún imprescindibles.

Page 7: Sistemas Expertos - UNR · permite presentar la cadena de razonamiento asociada. Semejanza con el proceso cognitivo humano: modelo natural del razonamiento humano. Dificultades: Completitud

SE/SBC: Tareas

Tareas abordadas

Síntesis: Clasificación, diagnóstico

Análisis: Planificación, diseño o modelado

Las áreas de aplicación son muy variadas !!!

� Los SBC abordan problemas complejos en dominios específicos en los que el peso de las heurísticas para acotar el espacio de búsqueda es importante.

Page 8: Sistemas Expertos - UNR · permite presentar la cadena de razonamiento asociada. Semejanza con el proceso cognitivo humano: modelo natural del razonamiento humano. Dificultades: Completitud

Primeros Sistemas Expertos

MYCINStanford (Buchanan - Shortliffe 1976): Diagnóstico y tratamiento de enfermedades infecciosas (aprox. 500 reglas). Introduce factores de certeza.

PROSPECTOR

Stanford-US Geological Survey (Duda-Gashning-Hart, 1979): Evaluación de yacimientos minerales y petrolíferos. (aprox 1600 reglas). Probabilidades condicionales y Teorema de Bayes.

Conocimiento inexacto

INTERNISTPittsburg (Pople-Myers, 1977): Diagnóstico en Medicina interna. CADUCEUS: Analiza relaciones causales.

CASNETRutgens (Kulikowsky-Weiss-Safir, 1977): Oftalmología. Aplica un modelo causal para el diagnóstico de glaucoma.

Razonamiento expertoModelos causales

R1

MOLGEN

Carnegie Mellon (Mc Dermott): Configuración de ordenadores VAX (aprox 500 reglas). Descompone el diseño en distintos niveles de abstracción. Reducción espacio

de búsquedaStanford (Stefik): Diseño de experimentos genéticos. Utiliza abstracción.

Page 9: Sistemas Expertos - UNR · permite presentar la cadena de razonamiento asociada. Semejanza con el proceso cognitivo humano: modelo natural del razonamiento humano. Dificultades: Completitud

Habilidades que se esperan de un SE

� Buena perfomance, comparable al menos a la de los especialistas.

� Manipular con fluidez descripciones simbólicas.

� Interfaz amigable, adecuada a las necesidades de la aplicación.

� Habilidad para manipular conocimiento incompleto e impreciso.

� Capacidad de explicar sus decisiones a los usuarios.

� Posibilidad de justificar sus conclusiones.

Page 10: Sistemas Expertos - UNR · permite presentar la cadena de razonamiento asociada. Semejanza con el proceso cognitivo humano: modelo natural del razonamiento humano. Dificultades: Completitud

Estructura básica de un SE.

Base de Conocimientos

Motor de Inferencias

Interface

U

s

u

a

r

i

o

Ingeniero del conocimiento

Experto del dominio

KAT

Page 11: Sistemas Expertos - UNR · permite presentar la cadena de razonamiento asociada. Semejanza con el proceso cognitivo humano: modelo natural del razonamiento humano. Dificultades: Completitud

Estructura básica de un Sistema Experto

Base de Conocimientos

Su estructura de datos queda definida en términos del esquema de representación elegido para incorporar el conocimiento del dominio de trabajo.

Motor de Inferencias

Es la estructura de control de un SE, contiene el programa que gestiona la BC y otros mecanismos necesarios para administrar un sistema de naturaleza interactiva.

Separados entre sí

Page 12: Sistemas Expertos - UNR · permite presentar la cadena de razonamiento asociada. Semejanza con el proceso cognitivo humano: modelo natural del razonamiento humano. Dificultades: Completitud

Periodo industrial de la IA

Década de los 80

Importante apoyo económico a los esfuerzos de I+D.Gran cantidad de SE en distintos dominios.

CRISIS

Problemas con la metodología de desarrollo

Limitaciones propias del tipo de sistema.

Comparable a la Crisis

de los SI pero posterior

Page 13: Sistemas Expertos - UNR · permite presentar la cadena de razonamiento asociada. Semejanza con el proceso cognitivo humano: modelo natural del razonamiento humano. Dificultades: Completitud

Crisis SBC Desarrollo de la Ingeniería del Conocimiento

Crisis SI Desarrollo de la Ingeniería del Software

Ingeniería del Conocimiento (IC)

La Ingeniería del Software consiste en la aplicación de una aproximación sistemática, disciplinada y cuantificable al desarrollo,

funcionamiento y mantenimiento del software. (IEEE, 1999)

� La IC tiene los mismos objetivos respecto de los SBC

Page 14: Sistemas Expertos - UNR · permite presentar la cadena de razonamiento asociada. Semejanza con el proceso cognitivo humano: modelo natural del razonamiento humano. Dificultades: Completitud

SBC: Ventajas� El conocimiento no se pierde.

� Reducción del espacio de búsqueda con heurísticas para que

el problema sea tratable en un tiempo razonable.

� Manejo de conocimiento incierto e incompleto.

� Posibilidad de justificar el razonamiento seguido.

� Hacer el conocimiento disponible en ambientes hostiles o con

carencia de especialistas.

� Aumento de fiabilidad, evitando que prevalezcan las últimas

experiencias.

� Modificación sencilla de la BC por su característica modular.

Page 15: Sistemas Expertos - UNR · permite presentar la cadena de razonamiento asociada. Semejanza con el proceso cognitivo humano: modelo natural del razonamiento humano. Dificultades: Completitud

SBC: Inconvenientes

� La adquisición del conocimiento es difícil y cara.

� La reutilización del conocimiento en contextos diferentes no es simple.

� Falta de creatividad y sentido común.

� Obstáculos para el aprendizaje y la adaptación.

Quedan inmersos en el campo de los Sistemas Inteligentes.

Se trabaja sobre metodología de desarrollo

Se los combina con otras tecnologías

Page 16: Sistemas Expertos - UNR · permite presentar la cadena de razonamiento asociada. Semejanza con el proceso cognitivo humano: modelo natural del razonamiento humano. Dificultades: Completitud

SE basados en reglas de producción

Sistemas de producción

Newell y Simon (1972): Al resolver problemas, las personas utilizan su memoria a largo plazo (permanente) que aplican a situaciones actuales contenidas en su memoria a corto plazo (transitoria). Esto puede generar modificaciones en la última.

BC (Reglas)

Memoria de trabajo (Hechos)

Motor de Inferencias

Mundo Exterior

Page 17: Sistemas Expertos - UNR · permite presentar la cadena de razonamiento asociada. Semejanza con el proceso cognitivo humano: modelo natural del razonamiento humano. Dificultades: Completitud

SE basados en reglas de producción

Reglas de producción

< CONDICION > < ACCION>

� Son “gránulos” de conocimiento.

�Reúnen información relativa a las condiciones de disparo y a los efectos resultantes del disparo.

� Son estructuras bidireccionales.

SI ?X ES MAMIFERO Y ?X COME CARNE

ENTONCES ?X ES CARNIVORO.

Page 18: Sistemas Expertos - UNR · permite presentar la cadena de razonamiento asociada. Semejanza con el proceso cognitivo humano: modelo natural del razonamiento humano. Dificultades: Completitud

SE basados en reglas de producciónVentajas:�Naturaleza modular: El conocimiento es fácil de

encapsular y expandir.

� Explicaciones sencillas: El registro de reglas disparadas permite presentar la cadena de razonamiento asociada.

� Semejanza con el proceso cognitivo humano: modelo natural del razonamiento humano.

Dificultades:� Completitud y consistencia como responsabilidad del desarrollador.

� Se necesitan otras estructuras para lograr una visión global del conocimiento del dominio.

�Se las combina con otros formalismos de representación.

Page 19: Sistemas Expertos - UNR · permite presentar la cadena de razonamiento asociada. Semejanza con el proceso cognitivo humano: modelo natural del razonamiento humano. Dificultades: Completitud

SE basados en reglas de producción

Inductivo: A partir de un objetivo intenta verificar los hechos que los sostienen

Deductivo: A partir de los hechos disponibles infiere todas las conclusiones posibles

MOTOR DE INFERENCIAS Dos formas de funcionamiento.

BACKWARD CHAINING

FORWARD CHAINING

Page 20: Sistemas Expertos - UNR · permite presentar la cadena de razonamiento asociada. Semejanza con el proceso cognitivo humano: modelo natural del razonamiento humano. Dificultades: Completitud

Hechos iniciales

Objetivo

SE basados en reglas de producciónEncadenamiento hacia atrás - Backward Chaining.

BH := CONOCIMIENTO INICIAL (HECHOS).

HASTA OBJETIVO O SIN REGLAS PARA DISPARAR.

REPITA

(1) ENCONTRAR K CONJUNTO DE REGLAS, CUYAS CONCLUSIONES PUEDEN UNIFICARSE CON LA HIPÓTESIS (CONJUNTO DE CONFLICTO).

(2) ELEGIR R DE K SEGÚN ESTRATEGIA DE SOLUCIÓN DE CONFLICTOS (POSIBLE BACKTRACKING).

(3) SI LA PREMISA DE R NO ESTÁ EN BH, TOMARLA COMO SUBOBJETIVO.

Page 21: Sistemas Expertos - UNR · permite presentar la cadena de razonamiento asociada. Semejanza con el proceso cognitivo humano: modelo natural del razonamiento humano. Dificultades: Completitud

SE basados en reglas de producciónBackward Chaining: Ciclo base de un motor inductivo.

DETECCIÓN:

�SI EL OBJETIVO ES CONOCIDO ÉXITO.

� SINO, TOMAR LAS REGLAS QUE LO CONCLUYEN (CC).

ELECCIÓN:

�DECIDIR QUE REGLA APLICAR (RC)

APLICACIÓN:

�REEMPLAZAR EL OBJETIVO POR LA CONJUNCIÓN DE LAS CONDICIONES DE LA PREMISA ELEGIDA.

Page 22: Sistemas Expertos - UNR · permite presentar la cadena de razonamiento asociada. Semejanza con el proceso cognitivo humano: modelo natural del razonamiento humano. Dificultades: Completitud

SE basados en reglas de producción

Ejemplo Backward Chaining: Primer paso

BASE DE REGLAS

R1: p ∧∧∧∧ q →→→→ s

R2: r →→→→ t

R3: s ∧∧∧∧ t →→→→ u

R4: s ∧∧∧∧ r →→→→ v

� OBJETIVO: v

� v ∈ BH ?

� v ∉ BH

� SIGUE

BH: p q r

Page 23: Sistemas Expertos - UNR · permite presentar la cadena de razonamiento asociada. Semejanza con el proceso cognitivo humano: modelo natural del razonamiento humano. Dificultades: Completitud

SE basados en reglas de producción

Ejemplo Backward Chaining: Segundo paso

BASE DE REGLAS

R1: p ∧∧∧∧ q →→→→ s

R2: r →→→→ t

R3: s ∧∧∧∧ t →→→→ u

R4: s ∧∧∧∧ r →→→→ v

� MATCHING CON v

�CC = { R4 }

� s ∈ BH?

� s ∉ BH

� s SUBOBJETIVO

� SIGUE

BH: p q r

Page 24: Sistemas Expertos - UNR · permite presentar la cadena de razonamiento asociada. Semejanza con el proceso cognitivo humano: modelo natural del razonamiento humano. Dificultades: Completitud

SE basados en reglas de producción

Ejemplo Backward Chaining: Tercer paso

BASE DE REGLAS

R1: p ∧∧∧∧ q →→→→ s

R2: r →→→→ t

R3: s ∧∧∧∧ t →→→→ u

R4: s ∧∧∧∧ r →→→→ v

BH: p q r

� MATCHING CON s

�CC = { R1 }

� p ∈ BH? SI.

� q ∈ BH? SI.

� DISPARA R1.

� BH ← s

Page 25: Sistemas Expertos - UNR · permite presentar la cadena de razonamiento asociada. Semejanza con el proceso cognitivo humano: modelo natural del razonamiento humano. Dificultades: Completitud

SE basados en reglas de producción

Ejemplo Backward Chaining: 4º paso

BASE DE REGLAS

R1: p ∧∧∧∧ q →→→→ s

R2: r →→→→ t

R3: s ∧∧∧∧ t →→→→ u

R4: s ∧∧∧∧ r →→→→ v

BH: p q r s

�CC = { R4 }

� r ∈ BH? SI.

�DISPARA R4.

� BH ← v

Page 26: Sistemas Expertos - UNR · permite presentar la cadena de razonamiento asociada. Semejanza con el proceso cognitivo humano: modelo natural del razonamiento humano. Dificultades: Completitud

SE basados en reglas de producción

Ejemplo Backward Chaining: 5º paso

BASE DE REGLAS

R1: p ∧∧∧∧ q →→→→ s

R2: r →→→→ t

R3: s ∧∧∧∧ t →→→→ u

R4: s ∧∧∧∧ r →→→→ v

�OBJETIVO OK.

� FIN

BH: p q r s v

Page 27: Sistemas Expertos - UNR · permite presentar la cadena de razonamiento asociada. Semejanza con el proceso cognitivo humano: modelo natural del razonamiento humano. Dificultades: Completitud

SE basados en reglas de producciónEncadenamiento hacia adelante - Forward Chaining.

BH := CONOCIMIENTO INICIAL (HECHOS).

HASTA OBJETIVO O SIN REGLAS PARA DISPARAR.

REPITA:

(1) ENCONTRAR K CONJUNTO DE REGLAS CUYAS PREMISAS CUMPLEN CON BH (CONJUNTO DE CONFLICTO-CC).

(2) ELEGIR R DE K SEGÚN ESTRATEGIA DE SOLUCIÓN DE CONFLICTOS (RC).

(3) DISPARAR R Y ACTUALIZAR BH. (RECORDAR R).

Hechos iniciales

Objetivo

Page 28: Sistemas Expertos - UNR · permite presentar la cadena de razonamiento asociada. Semejanza con el proceso cognitivo humano: modelo natural del razonamiento humano. Dificultades: Completitud

SE basados en reglas de producción

Forward Chaining: Ciclo base de un motor deductivo.

DETECCIÓN:

�DETERMINAR EL CONJUNTO DE REGLAS APLICABLES

ELECCIÓN:

�DECIDIR QUE REGLA APLICAR (RC)

APLICACIÓN

�DISPARAR LA REGLA ELEGIDA Y ACTUALIZAR BH.

Page 29: Sistemas Expertos - UNR · permite presentar la cadena de razonamiento asociada. Semejanza con el proceso cognitivo humano: modelo natural del razonamiento humano. Dificultades: Completitud

SE basados en reglas de producción

Ejemplo Forward Chaining: Primer paso

BASE DE REGLAS

R1: p ∧∧∧∧ q →→→→ s

R2: r →→→→ t

R3: s ∧∧∧∧ t →→→→ u

R4: s ∧∧∧∧ r →→→→ v

�CC = { R1, R2 }

� R1 ← RC

� DISPARA R1

� BH ← s

� R1 APLICADA

BH: p q r

Page 30: Sistemas Expertos - UNR · permite presentar la cadena de razonamiento asociada. Semejanza con el proceso cognitivo humano: modelo natural del razonamiento humano. Dificultades: Completitud

SE basados en reglas de producción

Ejemplo Forward Chaining: 2º paso

BASE DE REGLAS

R1: p ∧∧∧∧ q →→→→ s

R2: r →→→→ t

R3: s ∧∧∧∧ t →→→→ u

R4: s ∧∧∧∧ r →→→→ v

BH: p q r s

�CC = { R2, R4 }

� R2 ← RC

� DISPARA R2

� BH ← t

� R2 APLICADA

Page 31: Sistemas Expertos - UNR · permite presentar la cadena de razonamiento asociada. Semejanza con el proceso cognitivo humano: modelo natural del razonamiento humano. Dificultades: Completitud

SE basados en reglas de producción

Ejemplo Forward Chaining: 3er paso

BASE DE REGLAS

R1: (p ∧∧∧∧ q →→→→ s)

R2: (r →→→→ t)

R3: s ∧∧∧∧ t →→→→ u

R4: s ∧∧∧∧ r →→→→ v

BH: p q r s t

�CC = { R3, R4 }

� R3 ← RC

� DISPARA R3

� BH ← u

� R3 APLICADA

Page 32: Sistemas Expertos - UNR · permite presentar la cadena de razonamiento asociada. Semejanza con el proceso cognitivo humano: modelo natural del razonamiento humano. Dificultades: Completitud

SE basados en reglas de producción

Ejemplo Forward Chaining: 4º paso

BASE DE REGLAS

(R1: p ∧∧∧∧ q →→→→ s)

(R2: r →→→→ t)

(R3: s ∧∧∧∧ t →→→→ u)

R4: s ∧∧∧∧ r →→→→ v

BH: p q r s t u

�CC = {R4 }

� R4 ← RC

� DISPARA R4

� BH ← v

� R4 APLICADA

Page 33: Sistemas Expertos - UNR · permite presentar la cadena de razonamiento asociada. Semejanza con el proceso cognitivo humano: modelo natural del razonamiento humano. Dificultades: Completitud

SE basados en reglas de producción

Ejemplo Forward Chaining: 5º paso

BASE DE REGLAS

(R1: p ∧∧∧∧ q →→→→ s)

(R2: r →→→→ t)

(R3: s ∧∧∧∧ t →→→→ u)

(R4: s ∧∧∧∧ r →→→→ v)

BH: p q r s t u v

�CC = { }

�FIN

Page 34: Sistemas Expertos - UNR · permite presentar la cadena de razonamiento asociada. Semejanza con el proceso cognitivo humano: modelo natural del razonamiento humano. Dificultades: Completitud

Sistemas expertos: Metaconocimiento� Es el conocimiento estratégico vinculado a la utilización del conocimiento del dominio del Sistema Experto.

� Es conocimiento que predica sobre el conocimiento involucrado en el sistema.

Métodos de implementación:

Meta-reglas� Activación o no de grupos de reglas específicas.

� Ordenación de las reglas dentro de los grupos.

Funciones� Definición de la búsqueda o no de conceptos asociados.

�PC-PLUS → FINDOUT - NOFINDOUT

Orden de las reglas �Posibilidad de asignarles “pesos” numéricos.

�PC-PLUS → UTILITY.

� KAPPA-PC → PRIORITY

Page 35: Sistemas Expertos - UNR · permite presentar la cadena de razonamiento asociada. Semejanza con el proceso cognitivo humano: modelo natural del razonamiento humano. Dificultades: Completitud

Sistemas expertos: Metaconocimiento

Enriquece y aporta a la perfomance de un Sistema Experto y por sus características incluye:

� Elementos en el Motor de Inferencias: Demonios.

�Elementos en la Base de Conocimientos: Metareglas, PRIORITY, etc.

Ejemplos de Metareglas en SEXP- 1

IF Litología_Principal = Arenisca THEN Tratar sólo el grupo de reglas asociadas.

IF Litología_Principal = Roca_Ignea THEN NoAsk (Lista de valores)

Page 36: Sistemas Expertos - UNR · permite presentar la cadena de razonamiento asociada. Semejanza con el proceso cognitivo humano: modelo natural del razonamiento humano. Dificultades: Completitud

Motor de Inferencias: Estructuras de control

Funcionamiento sistemático Tipo de búsqueda implementada

Ruptura

Demonios

Se invocan a partir de cierto conocimiento deducido durante la ejecución de la aplicación.

Son procedimientos especiales

Elementos de metaconocimiento

Page 37: Sistemas Expertos - UNR · permite presentar la cadena de razonamiento asociada. Semejanza con el proceso cognitivo humano: modelo natural del razonamiento humano. Dificultades: Completitud

Estructuras de control: Demonios

El demonio es una estructura de control que vigila constantemente el comportamiento del SE y se activa cuando encuentra determinadas condiciones en la BC. BC

Disparador

Procedimiento

Personal Consultant-xxForward Chaining es un demonio, manejado mediante la propiedad ANTECEDENT de las reglas.

Kappa-PCMonitores: Demonios que se activan a partir de cómo maneja el sistema los objetos con los que se los asocia.

� Difieren de los procedimientos tradicionales, en que estos últimos responden a un llamado específico que los identifica y pone en acción.

Page 38: Sistemas Expertos - UNR · permite presentar la cadena de razonamiento asociada. Semejanza con el proceso cognitivo humano: modelo natural del razonamiento humano. Dificultades: Completitud

SE: Herramientas

Una herramienta para la construcción de sistemas expertos (expert system building tools-shell) es un software para el desarrollo de sistemas expertos,:

• un motor de inferencias,

• forma/s de representar el conocimiento (BC vacía) y

• una interfaz para el usuario final,

� permite construir sistemas expertos agregando el conocimiento específico sobre el dominio particular que se quiere resolver.

Page 39: Sistemas Expertos - UNR · permite presentar la cadena de razonamiento asociada. Semejanza con el proceso cognitivo humano: modelo natural del razonamiento humano. Dificultades: Completitud

SE: Herramientas

• KAPPA-PC (C - Intellicorp, software liberado) • CLIPS (C – NASA, software libre)• JESS (Java - Lic. académica)

-----------• M1• Personal Consultant-Easy / PC-Pluss• INSIGHT 2 +.• VP-Expert

� permiten construir sistemas expertos agregando el conocimiento específico sobre el dominio particular que se quiere resolver.

Page 40: Sistemas Expertos - UNR · permite presentar la cadena de razonamiento asociada. Semejanza con el proceso cognitivo humano: modelo natural del razonamiento humano. Dificultades: Completitud

Herramientas: Kappa-PC

Formalismos de representación

Funcionamiento del Motor de Inferencias

Es un shell, cáscara o Sistema Experto vacío

Reglas y Objetos

El funcionamiento sistemático está definido, pueden

personalizarse características(Forward- Backward)

KAPPA-PC

Posee herramientas de trace y debug.

Page 41: Sistemas Expertos - UNR · permite presentar la cadena de razonamiento asociada. Semejanza con el proceso cognitivo humano: modelo natural del razonamiento humano. Dificultades: Completitud

¿ Qué es Jess ?

• JESS (Java Expert System Shell).

• Diseñado para integrar fácilmente Clips y Java.

• Originalmente (1995) era un clon de Clips, programado en Java.

• Hoy es mucho más. (versión actual: 7.1)

• Objetivo: Aplicaciones Java + razonamiento de un sistema experto (reglas).

Page 42: Sistemas Expertos - UNR · permite presentar la cadena de razonamiento asociada. Semejanza con el proceso cognitivo humano: modelo natural del razonamiento humano. Dificultades: Completitud

Características

• Utiliza el algoritmo de Rete para procesar las reglas.

• Puede obtener mayor rapidez que CLIPS.

• Incluye encadenamiento hacia atrás (5.0)

• Permite manipulación directa de objetos Java

•Incluye lógica difusa en la 5.0 (FuzzyJess): http://ai.iit.nrc.ca/IR_public/fuzzyJToolKit.html

Page 43: Sistemas Expertos - UNR · permite presentar la cadena de razonamiento asociada. Semejanza con el proceso cognitivo humano: modelo natural del razonamiento humano. Dificultades: Completitud

Interacción con Jess

• Jess es una librería para programadores.

• Posee 3 interfaces: mediante línea de comandos, consola o applets.

• Permite ampliarlo con otras interfaces. Para ello, provee un editor llamado JessDeel cual se puede integrar con IDE’s como Eclipse (www.eclipse.org)

Page 44: Sistemas Expertos - UNR · permite presentar la cadena de razonamiento asociada. Semejanza con el proceso cognitivo humano: modelo natural del razonamiento humano. Dificultades: Completitud

Interacción con Jess (2)

• Jess tiene una interfaz de línea de comandos a través de la clase “jess.Main”

c:\jdk> java jess.Main

jess> ...

• Si se usa “jess.Console” se tiene una interfaz en modo gráfico (consola).

Page 45: Sistemas Expertos - UNR · permite presentar la cadena de razonamiento asociada. Semejanza con el proceso cognitivo humano: modelo natural del razonamiento humano. Dificultades: Completitud

Clases de Jess• Jess está programado en Java; sus clases

se usan como cualquier otra del lenguaje.

• La clase “jess.Rete” es el motor de inferencia e implementa el algoritmo de rete.

• Existen clases para todo lo que se maneja con un lenguaje de reglas:Hechos, reglas, plantillas, clases, instancias,

átomos, strings, agendas, funciones, ....

• Además de otras clases interesantes (heredadas de la POO):Excepciones, routers, parser, estruct. de datos...

Page 46: Sistemas Expertos - UNR · permite presentar la cadena de razonamiento asociada. Semejanza con el proceso cognitivo humano: modelo natural del razonamiento humano. Dificultades: Completitud

Extender Jess

• Se pueden añadir nuevas funciones a Jessprogramadas en Java (Userfunction)

• También se puede añadir paquetes de funciones (Userpackage)

Page 47: Sistemas Expertos - UNR · permite presentar la cadena de razonamiento asociada. Semejanza con el proceso cognitivo humano: modelo natural del razonamiento humano. Dificultades: Completitud

Acceso a objetos Java

• Desde Jess se puede crear una instancia de cualquier clase de Java y acceder a sus métodos y atributos públicos:(defglobal ?*str-buf* = (new java.lang.StringBuffer

100))

(call ?*str-buf* append "Some String Data To Append")

• El orden de los argumentos es el que realiza el enlace entre la llamada y el método, y la equivalencia de tipos es la contemplada en la clase “jess.Value”.

Page 48: Sistemas Expertos - UNR · permite presentar la cadena de razonamiento asociada. Semejanza con el proceso cognitivo humano: modelo natural del razonamiento humano. Dificultades: Completitud

Jess en la WWW

• El sitio oficial de Jess en Internet se encuentra en: http://herzberg.ca.sandia.gov/jess/

([email protected])

• Se permite el uso libre en ámbitos educativos, sin fines comerciales.

•Es la página con información relevante sobre Jess

Page 49: Sistemas Expertos - UNR · permite presentar la cadena de razonamiento asociada. Semejanza con el proceso cognitivo humano: modelo natural del razonamiento humano. Dificultades: Completitud

Las reglas predican sobre hechos (facts) .

Herramientas: JESS

Ejemplo de Regla:

IF the animal is a duck

THEN

the sound made is quack

Syntaxis JESS

Jess> (clear)

TRUE

Jess> (assert (animal-is duck))

<Fact-0>Jess> (defrule duck-sound

(animal-is duck)=>

(assert (sound-is quack)))TRUE

Jess>

Page 50: Sistemas Expertos - UNR · permite presentar la cadena de razonamiento asociada. Semejanza con el proceso cognitivo humano: modelo natural del razonamiento humano. Dificultades: Completitud

Herramientas: JESS

(defrule rule-name

"optional comment"(pattern-1) ; left-hand side (LHS) of the rule

(pattern-2) ; consisting of elements before the "=>"(pattern-n)

=>(action-1) ; right-hand side (RHS) of the rule

(action-2) ; consisting of elements after the "=>"

(action-m))

Syntaxis de reglas