SISTEMAS EXPERTOS


 

Los sistemas expertos son un producto del área de la ciencia en inteligencia artificial. Estos sistemas emulan el comportamiento de un especialista humano al enfrentar un problema complejo que requiere de conocimientos especializados.

En la actualidad existen una gran cantidad de sistemas de esta especie. Son especialmente conocidos los que se desarrollaron para el área médica, entre todos, probablemente el más famoso, es MYCIN desarrollado en la Universidad de Stanford, California en la década del setenta cuyo objeto es el diagnóstico tratamiento de formas complejas de meningitis y de infecciones bacterianas.

 


 
 

El Concepto de Sistema Experto

¿Qué son?

Se trata de programas que tienen la capacidad para ayudar, aconsejar, analizar, consultar y determinar la pertenencia de un objeto, fenómeno o situación a una clase dada. Son herramientas para tratar problemas que generalmente exigen para su solución total o parcial de la presencia de un especialista. Se diferencian de los programas más convencionales por el uso de procedimientos deductivos y por la posibilidad de realizar "razonamientos" aproximados o inciertos. Esto les dota de la capacidad para resolver problemas insuficientemente definidos o pobremente estructurados (Townsend, 1986, p.4).

 


 

Definiciones

Para ser más explícito en lo que se entiende por sistema experto, citaremos un par de definiciones: la primera perteneciente a Horacio de Cunha y Sousa Ribeiro, en su libro Introducción a los Sistemas Especialistas; y una segunda definición de Camota y Teszkiewicz del libro Sistemas Expertos y Representación del Conocimiento:
Un Sistema Especialista es aquel que es proyectado y desenvuelto para atender una aplicación determinada y limitada de conocimiento humano. Es capaz de emitir una decisión con apoyo de un conocimiento justificado, a partir de una base de información tal cual un especialista de determinada área de conocimiento humano. (p.12)

 

Un sistema experto es un programa de computación basado en conocimiento que emula a un experto humano en la resolución de un problema significativo en un dominio específico. (p.9)

 

Si nos fijamos en las definiciones anteriores podemos darnos cuenta que concuerdan en decir que un sistema experto resuelve problemas de un área limitada, simulando a un especialista.

Entenderemos por experto aquella persona que posee gran cantidad de conocimiento en un área en especial, donde esto junto a la experiencia que le van dando los años le permiten resolver problemas en forma más eficaz que la mayoría de las personas.

  


 

Desarrollo de un Sistema Experto

Aunque se ha avanzado notablemente en el proceso de desarrollo de un sistema experto, todavía es un proceso que lleva bastante tiempo de realización. Desarrollar un pequeño sistema experto por una o dos personas puede llevar unos cuantos meses; sin embargo, la implementación de un sistema experto complejo puede ocupar a un equipo de personas durante más de un año.

En el desarrollo de un sistema experto intervienen dos tipos de personas: los ingenieros del conocimiento y el(los) experto(s) del dominio. El ingeniero del conocimiento y el experto en el dominio trabajarán durante largo tiempo a través de las distintas etapas del proceso de desarrollo.

Podemos formular alguna generalización sobre la naturaleza y estructura de los sistemas expertos, también llamados sistemas especializados. A fines de los años 1970 los sistemas especializados y la ingeniería necesaria para construirlos habían desarrollodo algunas características básicas comunes, donde es el saber el elemento clave en el rendimiento de un sistema especializado.
Estructura básica de un sistema experto.

(La Quinta Generación, Pag 94)

(figura 1)

 

En alguna medida, la estructura descrita en la figura 1 muestra como el ingeniero del saber actúa en la adquisición del conocimiento, para abastecer la base que lleva ese nombre, incluyendo el modelage o diseño del motor inferencial; el especialista proporciona las pista y su conocimiento al ingeniero para el desarrollo del sistema; además la figura muestra al usuario que se comunica con el sistema central por medio de un intermediario de fácil manejo, es el usuario el que entrega los datos que motivan la consulta.

En el libro Construcción de sistemas expertos ("Constructing an Expert System", Buchanan,Bruce G., Pags.127 167), se divide el proceso de desarrollo en cinco etapas distintas, que pueden proporcionar alguna comprensión de la forma en que se desarrolla un sistema experto:

  


 

Etapas en el Desarrollo de un Sistema Experto

Primera etapa: IDENTIFICACION. Determina las características del problema. En esta etapa se pretende determinar la naturaleza del problema y los objetivos precisos que indique exactamente cómo se espera que el sistema experto contribuya a la solución de los problemas. Existirá una interacción entre experto e ingeniero. Cuando el experto en el dominio muestre distintos casos, el ingeniero del conocimiento desarrolla una "primera" descripción del problema. Normalmente el experto no esta de acuerdo con ella, o mejor dicho, no siente que se representa el problema en su totalidad, entonces el ingeniero reformulará la descripción. Esta actividad continua hasta que ambos estén de acuerdo en la descripción.

 

Segunda etapa: CONCEPTUALIZACION. Una vez que se ha identificado el problema en el cual el sistema experto debe actuar, la siguiente etapa consiste en escabar el conocimiento más fino. Encontrar conceptos que representen el conocimiento.
En el proceso de desarrollo de un sistema experto no sólo debe ser iterativa cada etapa, sino que también deben serlo las relaciones entre etapas. Como cada etapa es más detallada que la etapa anterior, cualquiera de ellas puede descubrir un fallo en la etapa precedente (A fordo pag70)
La omisión de un elemento clave en la descripción puede provocar incongruencias en la etapa de identificación, esto induce a una revisión de los objetivos. Podemos notar que el desarrollo de los sistema expertos es cíclico en estas dos etapas preliminares:

Relación iterativa entre etapas de Identificación y Conceptualización en el desarrollo de un sistema experto.

(figura 2)

 

Tercera etapa: FORMALIZACION. Designar estructuras para organizar el conocimiento. Después de haber determinado el problema en toda su magnitud, sin haberse referido a técnicas de programación o a indagar solo en los métodos que son exitosos en inteligencia artificial, es en esta etapa donde el ingeniero del conocimiento selecciona estructuras apropiadas a este sistema experto en particular. Es decir, que dan solución total o parcial al problema analizado en las etapas precedentes.
(...), una de las responsabilidades principales del ingeniero del conocimiento es analizar situaciones tipo y a partir de ellas extraer las reglas que describan el conocimiento del experto en el dominio (A fondo IA, p.71).

 

Cuarta etapa: IMPLEMENTACION. Formulación de las reglas que incorporen el conocimiento. Se pretende en esta ocasión usar las herramientas y técnicas predeterminadas para implementar una primera versión o prototipo del sistema. Este prototipo esta destinado a evaluar los progresos que se van haciendo, y por ende, retornar a etapas anteriores si es necesario.

Una vez que el sistema prototipo se ha perfeccionado lo suficiente para ser ejecutado, el sistema experto estará listo para ser probado.

 

Quinta etapa: PRUEBA. Validación de las reglas. Esta etapa sirve para identificar los puntos débiles de la estructura y de la implementación del sistema para hacer las oportunas correcciones. En especial, se extienden las bases que representan el conocimiento del especialista y se prueban problemas complejos, que por lo general requieren de una gran experiencia.

Se considera que el sistema experto esta terminado cuando realiza trabajos a nivel del especialista. Entonces, el proceso de "prueba" no esta listo hasta que las soluciones propuestas por el sistema sean tan válidas como las propuestas por el experto humano.