¿Qué es un sistema experto?
Es un programa de computadora interactivo que contiene la experiencia, conocimiento y habilidad propios de una persona o grupos de personas en un área particular del conocimiento humano,
creados con el fin de resolver problemas específicos en esa área de conocimiento de manera inteligente y satisfactoria.
Ejemplos de Sistemas expertos
Transacciones bancarias: Anteriormente para realizar una transacción bancaria (depositar o extraer dinero de una cuenta) había que visitar el banco en horas de oficina. Hoy en día, estas y otras transacciones pueden realizarse en cualquier horario utilizando los cajeros automáticos o comunicándose a través de la línea telefónica.
Control de tráfico: Tiempo atrás el flujo de tráfico en las calles se controlaba por guardias de tráfico. Hoy se utilizan sistemas expertos que operan automáticamente los semáforos y regulan el flujo del tráfico en las calles de una ciudad.
Problemas de planificación: En este aspecto se pueden utilizar sistemas expertos para la asignación y la organización de aulas en una gran universidad.
Diagnóstico médico: En este campo se requerirían como datos los síntomas del paciente, los resultados de análisis clínicos y otros hechos relevantes; utilizando estos buscaría en una base de datos la información necesaria para poder identificar la correspondiente enfermedad.
Ejemplos
Primeros Sistemas Expertos
MYCIN Stanford (Buchanan – Shortliffe 1976): Diagnóstico y tratamiento de enfermedades infecciosas (aprox. 500 reglas). Introduce factores de certeza.
PROSPECTOR Stanford-US Geological Survey (Duda-Gashning-Hart, 1979): Evaluación de yacimientos minerales y petrolíferos. (aprox 1600 reglas). Probabilidades condicionales y Teorema de Bayes.
R1 Carnegie Mellon (Mc Dermott): Configuración de ordenadores VAX (aprox 500 reglas). Descompone el diseño en distintos niveles de abstracción.
MOLGEN Stanfort (Stefik): Diseño de experimentos genéticos. Utiliza abstracción.
INTERNIST Pittsburg (Pople-Myers, 1977): Diagnóstico en Medicina interna. CADUCEUS: Analiza relaciones causales.
CASNET Rutgens (Kulikowsky-Weiss-Safir, 1977): Oftalmología. Aplica un modelo causal para el diagnóstico de glaucoma.
DENTRAL: calcula y describe hechos sobre las moléculas a partir de datos químicos.
MICYN: dignáosla infecciones en la sangre y meningitis, además aporta el medicamento que se debe de usar ante cada situación.
PUFF: diagnostica y da tratamiento a enfermedades de pulmón.
MOLGENO: ayuda a trabaja en el campo del ADN y de la ingeniera genética.R1: Ayuda a descubrir yacimientos petroleros debajo de aguas marinas.Entre otros.
Xcon (Sistema Experto para configuración de Ordenadores) XCON es un Sistema Experto para configuraciones desarrollado por la Digital Equipment Corporation. XCON es capaz de comprobar y completar los pedidos entrantes mucho más rápido y mejor que las personas encargadas hasta ahora de esa labor.
COACH (Cognitive Adaptive Computer Help) Permite crear ayuda personalizada al usuario. Es un observador de las acciones del usuario que está aprendiendo a operar un ambiente, y en base a ellas construye un modelo adaptativo del usuario.
PROGRAMMERS APPRENTICE: Se trata de un sistema que ayuda a la escritura de programas.
EURISKO: Sistema experto capaz de aprender a medida que funciona, que crea circuitos microelectricos tridimensionales
GENESIS: Permite a los científicos planificar y simular experimentos en el campo de la unión de genes
EXPERT SYSTEMAS TO COMBAT INETRNATIONAL TERRORRISM: ayuda a los expertos a la escritura de programas
TWIRL: Simulaciones de guerras completas y guía de mejores acciones posibles a realizar, en casi todas las situaciones.
RI: Programa utilizado para el descubrimiento de yacimientos petrolíferos bajo aguas marinas.
Componentes de un Sistema experto
Los principales componentes son:
Base de Conocimiento: Contiene el conocimiento y la experiencia de los expertos en un dominio determinado, convenientemente codificado, estructurado y formalizado para el posterior uso del mismo
Motor de Inferencia: También llamado intérprete de reglas, es un módulo que se encarga de las operaciones de búsqueda y selección de las reglas a utilizar en el proceso de razonamiento. Por ejemplo, al tratar de probar una hipótesis dada, el motor de inferencia irá disparando reglas que irán deduciendo nuevos hechos hasta la aprobación o rechazo de la hipótesis objetivo.
Base de Hechos: una memoria temporal auxiliar que almacena los datos del usuario, datos iniciales del problema, y los resultados intermedios obtenidos a lo largo del proceso de resolución. A través de ella se puede saber no sólo el estado actual del sistema sino también cómo se llegó a él.
Interfaz de Usuario: Gobierna el diálogo entre el sistema y el usuario. Para el desarrollo de estas interfaces algunas herramientas de desarrollo incorporan generadores de interfaz de usuario o bien se utilizan herramientas de desarrollo de interfaces gráficas existentes en el mercado.
Otros módulos que forman parte de este tipo de herramientas son los siguientes:
Módulo de comunicaciones: permite al sistema experto interactuar con otros sistemas.
Módulo de explicaciones: ayuda al ingeniero de conocimiento a refinar el funcionamiento del motor de inferencia, y al experto a la hora de construir y verificar la coherencia de la base de conocimiento. Sirve para explicar al usuario tanto las reglas usadas como el conocimiento aplicado en la resolución de un determinado problema.
Módulo de adquisición de conocimiento: permite al ingeniero de conocimiento, y/o experto, la construcción de la base de conocimiento de una forma sencilla, así como disponer de una herramienta de ayuda para actualizar la base de conocimiento cuando sea necesario.
Los componentes de que consta un SE se encuentran reflejados en la siguiente figura.
Desarrollo de un Sistema Experto
Planteamiento del problema: Se trata de la definición del problema a resolver, es la etapa más importante para el desarrollo de un sistema experto.
Encontrar expertos humanos que puedan resolver el problema: En algunos casos, 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 interface de usuario, etc.
Elección de la herramienta de desarrollo o lenguaje de programación: Debe decidirse si realizar un sistema experto a medida o utilizar una herramienta o un lenguaje de programación.
Desarrollo y prueba de un prototipo: Si el prototipo no pasa las pruebas requeridas, las pruebas anteriores (con las modificaciones apropiadas) deben ser repetidas hasta obtener 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.
Bibliografía
- Arrúa, Luciana Meza Fernández, Eduardo. INTELIGENCIA ARTIFICIAL. Sistemas Expertos. 2OO3. pp 2 – 3, 5-8.
- Enrique Castillo, José Manuel Gutiérrez, y Ali S. Hadi. Sistemas Expertos y Modelos de Redes Probabilísticas.
- Pignani Juan Manuel. SISTEMAS EXPERTOS Orientación I: Informática aplicada a la Ingeniería de Procesos 1. pp 3- 5.