Está en la página 1de 42

Sistemas Expertos

Ingeniería Electrónica
Inicio de los Sistemas Expertos

60´s 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.
Sistemas basados en conocimiento (SBC-KBS)
Definiciones.

 Sistemas que resuelven problemas aplicando una


representación simbólica de la experiencia humana.
Jackson.

 Sistemas que representan el conocimiento sobre el


dominio en forma explícita y separada del resto del
sistema.
Waterman.
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
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
Sistema de computación

Simulación

Conducta inteligente

Experto Fuente de pericia humana en el dominio

Dominio limitado Específico y especializado


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.


SE/SBC: Tareas
Síntesis: Clasificación, diagnóstico

Tareas abordadas
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.
Primeros Sistemas Expertos
Stanford (Buchanan - Shortliffe 1976):
MYCIN Diagnóstico y tratamiento de enfermedades
infecciosas (aprox. 500 reglas). Introduce
factores de certeza. Conocimiento
Stanford-US Geological Survey (Duda-Gashning- inexacto
PROSPECTOR Hart, 1979): Evaluación de yacimientos minerales
y petrolíferos. (aprox 1600 reglas). Probabilidades
condicionales y Teorema de Bayes.
Pittsburg (Pople-Myers, 1977): Diagnóstico
INTERNIST en Medicina interna. CADUCEUS: Analiza
relaciones causales. Razonamiento experto
Rutgens (Kulikowsky-Weiss-Safir, 1977): Modelos causales
CASNET Oftalmología. Aplica un modelo causal para el
diagnóstico de glaucoma.

Carnegie Mellon (Mc Dermott): Configuración de


R1 ordenadores VAX (aprox 500 reglas). Descompone
el diseño en distintos niveles de abstracción. Reducción espacio
de búsqueda
Stanford (Stefik): Diseño de experimentos
MOLGEN
genéticos. Utiliza abstracción.
Habilidades que se esperan de un SE

 Manipular con fluidez descripciones simbólicas.

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

 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.


Estructura básica de un SE.

I
Ingeniero del K Base de n
conocimiento A U
Conocimientos t s
T e u
r a
Motor de f r
a i
Inferencias o
Experto del
c
dominio
e
Estructura básica de un Sistema Experto

Su estructura de datos queda definida en


Base de términos del esquema de representación
Conocimientos elegido para incorporar el conocimiento
del dominio de trabajo.

Separados entre sí

Es la estructura de control de un SE,


Motor de contiene el programa que gestiona la BC y
Inferencias otros mecanismos necesarios para
administrar un sistema de naturaleza
interactiva.
Periodo industrial de la IA

Década de Importante apoyo económico a los esfuerzos de I+D.


los 80 Gran cantidad de SE en distintos dominios.

Problemas con la metodología de desarrollo

Limitaciones propias del tipo de sistema.

Comparable a la Crisis
CRISIS
de los SI pero posterior
Ingeniería del Conocimiento (IC)

Crisis SI Desarrollo de la Ingeniería del Software

Crisis
Desarrollo de la Ingeniería del Conocimiento
SBC

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


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.


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
SE basados en reglas de producción
Newell y Simon (1972): Al resolver problemas, las
Sistemas de personas utilizan su memoria a largo plazo (permanente)
producción que aplican a situaciones actuales contenidas en su
memoria a corto plazo (transitoria). Esto puede generar
modificaciones en la última.

Mundo Exterior
BC Memoria de
(Reglas) trabajo (Hechos)

Motor de Inferencias
SE basados en reglas de producción

Reglas de < CONDICION > < ACCION>


producción

 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.
SE basados en reglas de producción
Ventajas:
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.
SE basados en reglas de producción

MOTOR DE
INFERENCIAS Dos formas de funcionamiento.

Inductivo: A partir de un objetivo intenta BACKWARD


verificar los hechos que los sostienen CHAINING

Deductivo: A partir de los hechos disponibles FORWARD


infiere todas las conclusiones posibles CHAINING
SE basados en reglas de producción
Encadenamiento hacia atrás - Backward Chaining.

BH := CONOCIMIENTO INICIAL (HECHOS).


HASTA OBJETIVO O SIN REGLAS PARA
DISPARAR. Hechos iniciales
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, Objetivo
TOMARLA COMO SUBOBJETIVO.
SE basados en reglas de producción
Backward 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.
SE basados en reglas de producción
Ejemplo Backward Chaining: Primer paso

BASE DE REGLAS

R1: p  q  s
 OBJETIVO: v
R2: r  t
 v  BH ?
R3: s  t  u
 v  BH
R4: s  r  v
 SIGUE

