¿Qué es un Sistema Experto?
Los
sistemas expertos son máquinas que piensan y razonan como un experto lo haría
en una cierta especialidad o campo. Como tal, un sistema experto
debería ser capaz de procesar y memorizar información, aprender y razonar en
situaciones deterministas e inciertas, comunicar con los hombres u otros
sistemas expertos, tomar decisiones apropiadas, y explicar por qué se han tomado
tales decisiones. Se puede pensar también en un sistema experto como un consultor que puede suministrar ayuda a
los expertos humanos con un grado razonable de fiabilidad.
Componentes de un Sistema Experto
Entre los componentes de un Sistema Experto
tenemos:
Fig 1: Componentes de un Sistema Experto
La
Componente Humana
Un sistema experto es generalmente el resultado de la colaboración de uno o varios expertos humanos especialistas en el tema de estudio y los ingenieros del conocimiento, con los usuarios en mente. Los expertos humanos suministran el conocimiento básico en el tema de interés, y los ingenieros del conocimiento trasladan este conocimiento a un lenguaje, que el sistema experto pueda entender.
Un sistema experto es generalmente el resultado de la colaboración de uno o varios expertos humanos especialistas en el tema de estudio y los ingenieros del conocimiento, con los usuarios en mente. Los expertos humanos suministran el conocimiento básico en el tema de interés, y los ingenieros del conocimiento trasladan este conocimiento a un lenguaje, que el sistema experto pueda entender.
La Base
del 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. Esta forma estructurada de pensar requiere que los expertos humanos repiensen, reorganicen, y reestructuren la base de conocimiento y, como resultado, el especialista se convierte en un mejor conocedor de su propio campo de especialidad.
Hay que diferenciar entre datos y conocimiento. El conocimiento se refiere a afirmaciones de validez general tales como reglas, distribuciones de probabilidad, etc. Los datos se refieren a la información relacionada con una aplicación particular.
Subsistema de Adquisición de Conocimiento
El subsistema de adquisición de conocimiento controla el flujo del nuevo conocimiento que fluye del experto humano a la base de datos. El sistema determina que 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 Coherencia
Este subsistema controla la consistencia de la base de datos y evita que unidades de conocimiento inconsistentes entren en la misma. En situaciones complejas incluso un experto humano puede formular afirmaciones inconsistentes. Por ello, sin un subsistema de control de la coherencia, unidades de conocimiento contradictorio pueden formar parte de la base de conocimiento, dando lugar a un comportamiento insatisfactorio del sistema. Es también bastante común, especialmente en sistemas con mecanismos de propagación de incertidumbre, que se llegue a conclusiones absurdas o en conflicto.
Motor de Inferencia
El motor de inferencia es el corazón de todo sistema experto. El objetivo principal de esta componente es el de sacar 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.
Interfase de Usuario
La interfase de usuario es el enlace entre el sistema experto y el usuario. Por ello, para que un sistema experto sea una herramienta efectiva, debe incorporar mecanismos eficientes para mostrar y obtener información de forma fácil y agradable.
El Subsistema de Ejecución de Ordenes
El subsistema de ejecución de órdenes es el componente que permite al sistema experto iniciar acciones. Estas acciones se basan en las conclusiones sacadas por el motor de inferencia. Como ejemplo: un sistema experto diseñado para analizar el tráfico ferroviario puede decidir retrasar o parar ciertos trenes para optimizar el tráfico global.
El Subsistema de Explicación
El usuario puede pedir una explicación de las conclusiones sacadas o de las acciones iniciadas por el sistema experto. Por ello, es necesario un subsistema que explique el proceso seguido por el motor de inferencia o por el subsistema de ejecución.
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. Esta forma estructurada de pensar requiere que los expertos humanos repiensen, reorganicen, y reestructuren la base de conocimiento y, como resultado, el especialista se convierte en un mejor conocedor de su propio campo de especialidad.
Hay que diferenciar entre datos y conocimiento. El conocimiento se refiere a afirmaciones de validez general tales como reglas, distribuciones de probabilidad, etc. Los datos se refieren a la información relacionada con una aplicación particular.
Subsistema de Adquisición de Conocimiento
El subsistema de adquisición de conocimiento controla el flujo del nuevo conocimiento que fluye del experto humano a la base de datos. El sistema determina que 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 Coherencia
Este subsistema controla la consistencia de la base de datos y evita que unidades de conocimiento inconsistentes entren en la misma. En situaciones complejas incluso un experto humano puede formular afirmaciones inconsistentes. Por ello, sin un subsistema de control de la coherencia, unidades de conocimiento contradictorio pueden formar parte de la base de conocimiento, dando lugar a un comportamiento insatisfactorio del sistema. Es también bastante común, especialmente en sistemas con mecanismos de propagación de incertidumbre, que se llegue a conclusiones absurdas o en conflicto.
Motor de Inferencia
El motor de inferencia es el corazón de todo sistema experto. El objetivo principal de esta componente es el de sacar 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.
Interfase de Usuario
La interfase de usuario es el enlace entre el sistema experto y el usuario. Por ello, para que un sistema experto sea una herramienta efectiva, debe incorporar mecanismos eficientes para mostrar y obtener información de forma fácil y agradable.
El Subsistema de Ejecución de Ordenes
El subsistema de ejecución de órdenes es el componente que permite al sistema experto iniciar acciones. Estas acciones se basan en las conclusiones sacadas por el motor de inferencia. Como ejemplo: un sistema experto diseñado para analizar el tráfico ferroviario puede decidir retrasar o parar ciertos trenes para optimizar el tráfico global.
El Subsistema de Explicación
El usuario puede pedir una explicación de las conclusiones sacadas o de las acciones iniciadas por el sistema experto. Por ello, es necesario un subsistema que explique el proceso seguido por el motor de inferencia o por el subsistema de ejecución.
Etapas de Desarrollo de un Sistema Experto
Las etapas para llevar a cabo el desarrollo
de un sistema experto son:
Fig 2: Fases de Desarrollo 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: personas que tienen el conocimiento del problema a resolver.
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.
Elección
de la herramienta de desarrollo: se trata de seleccionar las herramientas,
lenguajes de programación necesarios para el desarrollo del sistema experto.
Desarrollo
y prueba de un prototipo: si el prototipo no pasa las pruebas requeridas,
las etapas anteriores 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.
Tipos de Sistemas Expertos
Sistemas
Expertos Deterministas: los sistemas expertos que tratan problemas
deterministas son conocidos como sistemas basados en reglas, porque sacan sus
conclusiones basándose en un conjunto de reglas utilizando un mecanismo de razonamiento
lógico.
Sistemas
Estocásticos: son sistemas expertos que usan la misma estructura de los
sistemas basados en reglas, pero introducen una medida asociada a la
incertidumbre de las reglas y a la de sus premisas. En este caso se pueden
utilizar algunas fórmulas de propagación (factores de certeza) para calcular la
incertidumbre asociada a las conclusiones. (Castillo, Gutierrez, & Hadi)
Ejemplos de Sistemas Expertos
Clips: es una herramienta que provee un entorno de desarrollo para la producción y
ejecución se sistemas expertos. Este sistema experto tiene las siguientes
características: Representación del conocimiento, portabilidad, integrabilidad,
desarrollo interactivo, verificación/validación, documentación y bajo costo.
Mycin:
es un sistema experto desarrollo en Lisp, su función principal consistía en
el diagnostico de enfermedades infecciosas de la sangre, además era capaz de
recetar medicaciones a sus pacientes en base a 500 reglas que poseía.
XCon:
sistema experto basado en reglas que se lo utilizaba para asistir a los
pedidos de los sistemas de computadores.
Dendral:
su desarrollo se llevó a cabo durante 10 años aproximadamente, utilizado
para propósitos reales donde permite interpretar la estructura molecular.
Delta:
sistema experto que ayuda a los mecánicos en el diagnostico y reparación de
locomotoras a diesel/eléctricas por medio de un reproductor de vídeo. (Wikipedia,
2011)
Bibliografía:
Castillo, E., Gutierrez, J. m., & Hadi, A. (s.f.).
Sistemas Expertos y Modelos Probabilisticos. España.
Wikipedia. (2011). Sistemas
Expertos. Recuperado el 30 de Marzo de 2012, de
http://www.es.m.wikipedia.org/wiki/Sistema_experto
No hay comentarios:
Publicar un comentario