1.- DEFINICIÓN
•
Es
un software que imita el comportamiento de un experto humano en la solución de
un problema. Pueden almacenar conocimientos de expertos para un campo
determinado y solucionar un problema mediante deducción lógica de conclusiones.
•
Son Sistemas Expertos
aquellos programas que se realizan haciendo explicito el conocimiento en ellos,
que tienen información específica de un dominio concreto y que realizan una
tarea relativa a este dominio.
•
Programas
que manipulan conocimiento codificado para resolver problemas en un dominio
especializado en un dominio que generalmente requiere de experiencia humana
2.- COMPONENTES
DE UN SISTEMA EXPERTO
Componente
Humana
Los expertos humanos, especialistas en el
tema de estudio suministran el conocimiento básico en el tema de interés
Los ingenieros del conocimiento trasladan este conocimiento a un lenguaje, que el sistema experto pueda
entender
Esta etapa
requiere una enorme dedicación y un gran esfuerzo debido a los diferentes
lenguajes que hablan las distintas partes y a las diferentes experiencias que
tienen
La Base de
Conocimiento
Los especialistas son responsables de suministrar a los ingenieros del
conocimiento una base de conocimiento ordenada y estructurada, y un conjunto de
relaciones bien definidas y explicadas.
Subsistema
de Adquisición de Conocimiento
Controla el flujo del nuevo conocimiento que fluye del experto humano a
la base de datos. Determina qué nuevo conocimiento se necesita, o si el
conocimiento recibido es en realidad nuevo, es decir, si debe incluirse en la
base de datos y, en caso necesario, incorpora estos conocimientos a la misma.
Control de la Coherencia
Ayuda a los expertos humanos a dar información
fiable:
– Controla la
consistencia de la base de datos y evita que unidades de conocimiento inconsistentes
entren en la misma.
– Comprueba e
informa a los expertos de las inconsistencias.
– Informa sobre
las restricciones que la información debe cumplir para ser coherente con la
existente en la base de conocimiento cuando se solicita información de los expertos
humanos
Motor de Inferencia
Saca conclusiones aplicando el conocimiento a los
datos. Por ejemplo, en diagnóstico médico, los síntomas de un paciente (datos)
son analizados a la luz de los síntomas y las enfermedades y de sus relaciones (conocimiento).
Las conclusiones del motor de inferencia pueden
estar basadas en conocimiento
determinista o conocimiento
probabilístico.
En muchos casos, algunos hechos (datos) no se
conocen con absoluta certeza. Por ejemplo, piénsese en un paciente que no está
seguro de sus síntomas.
El motor de inferencia es también responsable de
la propagación de este conocimiento incierto. Es Probablemente el componente
más débil de casi todos los sistemas expertos existentes.
El
Subsistema de Adquisición de Información
Si el conocimiento inicial es muy limitado y no
se pueden sacar conclusiones, el motor de inferencia utiliza el subsistema de adquisición de información para
obtener el conocimiento necesario y continuar con el proceso de inferencia
hasta que se hayan sacado conclusiones
Interfase de Usuario
Es el enlace entre el sistema experto y el
usuario, por ello debe incorporar mecanismos eficientes para mostrar y obtener
información de forma fácil y agradable. Muestra las conclusiones, las razones
que expliquen tales conclusiones y una explicación de las acciones iniciadas
por el sistema experto. También es un vehículo para obtener la información
necesaria del usuario.
El Subsistema de Ejecución de Órdenes
Permite al sistema experto iniciar acciones basadas
en las conclusiones sacadas por el motor de inferencia
El Subsistema de Explicación
Explica el proceso seguido por el motor de
inferencia o por el subsistema de ejecución (explicación de las conclusiones
sacadas o de las acciones iniciadas por el sistema experto).
El Subsistema de Aprendizaje
Una de las principales características de un
sistema experto es su capacidad para aprender. Tipos de
aprendizaje:
– Aprendizaje Estructural se refiere a algunos aspectos relacionados con la
estructura del conocimiento (reglas, distribuciones de probabilidad, etc.). Ej.
El descubrimiento de nuevos síntomas relevantes para una enfermedad o la
inclusión de una nueva regla en la base de conocimiento.
– Aprendizaje Paramétrico se refiere a estimar los parámetros necesarios
para construir la base de conocimiento. Ej. la estimación de frecuencias o
probabilidades asociadas a síntomas o enfermedades
3.- DESARROLLO
DE UN SISTEMA EXPERTO
Weiss y
Kulikowski (1984) sugieren las etapas siguientes para el diseño e
implementación de un sistema experto:
Planteamiento
del Problema.
La primera etapa en cualquier proyecto es normalmente la definición del
problema a resolver. Puesto que el objetivo principal de un sistema experto es
responder a preguntas y resolver problemas, esta etapa es quizás la más
importante en el desarrollo de un sistema experto. Si el sistema está mal
definido, se espera que el sistema suministre respuestas erróneas.
Encontrar Expertos Humanos
Encontrar expertos humanos que puedan resolver el problema. En algunos casos,
sin embargo, las bases de datos pueden jugar el papel del experto humano.
Diseño de un Sistema Experto.
Esta etapa incluye el diseño de estructuras para almacenar el conocimiento,
el motor de inferencia, el subsistema de explicación, la interfase de usuario,
etc.
Elegir
Herramientas de Desarrollo.
Elección de la herramienta de desarrollo, concha,
o lenguaje de programación. Debe
decidirse si realizar un sistema experto a medida, o utilizar una concha, una
herramienta, o un lenguaje de programación. Si existiera una concha
satisfaciendo todos los requerimientos del diseño, esta debería ser la
elección, no sólo por razones de tipo financiero sino también por razones de
fiabilidad. Las conchas y herramientas comerciales están sujetas a controles de
calidad, a los que otros programas no lo están.
Desarrollo y Prueba de un Prototipo.
Si el prototipo no pasa las pruebas requeridas, las etapas anteriores (con
las modificaciones apropiadas) deben ser repetidas hasta que se obtenga un
prototipo satisfactorio
Refinamiento
y Generalización
En esta etapa se corrigen los fallos y se incluyen nuevas posibilidades no
incorporadas en el diseño inicial.
Mantenimiento
y Puesta al día.
En esta etapa el usuario plantea problemas o defectos del prototipo,
corrige errores, actualiza el producto con nuevos avances, etc.
Todas estas etapas influyen en la calidad del sistema experto resultante,
que siempre debe ser evaluado en función de las aportaciones de los usuarios
4.- EJEMPLOS DE
SISTEMAS EXPERTOS
Bibliografía