- Resumen
- La
Inteligencia Artificial (IA) - Sistemas Expertos
(SE) - Componentes de
un Sistemas Experto - Campos de
aplicación - Ventajas y Desventajas de los
Sistemas Expertos - Ejemplos
de Sistemas Expertos - Conclusiones
- Bibliografía
Desde que naciera la Inteligencia
Artificial como tal ciencia, a
principios
de los 60, hasta la actualidad, se han venido realizando
numerosos trabajos, para el desarrollo
de los diversos campos que componen la Inteligencia
Artificial. De todos esos campos, quizá el que puede
tener mayor número de aplicaciones prácticas sea
el de los Sistemas
Expertos, siendo dichas aplicaciones de utilidad en
temas tan variados que pueden ir desde la medicina
hasta la enseñanza.
Palabras claves: Sistemas
Expertos, inteligencia, conocimiento, razonamiento
En palabras de un gran matemático, Blaise
Pascal: "Como
no se puede ser universal y saber todo acerca de todo, es
mejor saber un poco de cada tema, que saber todo sobre un
solo tema ", así fue como inició la inquietud
de los investigadores en los años 40, con la idea de
un sistema
general de resolución de problemas
(General Problem Solver: GPS), que
por medio de una serie de algoritmos
basados en análisis, más o menos
exhaustivos, fuera capaz de resolver toda clase de
problemas relativos a juegos de
estrategias y demostraciones
automáticas. La ambición era grande, así
como lo fue la decepción que tuvieron al ver que a
pesar de los progresos teóricos y de algunos programas
espectaculares, no obtuvieron los resultados que se
esperaban. [CAST]- Introducción
Entonces se da un cambio en
la dirección del problema, se
enfocarían en un dominio
específico, y recurriendo al conocimiento sobre el
tema obtenido de las mismas personas, pretenden simular el
razonamiento de un experto humano ante alguna
situación.Así es como surge una de las ramas de mayor
avance dentro de la Inteligencia Artificial, los Sistemas
Expertos; con la idea de automatizar la labor del experto,
partiendo en ocasiones de información insuficiente o
incompleta.Este artículo presentará una introducción al amplio tema de la
Inteligencia Artificial, para luego llegar al campo de los
Sistemas Expertos, dándonos una descripción general de lo que es,
revisando su concepto,
estructura, campos de aplicación y
ejemplos que fortalezcan la comprensión de los
mismos.La Inteligencia Artificial comenzó como el
resultado de la investigación en psicología
cognitiva y lógica matemática. Se ha enfocado en la
explicación del trabajo
mental y construcción de algoritmos de
solución a problemas de propósito
general.La Inteligencia Artificial es una combinación
de la ciencia del computador, fisiología y filosofía, tan
general y amplio como eso; reúne varios campos
(robótica, sistemas expertos, por
ejemplo), todos los cuales tienen en común la
creación de máquinas que pueden
"pensar".La idea de construir una máquina, que pueda
ejecutar tareas que parecen necesitar de la inteligencia
humana para llevarse a cabo es un atractivo. Las tareas que
han sido estudiadas desde este punto de vista incluyen
juegos, traducción de idiomas,
comprensión de idiomas, diagnóstico de fallas, robótica,
suministro de asesoría experta en diversos
temas.Es así como los sistemas de administración de base de
datos cada vez más sofisticados, la estructura de
datos y el desarrollo de algoritmos de inserción,
borrado y locación de datos,
así como el intento de crear máquinas capaces
de realizar tareas que son pensadas como típicas del
ámbito de la inteligencia humana, acuñaron el
término Inteligencia Artificial en 1956.Trabajos teóricos fundamentales fueron el
desarrollo de algoritmos matemáticos por Warren
McCullock y Walter Pitts, en 1943, necesarios para
posibilitar el trabajo
de clasificación, o funcionamiento en sentido general,
de una red
neuronal. En 1949 Donald Hebb desarrolló un algoritmo
de aprendizaje
para dichas redes
neuronales creando, en conjunto con los trabajos de
McCullock y Pitts, la escuela
creacionista. Esta escuela se considera hoy como el origen de
la Inteligencia Artificial, sin embargo se trató poco
por muchos años, dando paso al razonamiento
simbólico basado en reglas de producción, lo que se conoce como
sistemas expertos.- Inteligencia
artificial (IA)Un Sistema Experto es una aplicación informática que simula el comportamiento de un experto humano, en el
sentido de que es capaz de decidir cuestiones, aunque sea en
un campo restringido.Para esto, se debe tener en cuenta que la principal
característica del experto humano viene a ser el
conocimiento o habilidades profundas en ese campo
concreto,
por consiguiente, un Sistema Experto debe ser capaz de
representar ese conocimiento profundo con el objetivo
de utilizarlo para resolver problemas, justificar su
comportamiento e incorporar nuevos conocimientos. Se
podría incluir también el hecho de poder
comunicarse en lenguaje
natural con las personas, aunque esta capacidad no es tan
determinante como las anteriores de lo que se puede definir
como Sistema Experto [IBAR].Un experto humano es alguien con un conocimiento
profundo, que no solamente soluciona problemas
específicos sino que también los pone dentro de
un contexto más amplio. Ellos "transfieren" todos sus
conocimientos y experiencias a una computadora que posiblemente los sustituya en
su labor. Pero los sistemas aún carecen de algo que
tal vez jamás vayan a tener: Inteligencia
natural.Los sistemas expertos se aplican por norma general
en problemas que implican un procedimiento
basado en el conocimiento. O sea, un procedimiento que
comprende la utilización de normas o
estructuras que contengan conocimientos y
experiencias de expertos, deducción lógica de
conclusiones, capacidad de interpretar datos ambiguos y la
manipulación de conocimientos afectados por la
probabilidad.La mejor forma de entender el funcionamiento de un
Sistema Experto es conociendo los componentes que conforman
la estructura del mismo, y las funciones que
desempeñan individualmente. Dichos componentes se
tratarán seguidamente. - Sistemas
Expertos (SE) - Componentes de un
Sistema Experto
Aunque los componentes de un Sistema Experto no se
manejan de forma estándar, nos encontramos con un modelo
tradicional en la estructura de los mismos.
Para ver el gráfico seleccione la
opción "Descargar" del menú superior
Figura 1 Modelo de un Sistema Experto [CANC]
El conocimiento del experto se obtiene de alguna forma
(Subsistema de adquisición de conocimientos) y se
organiza en una base de conocimientos, y en función de
los datos disponibles de la aplicación (base de hechos
o base de datos) se imita la forma de actuar del experto
explorando en la base de conocimientos hasta encontrar la
solución (motor de inferencia). Los resultados
finales y la forma en que se obtienen se expresan a través
de la interfase hombre-máquina [ver Figura 1].
Además algunos sistemas expertos manejan un componente de
explicación.
A continuación se explican de forma individual
cada uno de los componentes, iniciando con el subsistema de
adquisición de conocimientos.
-
El módulo de adquisición del
conocimiento permite que se puedan añadir, eliminar o
modificar elementos de conocimiento (en la mayoría de
los casos reglas) en el sistema experto. Si el entorno es
dinámico es muy necesario, puesto que, el sistema
funcionará correctamente sólo si se mantiene
actualizado su conocimiento. El módulo de
adquisición permite efectuar ese mantenimiento, anotando en la base de
conocimientos los cambios que se producen [CHAP].Todos los conocimientos que se obtienen deben ser
estructurados de una forma correcta, todo este conocimiento
se almacena en lo que se conoce como la base de
conocimientos. - Subsistema
de adquisición de ConocimientosLa base de conocimientos contiene el conocimiento
especializado extraído del experto en el dominio. Es
decir, contiene conocimiento general sobre el dominio en el
que se trabaja [SAMP].El enfoque más común para representar
el dominio del conocimiento que se requiere para un Sistema
Experto son las reglas de producción. Estas pueden ser
referidas como reglas “
situación-acción" o “ if-then".
De esta forma, con frecuencia una base de conocimientos esta
fraguada principalmente de reglas, las cuales son invocadas
por un casamiento de patrones con las particularidades de las
tareas circunstanciales que van apareciendo en la base de
datos global.Un ejemplo de regla de producción
es:Si (*Persona edad
18)and (*Persona sexo
masculino)Entonces (*Persona hacer
Servicio_militar)La regla anterior determina que si una persona tiene
18 años y además es de sexo masculino,
deberá hacer el servicio
militar.Existen reglas de producción que indican bajo
que condiciones deben considerarse unas reglas en vez de
otras, estas reglas son conocidas como Metareglas. Un ejemplo
de Metaregla es:Si(paciente edad_avanzada)
entonces(reglas enfermedades_ancianos)
La Metaregla anterior determina que si un paciente
es de edad avanzada, deberán aplicarse las reglas de
enfermedades
en ancianos, en lugar de utilizar las de enfermedades en
jóvenes por ejemplo.La fuerza de
un Sistema Experto yace en el conocimiento específico
del dominio del problema. Casi todos los sistemas existentes
basados en reglas contienen un centenar de ellas y
generalmente se obtienen de entrevistas con expertos durante un tiempo
largo. En cualquier Sistema Experto, las reglas se conectan
una a otra por ligas de asociación para formar
redes de
reglas. Una vez que han sido ensambladas tales redes,
entonces tenemos una representación de un cuerpo de
conocimientos que es substancial.Generalmente, un experto tiene muchas reglas de
criterio o empíricas por lo que el soporte suele ser
incompleto para la evidencia que se dispone. En tales casos
una técnica es la de vincular valores
numéricos a cada regla para indicar el grado de
certidumbre que ésta tiene.En la operación de Sistemas Expertos los
valores de certidumbre se combinan unos a otros a
través de la red, considerando
también, la certidumbre de los datos de entrada del
problema, para llegar finalmente a un valor de
certidumbre de la solución final [CHAP].Pero no es suficiente con conocer la base de
conocimientos para entender la estructura y el funcionamiento
de los Sistemas Expertos, otro de los componentes esenciales
de estos sistemas, es la base de datos o base de
hechos. - Base de
ConocimientosLa base de datos o base de hechos es una parte de
la memoria
del ordenador que se utiliza para almacenar los datos
recibidos inicialmente para la resolución de un
problema.Contiene conocimiento sobre el caso concreto en que
se trabaja. También se registrarán en ella las
conclusiones intermedias y los datos generados en el proceso de
inferencia. Al memorizar todos los resultados intermedios,
conserva el vestigio de los razonamientos efectuados; por lo
tanto, se puede utilizar explicar las deducciones y el
comportamiento del sistema [SAMP].Todos estos datos no son suficientes, si no se tiene
un sistema encargado de procesar y manipular toda la
información para generar los resultados deseados, este
sistema es conocido como Motor de
inferencia. - Base
de Datos o Base de HechosEl motor de inferencia es el "supervisor", un
programa que
está entre el usuario y la base de conocimientos, y
que extrae conclusiones a partir de los datos
simbólicos que están almacenados en las bases
de hechos y de conocimiento. Dependen en gran medida de la
representación elegida; por su importancia
analizaremos los motores de
inferencia basados en reglas [CANC].Existen varios algoritmos de búsqueda a lo
largo de las reglas para inferir conclusiones a partir de los
hechos y las reglas. Todos los algoritmos son del tipo
"pattern-matching", van disparando reglas a medida que se
cumplen las condiciones. Se pueden diferenciar dos mecanismos
de inferencia: Encadenamiento hacia delante y encadenamiento
hacia atrás.La llamada "técnica de encadenamiento hacia
adelante" consiste en aplicar al conocimiento-base
(organizado en forma de reglas de producción), junto
con otro conocimiento disponible, el esquema inferencial
modus ponens. Esta estrategia
se denomina "encadenamiento hacia adelante" o "razonamiento
de datos dirigidos", porque comienza con los datos conocidos
y aplica el modus ponens sucesivamente hasta obtener los
resultados que se siguen. Las reglas se aplican "en
paralelo", o sea, en cualquier iteración una regla
toma los datos cuales eran al principio del ciclo, por lo
tanto el conocimiento-base y el sistema no dependen del orden
en el que las reglas son establecidas, almacenadas o
procesadas. Esta técnica suele utilizarse cuando la
cantidad de datos es potencialmente muy grande, y resulta de
interés algún conocimiento
específico tomado en consideración (caso
típico en los problemas de diagnóstico; MYCIN,
por ejemplo).La técnica del "encadenamiento hacia
atrás" consiste en tratar de probar un dato (o
conocimiento) engarzándolo en las reglas-base con el
esquema de inferencia modus ponens, o sea, tomando al dato
como un consecuente y buscando en el conocimiento-base el
correspondiente antecedente, a través de los pasos
correspondientes.Estas dos formas de inferencia se corresponden con
los dos métodos lógicos clásicos
conocidos por varios nombres: método resolutivo / método
compositivo; análisis / síntesis. La distinción se basa
en la relación direccional entre objetivos
y datos. Y ambas formas pueden combinarse en el razonamiento.
Cabe partir de un supuesto inicial, inferir una
conclusión mediante un razonamiento hacia adelante y
luego establecer un encadenamiento hacia atrás hasta
encontrar los datos que confirman esa conclusión
[VELA].Es importante destacar que la base de conocimientos
y el motor de inferencia son sistemas independientes, por lo
que se han desarrollado herramientas que únicamente necesitan
la implementación del conocimiento, llevando
incorporado el motor de inferencia [CANC].La forma en que se obtiene o se presenta la
información debe ser tal, que facilite la
comprensión de los datos y la forma como se ingresa la
información, por lo cuál es necesario la
interfase Hombre-Máquina. - Motor de
InferenciaLa interface establece una comunicación sencilla entre el usuario
y el sistema. El usuario puede consultar con el sistema a
través de menús, gráficos, o algún otro tipo de
intefases, y éste le responde con resultados.
También es interesante mostrar la forma en que extrae
las conclusiones a partir de los hechos. En sistemas
productivos se cuida la forma de presentar al operador las
órdenes obtenidas del sistema experto, debido a que
información excesiva o confusa dificulta la
actuación en tiempo real [CANC].Aunque no se maneja dentro de la estructura de un
Sistema Experto en general, existe un componente adicional,
el componente de explicación, el cuál se
tratará a continuación. - Interfase
Hombre-Máquina - Componente de
explicación
El componente de explicación es el que permite
justificar y explicar el análisis completo del problema y
las soluciones
propuestas, así como la semejanza o diferencia entre dicha
solución y las de los casos históricos.
A pesar de su importancia, aún no se ha podido
cumplir de manera óptima con sus requisitos. Muchos
representan el progreso de la consulta al sistema de forma
gráfica. Además los componentes explicativos
intentan justificar su función rastreando hacia
atrás el camino de la solución. Aunque encontrar la
forma de representar finalmente en un texto lo
suficientemente inteligible las relaciones encontradas depara las
mayores dificultades [CRIA].
Es importante conocer a parte de la estructura de un
Sistema Experto, en que campos cobran mayor relevancia, y cual
sería su función en él.
Un sistema experto es muy eficaz cuando tiene que
analizar una gran cantidad de información,
interpretándola y proporcionando una
recomendación a partir de la misma, a
continuación una tabla mostrando el uso de los
Sistemas Expertos ante distintos problemas.Para ver el gráfico
seleccione la opción "Descargar" del menú
superiorFigura 2 Modelos
Funcionales de los Sistemas Expertos [6]A pesar de que los campos de aplicación son
grandes, es importante conocer las ventajas y desventajas que
se presentan para la utilización de y Sistema
Experto.- Campos
de aplicación - Ventajas y Desventajas de los Sistemas
Expertos
A la hora de tomar la decisión de desarrollar un
Sistema Experto, se deben analizar las distintas ventajas y
desventajas que estos tienen.
Entre las principales ventajas de un Sistema Experto, se
pueden mencionar:
- Los Sistemas Expertos que se codifican y tratan el
conocimiento de un experto, alcanzan el nivel de prestaciones
de un experto humano. - La separación entre base de conocimiento y
motor de inferencia proporciona una gran flexibilidad al
Sistema. - Los Sistemas Expertos permiten llegar a una
reflexión sobre el conocimiento y los procedimientos,
para toma de
decisiones realizados por los expertos. - Posibilidad de trazar el razonamiento seguido por el
Sistema Experto. - Algunos Sistemas Expertos utilizan coeficientes de
verosimilitud para ponderar sus deducciones [CAST]. - En manipulación de símbolos, los Sistemas Expertos abren el
campo a nuevas aplicaciones, no automatizadas hasta la fecha
[CAST].
Aunque son grandes las ventajas, no hay que dejar de
lado las desventajas que se pueden presentar:
- La publicidad
realizada alrededor de esta técnica seduce a muchas
personas pero crea aspiraciones imposibles de
satisfacer. - La extracción del conocimiento es el problema
más complejo que se les plantea a los ingenieros de
conocimientos. - Ciertos problemas están ligados a la
representación del conocimiento. - Los SE son incapaces de reconocer un problema para el
que su propio conocimiento es inaplicable o
insuficiente. - Los motores de inferencia poseen algunos límites.
- Las interfaces con usuarios no son lo suficientemente
amigables. - Las aplicaciones suministradas por los SE son,
frecuentemente, esotéricas. - Falta personal
competente para investigar y desarrollar
aplicaciones. - Campo de aplicaciones restringido y
específico. - El costo es
bastante alto.
Aunque se conozcan las ventajas y las desventajas de los
Sistemas Expertos, no se logra una visión clara de los
Sistemas Expertos y su capacidad, hasta que se conocen algunos
ejemplos en aplicaciones reales.
A continuación se presentan algunos Sistemas
Expertos que se han desarrollado para la solución de
diversos problemas.
- MYCIN es un Sistema Experto para la
realización de diagnósticos en el área de
la medicina, iniciado por Ed Feigenbaum y posteriormente
desarrollado por E. Shortliffe y sus colaboradores. Su
función es la de aconsejar a los médicos en la
investigación y determinación de
diagnósticos en el campo de las enfermedades
infecciosas de la sangre[CRIA]. - XCON es un Sistema Experto para configuraciones,
desarrollado por la Digital Equipment Corporation. Según
los deseos individuales del cliente se
configuran redes de ordenadores VAX. Ya que el abanico de
productos
que se ofrecen en el mercado es
muy amplio, la configuración completa y correcta de un
sistema de estas características es un problema de gran
complejidad. Responde esencialmente a dos preguntas:
¿Pueden conjugarse los componentes solicitados por el
cliente de forma conveniente y razonable? Y ¿Los
componentes de sistema especificados son compatibles y
completos?. Las respuestas a estas preguntas son muy
detalladas. XCON es capaz de comprobar y completar los pedidos
entrantes mucho más rápido y mejor que las
personas encargadas de hacerlo antes que él
[CRIA]. - DELTA, sistema experto que ayuda a los
mecánicos en el diagnóstico y reparación
de locomotoras diesel-eléctricas, DELTA no sólo
da consejos expertos, sino que también presenta
informaciones por medio de un reproductor de vídeo
[IBAR]. - En 1978 se desarrollo otro sistema experto de
éxito: PROSPECTOR. Este quizás
impulso más la carrera por desarrollar mejores sistemas
expertos, dado que su misión
era predecir la posibilidad de encontrar depósitos de
minerales en
una región en concreto. Minerales como petróleo, gas natural,
helio.
La composición de un Sistema Experto, sus
aplicaciones, ventajas y desventajas, y algunos ejemplos
sobre estos; han sido los puntos generales que se han tratado
a lo largo de este artículo, con el fin de crear una
mayor conciencia
del uso real de este tipo de sistemas.Un sistema experto puede, sin duda alguna, darnos el
mismo resultado que un experto humano; lo que sí
debemos reconocer es que ningún sistema experto, hasta
ahora, puede resolver diferentes problemáticas dentro
de una empresa,
ya que estos son siempre muy específicos. Sin embargo,
es de esperarse que con los avances que tienen las
herramientas tecnológicas se produzcan un desarrollo
cercano al comportamiento
humano en muchas áreas, con estos avances en el
terreno de los negocios
se podría ser más eficiente y
productivo.A pesar de los dramáticos avances logrados,
la inteligencia artificial no ha sido capaz de desarrollar
sistemas capaces de resolver problemas de tipo general, de
aplicar sentido común para la solución de
situaciones complejas, de manejar situaciones ambiguas ni de
utilizar efectivamente información incompleta. Estas
últimas son características inherentes de la
inteligencia natural.- Conclusiones
- Bibliografía
[CANC] Canca, J. "Sistemas Expertos". Esi2.us.es.
URL: http://www.esi2.us.es/~dco/sistemas.htm
[CAST] Castro, G. "Tendencias de los Sistemas
Expertos". Netmedia.info
URL:
http://www.netmedia.info/netmedia/articulos.php?id_sec=32&id_art=2255
[CHAP] Chapa, S. "Arquitectura de
Sistemas Expertos". URL:
http://delta.cs.cinvestav.mx/~schapa/red/intro_lm/node46.html
[CRIA] Criado, J. "Sistemas Expertos" Worldonline.es
URL: http://home.worldonline.es/jmariocr/
[IBAR] Ibarreta, J. "Sistemas Expertos: Áreas de
aplicación". Geocities. URL:
http://www.geocities.com/javierml.geo/doc/SistemasExpertos.html
[SAMP] Samper, J. "Sistemas Expertos: El conocimiento al
poder". Psicología.com URL:
http://www.psycologia.com/articulos/ar-jsamper01_2.htm
[VELA] Velarde, J. "Sistemas Expertos" . Ucm.es
URL:
http://www.ucm.es/info/eurotheo/diccionario/S/sistemas_expertos.htm
Realizado por:
Selim Díaz Araya
Ruddy Vargas Carcache
Escuela de Ciencias de la
Computación e
Informática,
Universidad de Costa Rica
Sede Rodrigo Facio
Facultad de Ingeniería
2004