SISTEMAS EXPERTOS PARA TECNICOS

CREACION EN NePic DE UNA BASE DE CONOCIMIENTO DETERMINISTA PARA SOPORTE EN REPARACIONES ELECTRONICAS (PARTE 1)

Diariamente encontramos muchas situaciones complejas gobernadas por reglas deterministas: sistemas de control de tráfico, sistemas de seguridad, transacciones bancarias, etc. Los sistemas basados en reglas son una herramienta eficiente para tratar estos problemas. Además, estos sistemas, pueden ser muy útiles como soporte para realizar un diagnóstico muy eficaz, tanto de patologías en medicina, como fallas en electrónica e industria, ahorrando tiempo y esfuerzo. Las reglas deterministas constituyen la más sencilla de las metodologías utilizadas en sistemas expertos. En esta primera parte presentaremos las bases necesarias para la implementación de una base de datos que nos ayude en las tareas de reparación.

INTRODUCCION

Comencemos definiendo ¿Qué es un sistema experto?, seguramente todos hemos oído hablar de éstos, y quizás las palabras “sistema experto” suenen hasta sofisticadas, pero ya veremos que se trata de un tema muy accesible.

En la búsqueda de técnicas que logren la simulación del proceso mediante el cual los seres humanos logran solucionar problemas, pesquisa que lleva al nacimiento de la “Inteligencia Artificial”, surge la necesidad de emular a personas capacitadas en un área, resolviendo problemas de su especialidad.

Y así los sistemas expertos son máquinas que simulan el pensamiento y razonamiento que un experto en una cierta especialidad o campo haría. Por ejemplo, un sistema experto en diagnóstico de fallas de un equipo electrónico requerirá como datos los síntomas de este dispositivo, los resultados de las pruebas y mediciones realizadas, y, utilizando éstos, buscará en una base de datos la información necesaria para poder identificar la correspondiente falla. Un Sistema Experto de verdad, no sólo realiza las funciones tradicionales de manejar cantidades de datos, sino que también manipula esos datos de forma tal que el resultado sea inteligible y tenga significado para responder a preguntas incluso no completamente especificadas.

Así finalmente, un sistema experto puede definirse como un sistema informático (hardware y software) que simula a los expertos humanos en un área de especialización dada. Como tal, un sistema experto deberá ser capaz de procesar y memorizar información, aprender (o sea que se le pueda suministrar el conocimiento) y razonar en situaciones deterministas e inciertas, comunicarse con 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 prestar ayuda a (o en algunos casos sustituir completamente) a los expertos humanos con un grado razonable de fiabilidad. Con el avance de los sistemas de hardware que soportan la informática, se han desarrollado numerosas aplicaciones de sistemas expertos a muchos campos. La industria, la economía, y la medicina han sido los campos dominantes entre aquellos en los que se utilizan los sistemas expertos.

Veamos algunos ejemplos que nos ilustrarán mejor el tipo de problemas que pueden resolverse mediante sistemas expertos:

Las transacciones bancarias.
No hace mucho, para hacer una transacción bancaria, tal como depositar o sacar dinero de una cuenta, uno tenía que visitar el banco en horas de oficina. Hoy en día, esas y otras muchas transacciones pueden realizarse en cualquier momento del día o de la noche usando los cajeros automáticos que son ejemplos sencillos de sistemas expertos.

El control de tráfico.
Es una de las aplicaciones más importantes de los sistemas expertos. No hace mucho tiempo, el flujo de tráfico en las calles de una ciudad se controlaba mediante guardias de tráfico que vigilaban las intersecciones. Hoy se utilizan sistemas expertos que operan automáticamente los semáforos y regulan el flujo en las calles de una ciudad y en los ferrocarriles. Los sistemas expertos pueden utilizarse también para resolver problemas complicados de planificación de forma que se optimicen ciertos objetivos como, por ejemplo, la organización y asignación de quirófanos para la realización de intervenciones quirúrgicas en un gran hospital, de forma tal que se logren eliminar coincidencia, falta de personal, sobrecarga de trabajo, etc.

