Professional Documents
Culture Documents
por
Ing. Jos Manuel Saavedra Rondo
PARTE I :
INTRODUCCIN A LOS SISTEMAS EXPERTOS
Sistemas Expertos
SISTEMAS EXPERTOS
1.
Introduccin
Los sistemas expertos son programas de computadora que son derivados de una de las ramas de la
Ciencias de la Computacin denominada Inteligencia Artificial. Uno de los pioneros en el desarrollo
de Sistemas Expertos es Edward Feigenbaum. El empez a hipotizar acerca de la creacin de un
Sistema Experto a inicios de 1962, cuando junto a Julie Feldman co-editaron Computadoras y
Pensamiento.
Los programas de Inteligencia Artificial que alcanzan un nivel de competencia de un experto en
resolver problemas en determinadas reas a travs de conocimiento especfico en dicha reas son
denominados Sistemas Expertos o Sistemas Basados en Conocimiento.
2.
Definicin
Algunas definiciones planteadas a Sistemas Expertos son:
[Edward Feigenbaum], define a un Sistema Experto como un programa de
computadora, inteligente, que usa el conocimiento y los procedimientos de
inferencia para resolver problemas que son suficientemente difciles como para
requerir significativa experiencia humana para su solucin.
Los Sistemas Expertos son una rama de la Inteligencia Artificial, que hace un
amplio uso del conocimiento especializado para resolver problemas, como lo
hace un especialista humano. Un Sistema Experto, trabaja sobre un dominio
especfico. Se utilizan los trminos: Sistema Experto, Sistema basado en
Conocimiento o Sistema Experto basado en Conocimiento.
E. Feigenbaum
Otras Definiciones
Un Sistema Experto es un modelo y procedimiento asociado que exhibe, dentro de un dominio
especfico, un grado de experticia en la solucin de problemas, que es comprado a la de un experto
humano
Un Sistema Experto es un sistema computacional que emula la habilidad de tomar decisiones de un
experto humano
DOMINIO DEL
PROBLEMA
(Medicina, Mecnica,
Biologa, etc)
DOMINIO DEL
CONOCIMIENTO
Sistemas Expertos
3.
4.
Costo reducido
El costo de poner la experiencia a disposicin del usuario se reduce en gran medida.
c.
Peligro reducido
Los Sistemas Expertos pueden usarse en ambientes que podran ser peligrosos
humano.
para un
d.
Permanencia
La experiencia es permanente. A diferencia de los especialistas humanos, que pueden retirarse,
renunciar o morir, el conocimiento del Sistema Experto durar indefinidamente.
e.
Experiencia mltiple
El conocimiento de varios especialistas puede estar disponible para trabajar simultanea y
continuamente en un problema, en todo momento. En muchos casos, el nivel de conocimiento
almacenado en un Sistema Experto puede exceder al de un solo especialista.
f.
Mayor confiabilidad
Al capturar experiencia mltiple en un sistema experto, stos aumentan su confiabilidad. La
aplicabilidad de un Sistema Experto depende en gran medida de la confianza que tengan los
usuarios sobre ste.
g.
Explicacin
El Sistema Experto puede explicar clara y detalladamente el razonamiento que conduce a su
conclusin, lo que aumenta la confianza del usuario en la decisin tomada. Un ser humano
puede estar cansado, mostrarse renuente o incapaz de hacerlo siempre.
h.
Respuestas rpidas
Muchas veces resulta importante tener respuestas en poco tiempo o en tiempo real.
Dependiendo de la tecnologa utilizada, un Sistema Experto puede responder ms rpido y estar
ms dispuesto que un especialista humano.
i.
Respuestas slidas
Un Sistema experto puede dar respuesta slidas, completas y sin emociones. Esto puede ser
muy importante en tiempo real y en situaciones de emergencia, cuando un ser humano, muchas
veces a causa de la presin no trabaja al 100%.
Sistemas Expertos
INTERFAZ DE USUARIO
5.
Adquisicin de
conocimiento
Base de Conocimiento
Mecanismo de
Inferencia
Memoria Activa
(Hechos)
y
Reglas
Medio de Explicacin
Por lo tanto un Sistema Experto se basa en reglas como las que se han presentado. Sin
embargo existe conocimiento previo o que se va generando conforme el Sistema Experto
funcione. Este conocimiento se traduce en trminos de HECHOS. Por ejemplo:
-
La temperatura ambiental es 40
El paciente tiene dolor de cabeza
El paciente tiene ojos amarillos
Sistemas Expertos
Cuando el conocimiento es preciso y es suficiente para determinar una conclusin se dice que el
Sistema Experto es Determinstico. Sin embargo existe frecuentemente aplicaciones en las
que el conocimiento es impreciso o no se puede captar completamente lo que origina
INCERTIDUMBRE, lo que conlleva el desarrollo de Sistemas Expertos bajo Incertidumbre.
Este tipo de Sistemas Expertos requieren mecanismos especficos para manipular el
conocimiento afectado por incertidumbre.
6.
Sistemas Expertos
7.
ANLISIS
ESPECIFICACIN
DESARROLLO
IMPLANTACIN
Fig. 3. Fases en el Desarrollo de un Sistema Experto
7.1. Anlisis
El propsito del Anlisis es identificar potenciales aplicaciones. El desarrollador debe analizar y
valorar si el problema es adecuado para ser solucionado por un sistema experto. Se evaluarnd
difrentes posibles problemas y se determinar en cual o cules es necesario un Sistema
Experto.
Elemento de Valoracin
La necesidad para una solucin debe justificar los costos de desarrollo. Debe haber una
valoracin realista de los costos y beneficios involucrados.
Cunto me costar el Sistema Experto?
El Problema puede ser resuelto usando razonamiento simblico. Los problemas que se
traten de resolver no deben requerir destreza manual o habilidades fsicas.
Sistemas Expertos
7.2. Especificacin
La especificacin es en donde el desarrollador define lo que el sistema experto har. El
desarrollador deb definir las fuentes de conocimiento (expertos humanos, libros, etc) con los
que trabajar. El desarrollador debe familiarizarse con el problema para que el desarrollo pueda
ser ejecutado.
-
7.3. Desarrollo
a.
b.
c.
Implementacin (Programacin)
Usando un lenguaje de programacin, generalmente Lenguaje Lgico, traducimos el
conocimiento modelado a un cdigo y generamos el software. Prolog es un lenguaje lgico
muy potente.
Sin embargo es posible utilizar herramientas ms especficas como los famosos Shells para
Sistemas Expertos, por ejemplo: Exsys, Clips.
d.
Testing o Pruebas
Se realizan las pruebas necesarias para determinar la correccin y fiabilidad del Sistema
Experto.
Especialista
Humano
Ingeniero en
Conocimiento
Base de Conocimiento
del Sistema Experto
Fig. 4. Desarrollo de un Sistema Experto
Sistemas Expertos
7.4. Implantacin
Se distribuye el Sistema Experto y se pone en ambientes de explotacin, listo para ser usado.
8.
9.
IF motor_tiene_petrleo
AND motor_enciende
THEN problema_con_buja
2.
IF NOT motor_enciende
IF NOT motor_enciende
AND luces_encienden
Sistemas Expertos
THEN problema_con_arrancador
4.
IF petrleo_en_tanque
THEN motor_tiene_petroleo
Nuestro problema es encontrar lo que est funcionando mal con un automvil, dando alguno
sntomas observables. Hay tres posibles problemas con el auto: problema_con_bujas,
problema_con batera, problema_con_arrancador. Asumiremos que no hemos proporcionado
hechos iniciales, respecto a los sntomas.
En el ms simple sistema dirigido por objetivos, nosotros podramos tratar de probar cada una de
los problemas hipotticos con el automvil. Primero el sistema tratar de probar
problema_con_buja.
La Regla 1 es potencialmente til, as, el sistema establecer los nuevos objetivos a probar. As,
se deber probar si el motor_tiene_petrleo y si el motor_enciende. Para probar el primer
objetivo debemos usar la Regla 4, con el nuevo objetivo intentamos probar si
petroleo_en_tanque. No existe reglas que concluyan esto, por lo tanto preguntaremos al
usuario:
Hay petrleo en el tanque?
Supongamos, que la respuesta es SI. Esta respuesta ser almacenada como un hecho,
as el usuario no har la misma pregunta. El sntoma ahora ha sido probado, el
motor_tiene_petrleo, as debemos encontrar si el motor_enciende. Como el sistema no
encuentra una regla que concluya este sntoma, entonces el sistema pregunta:
El motor enciende?
Supongamos ahora que a respuesta es NO. Como no hay otra regla que pueda probar
problema_con_buja, el sistema concluye que este no es el problema y considerar la
siguiente hiptesis problema_con_batera. Es verdad que el motor no enciende, por lo
tanto el sistema tiene que probar que las luces no encienden, el sistema preguntar:
Las luces encienden?
Ahora, supongamos que la respuesta es No. As, puede probar que el problema es la
batera. Algunos sistemas pueden detenerse aqu, sin embargo en algunas ocasiones
se deben evaluar las siguientes hiptesis, pues puede haber ms de un problema con
el automvil. Sin embargo, como las luces no encienden, el problema con el arrancada
no se valida.
Notemos que en general, resolver problema mediante el mtodo de encadenamiento
hacia atrs involucra bsquedas a travs de todas las posibles formas de probar la
hiptesis. Un modo de hacer esto es mediante la bsqueda en profundidad con
bactracking.
Esquema Completo
>> Sistema: Hay petrleo en el tanque?
Usuario: SI.
Sistemas Expertos