martes, 3 de abril de 2012

SISTEMAS EXPERTOS


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
Escuela  Profesional de Ingeniería en Sistema. Sistemas expertos. Consulta 2012 Abril 02. Enlace http://www.slideshare.net/ingenioalex/sistemas-expertos




No hay comentarios:

Publicar un comentario