Una de las aplicaciones más importantes de los sistemas expertos tiene lugar en el campo médico, donde éstos pueden ser utilizados para contestar, por ejemplo, a las siguientes preguntas: Un paciente presenta un conjunto de síntomas, ¿qué enfermedad es la que más probablemente tiene el paciente? ¿Cuáles son las relaciones entre un conjunto (normalmente no observable) de enfermedades y un conjunto (observable) de síntomas?

Dado que el conjunto de síntomas conocidos no es suficiente para diagnosticar la enfermedad con cierto grado de certeza, ¿qué información adicional debe ser obtenida? o ¿qué pruebas médicas deben realizarse?. Estos son sólo algunos ejemplos de empleo de sistemas expertos, pero suficientes para comprender la utilidad de los mismos.

El desarrollo de un sistema experto es generalmente trabajoso, pero el mantenimiento y el costo de su uso repetido es relativamente bajo. Por otra parte, la ganancia en términos monetarios, tiempo, y precisión resultantes del uso de los sistemas expertos es muy alta.

Los problemas con los que pueden tratar los sistemas expertos pueden clasificarse en dos tipos: problemas esencialmente deterministas y problemas esencialmente probabilísticos. En las aplicaciones, la incertidumbre es lo común y no la excepción.

Por ejemplo, un planteo típico en diagnóstico médico es como vimos: dado que el paciente presenta ciertos síntomas. ¿Cuál de las enfermedades posibles es la que tiene el paciente? Esta situación implica incertidumbre puesto que: Los hechos o datos pueden no ser conocidos con exactitud. Por ejemplo, un paciente puede no estar seguro de haber tenido fiebre. Hay incertidumbre en la información asociada a cada paciente (subjetividad, imprecisión, errores, datos ausentes, etc.). Y las relaciones entre las enfermedades y los síntomas no son deterministas, o sea un mismo conjunto de síntomas puede estar asociado a diferentes enfermedades.

Por ello, son necesarios los sistemas expertos que traten situaciones de incertidumbre. Estos son los sistemas expertos probabilísticos. Nosotros, para no complicar las cosas, lidiaremos únicamente con los llamados sistemas expertos deterministas, que como vimos, de todas formas son de gran utilidad en muchas situaciones.

 
COMPONENTES DE UN SISTEMA EXPERTO Y SU FUNCIONAMIENTO

En la figura 1 podemos apreciar la composición básica de un sistema experto. Un sistema experto determinista muy sencillo, como el que crearemos está integrado por:

1. Base de conocimiento
Un sistema experto de verdad 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 o creadores del sistema, con los usuarios en mente. Los expertos humanos suministran el conocimiento básico en el tema de interés, y los creadores del sistema trasladan este conocimiento a un lenguaje, que el sistema experto pueda entender.

No quiere decir que ésta sea la única forma de obtener este conocimiento por parte de los creadores del sistema experto. El conocimiento se almacena en la base de conocimiento mediante reglas. Una regla es una afirmación lógica que relaciona dos o más objetos e incluye dos partes, la premisa y la conclusión. Cada una de estas partes consiste en una expresión lógica con una o más afirmaciones objeto-valor conectadas mediante los operadores lógicos AND, o, OR. O sea la base de conocimiento es la parte del sistema donde están los conocimientos que el sistema tiene sobre toda un área especializada, es un almacenamiento permanente.

2. Memoria de Trabajo:
Es el lugar de memoria donde el sistema carga los datos iniciales del problema específico que se tratará en ese momento y va guardando todo lo que va generando (conclusiones y resultados parciales del razonamiento). Se trata de un almacenamiento transitorio de conocimiento para solucionar ese problema particular.

3. Motor de Inferencia:
El motor de inferencia es como un módulo de software que usa los datos (hechos o evidencia) y el conocimiento (el conjunto de reglas almacenado en la base de conocimiento) para obtener nuevas conclusiones o hechos.

