- Definición de inteligencia
artificial - Diferencia entre la
inteligencia natural y la artificial - Historia de la
IA - Prueba de
Turing - Visión general de la
inteligencia artificial - Naturaleza de la
inteligencia - Principales ramas de la
IA - Características de un
SE - Capacidades de los
SE - Cuando usar los
SE - Componentes de los
SE - Desarrollo de los
SE - Participantes en el desarrollo
y utilización de los SE - Herramientas y técnica
para el desarrollo de sistemas expertos - Ventajas de los Shells y los
productos de SE - Alternativas de desarrollo de
SE - Aplicaciones de los SE y de la
IA
Una definición estrecha del término
"inteligencia"
es "la habilidad de aprender". Cuanto mejor equipada esté
una persona con
herramientas
mentales para aprender y aplicar nuevas ideas, mayor será
su inteligencia. Es decir, inteligencia es la aptitud para
aprender y también para pensar.
DEFINICIÓN DE INTELIGENCIA
ARTIFICIAL
- Es una de las áreas de las ciencias
computacionales encargadas de la creación de hardware y
software
que tenga comportamientos inteligentes. - La IA es la ciencia
que enfoca su estudio a lograr la comprensión de
entidades inteligentes. Es evidente que las computadoras que posean una inteligencia a
nivel humano (o superior) tendrán repercusiones muy
importantes en nuestra vida diaria.
DIFERENCIA ENTRE LA INTELIGENCIA NATURAL Y LA
ARTIFICIAL
Atributos | Inteligencia Natural | Inteligencia Artificial |
Capacidad de usar detectores | Alta | Baja |
Capacidad de ser creativo | Alta | Baja |
Capacidad de aprender de la | Alta | Baja |
Capacidad de adaptación | Alta | Baja |
Capacidad de permitirse el costo | Alta | Baja |
Capacidad de usar diversas fuentes de | Alta | Alta |
Capacidad de adquirir una gran cantidad de | Alta | Alta |
Capacidad de realizar cálculos | Baja | Alta |
Capacidad de transferir | Baja | Alta |
Capacidad de hacer una serie de cálculos | Baja | Alta |
En 1937 el matemático inglés
Alan Mathison Turing (1912-1953) publicó un
artículo de bastante repercusión sobre los
"Números Calculables", que pueden considerarse el origen
oficial de la Informática Teórica.
En este artículo, introdujo la Máquina de
Turing, una entidad matemática
abstracta que formalizó el concepto de
algoritmo y
resultó ser la precursora de las computadoras digitales.
Con ayuda de su máquina pudo demostrar que existen
problemas
irresolubles que ningún ordenador será capaz de
solucionar, por ello Turing es considerado el padre de la
teoría
de la computabilidad.
También se le considera el padre de la
Inteligencia Artificial, por su famosa Prueba de Turing, que
permitiría comprobar si un programa de
ordenador puede ser tan inteligente como un ser
humano.
Dos personas y un computador,
una de las personas es un interrogador y la otra persona y el
computador son los elementos a ser identificados.
Cada uno de los elementos está en un cuarto
distinto.
La comunicación entre los elementos es escrita
y no se puede ver.
Después de un cierto número de preguntas y
respuestas, sí el interrogador no puede identificar
quién es el computador y quién la persona, entonces
podemos decir que el computador piensa.
Hoy por hoy, el trabajo que
entraña programar una computadora
para pasar la prueba es considerable. La computadora
debería ser capaz de lo siguiente:
Procesar un lenguaje
natural: Para así poder
establecer comunicación satisfactoria, sea en español,
inglés o en cualquier otro idioma humano.
Representar el conocimiento: Para guardar toda la
información que se le haya dado antes o durante el
interrogatorio. Utilización de Base de Datos
para receptar preguntas y luego almacenarlas.
Razonar automáticamente: Utiliza la
información guardada al responder preguntas y obtener
nuevas conclusiones o tomar decisiones.
Autoaprendizaje de la máquina: Con el
propósito de adaptarse a nuevas circunstancias. El
autoaprendizaje conlleva a la auto-evaluación.
Para aprobar la prueba total de Turing, es necesario que
la computadora esté dotada de:
Vista: Capacidad de percibir el objeto que se
encuentra en frente suyo.
Robótica: Capacidad para mover el objeto
que ha sido percibido.
La IA ha pasado por diversas situaciones:
El término fue inventado en 1956, en un congreso
en el que se hicieron previsiones triunfalistas a diez
años que jamás se cumplieron, lo que provocó
el abandono casi total de las investigaciones
durante quince años.
En 1980 la historia se repitió
con el desafío japonés de la quinta
generación, que dio lugar al auge de los sistemas
expertos, pero que no alcanzó muchos de sus objetivos, por
lo que este campo ha sufrido una detención en los
años noventa.
En la actualidad estamos tan lejos de cumplir la famosa
prueba de Turing como cuando se formuló: Existirá
Inteligencia Artificial cuando seamos capaces de distinguir entre
un ser humano y un programa de computadora en una
conversación a ciegas
Como anécdota, muchos de los investigadores sobre
la IA sostienen que "la inteligencia es un programa capaz de ser
ejecutado independientemente de la máquina que lo ejecute,
computador o cerebro".
VISIÓN GENERAL DE LA INTELIGENCIA
ARTIFICIAL
Estos sistemas ayudan a elaborar diagnósticos
médicos, explorar en busca de recursos
naturales, determinar errores en dispositivos
mecánicos y ayudar en el diseño
y puesta en operación de otros sistemas de computación.
Los sistemas de inteligencia artificial incluyen a las
personas, los procedimientos,
el hardware y software, los datos y los
conocimientos necesarios para desarrollar sistemas, y máquinas
de computación que presenten características de
inteligencia. El objetivo del
desarrollo de
sistemas de IA contemporáneos no es el reemplazo completo
de la toma de
decisiones de los humanos, pero sí duplicarlas para
ciertos tipos de problemas bien definidos.
Aprender de la experiencia y aplicar el
conocimiento adquirido de ésta: Esto no es
natural de los sistemas de computación, por ello se debe
tener la capacidad de programar en forma cuidadosa. En la
actualidad los investigadores desarrollan sistemas que tienen
esta capacidad, por ejemplo los juegos de
ajedrez de IA
pueden aprender a mejorar su juego mientras
se enfrenta a competidores humanos.
Mejorar situaciones complejas: Desarrollo
de sistemas computacionales que puedan manejar situaciones
confusas requieren de una planeación
cuidadosa y complicada… porque incluso los humanos cometen
errores.
Solucionar problemas cuando se carece de
información importante: La esencia de la toma de
decisiones es hacer frente a la incertidumbre. En la actualidad,
los IA pueden hacer cálculos, comparaciones y tomar
decisiones importantes incluso con poca
información.
Determinar qué es importante: El conocimiento
de lo verdaderamente importante es lo que distingue a un buen
tomador de decisiones. El desarrollo de programas y
métodos,
que permitan a los sistemas y máquinas de
computación identificar la información importante,
no es una tarea sencilla.
Reaccionar en forma rápida y correcta a una
nueva situación: Las computadoras no tienen esta
capacidad sin una programación complicada.
Comprender imágenes
visuales: La interpretación de imágenes visuales
puede implicar gran dificultad, incluso para las computadoras
más sofisticadas. Moverse a través de una
habitación con sillas, mesas y otros objetos puede ser un
asunto sin importancia para las personas, pero es extremadamente
complejo para las máquinas, los robots y las computadoras.
Estas computadoras requieren una extensión de la
comprensión de las imágenes visuales, conocida como
sistema
perceptivo. Contar con un sistema perceptivo le permite a una
máquina aproximarse a la forma en que el ser humano ve,
oye y siente los objetos.
Procesar y manipular símbolos: Aunque las computadoras son
excelentes para cálculos numéricos, no son tan
eficientes cuando tienen que tratar con símbolos y objetos
tridimensionales. Sin embargo, los desarrollos recientes en los
equipos y el software para la visión de la máquina
permiten que algunas computadoras procesen y manipulen
símbolos sobre una base limitada.
Ser creativos e imaginativos: Pocas computadoras
tienen la capacidad de ser verdaderamente imaginativas o
creativas en esta forma, aunque se ha desarrollado software que
permite a una computadora escribir cuentos
cortos.
Usar la heurística (reglas prácticas
producto de la
experiencia: En la actualidad, algunos sistemas de
computación tienen esta capacidad. Si se cuenta con los
programas apropiados, se pueden obtener soluciones que
usen aproximaciones, en lugar de intentar buscar una
solución óptima que pueda ser difícil desde
el punto de vista técnico o requiera demasiado tiempo.
Los esfuerzos de la IA se clasifican según varias
categorías. Mientras la investigación y el desarrollo como robótica y visión artificial, se
relacionan con el hardware y software, la investigación y
el desarrollo en otras áreas sólo se relacionan con
el software.
Robótica: Incluye el desarrollo de
dispositivos mecánicos o de computación que tengan
la capacidad de realizar funciones, tales
como pintar automóviles, de hacer soldaduras de
precisión y realizar otras tareas que requieran de un alto
grado de precisión o que sean tediosas o impliquen peligro
para los seres humanos. En la robótica
contemporánea se combinan las capacidades de alta
precisión de la máquina con un software controlador
sofisticado.
Sistema de visión: Incluyen equipos y
software que les permite a las computadoras capturar, almacenar y
manipular imágenes visuales y fotografías. El
Departamento de Justicia de
los Estados Unidos
usa un sistema de visión para realizar análisis de huellas dactilares, con casi el
mismo nivel de precisión que los expertos
humanos.
Los sistemas de visión se pueden usar junto con
robots para darles "visión" a estas máquinas y que
pueda tomar decisiones con base a lo que ve y reconocer la
información visual de acuerdo con patrones
generales.
Procesamiento de lenguaje natural: Son programas
diseñados para tomar lenguajes humanos como entrada y
traducirlo en un conjunto estándar de instrucciones que
una computadora ejecuta. Los programas analizan gramaticalmente
oraciones, tratando de eliminar la ambigüedad de un contexto
determinado. El propósito de estos complejos programas es
permitir a los seres humanos usar su propio lenguaje natural
cuando interactúan con programas como sistemas de administración de bases de datos
(DBMS) o sistemas de apoyo para la toma de decisiones.
El objetivo de los procesadores de
lenguaje natural es eliminar paulatinamente la necesidad de
aprender lenguajes de
programación o comandos
personalizados para que las computadoras entiendan. Su gran
ventaja radica en que pueden usarse junto con dispositivos de
reconocimiento de voz a fin de que el usuario de instrucciones a
las computadoras para que realicen tareas, sin usar un teclado o
cualquier otro dispositivo de entrada.
Sistemas de aprendizaje:
Una combinación de software y equipos que le permite a la
computadora cambiar su modo de funcionar o reaccionar a
situaciones, basado en la retroalimentación que recibe. Por ejemplo,
algunos juegos computarizados tienen capacidades de aprendizaje,
si la computadora no ganaun juego en particular, recuerda no
hacer los mismos movimientos.
Redes Neuronales: Es un sistema de
computación que puede actuar en la misma forma que
funciona el cerebro humano, o simularlo. Además, el
software de red neuronal se puede usar
para simular una red neuronal por medio
de computadoras normales. La redes
neuronales pueden procesar muchas piezas de
información al mismo tiempo y aprender a reconocer
patrones.
A diferencia de los sistemas expertos, un sistema de red
neuronal aprende por ensayo y
error.
Características:
Capacidad de recuperar información incluso si
falla alguno de los nodos neuronales.
Modificación rápida de los datos
almacenados como consecuencia de nueva
información.
Capacidad de descubrir relaciones y tendencias en
grandes bases de datos.
capacidad de resolver problemas complejos para los
cuales no se cuento con
la información.
Las redes neuronales son
excelentes para el reconocimiento de patrones. Por ejemplo, las
computadoras de red neuronal se pueden usar para leer los
códigos de barra de los cheques
bancarios a pesar de manchas o de una impresión de baja
calidad.
Lógica Difusa: Se basa en reglas que no
tienen límites
discretos, sino que se prolongan en un continuum, permitiendo a
un sistema manejar mejor la ambigüedad. Esto es muy
útil para reflejar cómo tienden a pensar las
personas, en términos relativos, no absolutos. Cuando la
lógica
difusa se incorpora a un SE, el resultado es un sistema que
limita mejor la manera natural en que un experto humano
resolvería un problema.
Un concepto fundamental en la aplicación de
lógica difusa es el de la variable lingüística de una variable
matemática; su valor se
describe con una palabra en lugar de un número. Ejemplo,
la edad se es joven, de los 15 a los 20, pero a los 35
todavía se considera joven.
Algoritmos genéticos: Son funciones
matemáticas que usan los principios de
Darwin para
mejorar una aplicación. La funciones se diseñan
para simular en software, en cuestión de minutos o
segundos, lo que sucede en ambientes naturales durante millones
de años.
Agentes inteligentes: La creación
más reciente en IA son los agentes inteligentes, programas
de computadora que automáticamente revisan enormes
cantidades de datos y seleccionan y entregan la
información más adecuada para el usuario, de
acuerdo con requisitos contextuales o específicos. La
aplicación más importante de los agentes
inteligentes se encuentra en la WEB.
El propósito principal de los agentes
inteligentes es realizar sus tareas significativas más
rápido, con más frecuencia y de manera más
efectiva , que la gente. Los expertos dicen que pronto los
agentes inteligentes vincularán automáticamente su
computadora con sitios favoritos, le avisarán cuando
éstos se hayan actualizado y adecuarán
páginas específicas a sus preferencias.
Tipos de agentes
Agentes de reflejo simple: Este tipo de agente no
contiene internamente estados y sus procesos o
acciones que
realiza son respuestas a la entrada de percepciones, a esta
conexión entre percepciones y acciones se las denomina
reglas de condición-acción.
Ejemplo: Si el carro de adelante está frenando
entonces empiece a frenar.
Agentes bien informados de todo lo que
pasa: Este tipo de agente guarda estados internos lo que nos
sirve sin consideración para ejecutar una acción.
Los sensores no nos
pueden informar a la vez de todos los estados que maneja nuestro
ambiente, es
por este caso que el agente necesita actualizar algo de
información en el estado
interno. Esto le permite discernir que entre estados del ambiente
que generan la misma entrada de percepciones pero, sin embargo;
para cada uno de los estados se necesitan acciones
distintas.
Agentes basados en metas: Además de
los estados, los agentes necesitan cierto tipo de
información sobre sus metas Estas metas van a detallar las
situaciones a las que se desea llegar de este modo, el programa
de agente puede combinar las metas con la información de
los resultados (acciones) que emprenda y de esta manera poder
elegir aquellas acciones que permitan alcanzar la
meta.
Agentes basados en utilidad: Las
metas por sí solas me garantizan la obtención de
una conducta de alta
calidad. En mi programa de agente se podría tener un
conjunto de metas pero la obtención de éstas no me
garantizan distinciones entre estados felices e infelices,
mediante una medida de desempeño se podría establecer una
comparación entre los diversos estados del mundo
(ambientes) para poder encontrar el estado de
felicidad para el agente. Este estado ofrecerá una mayor
utilidad al agente.
Sistema Experto: Consiste de equipos y software
que almacenan conocimientos y hacen inferencias, en forma similar
a un experto humano. A finales de los cincuenta y principios de
los sesenta, los ingenieros en computación trataron de
construir computadoras capaces de realizar tareas inteligentes.
Los esfuerzos se encaminaron a crear un solucionador de problemas
generales, una máquina capaz de imitar el proceso de
razonamiento humano para resolver cualquier problema que un ser
humano pudiera solucionar.
Los esfuerzos se orientaron al diseño de
programas que resolvieran problemas en áreas precisas
utilizando conocimiento y razonamiento de expertos.
El propósito de los SE es duplicar el
conocimiento no estructurado ni documentado de unos pocos (los
expertos) y los pone a disposición de otros. Debido a la
forma en que están planteados los SE (basados en la
experiencia) no puede ayudar a los usuarios que tratan con
sucesos que los expertos no consideraron durante el periodo de
creación. Sin embargo muchos programas avanzados que
incluyen "redes neuronales" aprenden de situaciones nuevas y
formulan reglas ad hoc en sus bases de conocimiento para resolver
eventualidades no consideradas originalmente en su
diseño.
Para construir un SE un ingeniero del conocimiento se
entrevista con
un experto, traduce la información en código.
Por lo general con la regla SI-Entonces.
Otros métodos son marcos semánticos
integrados por cuadros con listas de entidades y atributos; y las
redes semánticas, mapas de
entidades y sus atributos relacionados.
Pueden explicar su razonamiento o decisiones
sugeridas: La capacidad de explicar cómo se
llegó a una decisión o solución.
Puede mostrar un comportamiento
"inteligente": Al examinar un grupo de
datos, un SE puede proponer nuevas ideas o métodos para la
solución del problema, o proporcionar asesoramiento en el
trabajo para
los trabajadores.
Puede obtener conclusiones de relaciones
complejas: Evaluar relaciones complejas para llegar a
conclusiones y solucionar problemas, por ejemplo: un SE propuesto
trabajará con un sistema de fabricación flexible
para determinar la mejor utilización de las herramientas,
y otro sugerirá los mejores procedimientos de control de
calidad.
Puede proporcionar conocimientos acumulados: Se
puede usar para capturar conocimientos de humanos que de lo
contrario podrían perderse. Ejemplo es el SE denominado
DELTA (Diesel Electronic Locomotive Troble-shooting Aid),
desarrollado para conservar el conocimiento de David Smith,
único ingeniero competente para manejar muchas
reparaciones extremadamente técnicas
de esas máquinas, cuando llegó el momento de su
jubilación.
Puede hacer frente a la incertidumbre: Una de las
características más importantes de un SE es su
capacidad para enfrentar conocimientos incompletos o inexactos en
su totalidad. Mediante el uso de las probabilidades, las estadísticas y las
heurísticas.
CARACTERÍSTICAS QUE LIMITAN SU
UTILIDAD
No se han usada o probado en forma extensa: Los
SE no se emplean en un gran número de organizaciones.
Dificultad de uso: Algunos sistemas expertos son
difíciles de controlar y usar. En algunos casos se
requiere del uso de personal de
computación, o del personas capacitadas en el uso de SE,
para ayudar al usuario a obtener todo lo más posible de
estos sistemas.
Están limitados a problemas relativamente
limitados: Algunos sistemas expertos pueden realizar
análisis de datos complejos, otros están limitados
a problemas sencillos.
No pueden enfrentar con facilidad conocimientos
"mixtos": Un SE en una aplicación quizá no
pueda hacer frente a conocimientos que combinen tanto reglas como
casos.
Posibilidad de error: Algunos sistemas expertos
tienen capacidades limitadas para aprender de la experiencia, la
fuente principal de conocimientos es un experto humano. Si este
conocimiento es incorrecto o incompleto, afectará al
sistema en forma negativa.
Dificultad de mantenimiento: Los SE pueden ser
difíciles de actualizar. Algunos no responden o no se
adaptan a condiciones cambiantes.
Pueden tener costo altos de desarrollo: Cuando se
usan los lenguajes y métodos de programación
tradicionales. Se puede lograr una reducción considerable
en los costos de
desarrollo si se emplea software para el desarrollo de
SE.
Ocasionan preocupaciones legales y éticas:
Las personas que toman decisiones y llevan a cabo acciones son
responsables, desde el punto de vista legal y ético, por
su comportamiento. Por ejemplo, una persona puede ser procesado y
condenada por un delito. Cuando
los SE se usan para tomar decisiones o ayudan a tomarlas,
¿quién es el responsable de esta
decisión?
En comparación con otros tipos de sistemas de
información, los SE ofrecen varias capacidades
poderosas y beneficios. Por ejemplo, con frecuencia se usa un SE
denominado XCON para diseñar configuraciones de sistemas
computación, pues realiza, en forma consistente, un mejor
trabajo que los seres humanos.
Los SE se pueden usar para solucionar problemas en todos
los campos y disciplinas y ayudar en la totalidad de las etapas
del proceso de solución del problemas.
Fijación de objetivos estratégicos:
Un SE puede ayudar a los administradores de alto nivel de la
compañía a determinar los costos y beneficios que
existen en producir vinos de mayor calidad y cambiar su imagen en el
mercado.
Planeación: Un SE puede ayudar a este
proceso mediante la sugerencia de factores que se deben
considerar al tomar la decisión final, sobre la base de
datos proporcionados por la
administración.
Diseño: Estos SE usan principios generales
de diseño, comprensión de los procedimientos de
fabricación y un grupo de reglas de
diseño.
Toma de decisiones: Pueden sugerir posibles
alternativas, formas de contemplar los problemas y métodos
lógicos al proceso de toma de decisiones. Además,
los SE pueden mejorar el proceso de aprendizaje para aquellos que
no tienen tanta experiencia en tomar decisiones.
Control y supervisión de calidad: Los SE
computarizados pueden ayudar a supervisar varios sistemas y
proponer soluciones a problemas que se presenten en ellos. Los SE
también se pueden usar para supervisar la calidad de los
productos.
Cuando las máquinas funcionan en forma deficiente, el SE
puede ayudar a determinar las causas posibles.
Diagnóstico: Puede proporcionar al
médico la probable causa de enfermedad y proponer
tratamientos u operaciones. En
los negocios
también diagnóstica posibles problemas y
soluciones.
El desarrollo se SE complejos puede ser difícil,
costoso y requerir de tiempo, por lo tanto, es importante
asegurarse de que los posibles beneficios valen el esfuerzo y que
las diversas características del SE se equilibren, en
términos de costo, control y
complejidad.
Proporciona un alto potencial de rendimiento o reduce el
riesgo
Puede capturar y conservar conocimientos humanos
irremplazables
Puede desarrollar un sistema más consistente que
los expertos humanos
Puede proporcionar los conocimientos necesarios en
varias ubicaciones al mismo tiempo o en un ambiente hostil
peligroso para la salud humana.
Puede proporcionar conocimientos costosos y poco
comunes.
Puede proporcionar los conocimientos necesarios para la
capacitación y el desarrollo con el
propósito de compartir los conocimientos y la experiencia
de expertos humanos con un gran número de
personas.
LA BASE DE CONOCIMIENTOS: Almacena toda la
información, datos, reglas, casos y relaciones importantes
que utiliza el SE. Para cada aplicación única se
tiene que desarrollar una base conocimientos. Por ejemplo, un SE
médico contendrá hechos sobre enfermedades y
síntomas. La base de conocimientos puede incluir
conocimientos genéricos provenientes de teorías
generales que se han establecido con el tiempo y conocimientos
específicos que provienen de experiencias más
recientes y de reglas prácticas.
Propósito de una base de conocimientos:
Contener los hechos y la información pertinentes para el
SE específico. Una base de conocimientos es similar a la
suma total de los conocimientos y experiencias de los expertos
humanos que se obtienen a través de años de trabajo
en un área o disciplina
específica.
Reunión de expertos humanos: Una base que
contiene información proporcionada por diversos expertos
puede ser extremadamente eficiente y exacta desde el punto de
vista de sus sugerencia y pronósticos.
Utilización de la lógica difusa:
Otro reto para los diseñadores y desarrolladores de SE es
capturar conocimientos y relaciones que no son precisos o
exactos.
El uso de reglas: Una regla es una
instrucción condicionada que enlaza determinadas
condiciones con acciones o resultados. La regla se crea por medio
de construcciones de si-entonces.
El uso de casos: Un SE puede usar casos al
desarrollar la solución a un problema o situación
actual. El proceso incluye: 1) encontrar casos almacenados en la
base de conocimientos, que sean similares al problema, 2)
modificar las soluciones a los casos para adaptarlas, o
acomodarlas, al problema o la situación actual.
EL MOTOR DE
INFERENCIAS: El propósito general de un motor de
inferencias es buscar información y relaciones en la base
de conocimientos, y proporcionar respuestas, pronósticos y
sugerencias en la misma forma en que lo haría un experto
humano. En otras palabras, el motor de inferencias es el que
proporciona el consejo experto.
Encadenamiento inverso: Es el proceso de comenzar
con conclusiones y trabajar hacia atrás hasta los hechos
de soporte. Si los hechos no apoyan la conclusión, se
elige y prueba otra.
Encadenamiento hacia delante: Se inicia con los
hechos y trabajo hacia delante hasta las conclusiones.
Comparación del encadenamiento inverso y el
encadenamiento hacia delante: El encadenamiento hacia delante
puede llegar a conclusiones y producir más
información con menos consultas para el usuario que el
encadenamiento inverso, pero este método
requiere más procesamiento y un mayor grado de
sofisticación.
LOS RECURSOS DE
EXPLICACIONES: Una parte importante del SE son los recursos
de explicaciones que le permiten al usuario, o al responsable de
tomar las decisiones comprender en que forma llegó el SE a
ciertas conclusiones o resultados.
LOS RECURSOS DE ADQUISICIÓN DE
CONOCIMIENTOS: una tarea difícil en el desarrollo de
un sistema experto es el proceso de crear y actualizar la base de
conocimientos.
En la actualidad, existe software especializado que le
permite a los usuarios y a quienes toman las decisiones crear y
modificar sus propias bases de conocimientos.
LA INTERFAZ DEL USUARIO: Sirve para
diseñar, crear, actualizar y usar los SE. El
propósito general de la interfaz del usuario es facilitar
a los usuarios y a los tomadores de las decisiones el desarrollo
y el uso de un SE.
Los SE requieren de un método de desarrollo
sistemático para obtener los mejores
resultados.
PROCESO DE DESARROLLO: La especificación
de los requisitos para un SE se inicia con la
identificación de los objetivos del sistema y su uso
potencial. Identificar a los expertos puede ser difícil.
En algunos casos, una compañía contará con
expertos humanos; en otros, se requerirá expertos ajenos a
la
organización. Para el desarrollo de los elementos del
SE son necesarias habilidades especiales. La puesta en
operación del SE incluye ponerlo en acción y
asegurarse de que funciona como se desea.
PARTICIPANTES EN EL DESARROLLO Y
UTILIZACIÓN DE LOS SE
El experto en dominio:
Debido al tiempo y el esfuerzo que se requieren para la tarea, se
desarrolla un SE para atender un área de conocimiento. A
dicha área se le conoce como dominio. El experto en
dominio es la persona o grupo que tiene la experiencia o el
conocimiento al cual se intenta capturar en el SE. Por lo general
con la siguiente capacidad:
- Reconocer el problema real
- Desarrollar una estructura
general para la solución de problemas - Formular teorías sobre la
situación - Desarrollar y usar reglas generales para solucionar
un problema - Identificar cuándo deben quebrantarse las
reglas - Solucionar problemas con rapidez y
eficiencia - Aprender de experiencias anteriores
- Identificar lo que es importante y lo que no lo es
para solucionar un problema - Explicar a otros la situación y las soluciones
de problemas.
El ingeniero del conocimiento y el usuario del
conocimiento: el primero es la persona que tiene el entrenamiento y
la experiencia en el diseño, desarrollo, puesta en
operación y mantenimiento de un SE, incluyendo
entrenamiento y experiencia con shells de SE. El segundo es quien
usa el SE y se beneficia de él.
HERRAMIENTAS Y TÉCNICA PARA EL DESARROLLO DE
SISTEMAS EXPERTOS
En teoría, los sistemas expertos se deben
desarrollar a partir de algún lenguaje de
programación. Desde la introducción de los sistemas de
computación, los lenguajes de fáciles de usar,
más potentes y cada vez más capaces de manejar. En
los inicios del desarrollo de SE se usaban los lenguajes Pascal, FORTRAN Y
COBOL. LISP
fue uno de los primeros lenguajes especiales desarrollados y
empleados para aplicaciones de inteligencia artificial. PROLOG es
otro. Sin embargo, actualmente existen otros productos de SE
(como los shells) que evitan el trabajo de programar.
Shells y productos para SE: Un shell (interprete)
de SE es un grupo de paquetes y herramientas de software
utilizados para diseñar, desarrollar, poner en
operación y mantener SE con una programación
mínima. Existen shells de SE tanto para computadoras
personales como para sistemas de macrocomputadoras. Algunos son
baratos con costo inferior a los 500 dólares. El usuario
introduce los datos o parámetros apropiados y el SE
proporciona el resultado para el problema o situación.
Algunos de los shells más populares son Exsys de
MultilLogic, Inc. Level 5, de Rule Machines Corporación y
XpertRule, de Attar Software.
VENTAJAS DE LOS SHELLS Y LOS PRODUCTOS DE
SE
Fáciles de desarrollar y modificar:
Conforme se dispone de nuevos hechos y reglas y se hace necesario
modificar los ya existentes, es deseable hacer cambios a la base
de conocimientos. Los sistemas desarrollados por medio de PROLOG
y LIPS son más difíciles de modificar y más
costosos que los SE desarrollados con shells.
El uso de la satisfacción: El
método tradicional de solución de problemas intenta
encontrar la solución óptima, o la mejor; los
lenguajes avanzados y simbólicos pueden hacer frente a
problemas más complejos y producir decisiones muy buenas,
aunque no siempre óptimas.
El uso de la heurística: Es necesario que
los SE puedan manejar relaciones imprecisas. La heurística
puede hacerlo y a menudo producirá una buena
solución que deje satisfecho al tomador de las
decisiones.
Desarrollo por los ingenieros y usuarios del
conocimiento: Con los shells de SE, los ingenieros y usuarios
del conocimiento pueden completar el proceso de desarrollo. Es
frecuente que al desarrollar SE con lenguajes de
programación tradicionales se requieran análisis de
sistemas y programación de computación, que son
costosos y que por lo común requieren de más
tiempo.
ALTERNATIVAS DE DESARROLLO DE SE
Los SE se pueden desarrollar desde cero por medio de un
shell de SE o mediante un paquete de software de SE ya existente.
El método seleccionado depende de los beneficios del
sistema comparados con el costo, el control y la complejidad de
cada alternativa. Es más fácil y menos costoso
desarrollar un SE utilizando un paqueta ya existente o un shell
de SE. Sin embargo, si la organización no cuenta ya con este tipo de
software, habrá un costo adicional para desarrollar un
paquete existente o adquirir un shell de SE
Desarrollo en la propia empresa (desde
cero): Es el método más costoso, pero la
organización tiene más control sobre las
características y los elementos del SE.
Desarrollo en la propia empresa (desde un shell):
Puede ser menos complejo y más fácil de mantener
que desarrollarlo desde cero. Sin embargo, quizá sea
necesario modificar el SE resultante para que sea idóneo
para aplicaciones específicas.
Compra paquetes ya existentes (uso de paquetes
existentes): Método menos costoso y más
rápido. Aquel cuyo desarrollo corrió a cargo de una
compañía de software o de asesoría para un
campo o área específicos, tales como el
diseño de un nuevo microprocesador
para computación o un sistema para pronosticar y predecir
el clima. Estos
sistemas pueden ser más fáciles de mantener y
actualizar al transcurso del tiempo, pero no pueden satisfacer
las necesidades especiales de la organización.
APLICACIONES DE LOS SE Y DE LA IA
Otorgar crédito: Para revisar la solicitud de
crédito de una persona y el historial crediticio que
mantiene con las agencias dedicadas a este rubro, para tomar la
decisión de otorgar el crédito.
Administración y recuperación de
información: Los SE pueden ayudar a este proceso
mediante el uso de agentes. Los agentes de SE ayudan a los
gerentes a encontrar los datos y la información correctos,
al mismo tiempo que eliminan hechos sin importancia que puedan
obstaculizar la toma de decisiones oportunas.
IA y SE incorporados a los productos: el sistema
de frenos antibloqueo de los automóviles modernos es un
ejemplo de un SE rudimentario. Los investigadores de IA
también están encontrando formas para usar las
redes neuronales y la robótica en dispositivos de uso
diario, tales como tostadoras de pan, relojes despertadores y
aparatos de TV.
Disposición de plantas:
FLEXPERT es un SE que usa la lógica difusa para realizar
el trazado de plantas. El software ayuda a las
compañías a determinar la mejor ubicación
para los equipos y las instalaciones de
fabricación.
Instalaciones de hospitales y médicas:
Algunos hospitales usan SE para determinar la posibilidad de que
un paciente contraiga cáncer u otras enfermedades. MYCIN
es un SE creado en la Universidad
Stanfor para analizar infecciones en la sangre.
Departamento de ayuda y asistencia: los
departamentos de servicios de
ayuda al cliente usan SE
para proporcionar asistencia oportuna y exacta. Kaiser
Permanente, un HMO (Health Mantenance Organization) de gran
tamaño, usa un SE y repuesta verbal para automatizar la
función
del su departamento de ayuda.
Evaluación del desempeño de
empleados: Un SE de Austin-Hayne, llamado Employee Appreiser,
les proporciona asesora experta a los gerentes para que la
utilicen en las revisiones del desempeño de los empleados
y el desarrollo de carreras.
Análisis de préstamos: KPMG Peat
Marwick usa un SE llamado Loan Probe para revisar las reservas
para pérdidas en préstamos, con el propósito
de determinar si se han reservado fondos suficientes para cubrir
riesgos de que
algunos préstamos se vuelvan incobrables.
Detección de virus: IBM
utiliza la tecnología de red
neuronal para ayudar a crear software más avanzado en la
erradicación de los virus de computación, un
problema importante para las empresas
estadounidenses.
Reparación y mantenimiento: AT&T usa
el SE ACE para analizar el mantenimiento de las redes
telefónicas. Nynex (New York and New England Telephone
Exchange) tiene sistemas expertos para ayudar a sus trabajadores
a localizar y resolver problemas telefónicos con
referencia a sus clientes.
Embarques: Lufthansa, una aerolínea
alemana, usa un SE, CARGEX-Cargo, para ayudar a determinar las
mejores rutas de embarque.
Mercadotecnia: CoverStory es un SE que trae
información de una base de datos y elabora, en forma
automática, informes de
mercadotecnia.
Optimización de almacenes:
Unite Distillers emplea un SE para determinar las mejores
combinaciones de existencias, para producir su mezcla de whisky
escocés.
INTEGRACIÓN DE SE: Un SE se puede
integrar con otros sistemas en una organización mediante
una base de datos común. Un SE que identifique a los
clientes que demoran sus pagos y que no deben recibir
crédito adicional puede tomar los datos de la misma base
de datos que un MIS de facturación que elabora informes
semanales de las cuentas vencidas.
La misma base de datos podría usarse para un sistema de
apoyo a las decisiones que realice análisis de "que
sucedería sí", para determinar la
repercusión de los pagos demorados sobre los flujos
ejecutivo, ingresos y
niveles generales de utilidad.
Limitaciones de los SE
Los SE sólo manejan áreas precisas del
conocimiento: Funcionan bien si el dominio al que se enfocan
está bien definido. Por ejemplo, es dofícil que se
encuentre un SE médico general.
Los SE no tienen sentido común: El sistema
sólo resolverá aquellos problemas para los que
está específicamente programado.
Los SE Tienen una capacidad limitada de
aprendizaje: Los ingenieros del conocimiento deben dirigir
los sistemas y proporcionar retroalimentación continua
para que aprenda.
RALPH M. STAIR Y GEORGE E. REYNOLDS,Principios de
Sistemas de Información. Inteligencia Artificial y
Sistemas expertos, Editorial Thomson, Año 2002, pp.
480-511
JOHN AVAVA, Inteligencia Artificial. www.fortunecity.com.
Año 98.
GREGORIO ARELLANO, MARTHA AYUQUINA, Proyecto
Inteligencia Artificial, http.//cruzrojaguayas.org, Universidad de
Guayaquil
Cecilia Reyes Olivans
Estudiante de maestría en Ciencias de la
Educación
En la Universidad Autónoma del Noreste, campus
Piedras Negras, Coahuila
20 de agosto de 2005
Coahuila a 20 de agosto de 2005