Upload
fabyola-aranibar-valdivia
View
2.302
Download
2
Embed Size (px)
DESCRIPTION
Arquitectura SE
Citation preview
Universidad José Carlos Mariátegui 2013
INTRODUCCIÓN
Se considera a alguien un experto en un problema cuando este individuo tiene
conocimiento especializado sobre dicho problema. En el área de los (SE) a este
tipo de conocimiento se le llama conocimiento sobre el dominio. La palabra
dominio se usa para enfatizar que el conocimiento pertenece a un problema
específico.
Antes de la aparición del ordenador, el hombre ya se preguntaba si se le
arrebataría el privilegio de razonar y pensar. En la actualidad existe un campo
dentro de la inteligencia artificial al que se le atribuye esa facultad: el de los
sistemas expertos (SE).
Estos sistemas también son conocidos como Sistemas Basados en
Conocimiento, los cuales permiten la creación de máquinas que razonan como
el hombre, restringiéndose a un espacio de conocimientos limitado. En teoría
pueden razonar siguiendo los pasos que seguiría un experto humano (médico,
analista, empresario, etc.) para resolver un problema concreto.
Este tipo de modelos de conocimiento por ordenador ofrece un extenso campo
de posibilidades en resolución de problemas y en aprendizaje. Su uso se
extenderá ampliamente en el futuro, debido a su importante impacto sobre los
negocios y la industria.
1 Sistemas Expertos - Fabiola Aranibar Valdivia
Universidad José Carlos Mariátegui 2013
SISTEMAS EXPERTOS
I. DEFINICIONES DE LOS SISTEMAS EXPERTOS
¿Qué es un sistema experto?
Es una aplicación informática capaz de solucionar un conjunto de problemas
que exigen un gran conocimiento sobre un determinado tema. Un sistema
experto es un conjunto de programas que, sobre una base de conocimientos,
posee información de uno o más expertos en un área específica. Se puede
entender como una rama de la inteligencia artificial, donde el poder de
resolución de un problema en un programa de computadora viene del
conocimiento de un dominio específico. Estos sistemas imitan las actividades
de un humano para resolver problemas de distinta índole (no necesariamente
tiene que ser de inteligencia artificial). También se dice que un SE se basa en
el conocimiento declarativo (hechos sobre objetos, situaciones) y el
conocimiento de control (información sobre el seguimiento de una acción).
Para que un sistema experto sea herramienta efectiva, los usuarios deben
interactuar de una forma fácil, reuniendo dos capacidades para poder
cumplirlo:
1. Explicar sus razonamientos o base del conocimiento: los sistemas
expertos se deben realizar siguiendo ciertas reglas o pasos
comprensibles de manera que se pueda generar la explicación para
cada una de estas reglas, que a la vez se basan en hechos.
2. Adquisición de nuevos conocimientos o integrador del sistema:
son mecanismos de razonamiento que sirven para modificar los
conocimientos anteriores. Sobre la base de lo anterior se puede decir
que los sistemas expertos son el producto de investigaciones en el
campo de la inteligencia artificial ya que ésta no intenta sustituir a los
expertos humanos, sino que se desea ayudarlos a realizar con más
rapidez y eficacia todas las tareas que realiza.
2 Sistemas Expertos - Fabiola Aranibar Valdivia
Universidad José Carlos Mariátegui 2013
Debido a esto en la actualidad se están mezclando diferentes técnicas o
aplicaciones aprovechando las ventajas que cada una de estas ofrece para
poder tener empresas más seguras. Un ejemplo de estas técnicas sería los
agentes que tienen la capacidad de negociar y navegar a través de recursos en
línea; y es por eso que en la actualidad juega un papel preponderante en los
sistemas expertos.
¿Por qué utilizar un Sistema Experto?
1. Con la ayuda de un Sistema Experto, personas con poca experiencia
pueden resolver problemas que requieren un "conocimiento formal
especializado".
2. Los Sistemas Expertos pueden obtener conclusiones y resolver problemas
de forma más rápida que los expertos humanos.
3. Los Sistemas Expertos razonan pero en base a un conocimiento adquirido
y no tienen sitio para la subjetividad.
4. Se ha comprobado que los Sistemas Expertos tienen al menos, la
misma competencia que un especialista humano.
a. Cuando los expertos humanos en una determinada materia son
escasos.
b. En situaciones complejas, donde la subjetividad humana puede llevar
a conclusiones erróneas.
c. Cuando es muy elevado el volumen de datos que ha de considerarse
para obtener una conclusión.
Ejemplos de Sistemas Expertos
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].
3 Sistemas Expertos - Fabiola Aranibar Valdivia
Universidad José Carlos Mariátegui 2013
XCON es un Sistema Experto para configuraciones, desarrollado por la
Digital Equipment Corporation. Según los deseos individuales
del clientese 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
4 Sistemas Expertos - Fabiola Aranibar Valdivia
Universidad José Carlos Mariátegui 2013
á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.
II. ARQUITECTURA DE UN SISTEMA EXPERTO
Un sistema Experto consta de 7 elementos los cuales son:
a. Base de conocimientos.
b. Base de hechos
c. Motor de inferencia.
d. Subsistema de explicación.
e. Interfaz de usuario.
f. Módulo de adquisición de conocimiento
g. Módulo de comunicaciones
5 Sistemas Expertos - Fabiola Aranibar Valdivia
Universidad José Carlos Mariátegui 2013
a. Base de conocimientos. Esta contiene el conocimiento que se
debe del experto y codificarlo en la base de conocimientos. La forma
clásica de representar el conocimiento en un sistema experto son la
utilización de reglas es decir básicamente constituye la descripción de
los objetos y las relaciones entre ellos, así como de casos particulares y
excepciones.
b. Base de hecho. Contiene los hechos sobre un problema que se han
descubierto durante una consulta. Se trata de 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.
c. Motor de inferencia o Intérprete de Reglas. Este motor de
inferencia trabaja con la información contenida en la base de
conocimientos y la base de hechos para deducir nuevos hechos. Se
encarga de las operaciones de búsqueda y selección de las reglas a
utilizar en el proceso de razonamiento. Contrasta los hechos particulares
de la base de hechos con el conocimiento contenido en la base de
conocimientos para obtener conclusiones acerca del problema.
6 Sistemas Expertos - Fabiola Aranibar Valdivia
Universidad José Carlos Mariátegui 2013
d. Subsistema de explicación. Básicamente lo que trata es de explicar al
usuario tanto las reglas usadas como el conocimiento aplicado en la
resolución de un determinado problema. Usando el módulo del
subsistema de explicación, un sistema experto puede proporcionar una
explicación al usuario de por qué está haciendo una pregunta y cómo ha
llegado a una conclusión.
e. Interfaz de usuario. Todo sistema dispone de una interfaz de usuario,
que gobierna el diálogo entre el sistema y el usuario lo que hace posible
la comunicación. Por tanto debe ser interactiva siguiendo el patrón de la
conversación entre seres humanos. Un requerimiento básico del interfaz
es la habilidad de hacer preguntas. Para obtener información fiable del
usuario hay que poner especial cuidado en el diseño de las cuestiones.
f. Módulo de adquisición de conocimiento. Le sirve al experto para
que pueda construir la base de conocimiento de una forma sencilla, así
como disponer de una herramienta de ayuda para actualizar de la base
de conocimiento cuando sea necesario. El módulo de adquisición del
conocimiento, forman el esqueleto o sistema esencial, y que, separadas
de las bases de conocimiento y de hechos, constituyen una
herramienta software para el desarrollo de los sistemas basados en el
conocimiento.
g. Módulo de comunicaciones
Puesto que los sistemas basados en el conocimiento no viven aislados
sino que interactúan con otros sistemas es decir no solo son capaces de
interactuar con el experto sino con estos sistemas, para poder recoger
información o consultar bases de datos.
7 Sistemas Expertos - Fabiola Aranibar Valdivia
Universidad José Carlos Mariátegui 2013
III. CARACTERÍSTICAS DE LOS SISTEMAS EXPERTOS
Para que un sistema actúe como un verdadero experto, es deseable que reúna,
en lo posible, lo más importante de las características de un experto humano,
esto es:
Habilidad para adquirir conocimiento.
Fiabilidad, para poder confiar en sus resultados o apreciaciones.
Solidez en el dominio de su conocimiento.
Capacidad para resolver problemas.
Dada la complejidad de los problemas que usualmente tiene que resolver un
SE, puede existir cierta duda en el usuario sobre la validez de respuesta
obtenida. Por este motivo, es una condición indispensable que un SE sea capaz
de explicar su proceso de razonamiento o dar razón del por qué solicita tal o
cual información o dato.
IV. VENTAJAS
Están disponibles ininterrumpidamente de día y noche, ofreciendo
siempre su máximo desempeño.
Pueden duplicarse ilimitadamente, tener tantos de ellos como se
requieran.
Pueden trabajar en entornos hostiles y peligrosos.
Siempre se ajustan a las normas establecidas y son consistentes en su
desempeño, no desarrollan apreciaciones subjetivas, tendenciosas,
irracionales o emocionales. No padece de olvido, fatiga, dolor o comete
errores de cálculo.
8 Sistemas Expertos - Fabiola Aranibar Valdivia
Universidad José Carlos Mariátegui 2013
No requiere un sueldo, promociones, seguros médicos, incapacidades.
Siempre están dispuestos a dar explicaciones, asistir o enseñar a la
gente, así como a aprender.
Pueden tener una vida de servicio ilimitada.
V. DESVENTAJAS
El conocimiento es difícil de extraer de los expertos humanos.
La aproximación de cada experto a la situación evaluada puede ser
diferente.
Tienen una noción muy limitada acerca del contexto de problema, no
pueden percibir todas las cosas que un experto humano puede apreciar
de una situación.
Pueden existir decisiones que sólo son de competencia para un ser
humano y no una máquina.
No saben como subsanar sus limitaciones, no son capaces de trabajar
en equipo o investigar algo nuevo.
Son muy costosos de desarrollar y mantener.
VI. LIMITACIONES
El desarrollo de un SE complejo 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 equilibran, en términos de
costo, control y complejidad.
No se han usado o probado en forma extensa.
Dificultad de uso.
Están limitados a problemas relativamente limitados.
No pueden enfrentar con facilidad a conocimientos
Posibilidad de error.
Dificultad de mantenimiento.
Pueden tener costo altos de desarrollo.
Ocasionan preocupaciones legales y éticas.
VII. TIPOS DE SISTEMAS EXPERTOS.
9 Sistemas Expertos - Fabiola Aranibar Valdivia
Universidad José Carlos Mariátegui 2013
1. Interpretación : infieren la descripción de situaciones por medio de
sensores de datos. Estos S.E. usan datos reales, con errores, con ruidos,
incompletos etc. Ejemplos: medición de temperatura, reconocimiento de
voz, análisis de señales etc.
2. Predicción : Infieren probables consecuencias de situaciones dadas.
Algunas bases usan modelos de simulación para generar situaciones que
puedan ocurrir. Ejemplos: predecir daños a cosechas por algún tipo de
insecto.
3. Diagnostico : Infieren las fallas de un sistema en base a los síntomas.
Utilizan las características de comportamiento, descripción de
situaciones o conocimiento sobre el diseño de un componente para
inferir las causas de la falla. Ejemplos: diagnostico de enfermedades en
base a síntomas, encontrar componentes defectuosos o fallas en
circuitos.
4. Diseño : Configuración de objetos. Utilizan un conjunto de limitaciones y
restricciones para configurar objetos. Utilizan un proceso de análisis para
construir un diseño parcial y una simulación para verificar o probar las
ideas. Ejemplos: configuración de equipos de oficina, de equipos de
computo.
5. Planeación : Diseñan un curso completo de acción, se descompone la
tarea en un subconjunto de tareas. Ejemplo: transferir material de un
lugar a otro, comunicaciones, ruteo, planificación financiera. remediar
estas fallas y monitorear la ejecución de este.
6. Monitoreo : Comparan observaciones del comportamiento del sistema
con el comportamiento standard, se compara lo actual con lo esperado.
Ejemplo: asistir a un paciente de cuidados intensivos, tráfico aéreo, uso
fraudulento de tarjetas de créditos
7. Depuración :(debugging) sugieren remedios o correcciones de una falla.
Ejemplo: sugerir el tipo de mantenimiento a cables dañados, la
prescripción medica a un paciente.
8. Instrucción : diagnostican, revisan y reparan el comportamiento de un
estudiante. Ejemplo: educar a un estudiante de medicina, usa un modelo
del estudiante y planea la corrección de deficiencias.
10 Sistemas Expertos - Fabiola Aranibar Valdivia
Universidad José Carlos Mariátegui 2013
9. Control : Gobierna el comportamiento del sistema. Requieren interpretar
una situación actual, predecir el futuro, diagnosticar las causas de los
problemas que se pueden anticipar, formular un plan para remediar
estas fallas y monitorear la ejecución de este.
VIII. DESARROLLO DE UN SISTEMA EXPERTO.
Como primera aproximación es necesario indicar que las herramientas pueden
clasificarse en tres grupos en función de las diferentes etapas del proyecto en
que interviene:
Estudio de viabilidad: Se intenta verificar si el problema justifica el
desarrollo de un sistema basado en el conocimiento (este punto es muy
importante, ya que algunas veces se ha intentado resolver con este tipo de
tecnología problemas que no eran los adecuados, lo que llevó a resultados
decepcionantes). Las herramientas deben ser flexibles y de uso muy
sencillo. Muchas veces en esta etapa no es necesario el uso de una
herramienta específica ya que puede utilizarse un lenguaje de
programación de propósito general.
Desarrollo del prototipo: En esta fase las herramientas deben poseer
una serie de características a nivel de estructuras de control, permitir
probar y comparar los diferentes enfoques de la resolución del problema
(representación del conocimiento, estrategia de control, etc.) y ofrecer
facilidades a los ingenieros del conocimiento (traza, gestión de coherencia,
etc.) en el desarrollo del sistema.
Desarrollo del sistema: El factor más importante es la eficiencia.
Asimismo, debe disponer de módulos explicativos evolucionados para una
efectiva compilación de la base de conocimiento y los métodos de
inferencia. En resumen, deben adaptarse perfectamente al problema. El
desarrollo de estos sistemas suele pasar por cuatro fases:
Identificación de la aplicación y concepción de la solución.
Desarrollo del (de los) prototipo(s).
11 Sistemas Expertos - Fabiola Aranibar Valdivia
Universidad José Carlos Mariátegui 2013
Ejecución y construcción del sistema completo.
Alcanzar la integración del nuevo sistema con los anteriores y la
asimilación del uso de la nueva tecnología.
La tarea más importante a la hora de desarrollar un sistema basado en el
conocimiento consiste en la modelización del problema que se quiere
resolver, esto es, representar el conocimiento que posee el experto en un
lenguaje que permita razonar al sistema. Consiste en formalizar y estructurar
los objetos y las relaciones entre ellos en la base de conocimiento.
De la misma forma que no existe ningún lenguaje de programación universal,
tampoco se ha encontrado un lenguaje ideal para poder representar el
conocimiento formalmente. La elección dependerá, principalmente, de la
naturaleza y magnitud del problema.
Así, existen formalismos que permiten representar fácilmente mecanismos de
razonamiento puramente lógicos; otros, sin embargo, se adaptan mejor a una
representación por analogía.
Existen tres tipos de representación:
La representación procedural expresa explícitamente las relaciones
entre los fragmentos de conocimiento que son complejas de modificar.
No obstante, ofrece una gran facilidad en el uso de la meta
conocimiento.
La representación declarativa incluye el cálculo de predicados, las
reglas de producción y las redes semánticas. El conocimiento queda
estructurado en fragmentos independientes unos de otros y que, por
tanto, son fácilmente modificables. Estos módulos de conocimiento se
combinan mediante un mecanismo general de razonamiento y
deducción.
La representación mixta, como los objetos y marcos, emplea los dos
métodos de representación anteriores.
12 Sistemas Expertos - Fabiola Aranibar Valdivia
Universidad José Carlos Mariátegui 2013
A continuación se explican con mayor detalle algunos ejemplos de
representación:
Reglas de producción: Es una representación formal de una relación,
una información semántica o una acción condicional. Una regla de
producción tiene, generalmente, la siguiente forma: SI Premisa
ENTONCES Consecuencia. Ofrecen una gran facilidad para la creación y
la modificación de la base de conocimiento. Permite introducir
coeficientes de verosimilitud para ponderar el conocimiento (estos
coeficientes se van propagando durante el proceso de razonamiento
mediante unas fórmulas de cálculo establecidas) y, en teoría, el método
asegura que cuantas más reglas posea más potente es. Sin embargo,
aunque es la forma de representación más intuitiva y rápida, cuando el
número de reglas es grande aumenta la dificultad de verificación de
todas las posibilidades con el consiguiente riesgo de perder la
coherencia lógica en la base de conocimiento. Los hechos y las reglas
asociadas de la base de conocimiento normalmente no son exactos; es
decir se tiene incertidumbre sobre el grado de certeza de algunos
hechos y también sobre el campo de validez de algunas de las reglas.
Para el manejo de la incertidumbre en los sistemas de reglas se han
utilizado varios sistemas; los tres más conocidos son los Factores de
Certeza (utilizados en MYCIN), la lógica de Dempster Shafer, y la Lógica
Difusa ( Fuzzy Logic). El método de tratar la incertidumbre es una de las
características más importantes de las herramientas de desarrollo, y
actualmente se encuentra en discusión la validez de estas lógicas para
tratar con la incertidumbre. En sustitución se han propuesto las Redes
Bayesianas que tienen una base matemática más firme. De todas
formas es un campo actual de investigación que permanece abierto.
Lógica proposicional: Es similar a las reglas de producción. Su
diferencia principal con éstas es que separa los elementos que
componen la base de conocimiento de aquellos que controlan la
operación del sistema.
Redes semánticas: Es un método que consiste en representar el
conocimiento en forma de redes o grafos; los nodos representan
13 Sistemas Expertos - Fabiola Aranibar Valdivia
Universidad José Carlos Mariátegui 2013
conceptos u objetos, y los arcos que los interconectan describen
relaciones entre ellos.
Marcos: Consiste en asociar propiedades a los nodos que representan
los conceptos u objetos. Las propiedades son descritas en términos de
atributos y los valores asociados.
Objetos: La diferencia con los marcos reside en que, en un entorno de
programación orientada a objetos, éstos pueden actuar como entidades
independientes. De esta forma, el control del sistema se consigue
mediante el envío de mensajes del sistema a los objetos y entre ellos
mismos.
Representaciones múltiples: Es posible, e incluso muy frecuente,
combinar dos o más formas de representar el conocimiento en el mismo
sistema para obtener la modelización más adecuada a cada problema
por lo que es bueno que una herramienta de desarrollo de sistemas
basados en el conocimiento contemple más de una forma de
representación.
En el desarrollo del sistema es necesario idear el mecanismo de inferencia que
refleje lo más fielmente posible cómo piensa o actúa el experto. Este
mecanismo, que se denomina motor de inferencia, es la parte más
importante del sistema basado en el conocimiento junto con la base de
conocimiento. Los mecanismos de razonamiento que utilizan reglas de
producción son los de la lógica formal: modus ponendo ponens y modus
tollendo tollens. Además existe otro método que difiere de los anteriores y
que es la búsqueda en árboles.
Existen además cinco modos de razonamiento que a continuación se explican:
Encadenamiento hacia adelante: El motor de inferencia parte de los
hechos para llegar a los resultados, esto es, selecciona las reglas que
verifiquen las condiciones de la parte izquierda (premisas).
Encadenamiento hacia atrás: En este caso el motor de inferencia
parte de los resultados y trata de volver a los hechos para comprobar si
encajan con el problema planteado.
14 Sistemas Expertos - Fabiola Aranibar Valdivia
Universidad José Carlos Mariátegui 2013
Encadenamiento mixto: Este modo ofrece varias posibilidades que
resultan de combinar el encadenamiento hacia adelante y hacia atrás
para paliar sus limitaciones y mantener las ventajas.
Algoritmos de búsqueda heurística: En los casos en los que la
naturaleza de la base de conocimiento permita construir una estructura
de árbol, el proceso de inferencia se convierte en un problema de
búsqueda en un árbol. Existen diversos métodos, y la elección
dependerá, por lo tanto, de la naturaleza del problema.
Herencia: Es el método de inferencia utilizado en entornos orientados a
objetos. Un objeto hijo hereda propiedades y hechos de sus padres. Así,
la asignación de nuevas propiedades a un objeto se realiza a través de
las relaciones entre ese objeto y el resto.
Dentro de los modos de razonamiento los factores de incertidumbre son
valores asignados a hechos o reglas que indican la certeza o grado de
confianza que el experto tiene en una regla o el usuario en un hecho. No
representan, ni mucho menos, una probabilidad en el sentido estricto de la
palabra.
Un sistema que usa factores de incertidumbre asociados a las reglas o
propiedades de los objetos puede realizar varias recomendaciones indicando el
grado de confianza o nivel de certidumbre de cada una. No todos los
problemas requieren un conocimiento basado en grados de incertidumbre, es
conveniente que la herramienta para el desarrollo de un sistema basado en el
conocimiento incluya este conocimiento probabilístico porque incorpora una
utilidad que refleja en gran manera la forma de trabajar de los expertos en
mucha áreas. Asimismo, es necesario tener claro el algoritmo o método que se
utiliza para calcular el grado de incertidumbre asociado a una recomendación o
acción final.
IX. LENGUAJES Y GENERADORES DE SISTEMAS EXPERTOS.
Para el desarrollo de sistemas basados en el conocimiento se han venido
utilizando tanto lenguajes de programación específicos de la inteligencia
artificial (LISP y PROLOG) como de propósito general (C, PASCAL, etc.).El
15 Sistemas Expertos - Fabiola Aranibar Valdivia
Universidad José Carlos Mariátegui 2013
lenguaje LISP es uno de los más utilizados desde los comienzos de la I.A. Se
trata de uno de los lenguajes de alto nivel más antiguos. Se creó en 1950 en el
MIT por John McCarthy. Es un lenguaje cuya principal estructura de datos son
las listas, aun cuando se han ido incorporando otras estructuras más
sofisticadas como pueden ser los objetos. Tiene como ventaja el manejo de sus
estructuras a muy alto nivel lo que facilita la implementación rápida de los
modelos y su facilidad de modificación. Como desventaja está su relativa
lentitud frente a lenguajes de propósito general como C. La mayoría de las
primeras herramientas de desarrollo de sistemas basados en el conocimiento
fueron escritas en LISP y, en la actualidad, conviven con otras que se han
desarrollado en C++.El lenguaje PROLOG fue creado por Alain Colmenauer en
la Universidad de Marsella en 1972. Se trata de un lenguaje declarativo frente
a los lenguajes de programación más usuales que son procedurales. Los
lenguajes declarativos, a diferencia de los procedurales, no describen
secuencialmente el algoritmo de resolución del problema, sino que se limitan a
describir los hechos conocidos y las relaciones existentes entre ellos. Los
lenguajes procedurales están orientados al "cómo" mientras que los
declarativos están orientados al "qué". Es el lenguaje declarativo, en el caso
que nos ocupa PROLOG, quien a partir de los datos introducidos deduce
nuevos hechos y resuelve el problema automáticamente. PROLOG tiene
incluido, por tanto, un motor de inferencia que se encarga de realizar
búsquedas en su base de hechos. Programar con PROLOG, por tanto, consiste
en acertar hechos sobre objetos y preguntar al sistema sobre sus relaciones.
Este lenguaje, aun cuando se le reconocen sus bondades, no ha tenido una
gran utilización (si se exceptúa Francia, Gran Bretaña y Japón con el proyecto
de 5ª generación, en el que se adoptó como lenguaje de programación
PROLOG) siendo su principal aplicación el manejo de bases de datos
relacionales junto con lenguajes de bases de datos de 4ª generación asociados
a éstas. En la actualidad, es común la utilización de lenguajes orientados a
objeto (tales como C++) para el desarrollo de generadores de sistemas
expertos y de Los propios sistemas basados en el conocimiento por su
rendimiento, en términos de tiempo de ejecución, superior al de las
herramientas generales. La incorporación de la programación orientada a
objetos al lenguaje C ha facilitado la labor de modelización que requiere todo
16 Sistemas Expertos - Fabiola Aranibar Valdivia
Universidad José Carlos Mariátegui 2013
sistema basado en el conocimiento y su rapidez de ejecución así como el hecho
de ser uno de los lenguajes de programación más conocidos ha hecho que su
uso vaya en aumento. Una herramienta para la construcción de sistemas
basados en el conocimiento no es sólo un lenguaje de programación de alto
nivel orientado al desarrollo de estos sistemas. Este equipo lógico de desarrollo
tiene, entre otras, las siguientes características o utilidades:
Posibilidades para el desarrollo de prototipos.
Un motor de inferencia.
Un método o varios para la representación del conocimiento.
Una o varias técnicas para el manejo de la incertidumbre.
Un generador de interfaces gráficos (no siempre).
Estas herramientas están muy orientadas hacia el usuario final de la aplicación
y, por lo tanto, es fundamental elegir la herramienta adecuada al entorno de
aplicación. Son muchos los factores que influyen a la hora de tomar una
decisión. En primer lugar es necesario conocer el alcance real del proyecto,
esto es, si primero va a construirse una maqueta para estudiar la viabilidad del
proyecto, o si por el contrario ya está decidido el desarrollo del sistema basado
en el conocimiento.
X. INTEGRACIÓN Y MIGRACIÓN DE LOS SISTEMAS EXPERTOS
Los sistemas expertos, salvo excepciones, no están aislados sino que forman
parte de otros sistemas, expertos o convencionales. Existen dos tipos básicos
de arquitectura de integración. En la primera, el sistema basado en el
conocimiento forma parte de otro sistema principal. Así, si el sistema necesita
comunicarse con el sistema basado en el conocimiento, entablará una
comunicación directamente o a través de una red.
En la segunda el sistema basado en el conocimiento es el sistema principal y
está conectado a otros sistemas basados en el conocimiento o convencionales,
que le ayudan en su operación. Como ejemplo están los subsistemas que
realizan complejos cálculos matemáticos necesarios durante el proceso de
razonamiento.
17 Sistemas Expertos - Fabiola Aranibar Valdivia
Universidad José Carlos Mariátegui 2013
En ambos casos debe garantizarse una comunicación fluida de todos los
sistemas, aunque estén funcionando en plataformas diferentes, ya sea
directamente o a través de una red local. Este aspecto es crítico en sistemas
basados en el conocimiento en tiempo real, los cuales requieren un rápido
acceso a la información relevante y a las bases de datos para poder ofrecer
una solución inmediata y satisfactoria.
Por tanto, habrá que fijarse en las posibilidades de conexión a las bases de
datos más conocidas y, en especial, a aquélla que se esté utilizando como
estándar en la organización así como la posibilidad de llamar a rutinas externas
en diferentes lenguajes y viceversa, o la invocación del sistema basado en el
conocimiento desde otros sistemas.
Un aspecto fundamental a tener en cuenta es la portabilidad de la herramienta
(herramientas multiplataforma). En este aspecto hay que valorar no sólo si la
herramienta es susceptible de funcionar en diferentes plataformas sino
también el coste del cambio de plataforma. Existen herramientas que permiten
pasar de una plataforma a otra sin apenas esfuerzo, lo que facilitará la
comercialización y el uso de los sistemas que se desarrollen.
XI. TENDENCIAS FUTURAS DE LOS SISTEMAS EXPERTOS
El mercado de herramientas para el desarrollo de SE está sufriendo una
profunda transformación debido a una reorganización en el mercado
informático y al cambio de estrategia de las compañías dedicadas al desarrollo
de estas herramientas. Son cada vez más las compañías que antaño se
dedicaban exclusivamente a la inteligencia artificial y que han decidido
introducirse en otros mercados más amplios. Esto ha provocado una confusión
que irá en aumento a medida que las empresas que integraban el grupo del
mercado de la inteligencia artificial pasen a comercializar otro tipo de
productos.
El mercado se ha ido reconfigurando aprovechando las experiencias del pasado
y el avance tecnológico. Así se ha pasado de utilizar máquinas específicas (por
ejemplo máquinas LISP) a usar ordenadores comunes (estaciones de trabajo,
18 Sistemas Expertos - Fabiola Aranibar Valdivia
Universidad José Carlos Mariátegui 2013
ordenadores personales, etc.). Las aplicaciones eran muy específicas y ahora el
ámbito es mucho más amplio. Los sistemas basados en el conocimiento
estaban pensados para trabajar de forma aislada y ahora se conciben
integrados con otros sistemas. Y, finalmente, el número de personas formadas
en estas técnicas es mucho mayor que las existentes hace unos años.
Las herramientas de desarrollo de sistemas basados en el conocimiento se
pueden clasificar de varias formas.
Según la plataforma de desarrollo y de operación que lo estructuran podemos
distinguir cuatro tipos:
Herramientas para PCs y Macintosh: Hasta hace poco, las
herramientas que existían para estos entornos estaban orientadas al
desarrollo de sistemas pequeños y prototipos. Actualmente, y dado el
aumento de la potencia de los PCs, hay herramientas que antes sólo
funcionaban en estaciones de trabajo y ahora tienen versiones para PC.
Herramientas para estaciones de trabajo: Aunque el número de
herramientas en este sector no ha sufrido grandes variaciones, la
aparición de nuevas herramientas catalogadas como herramientas
orientadas a dominios específicos podrían incluirse en esta categoría.
Este mercado presenta el mayor volumen de ventas, y puede ser
considerado sin duda, junto con el de los PCs, el que tiene más
proyección de futuro. De hecho, aquellas compañías que no ofrecen una
buena herramienta para estaciones de trabajo están realizando
esfuerzos para colocar en el mercado un producto capaz de competir en
este entorno.
Herramientas para mainframes: El número de herramientas en este
mercado es pequeño y se prevé que en los próximos años descienda
lenta pero continuamente hasta desaparecer, ya que las compañías que
los comercializan se están desplazando hacia las herramientas para
estaciones de trabajo y PCs.
Herramientas Lisp: Son ordenadores con arquitecturas especiales para
ejecutar programas Lisp. El interés por herramientas Lisp continúa
19 Sistemas Expertos - Fabiola Aranibar Valdivia
Universidad José Carlos Mariátegui 2013
descendiendo así como el número de productos en el mercado. Se prevé
un descenso continuo en los próximos años.
Según el alcance de la herramienta podemos dividirlas en:
Herramientas de Propósito General. No están especialmente
concebidas para tratar problemas específicos. Tienen como ventaja su
capacidad para ser empleadas en gran variedad de problemas.
Orientadas a dominios y problemas específicos. Esta última
categoría representa el mayor grupo de herramientas en el mercado. Se
trata de herramientas que abordan problemas o áreas específicos.
Ahorran mucho tiempo de desarrollo en el caso de ser aplicadas en los
dominios para los que se diseñaron. El número permanece estable
aunque con perspectivas de crecimiento en los años venideros debido al
gran interés existente en este tipo de herramientas.
Por último podemos realizar una última división atendiendo al lenguaje o
técnica para el que sirve la herramienta y así podemos distinguir entre:
Herramientas CBR (Case-Based Reasoning): La demanda de
herramientas de este tipo se está consolidando mediante la mejora de la
calidad de sus productos con más utilidades y nuevos componentes. Son
herramientas de razonamiento basadas en casos, para a partir de ellos
inducir las reglas y criterios por similitud.
Herramientas para lenguajes Lisp, Prolog, C++. Son entornos de
desarrollo; proporcionan las utilidades necesarias (editores,
compiladores, depuradores) para poder programar de forma cómoda en
estos lenguajes. (Se incluye el C++ porque cada vez hay más programas
basados en el conocimiento que se desarrollan en él).
Shells. Son entornos de desarrollos completos y particulares. Contienen
un motor de inferencia y utilizan métodos propios de representación del
conocimiento que pueden ser más o menos parecidos al Lisp o al Prolog.
Sirven principalmente para el desarrollo de prototipos aunque también
pueden utilizarse como herramientas finales. Algunos ejemplos son
CLIPS, ART, G2.
20 Sistemas Expertos - Fabiola Aranibar Valdivia
Universidad José Carlos Mariátegui 2013
Algunos de los campos actuales de investigación y de aplicación son:
Aprendizaje: Se pretende que sea el propio ordenador el que adquiera
el conocimiento. Existen muchas técnicas aplicables o no dependiendo
del problema: aprendizaje inductivo, deductivo, redes neuronales,
algoritmos genéticos.
Redes Neuronales: Consisten en nodos conectados con otros mediante
enlaces, simulando las conexiones que forman las neuronas en el
cerebro. Se investiga su utilización en muchas áreas; Visión Artificial,
Razonamiento, Aprendizaje, Comprensión Lenguaje Natural.
Redes Bayesianas: Técnica para tratar el razonamiento con
incertidumbre. Su base es el teorema de Bayes que es el método
matemático exacto para tratar las probabilidades. Consiste en una red
donde los nodos son hechos ciertos o no y los enlaces entre los nodos
son las probabilidades condicionadas de unos hechos con respecto a
otros. Propagando las probabilidades a través de la red, se pueden
obtener los resultados más probables a partir de los hechos que se
conocen (razonamiento). El ejemplo típico son los sistemas de
diagnóstico médico.
Algoritmos genéticos: Son métodos de aprendizaje inspirados en la
evolución natural, y que utilizan las nociones de individuos,
apareamiento, recombinación de cromosomas, mutación genética,
adaptación y selección natural. Son la base de las investigaciones en
Vida Artificial.
Otras técnicas que se pueden mencionar son la utilización de Ontologías para
representar el conocimiento, Data Mining para obtención de conocimiento en
bases de datos y los Agentes Inteligentes para la recuperación de información
en Internet.
XII. APLICACIONES DE LOS SISTEMAS EXPERTOS.
1. Factores que justifican el desarrollo de un sistema experto:
El coste para formar nuevos expertos es muy alto.
21 Sistemas Expertos - Fabiola Aranibar Valdivia
Universidad José Carlos Mariátegui 2013
Existe el riesgo de perder los conocimientos y la experiencia en
posesión de los expertos.
Los expertos reconocidos que resuelven ese tipo de problemas
son escasos.
Es conveniente disponer de expertos sin restricciones de tiempo y
lugar.
Los expertos tienen que trabajar en ambientes hostiles.
2. Tipo de problemas que hacen apropiado el desarrollo de un sistema
experto.
Las tareas requieren principalmente tratamiento y razonamiento
simbólico.
Las tareas admiten el uso de métodos heurísticos.
Las tareas no son demasiado fáciles.
Las tareas tienen un valor eminentemente práctico.
Las tareas tienen un tamaño razonable, esto es, el número de
conceptos que deben ser manejados es limitado y no requiere
conocimientos de muchas áreas diferentes.
3. Campo de aplicaciones de los SE.
Según el tipo de problema a resolver, los ámbitos de aplicación en los que más
se han utilizado los sistemas basados en el conocimiento son los siguientes:
Sistemas de ayuda a la toma de decisiones. Se trata de sistemas
que a partir de una problemática determinada sugieren la solución que
consideran más idónea a partir del conocimiento incluido en el sistema.
En la actualidad, en España se procede al desarrollo del Sistema de
Información Normativo Aplicado al Control (SINAC) fruto de la
colaboración entre la Intervención General de la Administración del
Estado y la Dirección General de Informática Presupuestaria. Su función
primordial consiste en ayudar en la fiscalización y control de la actividad
económica del Sector Público. Otro ejemplo significativo podría ser la
Metodología de Análisis y Gestión de Riesgos de los sistemas de
22 Sistemas Expertos - Fabiola Aranibar Valdivia
Universidad José Carlos Mariátegui 2013
Información de las AdminisTraciones públicas(MAGERIT), elaborada por
un equipo interdisciplinar del Comité Técnico de Seguridad de los
Sistemas de Información y Tratamiento Automatizado de Datos
Personales, SSITAD, del Consejo Superior de Informática y que consiste
en un método formal para investigar los riesgos que soportan los
Sistemas de Información, y para recomendar las medidas apropiadas
que deberían adoptarse para controlar estos riesgos; por tanto, permite
aportar racionalidad en el conocimiento del estado de seguridad de los
Sistemas de Información y en la introducción de medidas de seguridad.
Configuración. Se encargan de la selección y planificación de los
componentes que se necesitan en un proceso determinado. Un caso
típico son los sistemas que ayudan a configurar los equipos físicos a
partir de los componentes existentes y de las restricciones establecidas.
Diagnóstico. Se trata de sistemas que a partir de unos "síntomas"
determinan las causas que lo producen. Ejemplo de ellos son los
sistemas basados en el conocimiento de diagnóstico de enfermedades o
de averías.
Interpretación y Análisis. Sirven para tratar grandes volúmenes de
información, interpretarla, dar un informe explicativo y sugerir las
acciones a tomar. Ejemplo de ellos pueden ser los sistemas de
evaluación de resistencia de estructuras frente a terremotos o sistemas
de supervisión de procesos industriales.
Monitorización. En algunas situaciones se considera un caso particular
de sistemas de interpretación y análisis, pero debido a su frecuente uso
se suelen considerar aparte. Estos sistemas suelen encargarse de
monitorizar procesos suministrando una salida de control como
respuesta. Existen muchos ejemplos de monitorización de procesos en
factorías, plantas químicas, centrales nucleares, etc. Son sistemas que
deben funcionar en tiempo real.
Planificación. Son sistemas que establecen las etapas y recursos
necesarios para alcanzar un determinado objetivo. Ejemplo de ellos
podría ser un sistema basado en el conocimiento de planificación de
trabajos en una factoría.
23 Sistemas Expertos - Fabiola Aranibar Valdivia
Universidad José Carlos Mariátegui 2013
Interfaces inteligentes. Hacen de puente entre las personas y equipos
complejos y de difícil utilización. Caso típico son los interfaces
inteligentes de acceso a base de datos.
Diseño. Son aquéllos que efectúan la planificación o trazado de un
objeto o sistema en base a los requisitos especificados. Suelen ser
capaces de dar diferentes soluciones de forma que el usuario pueda
elegir aquélla que le convenga. Ejemplo de este tipo son los sistemas de
ayuda al diseño de puentes, presas, microcircuitos electrónicos, etc.
A modo de resumen y sin ser exhaustivos, pues el ámbito de aplicación de los
sistemas basados en el conocimiento es muy amplio, el siguiente cuadro indica
algunas de las áreas en las que se han aplicado sistemas basados en el
conocimiento y el tipo de problema que abordan:
DOMINIO PROBLEMAS
Ámbito Administrativo:-Reglamentación. - Aligerar el tiempo de procedimientos.-Derecho interpretado. -Disminución de costes de tramitación.- Procesos. -Homogeneidad de las interpretaciones
legales.- Procedimientos. -Disponibilidad de la información.
Gestión:- Ejecutivos. -Manejo de un volumen creciente de
información.-Gestores. -Acceso a expertos o consultores para la
resolución de un problema determinado.
- Planificación estratégica. -Reducción de la complejidad organizativa.
-Dirección.
-Consultores.
Operaciones:-Operación de maquinaria. -Mejora de la coordinación de la
organización, programación y gestión complejas.
-Controles de calidad. -Vigilancia de sistemas complejos para poder tomar decisiones rápidamente.
-Controles de inventario. - Previsión de resultados de procesos complejos y dinámicos.
-Control de maquinaria
Servicios de Apoyo:-Relaciones Públicas. -Comunicación de procedimientos
nuevos y complejos
24 Sistemas Expertos - Fabiola Aranibar Valdivia
Universidad José Carlos Mariátegui 2013
- Entrenamiento de personal. - Examen y explicación de las decisiones tomadas.
- Servicios de proceso de datos.
-Control y reducción de los costes de desarrollo y mantenimiento de sistemas informáticos.
-Mantenimiento y construcción.
- Entrenamiento de operarios en tareas complejas
- Investigación y desarrollo.
-Problemas legales.
Finanzas:-Gestores de cartera. -Necesidad de disponer de herramientas
inteligentes para la planificación.-Contabilidad financiera. -Vigilancias de sistemas complejos
existentes.-Gestores financieros.
-Auditoría
-Control.
Mercadotecnia:-Ventas. -Necesidad de asistencia experta para
examinar cuestiones mercadotécnicas.- Publicidad. -Necesidad de programas de servicio de
clientes, asistencia y control.- Investigación mercado- técnica.-Gestión de pedidos.
Automatización del Trabajo de Oficina:- Proceso de textos. -Necesidad de incremento en el manejo,
comunicación, recuperación y distribución de información.
-Gestión de bases de datos.
Servicios Profesionales:-Consultoría de gestión. -Acceso a la información de otros
consultores o expertos.-Abogacía. -Realización de informes.-Medicina. -Modelización y simulación.-Contabilidad. -Control de un volumen creciente de
información.
25 Sistemas Expertos - Fabiola Aranibar Valdivia
Universidad José Carlos Mariátegui 2013
XIII. CONCLUSIONES
Actualmente el duro, difícil y cambiante mercado competitivo se vuelve más
complejo por la gran diversidad de información que se ven obligados a
almacenar y analizar, razón por la cual las empresas se ven en la necesidad de
recurrir a poderosas y/o robustas herramientas o sistemas que les sirvan de
soporte a la hora de tomar decisiones. De esta forma estos inteligentes,
precisos y eficientes sistemas son adoptados por más organizaciones, en las
cuales se convierten y/o transforman en una importante estrategia de negocio.
Por otra parte es importante mencionar que estos seguirán siendo usados en
los todos y cada una de las áreas y/o campos donde los expertos humanos
sean escasos. Por consecuencia de lo anterior estos sistemas son utilizados por
personas no especializadas, por lo cual el uso frecuente de los (SE) les produce
y/o genera conocimiento a los usuarios.
26 Sistemas Expertos - Fabiola Aranibar Valdivia
Universidad José Carlos Mariátegui 2013
XIV. BIBLIOGRAFÍA
www.informaticaintegral.net/sisexp.html
www.gestiopolis.com/canales2/gerencia/1/sisexp.htm
www.fortunecity.com/skyscraper/ chaos/279/docs/sistexpertos.htm
http://www.slideshare.net/ruttbar/sistemas-expertos-4637427#btnNext
http://maricelamaldonado.wordpress.com/2011/03/23/arquitectura-de-
un-sistema-experto/
http://html.rincondelvago.com/sistemas-expertos_1.html
http://rigo-fdr.blogspot.com/
http://www.monografias.com/trabajos16/sistemas-expertos/sistemas-
expertos.shtml
http://www.angelfire.com/ak6/ilb_ebustosf/6_3.pdf
Samper Márquez Juan José (2004). Introducción a los sistemas expertos.
Consultado en 06, 03, 2004
o http://www.redcientifica.com/doc/doc199908210001.html.
Criado Briz José Mario (2002). Introducción a los sistemas expertos.
Consultado en 06, 05, 2004 en
o http://ingenieroseninformatica.org/recursos/tutoriales/sist_exp/
cap1.php.
Wikipedia (2004). Sistema experto. Consultado en 06, 03, 2004
en http://es.wikipedia.org/wiki/Sistema_experto.
Félix Justo (2004). Aplicaciones, ventajas y limitaciones de los sistemas
expertos. Consultado en 06, 04, 2004 en
27 Sistemas Expertos - Fabiola Aranibar Valdivia
Universidad José Carlos Mariátegui 2013
o http://efelix.iespana.es/efelix/expertaplicaciones.htm.
28 Sistemas Expertos - Fabiola Aranibar Valdivia