Por ejemplo, si la premisa de una regla es cierta, entonces la conclusión de la regla debe ser también cierta. Los datos iniciales se incrementan incorporando las nuevas conclusiones.

Por ello, tanto los hechos iniciales o datos de partida como las conclusiones derivadas de ellos forman parte de los hechos o datos de que se dispone en un instante dado. Para obtener conclusiones, los expertos utilizan diferentes tipos de reglas y estrategias de inferencia y control. En lo relativo a las reglas de inferencia, básicamente el motor puede usar:

  • Modus Ponens: es quizás la regla de inferencia mas comúnmente utilizada. Se utiliza para obtener conclusiones simples. En ella, se examina la premisa de la regla, y si es cierta, la conclusión pasa a formar parte del conocimiento. Como ilustración, supongamos que tenemos la regla, “Si A es cierto, entonces B es cierto” y que sabemos además que A es cierto. La regla Modus Ponens concluye que B es cierto. Esta regla de inferencia, que parece trivial, debido a su familiaridad, es la base de un gran número de sistemas expertos.

  • Modus Tollens: se utiliza también para obtener conclusiones simples. En este caso se examina la conclusión y si es falsa, se concluye que la premisa también es falsa. Por ejemplo, supongamos de nuevo que se tiene la regla, “Si A es cierto, entonces B es cierto” pero se sabe que B es falso. Entonces, utilizando la regla Modus Ponens no se puede obtener ninguna conclusión, pero la regla Modus Tollens concluye que A es falso.

Y las estrategias de inferencia posibles son:

  • Encadenamiento hacia delante ( forward chaining ): es una de las estrategias de inferencia más utilizadas para obtener conclusiones compuestas. Esta estrategia puede utilizarse cuando las premisas de ciertas reglas coinciden con las conclusiones de otras. Cuando se encadenan las reglas, los hechos pueden utilizarse para dar lugar a nuevos hechos. Esto se repite sucesivamente hasta que no pueden obtenerse más conclusiones. El tiempo que consume este proceso hasta su terminación depende, por una parte, de los hechos conocidos, y, por otra, de las reglas que se activan. Este algoritmo puede ser implementado de muchas formas. Una de ellas comienza con las reglas cuyas premisas tienen valores conocidos. Estas reglas deben concluir y sus conclusiones dan lugar a nuevos hechos. Estos nuevos hechos se añaden al conjunto de hechos conocidos, y el proceso continúa hasta que no pueden obtenerse nuevos hechos.

  • Encadenamiento hacia atrás (backward chaining): comenzamos proponiendo una solución hipótesis del problema, entonces el algoritmo navega hacia atrás a través de las reglas en búsqueda de una conclusión que confirme dicha hipótesis. Si no se obtiene ninguna conclusión con la información existente, entonces el algoritmo fuerza a preguntar al usuario en busca de nueva información sobre los elementos que son relevantes para obtener información sobre la hipótesis objetivo.

4. Interfaz con el usuario:
Permite la interacción con el usuario humano, a través del ingreso de datos del problema de interés, lecturas del proceso, solicitud de datos adicionales (si fuera necesario) y presentación de las conclusiones.

De todas maneras, como creadores de nuestro propio sistema experto, no necesitaremos conocer más profundamente el funcionamiento de cada uno de estos elementos, ya que vienen softwares comerciales que se dedican al manejo de los datos. Estos nos permitirán crear un sistema experto, en cualquier área que nos interese, solamente sabiendo cómo cargarle las reglas que le permitan resolver problemas de ese área específica.

 
Autor: Sergio Raúl Richter / E-mail: sergioraulrichter@yahoo.com.ar
Con la colaboración de Mariana Ortúzar
FIGURA 1
 
 
 
 
 
PROMOCIONES
 
 
PROMOCIONES
 
 
PROMOCIONES
 
 
PROMOCIONES
 
 
PROMOCIONES
 
 
PROMOCIONES
 
 
 
PROMOCIONES