BH: p q r
SE basados en reglas de producción
Ejemplo Backward Chaining: Segundo paso

BASE DE REGLAS  MATCHING CON v


R1: p  q  s CC = { R4 }
R2: r  t  s  BH?
R3: s  t  u  s  BH
R4: s  r  v  s SUBOBJETIVO
 SIGUE

BH: p q r
SE basados en reglas de producción
Ejemplo Backward Chaining: Tercer paso

BASE DE REGLAS

R1: p  q  s  MATCHING CON s

R2: r  t CC = { R1 }

R3: s  t  u  p  BH? SI.

R4: s  r  v  q  BH? SI.


 DISPARA R1.
 BH  s
BH: p q r
SE basados en reglas de producción
Ejemplo Backward Chaining: 4º paso

BASE DE REGLAS

R1: p  q  s CC = { R4 }

R2: r  t  r  BH? SI.

R3: s  t  u DISPARA R4.

R4: s  r  v  BH  v

BH: p q r s
SE basados en reglas de producción
Ejemplo Backward Chaining: 5º paso

BASE DE REGLAS

R1: p  q  s

R2: r  t
OBJETIVO OK.
R3: s  t  u
 FIN
R4: s  r  v

BH: p q r s v
SE basados en reglas de producción
Encadenamiento hacia adelante - Forward Chaining.

BH := CONOCIMIENTO INICIAL (HECHOS).


HASTA OBJETIVO O SIN REGLAS PARA Hechos iniciales
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. Objetivo
(RECORDAR R).
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.
SE basados en reglas de producción
Ejemplo Forward Chaining: Primer paso

BASE DE REGLAS
CC = { R1, R2 }
R1: p  q  s
 R1  RC
R2: r  t
 DISPARA R1
R3: s  t  u
 BH  s
R4: s  r  v
 R1 APLICADA

BH: p q r
SE basados en reglas de producción
Ejemplo Forward Chaining: 2º paso

BASE DE REGLAS
CC = { R2, R4 }
R1: p  q  s
 R2  RC
R2: r  t
 DISPARA R2
R3: s  t  u
 BH  t
R4: s  r  v
 R2 APLICADA

BH: p q r s
SE basados en reglas de producción
Ejemplo Forward Chaining: 3er paso

BASE DE REGLAS
CC = { R3, R4 }
R1: (p  q  s)
 R3  RC
R2: (r  t)
 DISPARA R3
R3: s  t  u
 BH  u
R4: s  r  v
 R3 APLICADA

BH: p q r s t
SE basados en reglas de producción
Ejemplo Forward Chaining: 4º paso

BASE DE REGLAS
CC = {R4 }
(R1: p  q  s)
 R4  RC
(R2: r  t)
 DISPARA R4
(R3: s  t  u)
 BH  v
R4: s  r  v
 R4 APLICADA

BH: p q r s t u
SE basados en reglas de producción
Ejemplo Forward Chaining: 5º paso

BASE DE REGLAS

(R1: p  q  s)

(R2: r  t)
CC = { }
(R3: s  t  u)
FIN
(R4: s  r  v)

BH: p q r s t u v
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:
 Activación o no de grupos de reglas específicas.
Meta-reglas
 Ordenación de las reglas dentro de los grupos.

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


Funciones
PC-PLUS  FINDOUT - NOFINDOUT

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


PC-PLUS  UTILITY.
 KAPPA-PC  PRIORITY
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)


Motor de Inferencias: Estructuras de control
Funcionamiento
Tipo de búsqueda implementada
sistemático

Ruptura

Son procedimientos especiales


Demonios

Elementos de metaconocimiento

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


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

 Difieren de los procedimientos tradicionales, en que estos últimos responden a un


llamado específico que los identifica y pone en acción.

Forward Chaining es un demonio, manejado mediante


Personal Consultant-xx la propiedad ANTECEDENT de las reglas.

Monitores: Demonios que se activan a partir de cómo


Kappa-PC maneja el sistema los objetos con los que se los asocia.
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.
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.
Herramientas: Kappa-PC

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

Formalismos de representación Reglas y Objetos

El funcionamiento sistemático
Funcionamiento del está definido, pueden
Motor de Inferencias personalizarse características
(Forward-Backward)

Posee herramientas de trace y debug.


¿ Qué es Jess ?
• JESS (Java Expert System Shell).
http://herzberg.ca.sandia.gov/jess/
(ejfried@ca.sandia.gov)
• 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+motor de
inferencias). Integración Ontología + inferencia
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 (objetos definidos en Protege)
•Incluye lógica difusa en la 5.0 (FuzzyJess):
http://ai.iit.nrc.ca/IR_public/fuzzyJToolKit.html

También podría gustarte