Está en la página 1de 89

SISTEMAS EXPERTOS

JOHN ALERJANDRO FIGUEREDO LUNA

UNIVERSIDAD NACIONAL ABIERTA Y A


DISTANCIA UNAD 2.005

SISTEMAS EXPERTOS

JOHN ALEJANDRO FIGUEREDO LUNA

UNIVERSIDAD NACIONAL ABIERTA Y A


DISTANCIA UNAD
FACULTAD DE CIENCIAS BASICAS E INGENIERIA
PROGRAMA DE INGENIERIA DE SISTEMAS
2.005
iii

CONTENIDO
UNIDAD 1. VISION GENERAL DE LA INTELIGENCIA ARTIFICIAL Y LOS
SISTEMAS EXPERTOS
CAPITULO 1. INTRODUCCIN A LOS CONCEPTOS BSICOS DE LA IA
1. INTRODUCCIN
1.1 La base de la inteligencia artificial
1.2 Pueden pensar las mquinas?
1.3 Los fines de la IA
1.4 Historia Y Evolucin De La Inteligencia Artificial
1.5. Caractersticas De La Inteligencia Artificial
1.5.1 Programa fijo y programa modificado por el procesamiento
1.6. Funcionamiento Bsico De La Inteligencia Artificial
1.6.1 Smbolos vs. Mtodos Numricos
1.6.2 Alfabeto del Lenguaje de la Lgica de Primer Orden
1.7 Principales Ramas De La Inteligencia Artificial
1.7.1 Sistemas Expertos
1.7.2 Robtica
1.7.3 Sistemas De Visin
1.7.4 Procesamiento De Lenguaje Natural
1.7.5 Sistemas De Aprendizaje
1.7.6 Redes Neuronales
1.8 ACTIVIDADES COMPLEMENTARIAS

1
1
1
2
2
3
4
5
6
6
9
9
9
9
10
10
11
11

CAPITULO 2. VISION GENERAL DE LOS SISTEMAS EXPERTOS


2.1 Introduccin
2.2. Historia De Los Sistemas Expertos
2.3 Que Es Un Sistema Experto?
2.3.1 Caractersticas de un Sistema Experto
2.4 Cules son las ventajas de un sistema experto?
2.5 Los expertos Humanos
2.6 Diferencias entre un experto y un no experto humano
2.7 Diferencias entre un SE y un programa tradicional
2.8 Diferencias entre un sistema experto y un experto humano
2.9 Ventajas de los sistemas expertos
2.10 Forma en que los usuarios interactan con los SE
2.11 Sistema experto VS. Sistema clsico
2.12 Futuro de los Sistemas Expertos
2.13 ACTIVIDADES COMPLEMETARIAS

12
12
13
14
15
16
17
17
17
18
18
19
20
21

UNIDAD 2. DESARROLLO Y USO DE LOS SISTEMAS EXPERTOS


CAPTULO 3. USO DE LOS SISTEMAS EXPERTOS
iv

3.1 Introduccin
3.2 Uso de los sistemas Expertos
3. 2.1 Interpretacin, diagnstico y monitoreo
3.2.2 Diseo y seleccin
3.2.3 Planificacin
3.2.4 Control
3.2.5 Reparacin, correccin o terapia
3.2.6 Simulacin, pronstico o prediccin
3.2.7 Instruccin
3.2.8 Recuperacin de Informacin
3.3. Elementos de una Sistema Experto
3.3.1. Base de Conocimientos
3.3.2 El Mecanismo de Inferencia
3.3.3 El componente explicativo
3.3.4 La interfaz del usuario
3.3.5 El componente de adquisicin
3.3.6 ACTIVIDADES COMPLEMENTARIAS

21
22
22
23
24
24
25
25
26
26
26
29
29
31
32
34
35

CAPITULO 4. PROCESO DE DESARROLLO DE UN SISTEMA EXPERTO


4. Introduccin
36
4.1 Aspectos Generales
36
4.1.1 El Equipo de Desarrollo
36
4.1.2 Construccin de las principales partes de un SE
37
4.1.2.1 La base de conocimiento
38
4.1.2.2 Cinco Pasos en la Construccin de una Base de Conocimientos
39
4.1.2.3 Proceso Lgico de Carga de la Base de Conocimiento
40
4.1.3 El motor de inferencia
41
4.1.3.1 Mtodo de encadenamiento hacia delante
42
4.1.3.2. Mtodo de encadenamiento hacia atrs.
42
4.1.3.3 Mtodo de reglas de produccin
43
4.1.4 Construccin del Mecanismo de Inferencia
43
4.1.4.1 El mecanismo de inferencia
43
4.1.4.2 Motor de Inferencia.
43
4.1.4.3 Identificacin de patrones.
44
4.1.4.4. Ejecucin de las reglas.
45
4.1.4.5. La fase de restriccin.
45
4.1.4.6 La fase de seleccin.
46
4.1.4.7 Ejemplo de Funcionamiento del Motor de Inferencia
47
4.1.5 Estructura de los Sistemas Basados en Conocimiento.
50
4.1.5.1 Fases en la adquisicin del conocimiento
52
4.1.5.2 Tecnologa de los Sistemas Basados en Conocimiento
52
4.2 Metodologas para la construccin de SE
53
4.2.1 Metodologa de Prototipos
53
4.2.2 Metodologa Orientada a Objetos
53
4.3 Actividades Complementarias
55
UNIDAD 3. EJEMPLOS Y APLICACIONES DE LOS SISTEMAS EXPERTOS
v

CAPITULO 5. EJEMPLOS DE SISTEMAS EXPERTOS


5.1 Lenguajes utilizados en la construccin de SE
5.1.1 LISP
5.1.2 CLIPS
5.1.3 Prolog
5.1.4 Smalltalk
5.1.5. C y C++
5.2 Representacin del conocimiento
5.3. Lgica Proposicional
5.4 Lgica de Predicados
5.5. Ventajas y desventajas de la lgica de predicados
5.6. Reglas de Produccin
5.7. Ventajas y desventajas de las reglas de produccin
5.8. Redes Asociativas
5.8.1. Ventajas y desventajas de las Redes Asociativas
5.9 Estructuras frame
5.9.1. Ventajas y desventajas de los frames
5.9.2. Representacin orientada a objetos
5.9.3 Ventajas y desventajas de la representacin orientada a objetos
5.10 ACTIVIDADES COMPLEMETARIAS

56
56
56
57
57
58
59
59
61
61
61
62
62
63
63
64
64
65
66
66

CAPITULO 6. TAREAS QUE REALIZAN LOS SISTEMAS EXPERTOS


6.1 Interpretacin, diagnstico y monitoreo
6.2 Diseo y seleccin
6.3 Planificacin
6.4 Control
6.5 Reparacin, correccin o terapia
6.6 Simulacin, pronstico o prediccin
6.7 Instruccin
6.8 Recuperacin de Informacin
6.9 ACTIVIDADES COMPLEMENTARIAS

67
68
69
69
69
70
71
71
71

CAPITULO 7. CAMPOS DE APLICACIN DE LOS SISTEMAS EXPERTOS


7.1 Medicina
7.2 Anlisis de estados financieros
7.3 Planificacin Financiera
7.4 Industria
7.5 Electrnica, informtica y telecomunicaciones
7.6 Militar
7.7 Contabilidad
7.8 Robtica
7.9 Reconocimiento de patrones
7.10 Otros campos de aplicacin
7.11. Ejemplos De Sistemas Expertos En Empresas
7.11.1 En la Industria
7.11.2 En Contabilidad

72
72
72
73
73
74
74
75
75
75
76
76
76
vi

7.11.3 En Anlisis de Estados Financieros

76

7.11.4 En Planificacin Financiera


7.11.5 En la Aviacin
7.11.6 En Medicina
7.11.7 Aplicaciones actuales
7.12 ACTIVIDADES COMPLEMENTARIAS
8. GLOSARIO DE TERMINOS
9. BIBLIOGRAFIA

77
77
78
78
80
81
83

vii

UNIDAD 1. VISION GENERAL DE LA INTELIGENCIA ARTIFICIAL Y LOS


SISTEMAS EXPERTOS
CAPITULO 1. INTRODUCCIN A LOS CONCEPTOS BSICOS DE LA IA
1. INTRODUCCIN
La finalidad de la inteligencia artificial consiste en crear teoras y modelos que
muestren la organizacin y funcionamiento de la inteligencia. Actualmente, el
mayor esfuerzo en la bsqueda de la inteligencia artificial se centra en el
desarrollo de sistemas de procesamientos de datos que sean capaces de imitar a
la inteligencia humana, realizando tareas que requieran aprendizaje, solucin de
problemas y decisiones. A veces llamada inteligencia de mquina, la inteligencia
artificial o AI (Artificial Intelligence) cubre una vasta gama de teoras y prcticas.
La inteligencia artificial se define como aquella inteligencia exhibida por artefactos
creados por humanos (es decir, artificial). A menudo se aplica hipotticamente a
los computadores. El nombre tambin se usa para referirse al campo de la
investigacin cientfica que intenta acercarse a la creacin de tales sistemas.
Existen cuatro puntos de vista principales sobre estos sistemas:

Los que piensan como humanos.


Los que actan como humanos.
Los que piensan racionalmente.
Los que actan racionalmente.

1.1 La base de la inteligencia artificial


La inteligencia artificial se basa en dos reas de estudio: el cuerpo humano y el
ordenador electrnico. Puesto que la meta es copiar la inteligencia humana, es
necesario entenderla. Sin embargo, a pesar de todos los progresos en Neurologa
y Psicologa, la inteligencia del hombre se conoce poco, exceptuando sus
manifestaciones externas. Muchos estudiosos de la inteligencia artificial se han
vuelto para obtener su modelo de inteligencia hacia el estudio de la Psicologa
cognoscitiva, que aborda la forma de percibir y pensar de los seres humanos.
Despus comprueban sus teoras programando los ordenadores para simular los
procesos cognoscitivos en el modelo. Otros investigadores intentan obtener
teoras generales de la inteligencia que sean aplicables a cualquier sistema de
inteligencia y no solo al del ser humano.
1.2 Pueden pensar las mquinas?
En 1950 el matemtico ingls Alan M. Turing public un ensayo que comenzaba
as: "Quiero proponer una pregunta: Pueden pensar las mquinas?." Como la
pregunta era demasiado vaga (Qu entendemos por "pensar"?), Turing
desarroll un experimento basado en un juego de saln en el que una persona

formula a dos jugadores escondidos (un hombre y una mujer) preguntas que le
servirn para descubrir cul de los dos es la mujer.
Turing propuso sustituir uno de los dos jugadores escondidos por una mquina
inteligente capaz de conversar. Si el examinador, que se serva de un teletipo para
comunicarse, no podan distinguir cul de los dos jugadores era la mquina, ello
evidenciara segn Turing que la mquina poda pensar. En la actualidad, este
experimento de Turing podra ser superado, en situaciones limitadas, por muchos
programas de ordenador estudiados para dialogar con el usuario.
Investigaciones acerca de la inteligencia artificial realizadas en la Universidad de
Yale (EE.UU.) han llevado al desarrollo de programas de ordenador mediante los
cuales stos pueden aprender y razonar. Otros estudiosos de la inteligencia
artificial estn poniendo a punto sistemas para dotar a los ordenadores de
capacidad visual y auditiva. Una importante rea de investigacin es la del
lenguaje normal, que permite a los ordenadores comunicarse mediante lenguaje
humano en lugar de hacerlo en lenguaje de mquina.
Es decir, la mayora de los ordenadores estn programados para recibir e
interpretar instrucciones de este tipo: S#DYR=48-56, LOC=AS NOT SW,
EN=RALSTON". nicamente personas preparadas son capaces de comunicarse
eficazmente de esta forma. Pero si un ordenador programado para gestionar la
documentacin de una compaa petrolfera pudiese entender la orden
dactilografiada (traduccin de la anterior) "Encuntrame toda la documentacin
relativa a las perforaciones de los pozos de Arabia Saudita entre 1948 y 1956,
pero nicamente la de los pozos en que trabaj Ralston, no los de la zona
surocciodental del pas", muchas personas podran utilizarlo.
1.3 Los fines de la IA
Las primeras investigaciones acerca de la inteligencia artificial estaban
principalmente dirigidas al hallazgo de una tcnica universal para la solucin de
problemas. Este intento a gran escala ha sido abandonado y las investigaciones
actuales estn dirigidas al diseo de numerosos programas para ordenadores
capaces de imitar los procesos de toma de decisiones de expertos, como mdicos,
qumicos, basados en los conocimientos de especialistas en cada materia, son
ahora utilizados para diagnosticar enfermedades, identificar molculas qumicas,
localizar yacimientos de minerales e incluso disear sistemas de fabricacin.
Investigaciones acerca de la percepcin han sido aplicadas a los robots y se han
diseado algunos capaces de "ver". La meta final consiste en crear un sistema
capaz de reproducir todas las facetas de la inteligencia humana.
1.4 Historia Y Evolucin De La Inteligencia Artificial
La Inteligencia Artificial "naci" en 1943 cuando Warren McCulloch y Walter Pitts
propusieron un modelo de neurona del cerebro humano y animal. Estas neuronas
nerviosas abstractas proporcionaron una representacin simblica de la actividad
cerebral.

Ms adelante, Norbert Wiener elabor estas ideas junto con otras, dentro del
mismo campo, que se llam "ciberntica"; de aqu nacera, sobre los aos 50, la
Inteligencia Artificial.
Los primeros investigadores de esta innovadora ciencia, tomaron como base la
neurona formalizada de McCulloch y postulaban que:
"El cerebro es un solucionador inteligente de problemas, de modo que imitemos al
cerebro".
Pero si consideramos la enorme complejidad del mismo esto es ya prcticamente
imposible, ni que mencionar que el hardware de la poca ni el software estaban a
la altura para realizar semejantes proyectos.
Se comenz a considerar el pensamiento humano como una coordinacin de
tareas simples relacionadas entre s mediante smbolos. Se llegara a la
realizacin de lo que ellos consideraban como los fundamentos de la solucin
inteligente de problemas, pero lo difcil estaba todava sin empezar, unir entre s
estas actividades simples.
Es en los aos 50 cuando se logra realizar un sistema que tuvo cierto xito, se
llam el Perceptrn de Rossenblatt. ste era un sistema visual de reconocimiento
de patrones en el cual se asociaron esfuerzos para que se pudieran resolver una
gama amplia de problemas, pero estas energas se diluyeron enseguida.
Fue en los aos 60 cuando Alan Newell y Herbert Simon, que trabajando la
demostracin de teoremas y el ajedrez por ordenador logran crear un programa
llamado GPS (General Problem Solver: solucionador general de problemas). ste
era un sistema en el que el usuario defina un entorno en funcin de una serie de
objetos y los operadores que se podan aplicar sobre ellos. Este programa era
capaz de trabajar con las torres de Hanoi, as como con criptoaritmtica y otros
problemas similares, operando, claro est, con microcosmos formalizados que
representaban los parmetros dentro de los cuales se podan resolver problemas.
Lo que no poda hacer el GPS era resolver problemas ni del mundo real, ni
mdicos ni tomar decisiones importantes. El GPS manejaba reglas heursticas
(aprender a partir de sus propios descubrimientos) que la conducan hasta el
destino deseado mediante el mtodo del ensayo y el error.
En los aos 70, un equipo de investigadores dirigido por Edward Feigenbaum
comenz a elaborar un proyecto para resolver problemas de la vida cotidiana o
que se centrara, al menos, en problemas ms concretos. As es como naci el
sistema experto.
El primer sistema experto fue el denominado Dendral, un intrprete de
espectrograma de masa construido en 1967, pero el ms influyente resultara ser
el Mycin de 1974. El Mycin era capaz de diagnosticar trastornos en la sangre y
recetar la correspondiente medicacin, todo un logro en aquella poca que incluso
fueron utilizados en hospitales (como el Puff, variante de Mycin de uso comn en
el Pacific Medical Center de San Francisco, EEUU).
Ya en los aos 80, se desarrollaron lenguajes especiales para utilizar con la
Inteligencia Artificial, tales como el LISP o el PROLOG. Es en esta poca cuando
se desarrollan sistemas expertos ms refinados, como por el ejemplo el EURISKO.
Este programa perfecciona su propio cuerpo de reglas heursticas
automticamente, por induccin.

1.5. Caractersticas De La Inteligencia Artificial

Una caracterstica fundamental que distingue a los mtodos de Inteligencia


Artificial de los mtodos numricos es el uso de smbolos no matemticos,
aunque no es suficiente para distinguirlo completamente. Otros tipos de
programas como los compiladores y sistemas de bases de datos, tambin
procesan smbolos y no se considera que usen tcnicas de Inteligencia
Artificial.

El comportamiento de los programas no es descrito explcitamente por el


algoritmo. La secuencia de pasos seguidos por el programa es influenciado
por el problema particular presente. El programa especifica cmo encontrar
la secuencia de pasos necesarios para resolver un problema dado
(programa declarativo). En contraste con los programas que no son de
Inteligencia Artificial, que siguen un algoritmo definido, que especifica,
explcitamente, cmo encontrar las variables de salida para cualquier
variable dada de entrada (programa de procedimiento).

El razonamiento basado en el conocimiento, implica que estos programas


incorporan factores y relaciones del mundo real y del mbito del
conocimiento en que ellos operan. Al contrario de los programas para
propsito especfico, como los de contabilidad y clculos cientficos; los
programas de Inteligencia Artificial pueden distinguir entre el programa de
razonamiento o motor de inferencia y base de conocimientos dndole la
capacidad de explicar discrepancias entre ellas.

Aplicabilidad a datos y problemas mal estructurados, sin las tcnicas de


Inteligencia Artificial los programas no pueden trabajar con este tipo de
problemas. Un ejemplo es la resolucin de conflictos en tareas orientadas a
metas como en planificacin, o el diagnstico de tareas en un sistema del
mundo real: con poca informacin, con una solucin cercana y no
necesariamente exacta.

La Inteligencia Artificial incluye varios campos de desarrollo tales como: la robtica,


usada principalmente en el campo industrial; comprensin de lenguajes y
traduccin; visin en mquinas que distinguen formas y que se usan en lneas de
ensamblaje; reconocimiento de palabras y aprendizaje de mquinas; sistemas
computacionales expertos.
Los sistemas expertos, que reproducen el comportamiento humano en un estrecho
mbito del conocimiento, son programas tan variados como los que diagnostican
infecciones en la sangre e indican un tratamiento, los que interpretan datos
sismolgicos en exploracin geolgica y los que configuran complejos equipos de
alta tecnologa.
Tales tareas reducen costos, reducen riesgos en la manipulacin humana en
reas peligrosas, mejoran el desempeo del personal inexperto, y mejoran el
control de calidad sobre todo en el mbito comercial.

1.5.1 Programa fijo y programa modificado por el procesamiento


Existen grandes diferencias entre el funcionamiento de las mquinas y el del
cerebro: algunas son evidenciadas en el esquema bajo estas lneas. Las
mquinas y el cerebro se diferencian en muchos aspectos: el primero es ligado a
la arquitectura del sistema de memoria y a la elaboracin realizada por la
inteligencia natural, que influye en los programas sucesivos al ser almacenada en
la memoria que mantiene disponibles todos los hechos que se han ido
acumulando a lo largo del tiempo. Abajo a la izquierda se muestra el esquema de
funcionamiento de un sistema artificial: procesa datos que recibe del exterior y que
le son presentados ya seleccionados. Los procesa mediante un programa fijo,
siempre elegido y construido por el hombre, es decir, desde el exterior.

Figura 1.1 Visualizacin Sistema experto Cerebro humano


Este programa es sencillo comparado con los utilizados por el cerebro humano.
A lo largo del tiempo, un mismo programa que procese los mismos datos obtendr
siempre los mismos resultados. Sin embargo, este sistema es muy veloz cuando
se le piden secuencias de operaciones. Contrariamente, el cerebro humano es
capaz de procesar al mismo tiempo todas las informaciones contenidas en una
imagen, y el resultado de dicho procesamiento puede servir para modificar el
programa, que para posteriores utilizaciones ser ms completo.
La observacin de una imagen muestra la diferencia fundamental entre el modo de
procesar los datos del cerebro humano y el de la mquina. El cerebro humano no
acta teniendo en cuenta un programa prefijado, sino ms bien uno de naturaleza
variable en el tiempo; las variaciones dependen de los resultados procedentes. De
hecho, el cerebro tiene la propiedad de recordar imgenes similares; una vez vista
la figura, extrae de su memoria imgenes similares previamente almacenadas y
los resultados de los anlisis realizados sobre ellas. Estos resultados sirven para
mejorar el programa segn el cual sacar conclusiones aplicadas al examen de la
figura.

1.6. Funcionamiento Bsico De La Inteligencia Artificial


Diferentes teoras:
1. Construir rplicas de la compleja red neuronal del cerebro humano (bottomup).
2. Intentar imitar el comportamiento del cerebro humano con un computador
(top-down).
1.6.1 Smbolos vs. Mtodos Numricos
El primer perodo de la Inteligencia Artificial, llamado sub-simblico, data de
aproximadamente 1950 a 1965. Este perodo utiliz representaciones numricas
(o sub-simblicas) del conocimiento. Aunque la mayor parte de los libros de
Inteligencia Artificial enfatizan el trabajo realizado por Rosenblatt y Widrow con
redes neuronales durante este perodo, la realidad es que otra importante escuela
sub-simblica data tambin de la misma poca y estos son los algoritmos
evolutivos.
La escuela clsica dentro de la Inteligencia Artificial, utiliza representaciones
simblicas basadas en un nmero finito de primitivas y de reglas para la
manipulacin de smbolos. El perodo simblico se considera aproximadamente
comprendido entre 1962 y 1975, seguido por un perodo dominado por los
sistemas basados en el conocimiento de 1976 a 1988. Sin embargo, en este
segundo perodo las representaciones simblicas (por ejemplo, redes semnticas,
lgica de predicados, etc.) siguieron siendo parte central de dichos sistemas.
La Programacin Lgica tiene sus orgenes ms cercanos en los trabajos de J. A.
Robinson que propone en 1965 una regla de inferencia a la que llama resolucin,
mediante la cual la demostracin de un teorema puede ser llevada a cabo de
manera automtica.
La resolucin es una regla que se aplica sobre cierto tipo de frmulas del Clculo
de Predicados de Primer Orden, llamadas clusulas y la demostracin de
teoremas bajo esta regla de inferencia se lleva a cabo por reduccin al absurdo.
Otros trabajos importantes de esa poca que influyeron en la programacin lgica,
fueron los de Loveland, Kowalski y Green, que disea un probador de teoremas
que extrae de la prueba el valor de las variables para las cuales el teorema es
vlido.
Estos mecanismos de prueba fueron trabajados con mucho entusiasmo durante
una poca, pero, por su ineficiencia, fueron relegados hasta el nacimiento de
Prolog, que surge en 1971 en la Universidad de Marsella, Francia.
La Lgica de Primer Orden, es uno de los formalismos ms utilizados para
representar conocimiento en Inteligencia Artificial. La Lgica cuenta con un
lenguaje formal mediante el cual es posible representar frmulas llamadas
axiomas, que permiten describir fragmentos del conocimiento y, adems consta de
un conjunto de reglas de inferencia que aplicadas a los axiomas, permiten derivar
nuevo conocimiento.
1.6.2 Alfabeto del Lenguaje de la Lgica de Primer Orden

Contiene dos tipos de smbolos:


a. Smbolos lgicos, entre los que se encuentran los smbolos de constantes
proposicionales true y false; los smbolos de operadores proposicionales
para la negacin, la conjuncin, la disyuncin y las implicaciones (=>, <=);
los smbolos de operadores de cuantificacin como el cuantificador
universal; el cuantificador existencial; y los smbolos auxiliares de escritura
como corchetes [,], parntesis (,) y coma.
b. Smbolos no lgicos, agrupados en el conjunto de smbolos constantes; el
conjunto de smbolos de variables individuales; el conjunto de smbolos de
funciones n-arias; y el conjunto de smbolos de relaciones n-arias.
A partir de estos smbolos se construyen las expresiones vlidas en el Lenguaje
de Primer Orden: los trminos y las frmulas.
Un trmino es cualquiera de las tres expresiones siguientes: una constante, por
ejemplo, el nmero "100", la palabra "alfredo" y la letra "c"; o una variable, por
ejemplo, "X" o bien una expresin de la forma "f(t1,...,tn)" donde "f" es un smbolo
de funcin n-aria y t1,...,tn son trminos. Ejemplos de funciones son: f(100,X),
padre(Y) y sucesor(X).
Las frmulas atmicas o elementales son expresiones de la forma R(t1,...,tn)
donde R es un smbolo de relacin n-aria y t1,...,tn son trminos.
Ejemplos de frmulas son:
positivo(3),
not(igual(4,doble(2))),
recetar(X,aspirina)<=tiene(X,fiebre),
tiene(X,cefalea).
Esta ltima establece una regla que dice que, si X tiene fiebre y cefalea (dolor de
cabeza), X debe tomar una aspirina.
El Lenguaje de Primer Orden posee un amplio poder de expresin, los trminos
permiten nombrar los objetos del universo, mientras que las frmulas permiten
afirmar o negar propiedades de stos o bien establecen las relaciones entre los
objetos del universo.
Puede decirse que la Programacin Lgica utiliza la Lgica de Primer Orden como
lenguaje de programacin. Prolog es un ejemplo de lenguaje basado en la Lgica
de Primer Orden y aunque toma su nombre de este trmino ("PROgramming in
LOGic"), no abarca toda la riqueza de la Lgica de Primer Orden para resolver
problemas, pues est restringido al uso de cierta clase de frmulas denominadas
clusulas definidas o clusulas de Horn.
Un programa lgico est formado por un conjunto finito de clusulas de programa
que son hechos o reglas. Por ejemplo:
padre(luis,miguel). Hecho
padre(miguel,jose). Hecho
padre(jose,juan). Hecho
abuelo(X,Y):-padre(X,Z), padre(Z,Y). regla
Este programa est formado por cuatro clusulas de programa, las tres primeras
son del tipo hecho y definen la relacin padre/2 y la cuarta una regla que define la
relacin abuelo/2. Ntese el uso de las variables X,Y y Z en esta clusula, las
cuales permiten definir de manera general en Prolog la relacin "ser abuelo de",

pues la lectura declarativa de dicha clusula es la siguiente: "Para cualesquiera


X,Y,Z se cumple que: X abuelo de Y, si X padre de Z y Z padre de Y".
En Prolog es posible hacer preguntas sobre objetos y relaciones del dominio y
estas preguntas se formulan como objetivos o metas, que son evaluadas por el
intrprete de Prolog utilizando su mecanismo de inferencia interno, el cual
determina si la meta a demostrar es una consecuencia lgica del programa,
aplicando reglas de deduccin para obtener la respuesta.
Por ejemplo, del programa anterior, utilizando la clusula de tipo
meta ?abuelo(X,juan), para preguntar quin es el abuelo de Juan? o bien
quines son los abuelos de Juan?, es posible deducir que Luis es abuelo de
Juan, aunque implcitamente no existe en el programa ningn hecho que as lo
afirme.

Figura 1.2 Anlisis de oraciones


En este ejemplo de anlisis de oraciones, podemos observar de qu manera se
analiza una oracin ingresada por el usuario y cmo el ordenador lo traduce en un
lenguaje lgico de primer orden.
En este caso la ejecucin del programa, para dicha meta, arrojara como resultado
que X=luis.
El mtodo de deduccin utilizado por Prolog, para dar respuesta a los objetivos
planteados, se basa en el uso de una nica regla de inferencia: el Principio de
Resolucin.
Los primeros trabajos de prueba automtica de teoremas utilizaban la resolucin,
aplicada a clusulas cualesquiera, pero el problema de las deducciones con
clusulas generales es el gran nmero de combinaciones posibles para llevar a
cabo las resoluciones.
Por ello Prolog restringe el conjunto de clusulas, lo que le permite llevar a cabo
una prueba dirigida y, en la mayora de los casos, con un universo de
posibilidades explorable en tiempo de ejecucin.
8

1.7 Principales Ramas De La Inteligencia Artificial


1.7.1 Sistemas Expertos
Los sistemas expertos son aquellos programas que se realizan haciendo explicito
el conocimiento en ellos, que tienen informacin especfica de un dominio concreto
y que realizan una tarea relativa a este dominio.
Los sistemas expertos trabajan con inteligencia artificial simblica, es decir, a nivel
de smbolos; como pueden ser ideas, imgenes, conceptos, etc. aunque debido a
su naturaleza algortmica se usen internamente instrucciones computables y
estructuras de datos como los MOPS de Schank.
El xito de un sistema experto radica fundamentalmente en el conocimiento sobre
el dominio que trata y su capacidad de aprendizaje. El conocimiento sobre el
dominio proporciona al sistema experto mayor informacin sobre el problema a
tratar y su entorno, de forma que pueda generar y adaptar soluciones de forma
ms precisa, al tener un conocimiento ms profundo sobre el tema, de forma
similar a un experto especializado. El aprendizaje, inductivo o deductivo segn
corresponda, proporcionar al sistema experto mayor autonoma a la hora de
abordar problemas totalmente desconocidos; pudiendo generar nuevo
conocimiento partiendo del extrado inicialmente del experto o expertos humanos.
1.7.2 Robtica
La robtica es una ciencia o rama de la tecnologa, que estudia el diseo y
construccin de mquinas capaces de desempear tareas realizadas por el ser
humano o que requieren del uso de inteligencia. Las ciencias y tecnologas de las
que deriva podran ser: el lgebra, los autmatas programables, las mquinas de
estados, la mecnica o la informtica.
RAE : 1. f. Tcnica que aplica la informtica al diseo y empleo de aparatos que,
en sustitucin de personas, realizan operaciones o trabajos, por lo general en
instalaciones industriales.
1.7.3 Sistemas De Visin
La Visin artificial, tambin conocida como Visin por Computador (del ingls
Computer Vision) o Visin tcnica, es un subcampo de la inteligencia artificial. El
propsito de la visin artificial es programar un computador para que "entienda"
una escena o las caractersticas de una imagen.
Los objetivos tpicos de la visin artificial incluyen:
La deteccin, segmentacin, localizacin y reconocimiento de ciertos objetos
en imgenes (por ejemplo, caras humanas).

La evaluacin de los resultados (ej.: segmentacin, registro).


Registro de diferentes imgenes de una misma escena u objeto, i.e., hacer
concordar un mismo objeto en diversas imgenes.
Seguimiento de un objeto en una secuencia de imgenes.
Mapeo de una escena para generar un modelo tridimensional de la escena; tal
modelo podra ser usado por un robot para navegar por la escena.
Estimacin de las posturas tridimensionales de humanos.
Bsqueda de imgenes digitales por su contenido.

Estos objetivos se consiguen por medio de reconocimiento de patrones,


aprendizaje estadstico, geometra de proyeccin, procesado de imgenes, teora
de grafos y otros campos. La visin artificial cognitiva est muy relacionada con la
psicologa cognitiva y la computacin biolgica.
1.7.4 Procesamiento De Lenguaje Natural
El Procesamiento de Lenguajes Naturales, (PLN, o NLP; Natural Language
Processing), es una subdisciplina de la Inteligencia Artificial y, tambin de la
lingstica computacional. Estudia los problemas inherentes al procesamiento y
manipulacin de lenguajes naturales, sin embargo no suele plantear el
entendimiento de lenguajes naturales.
Las principales tareas de trabajo en el PLN son:

Sntesis del discurso


Anlisis del lenguaje
Comprensin del lenguaje
Reconocimiento del habla
Generacin automtica del lenguaje.
Traduccin automtica
Respuesta a preguntas
Recuperacin de la informacin
Extraccin de la informacin

1.7.5 Sistemas De Aprendizaje


El Aprendizaje Automtico es una rama de la Inteligencia Artificial cuyo objetivo es
desarrollar tcnicas que permitan a las computadoras aprender. De forma ms
concreta, se trata de crear programas capaces de generalizar comportamientos a
partir de una informacin no estructurada suministrada en forma de ejemplos. Es
por lo tanto, un proceso de induccin del conocimiento. En muchas ocasiones el
campo de actuacin del Aprendizaje Automtico se solapa con el de la Estadstica,
ya que las dos disciplinas se basan en el anlisis de datos. Sin embargo, el
Aprendizaje Automtico se centra ms en el estudio de la Complejidad
Computacional de los problemas. Muchos problemas son de clase NP-hard, por lo
que gran parte de la investigacin realizada en Aprendizaje Automtico est
enfocada al diseo de soluciones factibles a esos problemas.
10

El Aprendizaje Automtico tiene una amplia gama de aplicaciones, incluyendo


motores de bsqueda, diagnsticos mdicos, deteccin de fraude en el uso de
tarjetas de crdito, anlisis del mercado de valores, clasificacin de secuencias de
ADN, reconocimiento del habla y del lenguaje escrito, juegos y robtica.
Los sistemas de aprendizaje son una combinacin de software y equipos que le
permiten a la computadora cambiar su modo de funcionar o reaccionar a
situaciones, basado en la retroalimentacin que recibe. Por ejemplo algunos
juegos computarizados tienen capacidades de aprendizaje. Si la computadora no
gana un juego en particular, recuerda no hacer los movimientos bajo las mismas
condiciones.
1.7.6 Redes Neuronales
Las redes de neuronas artificiales (RNA) son un paradigma de aprendizaje y
procesamiento automtico inspirado en la forma en que funciona el sistema
nervioso de los animales. Consiste en simular las propiedades observadas en los
sistemas neuronales biolgicos a travs de modelos matemticos recreados
mediante mecanismos artificiales (como un circuito integrado, un ordenador o un
conjunto de vlvulas). El objetivo es conseguir que las mquinas den respuestas
similares a las que es capaz el cerebro que se caracterizan por su generalizacin
y su robustez
1.8 ACTIVIDADES COMPLEMENTARIAS
1. Definir el termino inteligencia Artificial Cul el al diferencia entre la inteligencia
natural y artificial?
2. Definir e identificar 6 subcampos de la Inteligencia Artificial
3. Que es un agente inteligente? Proporcione tres ejemplos de uso de un agente
inteligente.
4. Identificar tres ejemplos de la utilizacin de la robtica.
5. Qu es una red neuronal? Describir dos aplicaciones de las redes neuronales.
6. Pueden pensar las computadoras? podran llegar a hacerlo? Explique su
respuesta.
7. Cree usted que es posible construir una maquina tan o ms inteligente que un
humano? Explique.

11

CAPITULO 2. VISION GENERAL DE LOS SISTEMAS EXPERTOS


2.1 INTRODUCCIN
Desde la aparicin de las computadoras hasta nuestros das, la gente ha invertido
grandes esfuerzos por tratar de dar una cierta capacidad de decisin a estas
mquinas, incluso un cierto grado de inteligencia.
Un Sistema Experto en s no tiene verdadera Inteligencia Artificial; ms bien, es un
sistema basado en el conocimiento que, mediante el buen diseo de su base de
informacin y un adecuado motor de inferencias para manipular dichos datos
proporciona una manera de determinar resoluciones finales dados ciertos criterios.
Los Sistemas Expertos son una herramienta poderosa en el apoyo o gua de los
usuarios en los procesos que tienen una secuencia pasos definida, pero que
puede ser configurable.
Los sistemas expertos son SBC (Sistemas Basados en Conocimiento) que imitan
el pensamiento de un experto para resolver problemas de un campo particular (1),
pudiendo mejorar su productividad, ahorrar tiempo y dinero, conservar sus
valiosos conocimientos y difundirlos ms fcilmente.
2.2. Historia De Los Sistemas Expertos
Comnmente se piensa que la Inteligencia Artificial, es un rea que se viene
desarrollando hace aproximadamente 5 o mximo 10 aos atrs, pero esto no es
cierto, este concepto viene desde los aos 50 cuando Alan Turing publico su libro
llamado Inteligencia y funcionamiento de las maquinas. A continuacin se dar
un breve resumen de la historia de los Sistemas Expertos agrupada por fechas:
1956: John McCarthy propone el uso del termino Inteligencia Artificial para
denominar el estudio del tema, en una conferencia en Vermont (USA).
1957: Aparece la primera version de The General Problem Solver (GPS:
Solucionador General de Problemas), el cual era capaz de solucionar
problemas de sentido comun pero no de la vida real.
1958: John McCarthy desarrolla el lenguaje LISP (LISt Procesing).
1965: Aparece el primer Sistema Experto llamado DENDRAL, se utilizaba
para identificar estructuras qumicas moleculares a partir de su anlisis
espectrogrfico., su realizacin duro mas de 10 aos (1965-1975).
1972: Se desarrolla MYCIN en la Universidad de Stanford, un Sistema
Experto para el diagnostico de enfermedades infecciosas. Tambin aparece
el lenguaje PROLOG.
1974: Aparece PROSPECTOR, un Sistema Experto de prospeccin minera
desarrollado en la Universidad de Stanford.
1979: Se desarrolla XCOM, un Sistema Experto que se encargaba de
configurar todos los computadores que salan de la DEC (Digital
Equipament Corporation).

12

Entre 1980 y 1985 se produce la revolucin de los Sistemas Expertos, en


este intervalo de tiempo se crearon Sistemas como el DELTA, de General
Electric Company, para la reparacin de locomotoras diesel y elctricas; se
crearon multitud de empresas dedicadas a los Sistemas Expertos como
Teknowledge Inc., Lisp Machines Inc., Thinking Machines Corporation,
Cognitive Systems Inc.
A partir de los 90 y con el desarrollo de la informtica, se produce un amplio
desarrollo en el campo de la IA y por ende de los Sistemas Expertos,
pudindose afirmar que estos se han convertido en una herramienta
habitual en determinadas empresas en la actualidad.

2.3 Que Es Un Sistema Experto?


Se puede decir que los Sistemas Expertos son el primer resultado operacional de
la Inteligencia artificial, pues logran resolver problemas a travs del conocimiento y
raciocinio de igual forma que lo hace el experto humano.
Un Sistema Experto (SE), es bsicamente un programa de computador basado en
conocimientos y raciocinio que lleva a cabo tareas que generalmente slo realiza
un experto humano 1 ; es decir, es un programa que imita el comportamiento
humano en el sentido de que utiliza la informacin que le es proporcionada para
poder dar una opinin sobre un tema en especial.
Otros autores lo definen como sigue: un Sistema Experto es un programa de
computadora interactivo que contiene la experiencia, conocimiento y habilidad
propios de una persona o grupos de personas especialistas en un rea particular
del conocimiento humano, de manera que permitan resolver problemas
especficos de se rea de manera inteligente y satisfactoria. La tarea principal de
un SE es tratar de aconsejar al usuario2.
Los usuarios que introducen la informacin al SE son en realidad los expertos
humanos, y tratan a su vez de estructurar los conocimientos que poseen.
El Sistema Experto utilizar para ello el conocimiento que tenga almacenado y
algunos mtodos de inferencia.
Simultneamente, el usuario puede aprender observando el comportamiento del
sistema, es decir, los sistemas expertos se pueden considerar al mismo tiempo
como un medio de ejecucin y transmisin del conocimiento.
De esta definicin se desprenden las dos habilidades fundamentales que poseen
los Sistemas Expertos:
La habilidad de aprendizaje, la cual requiere la interaccin de un experto en
alguna rama especfica del saber y un ingeniero de conocimiento, que se
1
2

PARSAYE, Kamran, Mark Chignell, Setrag Khoshafian y Harry Wong. Intelligent Databases.
SCHILDT Herbert, Utilizacin de C en Inteligencia Artificial.

13

encarga de traducir este conocimiento del experto a reglas heursticas para


formar la base de conocimiento.
La habilidad para simular el razonamiento que posee el Sistema Experto,
esta se desprende de caminar a lo largo de las reglas heursticas
introducidas al sistema por un experto, a travs del proceso de aprendizaje
durante la generacin de las bases del conocimiento.
Se debe tener en cuenta que la principal caracterstica del experto humano viene a
ser el conocimiento en ese campo concreto, por consiguiente, un Sistema Experto
debe ser capaz de representar dicho conocimiento profundo con el objetivo de
utilizarlo para resolver problemas, justificar su comportamiento e incorporar
nuevos conocimientos.
2.3.1 Caractersticas de un Sistema Experto
Para que un sistema computacional acte como un verdadero experto, es
deseable que rena, en lo posible, lo ms importante de las caractersticas 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.

La caracterstica fundamental de un Sistema Experto es que separa los


conocimientos almacenados (Base de conocimiento) del programa que los
controla (Motor de inferencia). Los datos propios de un determinado problema se
almacenan en una base de datos aparte (Base de hechos).
Adems cuenta con caractersticas adicionales las cuales sern nombradas a
continuacin:

Competencia en su campo: Es el significado de experto. Es necesario que


pueda resolver problemas con una eficiencia y calidad comparables a las
de un experto humano.
Dominio reducido: El limitarse a un dominio reducido es un requisito para
alcanzar la competencia.
Capacidad de explicacin: Es aquella capaz de explicar cmo ha resuelto el
problema, es decir, qu mtodo ha aplicado y por qu lo ha aplicado.
Tratamiento de la incertidumbre: Es una exigencia que se deriva de la
complejidad de los problemas que van a aborda los sistemas expertos.
Flexibilidad en el dilogo: Es deseable que los sistemas expertos tengan
esta capacidad, llegando en la medida de lo posible a comunicarse
(entender y expresarse) en lenguaje natural como un experto humano.
Representacin explcita del conocimiento: Es necesaria para considerar
que un sistema est basado en conocimiento.

14

La siguiente tabla muestra algunas diferencias que existen entre los sistemas
clsicos y los expertos:
SISTEMA CLASICO
SISTEMA EXPERTO
No contiene errores
Puede contener errores
No da explicaciones, los datos solo El Sistema Experto cuenta con el
se usan o escriben
modulo de explicacin
Los cambios son tediosos
Los cambios en las reglas son faciles
El sistema solo opera completo
El sistema puede funcionar con pocas
reglas
Se ejecuta paso a paso
La ejecucin usa heurstica y logica
Representa y usa datos
Representa y usa conocimiento
Tabla 2.1. Comparacin entre un sistema tradicional y un Sistema Experto
2.4 Cules son las ventajas de un sistema experto?
Los valiosos conocimientos de un experto se guardan y se difunden, de forma que,
no se pierden aunque desaparezca el especialista. En los Sistemas Expertos se
guarda la esencia de los problemas que se intenta resolver y se programa cmo
aplicar los conocimientos para su resolucin. Estos ayudan a entender cmo se
aplican los conocimientos para resolver un problema. Esto es til porque
normalmente el experto da por ciertos sus conocimientos y no analiza cmo los
aplica.
A continuacin se nombraran otras de las ventajas que presentan los Sistemas
Expertos:

Permanencia: Los expertos humanos pueden morir, cambiar de empresa o


perder facultades lo que no puede ocurrir con un sistema experto.
Duplicacin: El experto humano se encuentra en un nico lugar fsico y es
irreproducible, mientras que una vez construido un Sistema Experto se
pueden fabricar un nmero ilimitado de copias destinadas a todos los
lugares donde sean necesarias.
Fiabilidad: Un Sistema Experto responder siempre de la misma manera
ante cierto problema, mientras que un experto humano puede estar
condicionado por factores emocionales, prejuicios personales, tensin,
fatiga, etc.
Bajo costo: Aunque puede resultar caro inicialmente construir un sistema
experto, una vez construido produce grandes beneficios.
Facilita el entrenamiento del personal: El Sistema Experto puede ayudar de
manera importante, y a costo menor, a la capacitacin y adiestramiento del
personal sin experiencia.
La separacin entre base de conocimiento y motor de inferencia
proporciona una gran flexibilidad al SE.
En manipulacin de smbolos, los SE abren el campo a nuevas aplicaciones,
no automatizadas hasta la fecha.

15

Por otro lado, los Sistemas Expertos presentan grandes carencias frente a los
seres humanos:

Sentido comn: Para un ordenador no hay nada obvio.


Lenguaje natural: Todava nos encontramos muy lejos de tener un sistema
que pueda formular preguntas flexibles y mantener una conversacin
informal con un usuario o con un paciente.
Experiencia sensorial: Los Sistemas Expertos de la actualidad se limitan a
recibir informacin.
Perspectiva global: Un experto humano es capaz de detectar
inmediatamente cules son las cuestiones principales y cules son
secundarias (separando los datos relevantes de los detalles insignificantes).

Adems existen estas otras limitaciones:

Falta de capacidad de aprendizaje: Los expertos humanos son capaces de


aprender de la experiencia.
Capacidad de manejar conocimiento no estructurado: El experto humano
organiza y usa la informacin y el conocimiento presentados de forma poco
ordenada.
Funciones genuinamente humanas: por ejemplo, todo lo relacionado con el
lenguaje natural, la formacin de conceptos, el conocimiento de sentido
comn y la creacin queda fuera de los Sistemas Expertos, al menos en el
estado actual del conocimiento.
La extraccin del conocimiento es el problema ms complejo que se les
plantea a los ingenieros de conocimientos.
Los SE son incapaces de reconocer un problema para el que su propio
conocimiento es inaplicable o insuficiente.
Los motores de inferencia poseen algunos lmites.
Falta personal competente para investigar y desarrollar aplicaciones.

2.5 Los expertos Humanos


Un experto humano es una persona que es competente en un rea determinada
del conocimiento o del saber. Un experto humano es alguien que sabe mucho
sobre un tema determinado y que puede dar un consejo adecuado. Esta
experiencia slo se adquiere tras un largo aprendizaje y a base de mucha
experiencia. Los expertos humanos tienen las siguientes caractersticas generales:

Son personas raras, tanto por su escaso nmero como su comportamiento


poco ortodoxo y e incomprensible frente a los problemas con los que se
enfrentan.
Son caros por dos motivos: por su escaso nmero y por necesitar un largo
periodo de aprendizaje.

16

No estn siempre disponibles, pues son humanos y cuando se jubilan o


mueren se llevan con ellos todos sus conocimientos. Es por eso que
tradicionalmente estn acompaados de un aprendiz.
Hay expertos que tienen mal carcter, son informales o poco
comunicativos, lo que a veces les hace antipticos.

La forma ms rpida de formar a un experto es mediante el aprendizaje formal


o acadmico (conocimiento profundo) en un principio, y posteriormente un
aprendizaje informal o prctico (conocimiento informal).
2.6 Diferencias entre un experto y un no experto humano
Experto
NO EXPERTO
Tiempo de Resolucin
Pequeo
Grande
Eficacia Resolutiva
Alta
Baja
Organizacin
Alta
Baja
Estrategias y Tcticas
S
No
Bsqueda de Soluciones
Heurstica
No Heurstica
Clculos Aproximados
S
No
Tabla 2.2 Diferencias entre un experto y un no experto humano.
El uso de heursticas contribuye grandemente a la potencia y flexibilidad de los SE
y tiende a distinguirlos an mas del software tradicional.
2.7 Diferencias entre un SE y un programa tradicional
SISTEMA EXPERTO
PROGRAMA TRADICIONAL
Conocimiento
En programa e independiente En programa y circuitos
Tipo de datos
Simblicos
Numricos
Resolucin
Heurstica
Combinatoria
Def. problema
Declarativa
Procedimental
Control
Independiente. No secuencial Dependiente. Secuencial
Conocimientos
Imprecisos
Precisos
Modificaciones
Frecuentes
Raras
Explicaciones
S
No
Solucin
Satisfactoria
Optima
Justificacin
S
No
Resolucin
rea limitada
Especfico
Comunicacin
Independiente
En programa
Tabla 2.3 Diferencias entre un Sistema Experto y un Programa Tradicional.

17

2.8 Diferencias entre un sistema experto y un experto humano


SISTEMA EXPERTO
Adquirido
del Terico

EXPERTO HUMANO
Adquirido + Innato
Terico + Prctico

Conocimiento
Adquisicin
conocimiento
Campo
nico
Mltiples
Explicacin
Siempre
A veces
Limitacin de capacidad S
S, no valuable
Reproducible
S, idntico
No
Vida
Infinita
Finita
Tabla 2.4 Diferencias entre un Sistema Experto y un Experto Humano.
2.9 Ventajas de los sistemas expertos

Las ventajas que se presentan a continuacin son en comparacin con los


expertos humanos:

Estn siempre disponibles a cualquier hora del da y de la noche, y de


forma interrumpida.
Mantiene el humor.
Pueden duplicarse (lo que permite tener tantos SE como se necesiten).
Pueden situarse en el mismo lugar donde sean necesarios.
Permiten tener decisiones homogneas efectuadas segn las directrices
que se les fijen.
Son fciles de reprogramar.
Pueden perdurar y crecer en el tiempo de forma indefinida.
Pueden ser consultados por personas o otros sistemas informticos.

2.10 Forma en que los usuarios interactan con los SE


El usuario de un SE puede estar operando en cualquiera de los siguientes modos:

VERIFICADOR. El usuario intenta comprobar la validez del desempeo del


sistema.
TUTOR. El usuario da informacin adicional al sistema o modifica el
conocimiento que ya est presente en el sistema.
ALUMNO. El usuario busca rpidamente desarrollar pericia personal
relacionada con el rea especfica mediante la recuperacin de
conocimientos organizados y condensados del sistema.
CLIENTE. El usuario aplica la pericia del sistema a tareas especficas
reales.

18

El reconocimiento de las caracterizaciones anteriores contrasta con la percepcin


de un simple papel (el cliente) de los sistemas tradicionales de software.
2.11 Sistema experto VS. Sistema clsico
La siguiente tabla compara las caractersticas de ambos tipos de sistemas
Sistema Clsico
Sistema Experto
Conocimiento
y
procesamiento Base de conocimiento separada del
combinados en un programa
mecanismo de procesamiento
No contiene errores
Puede contener errores
No da explicaciones, los datos slo se Una parte del sistema experto consiste
usan o escriben
en el mdulo de explicacin
Los cambios son tediosos
Los cambios en las reglas son fciles
El sistema puede funcionar con pocas
El sistema slo opera completo
reglas
Se ejecuta paso a paso
La ejecucin usa heursticas y lgica
Necesita informacin completa para Puede
operar
con
informacin
operar
incompleta
Representa y usa datos
Representa y usa conocimiento
Tabla 2.5 Comparativa entre un Sistema Clsico y un Sistema Experto
2.12 Futuro de los Sistemas Expertos

Los Sistemas Expertos se utilizaran mucho ms en las organizaciones,


debido a que la tecnologa tambin es cada vez ms accesible para una
gran mayora de las empresas.
Las interfaces de los Sistemas Expertos sern en leguaje natural, lo cual
facilitar la comunicacin entre usuarios y el sistema.
Se manejarn herramientas inteligentes para explotar la informacin que
contengan las bases de datos, permitiendo con ello un mejor uso de la
informacin.
Los Sistemas Expertos se integrarn a otras tecnologas para dar un mayor
soporte en todas las reas de la empresa.
Los Sistemas Expertos tendrn una mayor difusin, su programacin y
utilizacin sern ms fciles.
Los SE estarn embebidos en diversas aplicaciones, especialmente en
software de uso general y en sistemas de supervisin y control.
En el futuro estos Sistemas Expertos sabrn ms sobre sus preferencias de
las personas que ellas mismas.

19

2.13 ACTIVIDADES COMPLEMETARIAS


1.
2.
3.
4.

Que es un sistema Experto?


Explique los componentes de un sistema Experto?
Cules son las ventajas de los sistemas expertos?
Realice una comparacin entre un sistema experto y un experto humano,
cuales son las ventajas de implementar un sistema experto que realice las
funciones de un humano?
5. Explique las caractersticas y las ventajas de un sistema experto.
6. Complemente la historia de los sistemas expertos e investigue como se han
implementado en Colombia
7. Existe algn tipo de desarrollo de sistemas expertos en Colombia, Investigue
en que campos y como ha sido su implementacin en su campo de accin.
8. Realice un anlisis acerca del futuro de los sistemas expertos en Colombia.
9. Que empresas de desarrollo de sistemas expertos existen en Colombia y que
adelantos han alcanzado en esta rea?
10. Haga una comparacin acerca del futuro de los sistemas expertos en
Colombia y el desarrollo de estos a nivel mundial.

20

UNIDAD 2. DESARROLLO Y USO DE LOS SISTEMAS EXPERTOS


CAPTULO 3. USO DE LOS SISTEMAS EXPERTOS
3.1 Introduccin
Se puede decir que los Sistemas Expertos son el primer resultado operacional de
la Inteligencia artificial, pues logran resolver problemas a travs del conocimiento y
raciocinio de igual forma que lo hace el experto humano.
Un Sistema Experto (SE), es bsicamente un programa de computadora basado
en conocimientos y raciocinio que lleva a cabo tareas que generalmente slo
realiza un experto humano3; es decir, es un programa que imita el comportamiento
humano en el sentido de que utiliza la informacin que le es proporcionada para
poder dar una opinin sobre un tema en especial y resolver problemas especificos.
Otros autores lo definen como sigue: un Sistema Experto es un programa de
computadora interactivo que contiene la experiencia, conocimiento y habilidad
propios de una persona o grupos de personas especialistas en un rea particular
del conocimiento humano, de manera que permitan resolver problemas
especficos de se rea de manera inteligente y satisfactoria.4 La tarea principal
de un SE es tratar de aconsejar al usuario5.
Los usuarios que introducen la informacin al SE son en realidad los expertos
humanos, y tratan a su vez de estructurar los conocimientos que poseen para
ponerlos entonces a disposicin del sistema. Los SE son tiles para resolver
problemas que se basan en conocimiento6.
Las caractersticas principales de este tipo de problemas, segn algunos autores,
son:
Utilizan normas o estructuras que contengan conocimientos y experiencias
de expertos especializados.
Se obtienen conclusiones a travs de deducciones lgicas.
Contienen datos ambiguos.
Contienen datos afectados por factores de probabilidad.

PARSAYE, Kamran, Mark Chignell, Setrag Khoshafian y Harry Wong. Intelligent Databases.
DE MIGUEL Gonzlez, Luis Javier. Tcnicas de mantenimiento predictivo industrial basadas
en Sistemas Expertos.
5
SCHILDT Herbert, Utilizacin de C en Inteligencia Artificial.
6
CRIADO Briz, Jos Mario. Sistemas Expertos. URL
(http://home.worldonline.es/jmariocr/index.htm)
4

21

Con base en lo anterior, algunos investigadores de IA sealan que un SE debe


cumplir con las siguientes caractersticas:
Tener un amplio conocimiento especfico del rea de especializacin.
Aplicar tcnicas de bsqueda.
Tener soporte para Anlisis Heurstico.
Poseer habilidad para inferir nuevos conocimientos ya existentes.
Tener la capacidad de procesar smbolos.
Tener la capacidad para explicar su propio razonamiento.
3.3 Uso de los sistemas Expertos
3. 2.1 Interpretacin, diagnstico y monitoreo
La interpretacin consiste en encontrar el significado de los datos de entrada
obtenidos por sensores o introducidos por el usuario.
Con frecuencia aparecen datos contradictorios, incompletos o inexactos, por lo
que hay que dotar al SE de conocimiento para resolver un problema de este tipo, y
que de todas formas llegue a una resolucin. Existen dos tipos de interpretacin:

Anlisis: La interpretacin de datos se obtiene mediante la separacin o


distincin de las partes que forman los datos.
Sntesis: La interpretacin de los datos se obtiene mediante la combinacin
de los mismos.

El diagnstico consiste en identificar las causas internas que provocan un


problema, avera o disfuncin a partir de una serie de datos o sntomas que son
consecuencia de la misma y que son observables.
Los SE en diagnstico encuentran mltiples dificultades a la hora de realizar su
tarea como son las siguientes:

Manifestaciones Nuevas. Es decir, sntomas que no se haban observado


con anterioridad.
Causas Nuevas.
Manifestaciones debidas a varias causas.
Datos Inaccesibles, caros o de obtencin peligrosa.
Relaciones no biyectivas entre los datos y las causas.
Fallos o averas de aparicin intermitente.
Existencia de varios fallos simultneos o en cadena.

La monitorizacin es un caso particular de la interpretacin, y consiste en la


comparacin continua de los valores de las seales o datos de entrada y unos
valores que actan como criterios de normalidad o estndares.

22

En el campo del mantenimiento predictivo los Sistemas Expertos se utilizan


fundamentalmente como herramientas de diagnstico. Se trata de que el
programa pueda determinar en cada momento el estado de funcionamiento de
sistemas complejos, anticipndose a los posibles incidentes que pudieran
acontecer. As, usando un modelo computacional del razonamiento de un
experto humano, proporciona los mismos resultados que alcanzara dicho
experto. La figura 3.1 muestra el funcionamiento de un SE de este tipo.

Figura 3.1 Funcionamiento de un SE usado en mantenimiento predictivo

3.2.2 Diseo y seleccin


El diseo se puede concebir de distintas formas:
El diseo en ingeniera es el uso de principios cientficos, informacin
tcnica e imaginacin en la definicin de una estructura mecnica, mquina
o sistema que ejecute funciones especficas con el mximo de economa y
eficiencia.
El diseo industrial busca rectificar las omisiones de la ingeniera, es un
intento consiente de traer forma y orden visual a la ingeniera de hardware
donde la tecnologa no provee estas caractersticas.
Diseo es el proceso de especificar una descripcin de un artefacto que
satisface varias caractersticas desde un nmero de fuentes de
conocimiento.7
Los SE en diseo ven este proceso como un problema de bsqueda de una
solucin ptima o adecuada. Las soluciones alternas pueden ser conocidas de
antemano (problemas de derivacin) o se pueden generar automticamente
(problemas de formulacin).
7

HOPGOOD, Adrian. Knowledge Based Systems for Engineers and Scientists.

23

Los SE prueban distintos diseos para verificar cules de ellos cumplen los
requerimientos solicitados por el usuario, sta tcnica es llamada generacin y
prueba, por lo tanto estos SE son llamados de seleccin. En reas de aplicacin,
la prueba se termina cuando se encuentra la primer solucin; sin embargo, existen
problemas ms complejos en los que el objetivo es encontrar la solucin ms
ptima.
La utilidad de los programas basados en conocimientos aplicados a la ciencia y a
la ingeniera no se limita al anlisis sofisticado, muchos programas recientes han
empezado a trabajar en la sntesis.8
Existen programas que disean dispositivos simples y despus buscan
oportunidades de reduccin de costos o de reduccin de componentes.
3.2.3 Planificacin
La planificacin es la realizacin de planes o secuencias de acciones y es un caso
particular de la simulacin. Est compuesto por un simulador y un sistema de
control. El efecto final es la ordenacin de un conjunto de acciones con el fin de
conseguir un objetivo global (costo mnimo, tiempo mnimo, etc).
Los problemas que presentan la planificacin mediante SE son los siguientes:

Existen consecuencias no previsibles, de forma que hay que explorar y


explicar varios planes.
Existen muchas consideraciones que deben ser valoradas o incluirles un
factor de peso.
Suelen existir interacciones entre planes de subobjetivos diversos, por lo
que deben elegirse soluciones de compromiso.
Trabajo frecuente con incertidumbre, pues la mayora de los datos con los
que se trabaja son ms o menos probables pero no seguros.
Es necesario hacer uso de fuentes diversas tales como bases de datos.

3.2.4 Control
Un sistema de control participa en la realizacin de las tareas de interpretacin,
diagnstico y reparacin de forma secuencial. Con ello se consigue conducir o
guiar un proceso o sistema.
Los sistemas de control son complejos debido al nmero de funciones que deben
manejar y el gran nmero de factores que deben considerar; esta complejidad
creciente es otra de las razones que apuntan al uso del conocimiento, y por tanto
de los SE.

WINSTON, Patrick Henry. Artifical Intelligence.

24

Cabe aclarar que los sistemas de control pueden ser en lazo abierto, si en el
mismo la realimentacin o el paso de un proceso a otro lo realiza el operador, o en
lazo cerrado si no tiene que intervenir el operador en ninguna parte del mismo.
3.2.5 Reparacin, correccin o terapia
La reparacin, correccin, terapia o tratamiento consiste en la proposicin de las
acciones correctoras necesarias para la resolucin de un problema.
Los SE en reparacin tienen que cumplir diversos objetivos, como son:

Reparacin lo ms rpida y econmicamente posible.


Orden de las reparaciones cuando hay que realizar varias.
Evitar los efectos secundarios de la reparacin, es decir la aparicin de
nuevas averas por la reparacin.

3.2.6 Simulacin, pronstico o prediccin


La simulacin es una tcnica consistente en crear modelo basados en hechos,
observaciones e interpretaciones, sobre la computadora, a fin de estudiar el
comportamiento de los mismos mediante la observacin de las salidas para un
conjunto de entradas.
Las tcnicas tradicionales de simulacin requieren modelos matemticos y lgicos
que describen el comportamiento del sistema bajo estudio.
El empleo de los SE para la simulacin viene motivado por la principal
caracterstica de los SE, que es su capacidad para la simulacin del
comportamiento de un experto humano, que es un proceso complejo.
En la aplicacin de los SE para simulacin hay que diferencia cinco
configuraciones posibles:
1. Un SE puede disponer de un simulador con el fin de comprobar las
soluciones y en su caso rectificar el proceso que sigue.
2. Un sistema de simulacin puede contener como parte del mismo a un
SE y por lo tanto el SE no tiene que ser necesariamente de simulacin.
3. Un SE puede controlar un proceso de simulacin, es decir que el
modelo est en la base de conocimiento del SE y su evolucin es
funcin de la base de hechos, la base de conocimientos y el motor de
inferencia, y no de un conjunto de ecuaciones aritmtico lgicas.
4. Un SE puede utilizarse como consejero del usuario y del sistema de
simulacin.

25

5. Un SE puede utilizarse como mscara o sistema frontal de un simulador


con el fin de que el usuario reciba explicacin y justificacin de los
procesos.
Los sistemas de pronstico deducen consecuencias posibles a partir de una
situacin. Su objetivo es determinar el curso del futuro en funcin de informacin
sobre pasado y presente. Esto abarca diversos problemas, tales como
predicciones meteorolgicas, predicciones demogrficas, o incluso previsiones de
la evolucin burstil entre otros.9
3.2.7 Instruccin
Un sistema de instruccin (Sistema Experto para formacin), realiza un
seguimiento del proceso de aprendizaje de un estudiante. El sistema detecta
errores de los estudiantes e identifica el remedio adecuado, es decir, desarrolla un
plan de enseanza para facilitar el proceso de aprendizaje y la correccin de
errores.10
3.2.8 Recuperacin de Informacin
Los Sistemas Expertos, con su capacidad para combinar informacin y reglas de
actuacin, han sido vistos como una de las posibles soluciones al tratamiento y
recuperacin de informacin, no slo documental. La dcada de 1980 fue prolija
en investigacin y publicaciones sobre experimentos de este orden, inters que
continua en la actualidad.
Lo que diferencia a estos sistemas de un sistema tradicional de recuperacin de
informacin es que estos ltimos slo son capaces de recuperar lo que existe
explcitamente, mientras que un Sistema Experto debe ser capaz de generar
informacin no explcita razonando con los elementos que se le dan. Pero la
capacidad de los SE en el mbito de la recuperacin de la informacin no se limita
a la recuperacin. Pueden utilizarse para ayudar al usuario, en seleccin de
recursos de informacin, en filtrado de respuestas, etc Un SE puede actuar como
un intermediario inteligente que gua y apoya el trabajo del usuario final. Para
desempear de forma adecuada esta tarea, los enfoques centrados en la creacin
de modelos de las estructuras cognitivas del usuario son los ms prometedores.
3.3. Elementos de una Sistema Experto
Los dos componentes principales de cualquier sistema experto son una base de
conocimientos y un programa de inferencia, o tambin llamado motor de
inferencias.
9

MARTNEZ De Ibarreta Len, Francisco Javier. Sistemas Expertos: reas de aplicacin.


URL(http://www.geocities.com/javierml.geo/doc/SistemasExpertos.html)
10
Ibid

26

a. La base de conocimientos del Sistema Experto con respecto a un tema


especfico para el que se disea el sistema. Este conocimiento se codifica
segn una notacin especfica que incluye reglas, predicados, redes
semnticas y objetos.
b. El motor de inferencia, que es el que combina los hechos y las preguntas
particulares, utilizando la base de conocimiento, seleccionando los datos y
pasos apropiados para presentar los resultados.
Existen otros componentes un SE entre ellos:

Subsistema de control de coherencia. Este componente previene la


entrada de informacin incoherente en la base de conocimiento. Es un
componente muy necesario, a pesar de ser un componente reciente.
Subsistema de adquisicin de conocimiento. Se encarga de controlar si
el flujo de nuevo conocimiento a la base de datos es redundante. Slo
almacena la informacin que es nueva para la base de datos.
Motor de inferencia. Este componente es bsico para un SE; se encarga
de obtener conclusiones comenzando desde el conocimiento abstracto
hasta el conocimiento concreto. Si el conocimiento inicial es muy poco, y el
sistema no puede obtener ninguna conclusin, se utilizar el subsistema de
demanda de informacin.
Subsistema de demanda de informacin. Completa el conocimiento
necesario y reanuda el proceso de inferencia hasta obtener alguna
conclusin vlida. El usuario puede indicar la informacin necesaria en este
proceso ayudado de una interfase de usuario (la cual facilita la
comunicacin entre el Sistema Experto y el usuario).
Subsistema de incertidumbre. Se encarga de almacenar la informacin
de tipo incierto y propaga la incertidumbre asociada a esta informacin.
Subsistema de ejecucin de tareas. Permite realizar acciones al Sistema
Experto basadas en el motor de inferencia.
Subsistema de explicacin. Este componente entra en ejecucin cuando
el usuario solicita una explicacin de las conclusiones obtenidas por el SE.
Esto se facilita mediante el uso de una interfase.

27

Figura 3.2. Elementos de un Sistema Experto

Figura 3.3 Elementos de un sistema experto

28

3.3.1. Base de Conocimientos


Los especialistas son responsables de suministrar a los ingenieros del
conocimiento una base de conocimiento ordenada y estructurada, y un conjunto
de relaciones bien definidas y explicadas. Esta forma estructurada de pensar
requiere que los expertos humanos repiensen, reorganicen, y reestructuren la
base de conocimiento y, como resultado, el especialista se convierte en un mejor
conocedor de su propio campo de especialidad.
Hay que diferenciar entre datos y conocimiento. El conocimiento se refiere a
afirmaciones de validez general tales como reglas, distribuciones de probabilidad,
etc. Los datos se refieren a la informacin relacionada con una aplicacin
particular. Por ejemplo, en diagnostico mdico, los sntomas, las enfermedades y
las relaciones entre ellos, forman parte del conocimiento, mientras los sntomas
particulares de un paciente dado forman parte de los datos. Mientras el
conocimiento es permanente, los datos son efmeros, es decir, no forman parte de
la componente permanente de un sistema y son destruidos despus de usarlos. El
conocimiento se almacena en la base de conocimiento y los datos se almacenan
en la memoria de trabajo. Todos los procedimientos de los diferentes sistemas y
subsistemas que son de carcter transitorio se almacenan tambin en la memoria
de trabajo.
La base de conocimientos contiene el conocimiento especializado extrado del
experto en el dominio. Es decir, contiene conocimiento general sobre el dominio
en el que se trabaja. El mtodo ms comn para representar el conocimiento es
mediante reglas de produccin. El dominio de conocimiento representado se
divide, pues, en pequeas fracciones de conocimiento o reglas.
Una caracterstica muy importante es que la base de conocimientos es
independiente del mecanismo de inferencia que se utiliza para resolver los
problemas. De esta forma, cuando los conocimientos almacenados se han
quedado obsoletos, o cuando se dispone de nuevos conocimientos, es
relativamente fcil aadir reglas nuevas, eliminar las antiguas o corregir errores en
las existentes. No es necesario reprogramar todo el Sistema Experto.
Las reglas suelen almacenarse en alguna secuencia jerrquica lgica, pero esto
no es estrictamente necesario. Se pueden tener en cualquier secuencia y el motor
de inferencia las usar en el orden adecuado que necesite para resolver un
problema.
3.3.2 El Mecanismo de Inferencia
El motor de inferencia es el corazn de todo sistema experto. El cometido principal
de esta componente es el de sacar conclusiones aplicando el conocimiento a los
datos. Por ejemplo, en diagnstico mdico, los sntomas de un paciente (datos)
son analizados a la luz de los sntomas y las enfermedades y de sus relaciones
(conocimiento).
29

Las conclusiones del motor de inferencia pueden estar basadas en conocimiento


determinista o conocimiento probabilstico. Como puede esperarse, el tratamiento
de situaciones de incertidumbre (probabilsticas) puede ser considerablemente
ms difcil que el tratamiento de situaciones ciertas (deterministas).
En muchos casos, algunos hechos (datos) no se conocen con absoluta certeza.
Por ejemplo, pinsese en un paciente que no est seguro de sus sntomas. Puede
darse el caso de tener que trabajar con conocimiento de tipo no determinista, es
decir, de casos en los que se dispone slo de informacin aleatoria o difusa. El
motor de inferencia es tambin responsable de la propagacin de este
conocimiento incierto. De hecho, en los sistemas expertos basados en
probabilidad, la propagacin de incertidumbre es la tarea principal del motor de
inferencia, que permite sacar conclusiones bajo incertidumbre. Esta tarea es tan
compleja que da lugar a que esta sea probablemente la componente ms dbil de
casi todos los sistemas expertos existentes.
El mecanismo de inferencia de un sistema experto puede simular la estrategia de
solucin de un experto. Es la unidad lgica con la que se extraen conclusiones de
la base de conocimiento, segn un mtodo fijo de solucin de problemas que esta
configurado, limitando el procedimiento humano de los expertos para solucionar
problemas.
Una conclusin se produce mediante aplicacin de las reglas sobre hechos
presentes. Las funciones de mecanismo de inferencia son:
1. Determinacin de las acciones que tendr lugar, el orden en que lo harn y
como lo harn entre las diferentes partes del sistema experto.
2. Determinar como y cuando se procesaran las reglas, y dado el caso tambin la
eleccin de que reglas debern procesarse.
El motor de inferencias es un programa que controla el proceso de razonamiento
que seguir el Sistema Experto. Utilizando los datos que se le suministran, recorre
la base de conocimientos para alcanzar una solucin. La estrategia de control
puede ser de encadenamiento progresivo o de encadenamiento regresivo. En el
primer caso se comienza con los hechos disponibles en la base de datos, y se
buscan reglas que satisfagan esos datos, es decir, reglas que verifiquen la parte
SI. Normalmente, el sistema sigue los siguientes pasos:
1. Evaluar las condiciones de todas las reglas respecto a la base de datos,
identificando el conjunto de reglas que se pueden aplicar (aquellas que
satisfacen su parte condicin).
2. Si no se puede aplicar ninguna regla, se termina sin xito; en caso contrario se
elige cualquiera de las reglas aplicables y se ejecuta su parte accin (esto
ltimo genera nuevos hechos que se aaden a la base de datos).
3. Si se llega al objetivo, se ha resuelto el problema; en caso contrario, se vuelve
al paso 1

30

A este enfoque se le llama tambin guiado por datos, porque es el estado de la


base de datos el que identifica las reglas que se pueden aplicar. Cuando se utiliza
este mtodo, el usuario comenzar introduciendo datos del problema en la base
de datos del sistema.
Al encadenamiento regresivo se le suele llamar guiado por objetivos, ya que, el
sistema comenzar por el objetivo (parte accin de las reglas) y operar
retrocediendo para ver cmo se deduce ese objetivo partiendo de los datos. Esto
se produce directamente o a travs de conclusiones intermedias o subobjetivos.
Lo que se intenta es probar una hiptesis a partir de los hechos contenidos en la
base de datos y de los obtenidos en el proceso de inferencia.
En la mayora de los Sistemas Expertos se utiliza el encadenamiento regresivo.
Este enfoque tiene la ventaja de que el sistema va a considerar nicamente las
reglas que interesan al problema en cuestin. El usuario comenzar declarando
una expresin E y el objetivo del sistema ser establecer la verdad de esa
expresin.
Para ello se pueden seguir los siguientes pasos:
1. Obtener las reglas relevantes, buscando la expresin E en la parte accin
(stas sern las que puedan establecer la verdad de E)
2. Si no se encuentran reglas para aplicar, entonces no se tienen datos
suficientes para resolver el problema; se termina sin xito o se piden al
usuario ms datos.
3. Si hay reglas para aplicar, se elige una y se verifica su parte condicin C
con respecto a la base de datos.
4. Si C es verdadera en la base de datos, se establece la veracidad de la
expresin E y se resuelve el problema.
5. Si C es falsa, se descarta la regla en curso y se selecciona otra regla.
6. Si C es desconocida en la base de datos (es decir, no es verdadera ni
falsa), se le considera como subobjetivo y se vuelve al paso 1 (C ser
ahora la expresin E).
Existen tambin enfoques mixtos en los que se combinan los mtodos guiados por
datos con los guiados por objetivos.
3.3.3 El componente explicativo
Las soluciones descubiertas por los expertos deber poder ser repetibles tanto por
el ingeniero del conocimiento en la fase de comprobacin as como por el usuario.
La exactitud de los resultados slo podr ser controlada, naturalmente, por los
expertos.
Siempre es deseable que durante el trabajo de desarrollo del sistema se conozca
el grado de progreso en el procesamiento del problema. Como se ha dicho
anteriormente pueden surgir preguntas como las siguientes:
31

Qu preguntas se plantean y por qu?


Cmo ha llegado el sistema a soluciones intermedias?
Qu cualidades tienen los distintos objetos?

A pesar de insistir sobre la importancia del componente explicativo es muy difcil


y hasta ahora no se han conseguido cumplir todos los requisitos de un buen
componente explicativo. Muchos representan el progreso de la consulta al
sistema de forma grfica. Adems los componentes explicativos intentan
justificar su funcin rastreando hacia atrs el camino de la solucin. Aunque
encontrar la forma de representar finalmente en un texto lo suficientemente
inteligible las relaciones encontradas depara las mayores dificultades. Los
componentes explicativos pueden ser suficientes para el ingeniero del
conocimiento, ya que est muy familiarizado con el entorno del procesamiento de
datos, y a veces bastan tambin para el experto; pero para el usuario, que a
menudo desconoce las sutilezas del procesamiento de datos, los componentes
explicativos existentes son todava poco satisfactorios.
Explica al usuario la estrategia de solucin encontrada y el porque de las
decisiones tomas. Las soluciones descubiertas por los expertos deben poder ser
repetibles, tanto por lo el ingeniero del conocimiento en la base de comprobacin,
as como por usuario. La exactitud de los resultados, slo podr ser controlada,
naturalmente por los expertos. Siempre es deseable que durante el trabajo de
desarrollo del sistema se conozca el grado de progreso en el procesamiento del
problema.
3.3.4 La interfaz del usuario
Sirve para que ste pueda realizar una consulta en un lenguaje lo ms natural
posible. Este componente es la forma en la que el sistema se presenta ante el
usuario.
Requisitos o caractersticas de la interface que se presenta al usuario al
desarrollar el sistema.
1. El aprendizaje del manejo debe ser rpido.
2. Debe evitarse en lo posible la entrada de datos errneos.
3. Los resultados deben presentarse en una forma clara para el usuario.
4. Las preguntas y explicaciones deben ser comprensibles.
La interfaz de usuario permite que el usuario pueda describir el problema al
Sistema Experto. Interpreta sus preguntas, los comandos y la informacin ofrecida.
A la inversa, formula la informacin generada por el sistema incluyendo
respuestas a las preguntas, explicaciones y justificaciones. Es decir, posibilita que
la respuesta proporcionada por el sistema sea inteligible para el interesado.
Tambin puede solicitar ms informacin al SE si le es necesaria. En algunos

32

sistemas se utilizan tcnicas de tratamiento del lenguaje natural para mejorar la


comunicacin entre el usuario y el SE.
La interfase de usuario es el enlace entre el sistema experto y el usuario. Por ello,
para que un sistema experto sea una herramienta efectiva, debe incorporar
mecanismos eficientes para mostrar y obtener informacin de forma fcil y
agradable. Un ejemplo de la informacin que tiene que ser mostrada tras el
trabajo del motor de inferencia, es el de las conclusiones, las razones que
expliquen tales conclusiones y una explicacin de las acciones iniciadas por el
sistema experto. Por otra parte, cuando el motor de Inferencia no puede concluir
debido, por ejemplo, a la ausencia de informacin, la interfase de usuario es un
vehculo para obtener la informacin necesaria del usuario. Consecuentemente,
una implementacin inadecuada de la interfase de usuario que no facilite este
proceso minara notablemente la calidad de un sistema experto. Otra razn de la
importancia de la interfase de usuario es que los usuarios evalan comnmente
los sistemas expertos y otros sistemas por la calidad de dicha interfase ms que
por la del sistema experto mismo, aunque no se debera juzgar la calidad de un
libro por su portada. Los lectores que estn interesados en el diseo de una
interfase de usuario pueden consultar los libros de Shneiderman (1987) y Brown y
Cunningham (1989).
En este componente como todos bien sabis es la forma en la que el sistema se
nos presentar ante el usuario. Como en los anteriores nos surgen dudas y
preguntas como por ejemplo:

Cmo debe responder el usuario a las preguntas planteadas?


Cmo saldrn las respuestas del sistema a las preguntas que se le
planteen?
Qu informaciones se representarn de forma grfica?

Los requisitos o caractersticas de la interface que presentaremos al usuario voy


a resumirlas en cuatro, que a mi opinin son las ms importantes y las ms a
tener en cuenta al desarrollar el sistema:
1. El aprendizaje del manejo debe ser rpido. El usuario no debe dedicar
mucho tiempo al manejo del sistema, debe ser intuitivo, fcil en su manejo.
No debemos olvidar que nuestro sistema simula al comportamiento de un
experto. Debe sernos cmodo y relativamente sencillo en cuanto al manejo.
2. Debe evitarse en lo posible la entrada de datos errnea. Ejemplo:
Poneros en la situacin de que nuestro sistema a un mdico. Cuando
nosotros acudimos a un mdico, le contamos y detallamos nuestros
sntomas y el con sus preguntas junto con nuestras respuestas nos
diagnostica nuestra "enfermedad".Imaginaros que acudimos a un medico y
le decimos que nos duele una pierna en lugar de un brazo, el diagnostico
ser intil. El ejemplo es muy exagerado pero demuestra la importancia en
la correcta introduccin de los datos al sistema.

33

3. Los resultados deben presentarse en una forma clara para el usuario.


Vuelvo al ejemplo del mdico. Si nuestro mdico nos diagnostica un
medicamento pero en nuestra receta no nos escribe cada cuantas horas
hemos de tomarlo por ejemplo, por muy bueno que sea el medicamento, la
solucin a nuestro problema ser ineficiente por completo. Por eso se
insiste en que los resultados debe ser claros y concisos.
4. Las preguntas y explicaciones deben ser comprensibles.
3.3.5 El componente de adquisicin
Un buen componente de adquisicin ayudar considerablemente la labor del
Ingeniero del Conocimiento. Este puede concentrarse principalmente en la
estructuracin del conocimiento sin tener que dedicar tanto tiempo en la actividad
de programacin.
Requisitos o caractersticas del componente de adquisicin:
1. El conocimiento, es decir, las reglas, los hechos, las relaciones entre los
hechos, etc.., debe poder introducirse de la forma ms sencilla posible.
2. Posibilidades de representacin clara de todas las informaciones
contenidas en una base de conocimientos.
3. Comprobacin automtica de la sintaxis.
4. Posibilidad constante de acceso al lenguaje de programacin.
Como se pone en prctica cada uno de los requisitos depender del lenguaje de
programacin elegido y del hardware que tengamos. El experto deber estar algo
familiarizado con el componente de adquisicin para poder realizar
modificaciones por s slo.
La mayora de los sistemas expertos contienen un mdulo de explicacin,
diseado para aclarar al usuario la lnea de razonamiento seguida en el proceso
de inferencia. Si el usuario pregunta al sistema cmo ha alcanzado una
conclusin, ste le presentar la secuencia completa de reglas usada. Esta
posibilidad de explicacin es especialmente valiosa cuando se tiene la necesidad
de tomar decisiones importantes amparndose en el consejo del SE. Adems, de
esta forma, y con el tiempo suficiente, los usuarios pueden convertirse en
especialistas en la materia, al asimilar el proceso de razonamiento seguido por el
sistema. El subsistema de explicacin tambin puede usarse para depurar el SE
durante su desarrollo.
El mdulo de adquisicin del conocimiento permite que se puedan aadir, eliminar
o modificar elementos de conocimiento (en la mayora de los casos reglas) en el
SE. Si el entorno es dinmico, entonces este componente es muy necesario,
puesto que el sistema funcionar correctamente slo si se mantiene actualizado
su conocimiento. El mdulo de adquisicin permite efectuar ese mantenimiento,
anotando en la base de conocimientos los cambios que se producen.
34

Ofrece ayuda a la estructuracin e implementacin del conocimiento en la base de


conocimientos. Un buen componente de adquisicin ayudara considerablemente
la labor del ingeniero del conocimiento. Este puede concentrarse principalmente
en la estructuracin del conocimiento sin tener que dedicar tanto tiempo en la
actividad de programacin. Daremos unas reglas o requisitos de nuestro
componente de adquisicin.
Requisitos o caractersticas de los componentes de adquisicin.
1. El conocimiento, es decir, las reglas, los hechos, las relaciones entre los hechos,
debe poder introducirse de la forma ms sencilla posible.
2. Posibilidades de representacin clara en todas las informaciones contenida en
una base de conocimientos.
3. Comprobacin automtica de la sintaxis.
4. Posibilidad constante de acceso al lenguaje de programacin.
3.3.6 ACTIVIDADES COMPLEMENTARIAS
1. Realice un cuadro comparativo de los usos mas destacados de los sistemas
expertos.
2. Mediante un ejemplo identifique los elementos de un sistema experto para el
diagnostico de enfermedades respiratorias en los humanos.
3. Cuales son las capacidades de un sistema experto?
4. Describa algunas de las caractersticas limitantes de los sistemas expertos.
5. Identificar los elementos bsicos de un sistema experto y describir el papel de
cada uno de ellos.

35

CAPITULO 4. PROCESO DE DESARROLLO DE UN SISTEMA EXPERTO


4. Introduccin
Para desarrollar el software primero conocemos el equipo de gente necesario,
despus los mtodos que y utiliza ese equipo de gente y por ultimo como prueban
y construyen prototipos de software para terminar en el sistema final.
1. Equipos de desarrollo
1.1 Expertos
1.2 El ingeniero del conocimiento
1.3 El usuario
2. Mtodos auxiliares en el desarrollo:
La eficiencia en la creacin de sistemas expertos puede aumentarse en gran
medida con la aplicacin de shells.
Un shell es un sistema experto que contiene una base de conocimientos vaca.
Existe el mecanismo de inferencia, el componente explicativo y a veces tambin la
interfaz del usuario.
3. construccin de prototipos
La implantacin de un prototipo de sistema experto que le permite llevar a cabo las
funciones ms importantes de ste, aunque con esfuerzo de desarrollo
considerablemente inferior al de una implementacin convencional. Este proceder
se define bajo el nombre de rapid prototyping.
4.1 Aspectos Generales
4.1.1 El Equipo de Desarrollo

Figura 4.1 Equipo de desarrollo de un SE

Para desarrollar un SE primero se debe conocer el equipo de gente necesario,


despus los mtodos que utiliza ese equipo de gente y por ultimo cmo prueban y
construyen prototipos de software para terminar en el sistema final.
Las personas que componen un grupo o un equipo, como en todos los mbitos
deben cumplir ciertas caractersticas y cada uno de ellos dentro del equipo
desarrolla un papel distinto. A continuacin se detalla cada componente del equipo
dentro del desarrollo y cul es la funcin de cada uno:

36

a) El experto. La funcin del experto es la de poner sus


conocimientos especializados a disposicin del Sistema Experto.
b) El ingeniero del conocimiento. Es el ingeniero que plantea las
preguntas al experto, estructura sus conocimientos y los
implementa en la base de conocimientos.
c) El usuario. El usuario aporta sus deseos y sus ideas,
determinando especialmente el escenario en el que debe aplicarse
el Sistema Experto.
En el desarrollo de un Sistema Experto, El ingeniero del conocimiento y el
experto trabajan muy unidos. El primer paso consiste en elaborar los
problemas que deben ser resueltos por el sistema. Precisamente en la
primera fase de un proyecto es de vital importancia determinar
correctamente el mbito estrechamente delimitado de trabajo. Aqu se
incluye ya el usuario posterior, o un representante del grupo de usuarios.
Para la aceptacin, y en consecuencia para el xito, es de vital y suma
importancia tener en cuenta los deseos y las ideas del usuario.
Una vez delimitado el dominio, se alimenta el sistema con los conocimientos
del experto. El experto debe comprobar constantemente que su
conocimiento haya sido transmitido de la forma ms conveniente. El
ingeniero del conocimiento es responsable de una implementacin correcta,
pero no de la exactitud del conocimiento. La responsabilidad de esta
exactitud recae en el experto.
De ser posible, el experto deber tener comprensin para los problemas que
depara el procesamiento de datos. Ello facilitar mucho el trabajo. Adems,
no debe ignorarse nunca al usuario durante el desarrollo, para que al final se
disponga de un sistema que le sea de mxima utilidad.
La estricta separacin entre usuario, experto e ingeniero del conocimiento no
deber estar siempre presente. Pueden surgir situaciones en las que el
experto puede ser tambin el usuario. Este es el caso, cuando exista un
tema muy complejo cuyas relaciones e interacciones deben ser
determinadas una y otra vez con un gran consumo de tiempo. De esta forma
el experto puede ahorrarse trabajos repetitivos.
La separacin entre experto e ingeniero del conocimiento permanece, por
regla general, inalterada.
4.1.2 Construccin de las principales partes de un SE
Como ya se mencion, los principales componentes de un SE son la base de
conocimiento y el motor de inferencia. La metodologa tradicional se enfoca
principalmente a la construccin de dichos componentes.

37

4.1.2.1 La base de conocimiento


La base de conocimiento es una base de datos que posee una informacin y unas
reglas especficas sobre una materia o tema determinado. En la metodologa
tradicional, la base de conocimiento se conforma de objetos y atributos. Un objeto
es una conclusin que es definida por sus atributos relacionados; y un atributo es
una caracterstica o cualidad especfica que ayuda a definir un objeto.
La base de conocimiento se puede ver como una lista de objetos con sus reglas y
atributos asociados. En el sentido ms simple, la regla que se aplica para un
atributo determina si un objeto tiene o no tiene determinado atributo. Por lo que
un objeto se define usando una lista de atributos que el objeto posea o no.
Podemos decir que una base de conocimiento es una estructura de datos que
contiene el conjunto de conocimiento especializado introducido por el experto del
dominio (persona que domina el tema).
Contiene una gran cantidad de
informacin sobre un tema especfico, generalmente introducido por un experto
por dicho tema, sobre el cual se desarrolla la aplicacin
Este conocimiento lo constituye la descripcin de:
Objeto a tener en cuenta y sus relaciones.
Casos particulares o excepciones o diferentes estrategias de resolucin con
sus condiciones de aplicacin (meta-conocimiento, es decir conocimiento
sobre el conocimiento.)
Se representa de una manera sencilla, mediante reglas.
La Base de Conocimientos contiene reglas. Una regla es una instruccin
condicionada que enlaza determinadas condiciones con acciones o resultados. La
regla se crea por medio de construcciones de si-entonces.
S <premisa> Then <conclusin>
Ejemplo:
S Latencia Distal >= 3.8 Then Latencia Distal
Normal
S Latencia Distal < 3.8 Then Latencia Distal Anormal
Las reglas componen la Base de Conocimiento y las mismas pueden relacionarse
dando lugar a nuevos hechos.
La base de conocimientos contiene el conocimiento especializado extrado del
experto en el dominio. Es decir, contiene conocimiento general sobre el dominio
en el que se trabaja. El mtodo ms comn para representar el conocimiento es
mediante reglas de produccin. El dominio de conocimiento representado se
divide, pues, en pequeas fracciones de conocimiento o reglas SI. . .
ENTONCES . . . Cada regla constar de una parte denominada condicin y de una
parte denominada accin, y tendr la forma:
38

SI condicin ENTONCES accin. Como ejemplo se puede considerar la siguiente


regla mdica:
SI el termmetro marca 39
Y el termmetro funciona correctamente
ENTONCES el paciente tiene fiebre
Una caracterstica muy importante es que la base de conocimientos es
independiente del mecanismo de inferencia que se utiliza para resolver los
problemas. De esta forma, cuando los conocimientos almacenados se han
quedado obsoletos, o cuando se dispone de nuevos conocimientos, es
relativamente fcil aadir reglas nuevas, eliminar las antiguas o corregir errores en
las existentes. No es necesario reprogramar todo el sistema experto.
Las reglas suelen almacenarse en alguna secuencia jerrquica lgica, pero esto
no es estrictamente necesario. Se pueden tener en cualquier secuencia y el motor
de inferencia las usar en el orden adecuado que necesite para resolver un
problema. Junto a cada regla, se almacena tambin su porcentaje en forma de
probabilidad. ste indica, mediante un tanto por ciento, el grado de certeza de las
consecuencias que se obtienen como resultado de la aplicacin de la regla de
produccin.
Existen reglas de produccin que no pertenecen al dominio del problema. Estas
reglas se llaman metarreglas (reglas sobre otras reglas) y su funcin es indicar
bajo qu condiciones deben considerarse unas reglas en vez de otras. Un
ejemplo de metaregla es:
SI hay reglas que usan materias baratas
Y hay reglas que usan materias caras
ENTONCES usar antes las primeras que las segundas
La 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 resolucin de un
problema. Contiene conocimiento sobre el caso concreto en que se trabaja.
Tambin se registrarn 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. Junto a cada
regla, se almacena tambin su porcentaje en forma de probabilidad.
4.1.2.2 Cinco Pasos en la Construccin de una Base de Conocimientos
Defina acerca de que va a hablar. Que su conocimiento del dominio sea
suficiente para poder definir de que objeto y hechos es necesario hablar, y
cuales habr que ignorar.
Escoja un vocabulario para predicado, funciones y constantes. Traduzca los
conceptos importantes del nivel de dominio a nombres del nivel de lgica. El
resultado es un vocabulario que se conoce como ontologa del dominio. (Es
una teora particular de la naturaleza del ser o de la existencia )
Codifique todo el conocimiento en general relativo al dominio. La ontologa es
una lista informal de los conceptos de un dominio. Al elaborar oraciones lgicas
o axiomas sobre los trminos de la ontologa se logran dos metas: Primero, se
39

precisan los trminos con el fin de que los humanos estn de acuerdo de su
correspondiente interpretacin; segundo, estamos ofreciendo condiciones que
permitirn la ejecucin de procedimientos e inferencia para deducir
automticamente consecuencias de la base de datos.
Una vez obtenidos los axiomas, se puede decir que ya se produjo la BC. Habr
que realizar mucho trabajo de depuracin. La principal diferencia entre la
depuracin de una BC y la de un programa consiste en que es ms fcil revisar
una sola oracin lgica y determinar si es correcta. Las aseveraciones tienden
a depender bastante del contexto.
Codifique una descripcin de un caso especifico del problema. Si la ontologa
se eligi adecuadamente este paso es muy sencillo, consiste en la obtencin
de oraciones atmicas.
Haga consultas al procedimiento de inferencia y obtenga la respuesta: ser el
procedimiento de inferencia el que opere en los axiomas y los hechos
concretos del problema para deducir as los hechos que nos interesa conocer.
4.1.2.3 Proceso Lgico de Carga de la Base de Conocimiento
En esta fase se determinan las reglas y se incorporan a la base de conocimientos

Figura 4.2 Proceso lgico de carga de la Base de conocimiento.

La base de conocimientos aloja la totalidad de las informaciones especficas


relativas al campo del saber deseado, est escrita en un lenguaje especfico de
representacin de los conocimientos que contiene y en el cual el experto puede
40

definir su propio vocabulario tcnico. A la inversa de lo que sucede en los


programas clsicos, en la base de conocimientos las informaciones entran tal
como llegan, ya que el orden no influye en los resultados obtenidos. Sucede as
porque cada elemento de conocimiento es comprensible por s mismo tomado de
forma aislada y, por lo tanto, no es necesario referirse al contexto en el cual est
inserto. La informacin se representa, por regla general, mediante reglas de
produccin o redes semnticas. Las reglas de produccin constituyen el mtodo
ms utilizado para construir bases de conocimientos en los sistemas expertos.
Llamadas tambin implicaciones lgicas, su estructura es la siguiente: para unas
ciertas causas, unos efectos; o, para determinadas condiciones, ciertas
consecuencias. Junto a cada regla, se almacena tambin su porcentaje en forma
de probabilidad. ste indica, mediante un tanto por ciento, el grado de certeza de
las consecuencias que se obtienen como resultado de la aplicacin de la regla de
produccin. En cuanto a las redes semnticas, se trata de un mtodo de
construccin de bases de conocimientos en el cual los conocimientos se muestran
mediante un grafo en el que los vrtices representan los conceptos u objetos y las
aristas indican las relaciones entre ellos.
Adems el sistema dispone de la llamada base de hechos, que alberga los datos
propios correspondientes a los problemas que se desea tratar con la ayuda del
sistema. Asimismo, a pesar de ser la memoria de trabajo, la base de hechos
puede desempear el papel de memoria auxiliar. La memoria de trabajo
memoriza todos los resultados intermedios, permitiendo conservar el rastro de los
razonamientos llevados a cabo. Puede, por eso, emplearse para explicar el origen
de las informaciones deducidas por el sistema en el transcurso de una sesin de
trabajo o para llevar a cabo la descripcin del comportamiento del propio sistema
experto. Al principio del perodo de trabajo, la base de hechos dispone
nicamente de los datos que le ha introducido el usuario del sistema, pero, a
medida que va actuando el motor de inferencias, contiene las cadenas de
inducciones y deducciones que el sistema forma al aplicar las reglas para obtener
las conclusiones buscadas.
4.1.3 El motor de inferencia
Para construir un motor de inferencia, existen tres mtodos bsicos:
encadenamiento hacia adelante, encadenamiento hacia atrs y reglas de
produccin.
4.1.3.1 Mtodo de encadenamiento hacia delante
A este mtodo se le llama conducido por datos, porque el motor de inferencia
utiliza la informacin que el usuario le proporciona para moverse a travs de una
red de operadores AND y operadores OR hasta que encuentra un punto terminal
que es el objeto. Si el motor de inferencia no puede encontrar un objeto que
cumpla con los requisitos, el SE pide ms informacin. Los atributos que definen al
objeto crean un camino que conduce al mismo objeto: la nica forma de alcanzar
41

dicho objeto es satisfacer todas sus reglas. En resumen el sistema de


encadenamiento hacia delante construye un rbol desde las hojas hasta la raz,
como se puede ver en la figura 4.3.
Atributo

Atributo

Atributo

Atributo

Figura 4.3 Mtodo de encadenamiento hacia adelante

4.1.3.2. Mtodo de encadenamiento hacia atrs.


Este mtodo es el contrario al mtodo anterior. Un motor de inferencia de
encadenamiento hacia atrs comienza con una hiptesis (objeto) y pide
informacin para confirmarlo o negarlo. A este mtodo se le llama conducido
por objetos porque el SE empieza con un objeto e intenta verificarlo. En
resumen, el encadenamiento hacia atrs poda un rbol, lo cual es lo contrario al
mtodo anterior, en el cual se construye un rbol, esto se muestra en la figura
4.4.
Intenta objeto

Atributo cumplido

Atributo no cumplido

Atributo cumplido

Atributo no cumplido

Atributo cumplido

Atributo cumplido

Objeto encontrado

Figura 4.4. Encadenamiento hacia atrs

42

4.1.3.3 Mtodo de reglas de produccin


Este mtodo es una mejora al mtodo de encadenamiento hacia atrs. La teora
operativa general es que el sistema pide como informacin aquella que elimine
la mayor incertidumbre posible. El problema que existe con este mtodo est en
su dificultad para llevarse a cabo, primeramente debido a que la base de
conocimiento a menudo es tan grande que el nmero de combinaciones que el
sistema puede soportar se rebasa fcilmente, por lo tanto, el sistema no puede
determinar exactamente qu informacin eliminar una mayor incertidumbre. En
segundo lugar, los sistemas de reglas de produccin requieren que la base de
conocimientos contenga no slo la informacin objeto atributo, sino adems
un valor cuantificador, lo que hace aun ms difcil la construccin de la base de
conocimientos.
4.1.4 Construccin del Mecanismo de Inferencia
4.1.4.1 El mecanismo de inferencia
El mecanismo de inferencia es la unidad lgica con la que se extraen
conclusiones de la base de conocimientos, segn un mtodo fijo de solucin de
problemas que esta configurado imitando el procedimiento humano de los
expertos para solucionar problemas.
Una conclusin se produce mediante aplicacin de las reglas sobre los hechos
presentes.
4.1.4.2 Motor de Inferencia.
Un motor de inferencia interpreta y evala los hechos en la base de conocimientos
para proveer una respuesta. Este debe ser independiente del conocimiento y de
los hechos. Se puede caracterizar por:
El lenguaje en que ha sido escrito.
La velocidad de trabajo: Inferencias / segundo.
Las estrategias de bsqueda de soluciones:
No Ordenada: aleatoria, heurstica.
Ordenada: Encadenamiento hacia adelante (guiado por los datos, deductivo),
encadenamiento hacia atrs (guiado por los objetivos, inductivo).
La forma en que elige el conocimiento.
La posibilidad de incorporar metaconocimiento.
El tipo de lgica que emplea en el razonamiento:
Booleana, trivalente, multivalente, difusa.
43

Monotnica o no monotnica.
Atemporal o temporal.
Lgica de orden 0, orden 0+, orden 1.
El mtodo que utiliza para la evaluacin del conocimiento incompleto o incierto:
Determinstico.
Probabilstico.
Aproximado.
Difuso.
En un sistema experto, dado un estado particular de la base de datos, se deben
reconocer las reglas aplicables y esto se llama filtrado o identificacin de patrones,
operacin especialmente larga, ya que muchos sistemas realizan una preseleccin
de las reglas antes de que comience la identificacin propiamente tal. Es decir, se
considera un subconjunto de reglas y entre stas, las aplicables. Esto, es lo que
se llama restriccin.
Adicionalmente puede existir una Base de Datos con informacin puntual sobre
problemas especficos anteriormente resueltos por el sistema, y que se usa como
informacin adicional en el proceso de inferencia.
Una vez que las reglas han sido reconocidas deben ser elegidas, dependiendo de
la estrategia de control, que es la seleccin.
Una vez que las regla han sido elegida ha de ejecutarse.
Al mdulo central del sistema experto que maneja estas tres operaciones se le
denomina motor de inferencia o intrprete de reglas. Hay diversos tipos de
motores de inferencia segn los mtodos con que se manejan las tres operaciones
precedentes.
4.1.4.3 Identificacin de patrones.
Esta operacin determina cules son las reglas potencialmente aplicables en un
estado dado de la base de datos.
Hay ciertos mtodos tpicos para resolver problemas mediante Inteligencia
Artificial como: descomposicin de problemas, inferencia deductiva, deduccin
lgica, etc.
No es necesario que la bsqueda se aplique a todas las reglas, el sistema de
control puede decidir cules no son necesarias a ese nivel.
El filtrado significa tener el conocimiento para encontrar las reglas cuya
precondicin se satisfaga. Se debe comparar por tanto la precondicin con la base
de datos. Si es una regla deductiva "si premisa entonces conclusin", la parte a
ser probada de la regla, se llama disparador o activador (tigger) es siempre una

44

frmula bien formada ya sea de lgica proposicional o de lgica de primer orden.


Puede aplicarse a cualquier hecho.
El nico lenguaje que est totalmente basado en el clculo de predicados es el
PROLOG.
Los procesos de identificacin de patrones pueden mejorarse examinando, dentro
del activador de cada regla, primero los predicados con ms restricciones, es decir,
los que tienen el menor nmero de variables libres. Otra forma de proceder es que,
para cada regla o parte de su activador, se guarda en la memoria el resultado de
las posibles unificaciones para cada parte del activador. Despus de cada ciclo del
motor de inferencia, esta memoria se actualiza y se denomina filtrado por
propagacin.
4.1.4.4. Ejecucin de las reglas.
Despus de la fase de filtrado, cuando una regla est reconocida como aplicable,
teniendo en cuenta la base de datos existente, solo resta ejecutarla. Si hay varias
posibles reglas, la eleccin la realiza la estrategia de control.
La conclusin de la regla tiene por objeto modificar la base de conocimiento,
creando, modificando o suprimiendo un hecho.
4.1.4.5. La fase de restriccin.
En un sistema dirigido por los datos, el filtrado consiste en retener todas las reglas
cuyas premisas son verdaderas teniendo en cuenta los hechos (verdaderos)
presentes en la base de datos. Este sistema funciona en encadenamiento hacia
delante.
Si el sistema es a la vez dirigido por los datos y por los objetivos, se denomina
mixto.
La restriccin tambin puede estar especificada explcitamente por el experto para
utilizar reglas dentro de las reglas, es decir, meta reglas. Indica qu grupo de
reglas debe ser retenido, por prioridad, o definir un orden en los subconjuntos de
las reglas.
El conocimiento puede organizarse en forma de red como en las redes semnticas
utilizadas en el anlisis sintctico del lenguaje. Su posicin dentro de la red dirige
las restricciones utilizando heursticas. Esta formulacin es particularmente
eficiente si se establece vlidamente una organizacin jerrquica del conocimiento,
en este caso existira una taxonoma de los hechos.
Otro modo de gobernar las restricciones es organizar las reglas en paquetes o
esquemas, lo que genera una estructura de rbol en reglas, lo que es una ventaja.
Todos estos modos dependen de la forma en que est representado el
conocimiento.
45

4.1.4.6 La fase de seleccin.


Como despus de las fases anteriores quedan varias reglas se debe seleccionar
una y luego de procesada el programa debe saber dnde volver.
Cuando hay una o ms reglas, se usan dos estrategias:
La bsqueda en anchura, que elige una, generalmente la primera y se van
ejecutando por turno antes de comprobar que se ha alcanzado la condicin
final. Si no es as se inicia otro ciclo del motor de inferencia. Este tipo de
bsqueda es exhaustiva y la usa el sistema experto MYCIN.
Otra estrategia es la de elegir una regla entre las aplicables por medio de una
heurstica, procesarla y modificar la base de datos. Si no se alcanza la
condicin final, comienza otro ciclo del motor de inferencia. Es por lo tanto, una
estrategia en profundidad.
Cada una de las estrategias pueden ser irrevocables o avanzar por prueba y error.
Muchos sistemas efectan marcha atrs, si no hay regla aplicable, pero si el
sistema est bajo un control irrevocable se detendr.
Visto en la prctica, las reglas poseen la siguiente estructura:
SI (CONJUNTO_DE_PREMISAS) ENTONCES CONSECUENCIA
o bien:
(CONJUNTO_DE_PREMISAS) CONSECUENCIA
El CONJUNTO_DE_PREMISAS contiene las clusulas, o simplemente
condiciones, que deben cumplirse para que la regla pueda ejecutarse, y la
CONSECUENCIA representa el resultado de la ejecucin de dicha regla.
Ejemplos
Ejemplo No. 1
Un ejemplo sencillo que ilustra cmo representar conocimiento a travs de reglas:
Afirmacin:
Todos los catedrticos son doctores.
Representacin Lgica - Matemtica:
En esta representacin la variable x constituye el conjunto de todas las personas
posibles, CATEDRTICO representa la relacin "SER CATEDRTICO" y
DOCTOR la de "SER DOCTOR". De esta manera la regla anterior representa el
hecho: Para toda persona x, Si x es catedrtico entonces x es doctor.
Representacin en SE:
46

o bien:
SI (x ES CATEDRTICO) ENTONCES (x ES DOCTOR)
En este caso CATEDRTICO y DOCTOR representan de nuevo relaciones que
deben estar representadas sobre el sistema.
Ejemplo No. 2
Una Regla es: Si p y q entonces r
p y q son justo aquellos hechos que se mencionan en la clusula "si" de la regla,
es decir, las condiciones para la aplicabilidad de la regla. Aplicar la regla es:
deducir de los hechos p y q el hecho r.
En un Sistema Experto existir un hecho slo cuando est contenido en la base
de conocimientos.
Los hechos que constan en la clusula "si" se llaman premisas, y el contenido en
la clusula "entonces" se llama conclusin. Cuando se aplica una regla sobre
algunos hechos cualesquiera se dice que se dispara. El disparo de una regla
provoca la insercin del nuevo hecho en la base de conocimientos.
Las funciones del mecanismo de inferencia son:
1. Determinacin de las acciones que tendrn lugar, el orden en que lo harn
y cmo lo harn entre las diferentes partes del Sistema Experto.
2. Determinar cmo y cundo se procesarn las reglas, y dado el caso
tambin la eleccin de qu reglas debern procesarse.
3. Control del dilogo con el usuario.
La decisin sobre los mecanismos de procesamiento de reglas, es decir, qu
estrategias de bsqueda se implementarn, es de vital importancia para la
efectividad del sistema en su conjunto.
Ante problemas o clases de problemas distintos se estructuran, como es lgico,
diferentes mecanismos de inferencia. El mecanismo de inferencia debe de estar
"adaptado" al problema a solucionar. Una imposicin de dinero exige, bajo
ciertas circunstancias, una estrategia distinta de procesamiento del conocimiento
que un diagnstico de fallos de mquina.
4.1.4.7 Ejemplo de Funcionamiento del Motor de Inferencia
Para ilustrar cmo trabajan los procedimientos de inferencia, se supondr un
sistema que contiene las siguientes reglas en la base de conocimiento:
R1: SI abrigo ENTONCES bingo
R2: SI chaqueta ENTONCES dentista
R3: SI bingo ENTONCES esposa
-Enfoque guiado por datos (o encadenamiento hacia adelante):
El problema es determinar si se da esposa sabiendo que se cumplen abrigo y
chaqueta.
Lo primero que se hace es introducir en la base de datos abrigo y chaqueta:
B.D. = {abrigo, chaqueta}
El sistema identifica las reglas aplicables:
R = {R1, R2}
Selecciona R1 y la aplica. Esto genera bingo que se aade a la base de datos:
47

B.D. = {abrigo, chaqueta, bingo}


Como no se ha solucionado el problema, vuelve a identificar un conjunto de reglas
aplicables (excepto la ya aplicada, que no cambiara el estado de la base de
datos):
R = {R2, R3}
Selecciona y aplica R2 quedando:
B.D. = {abrigo, chaqueta, bingo, dentista}
El problema todava no se ha solucionado, luego el sistema selecciona otro
conjunto de reglas aplicables:
R = {R3}
Seleccionando y aplicando R3, la base de datos queda:
B.D. = {abrigo, chaqueta, bingo, dentista, esposa}
Como esposa se encuentra en ella, se ha llegado a la solucin del problema.
Enfoque guiado por objetivos (o encadenamiento hacia atrs):
Se quiere determinar si se cumple esposa teniendo en la base de datos abrigo y
chaqueta:
B.D. = {abrigo, chaqueta}.
El conjunto de reglas aplicables en este caso ser:
R = {R3} (R3 es la nica que tiene esposa en su parte derecha).
Se selecciona R3 y se genera bingo. Como no se encuentra en la base de datos
( no es verdadero ni falso) se le considera como subobjetivo.
El sistema intentar ahora probar bingo.
Identifica las reglas aplicables:
R = {R1}.
Aplica R1 y se obtiene abrigo que es verdadero en la base de datos. De esta
forma, se prueba el subobjetivo, y al probar ste, se prueba esposa resolviendo el
problema.
El motor de inferencias, es un programa que, mediante el empleo de los
conocimientos puede resolver el problema que est especificado. Lo resuelve
gracias a los datos que contiene la base de hechos del sistema experto. Por regla
general, el tipo de reglas que forman la base de conocimientos es tal que, si A es
vlido, puede deducirse B como conclusin. En este caso, la tarea que lleva a
cabo el motor de inferencias es la de seleccionar, validar y activar algunas reglas
que permiten obtener finalmente la solucin correspondiente al problema
planteado.
El sistema experto establecido se compone, por lo tanto, de dos tipos bien
diferenciados de elementos, los propios del campo de los expertos relacionados
con el problema concreto(es decir, la base de conocimientos y la base de hechos)
y el que se puede aplicar de forma general a una gran variedad de problemas de
diversos campos(como el caso del motor de inferencias). Sin embargo, el motor de
inferencias no es un mecanismo universal de deduccin, ya que hay dos tipos
diverso: los que emplean el razonamiento aproximativo (para el cual el resultado
puede ser errneo) y aquellos que emplean un tipo de razonamiento capaz de
obtener un resultado (si llegan a l), con toda seguridad, verdadero.
48

Los mtodos generales desarrollados para la resolucin de problemas y tcnicas


de bsqueda al inicio de la era de la Inteligencia Artificial demostraron no ser
suficientes para resolver los problemas orientados a las aplicaciones, ni fueron
capaces de satisfacer los difciles requerimientos de la investigacin.
A este conjunto de mtodos, procedimientos y tcnicas, se lo conoce como
Inteligencia Artificial Dbil. La principal conclusin que se deriv de este trabajo
inicial fue que los problemas difciles slo podran ser resueltos con la ayuda del
conocimiento especfico acerca del dominio del problema.
La aplicacin de estas ideas dio lugar al desarrollo de los denominados Sistemas
Basados en Conocimiento (Knowledge Based Systems) y al aparecimiento de la
Ingeniera Cognoscitiva, como una rama de la Inteligencia Artificial, que estudia los
sistemas basados en el conocimiento. La definicin de un sistema basado en
conocimiento puede ser la siguiente:
Es un sistema computarizado capaz de resolver problemas en el dominio en
el cual posee conocimiento especfico.
La solucin es esencialmente la misma que hubiera dado un ser humano
confrontado con idntico problema, aunque no necesariamente el proceso seguido
por ambos puede ser igual.
El simple concepto dado, puede causar confusin ya que muchos sistemas
basados en programas convencionales podran ser incorrectamente categorizados
como sistemas basados en conocimiento. Esta inconsistencia puede ser aclarada,
sobre la base de tres conceptos fundamentales que distinguen a los sistemas
basados en conocimiento de los programas algortmicos convencionales y de los
programas generales basados en bsqueda:
Inteligencia Artificial dbil.
Primero, la separacin del conocimiento y el modo en que es usado.
Segundo, la naturaleza del conocimiento empleado (heurstica antes que
algortmica).
Tercero, El uso de conocimiento especfico de un determinado dominio.
Las caractersticas principales son:
Amplia difusin del conocimiento
Fcil modificacin
Respuestas coherentes
Disponibilidad casi completa
Conservacin del conocimiento
Capacidad de resolver problemas disponiendo de informacin incompleta
49

Capacidad de explicar los resultados y la forma de obtenerlos


Los principales problemas asociados a este mtodo son:
Las soluciones no siempre son las mejores o correctas
Conocimiento limitado frente al dominio de un experto
Carecen del sentido comn o criterio que puede tener un experto
Difcil extraer todo el conocimiento que maneja un experto.
Experiencia, Habilidades y Conocimiento.
Los tipos de experiencia que son de inters en los sistemas basados en
conocimiento, pueden ser clasificados en tres categoras: asociativa, motora y
terica.
Los sistemas basados en conocimiento son excelentes para representar
conocimiento asociativo. Este tipo de experiencia refleja la habilidad heurstica o el
conocimiento que es adquirido mayoritariamente, a travs de la observacin.
Puede ser que no se comprenda exactamente lo que ocurre al interior de un
sistema (caja negra), pero se pueden asociar entradas o estmulos con salidas o
respuestas, para resolver problemas que han sido previamente conocidos.
La experiencia motora es ms fsica que cognitiva. La habilidad se adquiere
fundamentalmente a travs del ejercicio y la prctica fsica constante. Los
sistemas basados en conocimiento no pueden emular fcilmente este tipo de
experiencia, principalmente por la limitada capacidad de la tecnologa robtica.
La experiencia terica y el conocimiento profundo permite que los humanos
puedan resolver problemas que no se han visto antes, es decir, no existe una
posibilidad asociativa. El conocimiento terico y profundo se adquiere a travs de
estudio y entrenamiento formal, as como por medio de la resolucin directa de
problemas.
Debido a su naturaleza terica, este conocimiento se puede olvidar fcilmente, a
no ser que se use en forma continua. Al momento, los sistemas convencionales
basados en conocimiento tienen muchas dificultades para duplicar este tipo de
experiencia. Sin embargo, los Sistemas de Razonamiento Basado en Modelos
representan un notable intento de encapsular este conocimiento profundo y
razonar con l.
4.1.5 Estructura de los Sistemas Basados en Conocimiento.
La arquitectura de un sistema basado en conocimiento de alguna manera refleja la
estructura cognitiva y los procesos humanos. La primera parte es la memoria de

50

largo plazo, en la que guarda los hechos (Base de Hechos) y los conocimientos
(Base de Conocimientos) acerca del dominio en el que tiene experiencia.

Figura 4.5 Sistema Basado en conocimiento

La segunda parte es el sistema que realiza la funcin de razonamiento para


resolver problemas (Motor de Inferencia). Finalmente, la tercera parte la
conforman las unidades de entrada y salida que permiten la comunicacin entre el
sistema y su entorno.
La representacin del conocimiento determina el desarrollo de un sistema experto
e influye en las estrategias de control. Es muy verstil, hay muchas formas de
hacerlo y es complicada la eleccin. Generalmente la eleccin est basada en la
intuicin o en las especiales circunstancias del problema.
La primera fase es la adquisicin del conocimiento desde un experto y depende de
la cantidad y de su adecuada representacin. Se deben conocer los lmites, pues
slo llegan hasta donde son capaces de resolver un problema. Esto implica, que
tiene que circunscribirse a un dominio homogneo.
El lenguaje de programacin debe ser adecuado, se usan principalmente el LISP y
PROLOG, que difieren de los lenguajes clsicos en que sus reglas (que tambin
contienen hechos) entran masivamente, y que el programa, es decir, el motor de
inferencia, encontrar el camino a travs de reglas.

51

Por otra parte, la programacin procedimental consiste en una cuidadosa


descripcin de los algoritmos que marcan el camino de los diferentes
procedimientos y funciones en los programas.
Estos dos modos de programacin son tericamente iguales, pero en la prctica
difieren.
La programacin declarativa es un tipo de programacin implantada en los
sistemas expertos y por ciertos lenguajes. La principal diferencia es que en la
declarativa las reglas se formulan independientemente de su secuencia de
aplicacin. El modo en que se ejecutan las reglas corresponde al motor de
inferencia y es independiente de las reglas en s mismas. En la programacin
procedural, las reglas se implantan y ejecutan en un orden establecido.
Las ventajas en los sistemas expertos es la modularidad, no hay un solo camino
para responder a un problema y son fciles de leer, lo que simplifica comprobar su
consistencia.
La representacin del conocimiento es esencial en inteligencia artificial y es la
base de la construccin de un sistema experto.
4.1.5.1 Fases en la adquisicin del conocimiento
identificacin del problema.
Estructuracin del conocimiento.
La arquitectura del sistema y la maqueta.
El prototipo y terminacin del sistema.
4.1.5.2 Tecnologa de los Sistemas Basados en Conocimiento.
Desde el punto de vista tecnolgico, los Sistemas Basados en Conocimiento
pueden presentar varias formas de aplicacin:
Aislada: un Sistema Basado en Conocimiento nico se relaciona con el
entorno.
Integrada: varios Sistemas Basados en Conocimiento conectados a bases de
conocimiento comunes. Tipo Front-End cuando todos los hechos y datos estn
fsicamente en la base comn. Tipo Back-End cuando los hechos y datos
necesarios que no estn en las bases comunes, pueden obtenerse de otros
SBC.
Embebida: un Sistema Basado en Conocimiento est integrado con otros
sistemas y no se lo distingue.

52

4.2 Metodologas para la construccin de SE


4.2.1 Metodologa de Prototipos
En el desarrollo de Sistemas Expertos se nos plantean dos importantes
riesgos:

No existen implementaciones similares que puedan servir de orientacin al


encargado del desarrollo en casi la totalidad de los casos.
En muchos puntos, los requisitos necesarios estn esbozados con muy
poca precisin.

El diseo y la especificacin requieren una temprana determinacin de la interfaz


del software y de la funcionalidad de los componentes. Durante el desarrollo,
resulta apropiado empezar con implementaciones tipo test para encontrar el
camino hacia una solucin definitiva y para hacerlas coincidir con las necesidades
del usuario.
Un mtodo efectivo es la implementacin de un prototipo de Sistema Experto que
permita llevar a cabo las funciones ms importantes de ste, aunque con un
esfuerzo de desarrollo considerablemente inferior al de una implementacin
convencional. Este proceder se define bajo el nombre de Rapid Prototyping. Para
Sistemas Expertos, el Rapid Prototyping es el procedimiento ms adecuado,
pues posibilita una rpida reaccin a los deseos en constante cambio tanto por
parte de los expertos como parte del usuario.
4.2.2 Metodologa Orientada a Objetos
La programacin orientada a objetos (OOP en adelante) es un tipo de
programacin que provee una manera de modularizar programas estableciendo
reas de memoria particionadas para datos y procedimientos, que pueden ser
usadas como plantillas para crear copias de tales mdulos conforme se requieran.
Cada rea de memoria a la que se refiere en el prrafo anterior es conocida como
clase, mientras que las copias creadas a partir de la clase son llamadas objetos.
La OOP tiene varias propiedades, entre los cuales destacan:

Abstraccin. Permite enfocarse en la solucin general del problema, sin


preocuparse de los detalles.
Encapsulacin. Es el concepto de que un objeto debera tener separada
su interfaz de su implementacin. Es decir, un objeto es visto como una
caja negra.
Polimorfismo. Significa que un objeto se puede comportar de diversas
maneras, dependiendo del contexto en el que se encuentre.

53

Herencia. Significa que se pueden crear clases que hereden el


comportamiento de una o ms clases padre; y que adems aadan su
propio comportamiento.

El concepto de encapsulacin evita que se pueda modificar el estado interno de un


objeto por el cdigo cliente que lo utiliza, es decir solamente el cdigo mismo del
objeto puede modificar el estado interno del mismo. Esto se puede aprovechar en
la construccin de SE creando clases que correspondan a los componentes de un
SE.
Por lo tanto si se utiliza la metodologa orientada a objetos a la construccin de SE,
se debe crear una clase que contenga el cdigo referente a la base de
conocimiento. Si dicha base de conocimiento es un conjunto de objetos con sus
propiedades, entonces dicha clase ser una clase contenedor de objetos de otra
clase, los cuales contendrn el nombre del objeto y una lista de atributos.

Objeto

Objeto
Atributo
Atributo
Atributo
Objeto
Atributo
Atributo
Atributo

Objeto
Atributo
Atributo
Atributo
Objeto
Atributo
Atributo
Atributo

Atributo
Atributo
Atributo

Objeto
Atributo
Atributo
Atributo

Figura 4.6 La base de conocimientos es vista como un objeto contenedor


de otros objetos usando la Metodologa Orientada a Objetos

54

Obviamente, la clase Base de Conocimiento deber tener todo el cdigo necesario


para leer los objetos, quiz de una base de datos, quiz de un archivo, guardar
los objetos, ingresar nuevos objetos o atributos, eliminar objetos o atributos, etc.
De manera similar, el motor de inferencia se implementa como una clase, la cual
contiene encapsulada toda la lgica que hace que funcione el SE, es decir si se
implementa usando encadenamiento hacia adelante, encadenamiento hacia atrs
o reglas de produccin, dicha implementacin estar contenida dentro de la clase.
Esta metodologa tiene diversas ventajas, entre las cuales destaca el hecho que
cualquier modificacin o mantenimiento que se le quiera realizar a un determinado
componente no afectar al otro y viceversa. Tello propone crear especializaciones
o jerarquas de clases (usando herencia) que incluyan mtodos que permitan a los
objetos modificarse a s mismos, logrando con esto que un SE aprenda por s
mismo, modificando su base de conocimiento sin modificar los dems
componentes. Otra ventaja de la OOP es que mediante la herencia, las clases
hijas heredarn el comportamiento de las clases padres, evitando con esto, tener
que incluir cdigo redundante en las especializaciones.
4.3 Actividades Complementarias
1. Explique las funciones que realiza cada uno de los miembros del equipo de
desarrollo de un sistema experto.
2. A quien se le considera un experto? Y porque?
3. Cual es la funcin del usuario en el desarrollo de un sistema experto
4. Que es una regla y para que son usadas en la base de conocimientos?
5. Qu es una base de conocimientos y que es un motor de inferencia?
Cul es la diferencia entre ellos?
6. Realice un cuadro comparativo entre los mtodos bsicos para construir un
motor de inferencia.
7. Que es el metaconocimento?
8. Qu es la modularidad? Y porque es una ventajas de los sistemas
expertos?
9. Realice un cuadro comparativo entre las metodologas para la construccin
de SE.
10. Realice un mapa conceptual que resuma la unidad.

55

UNIDAD 3. EJEMPLOS Y APLICACIONES DE LOS SISTEMAS EXPERTOS


CAPITULO 5. EJEMPLOS DE SISTEMAS EXPERTOS
5.1 Lenguajes utilizados en la construccin de SE
5.1.1 LISP
LISP, acrnimo de lenguaje de Procesamiento de Listas, fue inventado por John
McCarthy y su equipo en la Universidad de Stanford a finales de 1950.
Originalmente fue creado como un modelo computacional de procesos
matemticos, reflejando el rigor de las propias matemticas.11
LISP actualmente est diseado para manejar smbolos matemticos (variables),
por lo que es utilizado perfectamente para la investigacin en IA, donde un
smbolo puede representar cualquier cosa. LISP tiene dos caractersticas
principales que lo hacen sobresalir de entre los dems lenguajes para IA; primero,
es altamente flexible, es decir, es posible escribir un programa LISP para producir
cualquier comportamiento deseable de la computadora; segundo, es
indefinidamente extensible, lo que significa que si como programador siente que a
LISP le falta alguna caracterstica, puede escribir un programa LISP que provea
dicha caracterstica y hacer que ese programa forme parte de su LISP personal.
LISP utiliza un ciclo llamado leer evaluar imprimir. Cuando el programador
teclea algo en LISP, el lenguaje toma lo que se ha tecleado, intenta responder de
cualquier forma y despus despliega dicha respuesta en la pantalla. El trmino en
LISP usado para ver lo que se ha tecleado es leer; el trmino usado para tratar
de responder de cualquier forma es evaluar; y el trmino usado para desplegar la
respuesta en la pantalla es imprimir. Si hubiera una persona en vez de una
mquina en frente del programador, diramos que dicha persona estara
escuchando, comprendiendo y respondiendo al programador.
LISP utiliza los siguientes conceptos caractersticos:

11

Listas y tomos. La estructura ms importante es la lista. Los tomos


pueden subordinarse a cualidades.
La Funcin. Cada funcin LISP y cada programa LISP tiene estructura de
lista. Los programas no pueden distinguirse sintcticamente de los datos.
LISP ofrece sus propias funciones bsicas.
Forma de Trabajo. LISP es un lenguaje funcional. Ofrece la posibilidad de
realizar definiciones recursivas de funciones. La unin de procedimientos se
realiza de forma dinmica, es decir en plena ejecucin, no como en otros
lenguajes de programacin. El sistema realiza automticamente una
gestin dinmica de memoria.
Los tomos son nmeros, cadenas de caracteres o smbolos. Un
smbolo puede tener varios valores, al igual que una variable en otros
lenguajes de programacin, como por ejemplo un nmero, o tambin puede

HASEMER, Tony y John Domingue. Common LISP Programming for Artificial Inteligence.

56

ser el nombre de una funcin, o incluso ambos. Adems a un smbolo se le


pueden subordinar cualidades, que adems del valor del smbolo, contienen
informacin adicional. Estas cualidades tambin reciben el nombre de
atributos.
Un componente importante de un sistema LISP es la gestin dinmica de la
memoria. El sistema administrar el espacio en la memoria para las listas en
constante modificacin, sin que el usuario lo deba solicitar. Libera los espacios de
memoria que ya no son necesarios y los pone a disposicin de usos posteriores.
La necesidad de este proceso se deriva de la estructura bsica de LISP, las listas,
que se modifican de forma dinmica e ilimitada.
Adems un sistema LISP abarca bastante ms que el solo intrprete del lenguaje
LISP. Consta de algunos cmodos mdulos que ofrecen ayuda en el desarrollo y
control del progreso en programas, como son el Editor, el File-System y el Trace.
Por supuesto estos mdulos slo estn en versiones de LISP que contengan la
conocida interfaz grfica IDE (entorno de desarrollo integrado) tpica de los
modernos lenguajes visuales.
5.1.2 CLIPS
CLIPS es otra herramienta para el desarrollo de S.E. que ofrece un entorno
completo para su construccin basado en reglas y objetos. CLIPS est siendo
utilizado por numerosos usuarios como la NASA (que es su creadora), muchas
universidades y empresas. CLIPS viene de (C Language Integrated Production
System) y como su nombre indica uno de los objetivos que buscaban sus
creadores era la fcil integracin con programas en C. As, al darle una
portabilidad con programas en lenguaje C, las universidades que lo usan pueden
trasladar fcilmente sus aplicaciones al entorno del agente.12
5.1.3 Prolog
Prolog es un lenguaje de programacin que se centra alrededor de un conjunto
pequeo de mecanismos, incluyendo reconocimiento de patrones, estructuras de
datos basadas en rboles y bactraking (retroceso) automtico. Este conjunto
pequeo constituye una estructura de programacin sorprendentemente poderosa
y flexible. Prolog es ideal para resolver problemas que involucren objetos en
particular objetos estructurados y relaciones entre ellos. Por ejemplo, un ejercicio
muy sencillo en Prolog es expresar relaciones espaciales, de la forma: la esfera
azul detrs de la verde.
Prolog naci en Europa, y fue implementado primeramente para dar soporte al
Procesamiento del Lenguaje Natural (PLN). Prolog trabajaba (y sigue hacindolo
hasta nuestros das) esencialmente con la lgica matemtica. Bratko completa el
12

BAARES, Jos ngel. Herramientas para las asignaturas del IAIC.


URL(http://diana.cps.unizar.es/IA/noticias.html)

57

comentario afirmando que Prolog naci de una idea de programacin lgica que
emergi a principios de 1970, para usar la lgica como un lenguaje de
programacin.
Prolog tiene cierto vigor hbrido en el sentido de que contiene caractersticas
declarativas de la lgica computacional matemtica y algunos aspectos
procedurales de la programacin convencional. En vez de escribir un
procedimiento con una secuencia de pasos, un programador Prolog escribe un
conjunto declarativo de reglas y hechos con sus respectivas relaciones. Debido a
esto, los diagramas de flujos y las tcnicas convencionales de programacin no
aplican en Prolog.
Walker afirma que nios de 10 aos de edad encuentran a Prolog como un
lenguaje sencillo de aprender. Pero los programadores profesionales con muchos
aos de experiencia a menudo lo encuentran revuelto y confuso. Lo revuelto de
Prolog es su simplicidad y que no tiene las caractersticas ms comunes de los
lenguajes procedimentales.
Entre tales caractersticas con las que no cuenta Prolog se encuentran:

Sentencias de asignacin.
Sentencias goto.
Sentencias if then else.
Ciclos do, ciclos for y ciclos while.

Sin embargo, Prolog compensa tales caractersticas con las siguientes, las cuales
lo hacen un lenguaje poderoso para la representacin del conocimiento:

Predicados que expresan relaciones entre entidades.


Un mtodo para definir predicados mediante reglas de asercin y hechos.
Un mtodo para hacer preguntas para comenzar cmputos.
Un procedimiento de bsqueda hacia atrs para evaluar metas.
Estructura de datos que pueden simular registros estilo Pascal o listas estilo
Lisp.
Un reconocedor de patrones que construye y analiza las estructuras de
datos.
Un conjunto de predicados preconstruidos para aritmtica, entrada y salida
y servicios de sistemas.

5.1.4 Smalltalk
Smalltalk fue el primer lenguaje de programacin que fue diseado para basarse
exclusivamente en objetos. Fue originalmente inventado por Alan Kay en Xerox
PARC en 1972, pero mucha gente le ha hecho importantes contribuciones al
diseo del lenguaje. Este lenguaje se ha convertido en una opcin muy popular en
diversos campos como los videojuegos y la Inteligencia Artificial.

58

Virtualmente todo lo que existe en un sistema Smalltalk es una instancia de una


clase particular de objeto y generalmente puede haber tantas instancias como se
deseen. Esto significa que se pueden tener cualquier nmero de instancias de
cualquier caracterstica del sistema activas al mismo tiempo.
5.1.5. C y C++
C es uno de los lenguajes de programacin ms populares en uso. Proporciona un
esqueleto estructurado sin lmites para la creatividad del programador; una de las
ventajas de C sobre otros lenguajes usados para investigacin en IA es que es un
lenguaje estructurado y adems, si su aplicacin no requiere usar la tcnica
Backtracking ni los recursos de una base de datos, estos no se convierten en un
peso extra que debe soportar la aplicacin.
No hay una sola tcnica de IA que no pueda ser desarrollada en un lenguaje
procedimental como lo es C. De hecho, el desarrollo de ciertas rutinas es en
verdad ms claro en C que un lenguaje de IA.
En cuanto a C++ se puede decir que es una extensin orientada a objetos de C, la
cual permite utilizar la metodologa orientada a objetos para la creacin de
diversos sistemas y programas, incluso los de IA.
5.2 Representacin del conocimiento
El conocimiento es la comprensin adquirida, implica aprendizaje, concienciacin
y familiaridad con una o ms materias; el conocimiento se compone de ideas,
conceptos, hechos y figuras, teoras, procedimientos y relaciones entre ellos, y
formas de aplicar los procedimientos a la resolucin prctica de problemas.
El conocimiento que ha de funcionar en un SE es el conocimiento heurstico; el
conocimiento heurstico es aquel conocimiento que ayuda a las personas u
ordenadores a aprender, es el uso de los conocimientos empricos. Las reglas de
pensamiento, los trucos, los procedimientos o cualquier tipo de informacin que
nos ayuda en la resolucin de problemas.
La representacin del conocimiento es un esquema o dispositivo utilizado para
capturar los elementos esenciales del dominio de un problema. Una
representacin manipulable es aquella que facilita la computacin. En
representaciones manipulables, la informacin es accesible a otras entidades que
usan la representacin como parte de un cmputo.
Debido a la variedad de formas que el conocimiento puede asumir, los problemas
involucrados en el desarrollo de una representacin del conocimiento son
complejos, interrelacionados y dependientes del objetivo. En trminos generales,
el conocimiento debe estar representado de tal forma que:

59

Capture generalizaciones.
Pueda ser comprendido por todas las personas que vayan a proporcionarlo
y procesarlo.
Pueda ser fcilmente modificado.
Pueda ser utilizado en diversas situaciones an cuando no sea totalmente
exacto o completo.
Pueda ser utilizado para reducir el rango de posibilidades que usualmente
debera considerarse para buscar soluciones.

El conocimiento declarativo puede ser representado con modelos relacionales y


esquemas basados en lgica. Los modelos relacionales pueden representar el
conocimiento en forma de rboles, grafos o redes semnticas. Los esquemas de
representacin lgica incluyen el uso de lgica proposicional y lgica de
predicados.
Los modelos procedimentales y sus esquemas de representacin almacenan
conocimiento en la forma de cmo hacer las cosas. Pueden estar caracterizados
por gramticas formales, usualmente implantadas por sistemas o lenguajes
procedimentales y sistemas basados en reglas (sistemas de produccin). 13
En forma natural, el ser humano representa el conocimiento simblicamente:
imgenes, lenguaje hablado y lenguaje escrito. Adicionalmente, ha desarrollado
otros sistemas de representacin del conocimiento: literal, numrico, estadstico,
estocstico, lgico.
La ingeniera cognoscitiva ha adaptado diversos sistemas de representacin del
conocimiento que, implantados en un computador, se aproximan mucho a los
modelos elaborados por la psicologa cognoscitiva para el cerebro humano.
Tradicionalmente la representacin del conocimiento conlleva el uso de marcos
(frames), redes semnticas, clculo de predicados o sistemas de produccin14. Sin
embargo, existen otros sistemas para la representacin del conocimiento. Entre
los principales sistemas se tienen:
Lgica Simblica Formal:
Lgica proposicional
Lgica de predicados.
Reglas de produccin.
Formas Estructuradas:
Redes asociativas.
Estructuras frame.
Representacin orientada a objetos.
13

ARTEAGA, Ren y Juan Carlos Armijos. Tutorial de programacin Heurstica.


URL(www.uc3m.es/cgi-bin/nph-count)
14
DE ALBORNOZ Bueno, lvaro. Laboratorio de procesamiento de imgenes.
URL(http://www.cic.ipn.mx/organizacion/lab_de_int_art.htm)

60

5.3. Lgica Proposicional


La lgica proposicional es la ms antigua y simple de las formas de lgica.
Utilizando una representacin primitiva del lenguaje, permite representar y
manipular aserciones sobre el mundo que nos rodea. La lgica proposicional
permite el razonamiento a travs de un mecanismo que primero evala sentencias
simples y luego sentencias complejas, formadas mediante el uso de conectivos
proposicionales, por ejemplo Y (AND), O (OR). Este mecanismo determina la
veracidad de una sentencia compleja, analizando los valores de veracidad
asignados a las sentencias simples que la conforman.
La lgica proposicional permite la asignacin de un valor verdadero o falso para la
sentencia completa, pero no tiene la facilidad de analizar las palabras individuales
que componen la sentencia.
La principal debilidad de la lgica proposicional es su limitada habilidad para
expresar conocimiento.
5.4 Lgica de Predicados
Existen varias sentencias complejas que pierden mucho de su significado cuando
se les representa en lgica proposicional. Por esto se desarroll una forma lgica
ms general, capaz de representar todos los detalles expresados en las
sentencias, esta es la lgica de predicados.
La lgica de predicados est basada en la idea de que las sentencias realmente
expresan relaciones entre objetos, as como tambin cualidades y atributos de
tales objetos. Los objetos pueden ser personas, objetos fsicos, o conceptos. Tales
cualidades, relaciones o atributos, se denominan predicados. Los objetos se
conocen como argumentos o trminos del predicado.
Al igual que las proposiciones, los predicados tienen un valor de veracidad, pero a
diferencia de las proposiciones, su valor de veracidad, depende de sus trminos.
Es decir, un predicado puede ser verdadero para un conjunto de trminos, pero
falso para otro.
5.5. Ventajas y desventajas de la lgica de predicados
A continuacin se presentan algunos aspectos caractersticos de la lgica de
predicados y su implementacin computacional, el lenguaje de programacin
PROLOG:

Manejo de incertidumbre. Una de las mayores desventajas de la lgica de


predicados es que slo dispone de dos niveles de veracidad: verdadero y
falso. Esto se debe a que la deduccin siempre garantiza que la inferencia
es absolutamente verdadera. Sin embargo, en la vida real no todo es

61

blanco y negro. En cierta forma el PROLOG ha logrado mitigar esta


desventaja, permitiendo la inclusin de factores de certeza.
Razonamiento monotnico. La lgica de predicados al ser un formalismo
de razonamiento montono, no resulta muy adecuada para ciertos dominios
del mundo real, en los cuales las verdades pueden cambiar con el paso del
tiempo. PROLOG compensa esta deficiencia proporcionando un
mecanismo para remover los hechos de la base de datos. Por ejemplo, en
TURBO PROLOG se tiene la clusula RETRACTALL.
Programacin declarativa.- La lgica de predicados, tal como est
diseada en PROLOG, es un lenguaje de programacin declarativo, en
donde el programador slo necesita preocuparse del conocimiento
expresado en trminos del operador de implicacin y los axiomas. El
mecanismo deductivo de la lgica de predicados llega a una respuesta (si
esto es factible), utilizando un proceso exhaustivo de unificacin y
bsqueda. A pesar de que la bsqueda exhaustiva puede ser apropiada en
muchos problemas, tambin puede introducir ineficiencias durante la
ejecucin. Para lograr un cierto control en el proceso de bsqueda,
PROLOG ofrece la operacin de corte, CUT. Cuando no se utiliza el CUT,
PROLOG se convierte en un lenguaje puramente declarativo.

5.6. Reglas de Produccin


La Representacin del conocimiento en forma de reglas de produccin fue
propuesta por Post en 1943. La regla es la forma ms comn de representar el
conocimiento, debido a su gran sencillez y a que es la formulacin ms inmediata
del principio de causalidad. Una regla consta de un conjunto de acciones o efectos
(una o ms) que son ciertas cuando se cumplen un conjunto de condiciones o
causas. La potencia de una regla est en funcin de la lgica que admita en las
expresiones de las condiciones y de las conclusiones.
La conclusin se suele referir a la creacin de un nuevo hecho vlido, o la
incorporacin de una nueva caracterstica a un hecho, mientras que la accin
suele referirse a la transformacin de un hecho.
5.7. Ventajas y desventajas de las reglas de produccin
Las ventajas que representan las reglas de produccin son su carcter declarativo,
su sencillez, su uniformidad - que permite la representacin de conocimiento como
de meta-conocimiento -, su independencia - que permite la supresin o inclusin
sin que se vea afectado el resto de la base de conocimientos - y su modularidad al
ser fcilmente agrupables.
La principal desventaja que presentan las reglas de produccin, es la dificultad de
establecer relaciones, para lo cual hay que recurrir al uso de meta reglas, lo que
produce el crecimiento muy rpido del nmero de reglas, lo que hace lento el

62

proceso de inferencia y conduce a la introduccin repeticiones y lo que es peor,


contradicciones.15
5.8. Redes Asociativas
Las redes semnticas o redes asociativas, fueron originalmente desarrolladas para
representar el significado o semntica de oraciones en ingls, en trminos de
objetos y relaciones. Actualmente, el trmino redes asociativas ya no slo se usa
para representar relaciones semnticas, sino tambin para representar
asociaciones fsicas o causales entre varios conceptos u objetos.
Las redes asociativas se caracterizan por representar el conocimiento en forma
grfica. Agrupan una porcin de conocimiento en dos partes: objetos y relaciones
entre objetos. Los objetos se denominan tambin nodos (elementos del
conocimiento) y las relaciones entre nodos se denominan enlaces o arcos. Cada
nodo y cada enlace en una red semntica, deben estar asociados con objetos
descriptivos.
Estas redes son muy apropiadas para representar conocimiento de naturaleza
jerrquica. Su concepcin se basa en la asociacin de conocimientos que realiza
la memoria humana. Las principales aplicaciones son: comprensin de lenguaje
natural, bases de datos deductivas, visin por computadora y sistemas de
aprendizaje.16
5.8.1. Ventajas y desventajas de las Redes Asociativas
Las redes asociativas tienen dos ventajas sobre los sistemas basados en reglas y
sobre los sistemas basados en lgica:

Permiten la declaracin de importantes asociaciones, en forma explcita.


Debido a que los nodos relacionados estn directamente conectados, y no
se expresan las relaciones en una gran base de datos, el tiempo que toma
el proceso de bsqueda por hechos particulares puede ser
significativamente reducido.
Entre las desventajas de las redes asociativas, se pueden mencionar:

No existe una interpretacin normalizada para el conocimiento expresado


por la red. La interpretacin de la red depende exclusivamente de los
programas que manipulan la misma.
La dificultad de interpretacin a menudo puede derivar en inferencias
invlidas del conocimiento contenido en la red.

15

BRATKO Ivan. Prolog programming for Articial Intelligence.


ANGULO Usategui, Jos Mara y Anselmo del Moral Bueno. Gua fcil de la inteligencia
artificial.

16

63

La exploracin de una red asociativa puede derivar en una explosin


combinatoria del nmero de relaciones que deben ser examinadas para
comprobar una relacin.17

5.9 Estructuras frame


Una plantilla (frame) es una estructura de datos apropiada para representar una
situacin estereotpica. Las plantillas organizan el conocimiento en objetos y
eventos que resultan apropiados para situaciones especficas. La evidencia
psicolgica sugiere que la gente utiliza grandes plantillas para codificar el
conocimiento de experiencias pasadas, o conocimiento acerca de cosas que se
encuentran comnmente, para analizar y explicar una situacin nueva en su
cotidiana actividad cognoscitiva.
Una plantilla representa un objeto o situacin describiendo la coleccin de
atributos que posee. Cada plantilla est formada por un nombre y por una serie de
campos de informacin o ranuras (slots). Cada ranura puede contener uno o ms
enlaces (facets). Cada enlace tiene un valor asociado. Varios enlaces pueden ser
definidos para cada ranura, por ejemplo:

Rango. El conjunto de posibles valores para la ranura.


Valor. El valor de la ranura.
Default. El valor a ser asumido si no se especifica alguno.

Adems los enlaces pueden ser procedimientos que residen en la base de datos y
estn aguardando para ser utilizados cuando se les necesite. Entre los ms
comunes se pueden mencionar:

Si-Necesitado. Procedimiento(s) para determinar el valor actual de una


ranura.
Si-Agregado. Procedimiento(s) a ejecutarse cuando un valor es
especificado para una ranura.
Si-Modificado. Procedimiento(s) a ejecutarse si el valor de una ranura es
cambiado.

A estos procedimientos tambin se los denomina demons y representan un


concepto poderoso en las plantillas, esto es, la habilidad de combinar
conocimiento procedimental dentro de la estructura de conocimiento declarativo de
la plantilla. Esto sugiere que una plantilla puede ser un medio poderoso de
representacin del conocimiento, especialmente si se la incorpora en una red de
plantillas.18
5.9.1. Ventajas y desventajas de los frames
17

ARTEAGA, Ren y Juan Carlos Armijos. Op. cit.


BENCHIMOL, Guy, Pierre Levine y Jean Charles Promerol. Los sistemas expertos en la
empresa.

18

64

Las ventajas que se pueden establecer para los sistemas basados en plantillas
son las siguientes:

Facilidad de proceso guiado por las expectativas. Un sistema basado en


plantillas, mediante los demons es capaz de especificar acciones que
deben tener lugar cuando ciertas condiciones se han cumplido durante el
procesamiento de la informacin.
El conocimiento que posee un sistema basado en plantillas es
significativamente ms estructurado y organizado que el conocimiento
dentro de una red asociativa.
Las plantillas pueden ser estructuradas de tal forma que sean capaces de
determinar su propia aplicabilidad en determinadas situaciones. En el caso
de que una plantilla en particular no sea aplicable, puede sugerir otras
plantillas que pueden ser apropiadas para la situacin.
Se puede fcilmente almacenar en las ranuras valores dinmicos de
variables, durante la ejecucin de un sistema basado en conocimiento. Esto
puede ser particularmente til para aplicaciones de simulacin,
planeamiento, diagnstico de problemas o interfaces para bases de datos.

Las principales desventajas que se pueden establecer para la representacin del


conocimiento mediante plantillas, son:

Dificultad de representar objetos que se alejen considerablemente de


estereotipos.
No tiene la posibilidad de acomodarse a situaciones u objetos nuevos.
Dificultad para describir conocimiento heurstico que es mucho ms
fcilmente representado mediante reglas.

5.9.2. Representacin orientada a objetos


Los objetos, son similares a las plantillas. Ambos sirven para agrupar
conocimiento asociado, soportan herencia, abstraccin y el concepto de
procedimientos agregados. La diferencia radica en lo siguiente:
1. En las plantillas, a los programas y a los datos se los trata como dos
entidades relacionadas separadas. En cambio en los objetos se crea una
fuerte unidad entre los procedimientos (mtodos) y los datos.
2. Los demons de las plantillas sirven slo para computar valores para las
diversas ranuras o para mantener la integridad de la base de conocimientos
cada vez que una accin de alguna plantilla, afecta a otra. En cambio, los
mtodos utilizados por los objetos son ms universales ya que
proporcionan cualquier tipo general de computacin requerida y adems
soportan encapsulamiento y polimorfismo.

65

Un objeto es definido como una coleccin de informacin que representa una


entidad del mundo real y una descripcin de cmo debe ser manipulada esta
informacin, esto es, los mtodos. Es decir, un objeto tiene un nombre, una
caracterizacin de clase, varios atributos distintivos y un conjunto de operaciones.
La relacin entre los objetos viene definida por los mensajes. Cuando un objeto
recibe un mensaje vlido, responde con una accin apropiada, retornando un
resultado.
5.9.3 Ventajas y desventajas de la representacin orientada a objetos
Los objetos, como forma de representacin del conocimiento ofrecen las
siguientes ventajas:

Poder de abstraccin.
Encapsulamiento o capacidad de esconder informacin.
Herencia, es decir pueden recibir caractersticas de sus ancestros.
Polimorfismo, que permite crear una interfaz comn para todos los diversos
objetos utilizados dentro del dominio.
Posibilidad de reutilizacin del cdigo.
Mayor facilidad para poder trabajar eficientemente con sistemas grandes.
Las desventajas son similares a las que se indicaron para las plantillas:

Dificultades para manejar objetos que se alejan demasiado de la norma.


Dificultades para manejar situaciones que han sido encontradas
previamente.

5.10 ACTIVIDADES COMPLEMENTARIAS


1. Realice un cuadro comparativo de los diferentes lenguajes
programacin utilizados en la construccin de SE.
2. En que consiste la lgica proposicional y la lgica de predicados,Cual
su uso en las SE?
3. Realice un cuadro comparativo destacando las ventajas y desventajas
la lgica de predicados y la lgica proposicional.
4. Que es una regla de produccin y como son aplicadas en los SE?
5. Que es un Frame?y que ventajas y desventajas traen al ser utilizados
la construccin de SE

de
es
de
en

66

CAPITULO 6. TAREAS QUE REALIZAN LOS SISTEMAS EXPERTOS


6.1 Interpretacin, Diagnstico Y Monitoreo
La interpretacin consiste en encontrar el significado de los datos de entrada
obtenidos por sensores o introducidos por el usuario.
Con frecuencia aparecen datos contradictorios, incompletos o inexactos, por lo
que hay que dotar al SE de conocimiento para resolver un problema de este tipo, y
que de todas formas llegue a una resolucin. Existen dos tipos de interpretacin:

Anlisis: La interpretacin de datos se obtiene mediante la separacin o


distincin de las partes que forman los datos.
Sntesis: La interpretacin de los datos se obtiene mediante la combinacin
de los mismos.

El diagnstico consiste en identificar las causas internas que provocan un


problema, avera o disfuncin a partir de una serie de datos o sntomas que son
consecuencia de la misma y que son observables.
Los SE en diagnstico encuentran mltiples dificultades a la hora de realizar su
tarea como son las siguientes:

Manifestaciones Nuevas. Es decir, sntomas que no se haban observado


con anterioridad.
Causas Nuevas.
Manifestaciones debidas a varias causas.
Datos Inaccesibles, caros o de obtencin peligrosa.
Relaciones no biyectivas entre los datos y las causas.
Fallos o averas de aparicin intermitente.
Existencia de varios fallos simultneos o en cadena.

La monitorizacin es un caso particular de la interpretacin, y consiste en la


comparacin continua de los valores de las seales o datos de entrada y unos
valores que actan como criterios de normalidad o estndares.
En el campo del mantenimiento predictivo los Sistemas Expertos se utilizan
fundamentalmente como herramientas de diagnstico. Se trata de que el
programa pueda determinar en cada momento el estado de funcionamiento de
sistemas complejos, anticipndose a los posibles incidentes que pudieran
acontecer. As, usando un modelo computacional del razonamiento de un
experto humano, proporciona los mismos resultados que alcanzara dicho
experto. La figura 6.1 muestra el funcionamiento de un SE de este tipo.

67

Figura 6.1 Funcionamiento de un SE usado en mantenimiento predictivo


6.2 Diseo y seleccin
El diseo se puede concebir de distintas formas:
El diseo en ingeniera es el uso de principios cientficos, informacin
tcnica e imaginacin en la definicin de una estructura mecnica, mquina
o sistema que ejecute funciones especficas con el mximo de economa y
eficiencia.
El diseo industrial busca rectificar las omisiones de la ingeniera, es un
intento consiente de traer forma y orden visual a la ingeniera de hardware
donde la tecnologa no provee estas caractersticas.Diseo es el proceso
de especificar una descripcin de un artefacto que satisface varias
caractersticas desde un nmero de fuentes de conocimiento.19
Los SE en diseo ven este proceso como un problema de bsqueda de una
solucin ptima o adecuada. Las soluciones alternas pueden ser conocidas de
antemano (problemas de derivacin) o se pueden generar automticamente
(problemas de formulacin).
Los SE prueban distintos diseos para verificar cules de ellos cumplen los
requerimientos solicitados por el usuario, sta tcnica es llamada generacin y
prueba, por lo tanto estos SE son llamados de seleccin. En reas de aplicacin,
la prueba se termina cuando se encuentra la primer solucin; sin embargo, existen
problemas ms complejos en los que el objetivo es encontrar la solucin ms
ptima.
19

HOPGOOD, Adrian. Knowledge Based Systems for Engineers and Scientists.

68

La utilidad de los programas basados en conocimientos aplicados a la ciencia y a


la ingeniera no se limita al anlisis sofisticado, muchos programas recientes han
empezado a trabajar en la sntesis.
Existen programas que disean dispositivos simples y despus buscan
oportunidades de reduccin de costos o de reduccin de componentes.
6.3 Planificacin
La planificacin es la realizacin de planes o secuencias de acciones y es un caso
particular de la simulacin. Est compuesto por un simulador y un sistema de
control. El efecto final es la ordenacin de un conjunto de acciones con el fin de
conseguir un objetivo global (costo mnimo, tiempo mnimo, etc).
Los problemas que presentan la planificacin mediante SE son los siguientes:

Existen consecuencias no previsibles, de forma que hay que explorar y


explicar varios planes.
Existen muchas consideraciones que deben ser valoradas o incluirles un
factor de peso.
Suelen existir interacciones entre planes de subobjetivos diversos, por lo
que deben elegirse soluciones de compromiso.
Trabajo frecuente con incertidumbre, pues la mayora de los datos con los
que se trabaja son ms o menos probables pero no seguros.
Es necesario hacer uso de fuentes diversas tales como bases de datos.

6.4 Control
Un sistema de control participa en la realizacin de las tareas de interpretacin,
diagnstico y reparacin de forma secuencial. Con ello se consigue conducir o
guiar un proceso o sistema.
Los sistemas de control son complejos debido al nmero de funciones que deben
manejar y el gran nmero de factores que deben considerar; esta complejidad
creciente es otra de las razones que apuntan al uso del conocimiento, y por tanto
de los SE.
Cabe aclarar que los sistemas de control pueden ser en lazo abierto, si en el
mismo la realimentacin o el paso de un proceso a otro lo realiza el operador, o en
lazo cerrado si no tiene que intervenir el operador en ninguna parte del mismo.
6.5 Reparacin, correccin o terapia
La reparacin, correccin, terapia o tratamiento consiste en la proposicin de las
acciones correctoras necesarias para la resolucin de un problema.

69

Los SE en reparacin tienen que cumplir diversos objetivos, como son:

Reparacin lo ms rpida y econmicamente posible.


Orden de las reparaciones cuando hay que realizar varias.
Evitar los efectos secundarios de la reparacin, es decir la aparicin de
nuevas averas por la reparacin.

6.6 Simulacin, pronstico o prediccin


La simulacin es una tcnica consistente en crear modelos basados en hechos,
observaciones e interpretaciones, sobre la computadora, a fin de estudiar el
comportamiento de los mismos mediante la observacin de las salidas para un
conjunto de entradas.
Las tcnicas tradicionales de simulacin requieren modelos matemticos y lgicos
que describen el comportamiento del sistema bajo estudio.
El empleo de los SE para la simulacin viene motivado por la principal
caracterstica de los SE, que es su capacidad para la simulacin del
comportamiento de un experto humano, que es un proceso complejo.
En la aplicacin de los SE para simulacin hay que diferencia cinco
configuraciones posibles:
1. Un SE puede disponer de un simulador con el fin de comprobar las
soluciones y en su caso rectificar el proceso que sigue.
2. Un sistema de simulacin puede contener como parte del mismo a un SE
y por lo tanto el SE no tiene que ser necesariamente de simulacin.
3. Un SE puede controlar un proceso de simulacin, es decir que el modelo
est en la base de conocimiento del SE y su evolucin es funcin de la
base de hechos, la base de conocimientos y el motor de inferencia, y no
de un conjunto de ecuaciones aritmtico lgicas.
4. Un SE puede utilizarse como consejero del usuario y del sistema de
simulacin.
5. Un SE puede utilizarse como mscara o sistema frontal de un simulador
con el fin de que el usuario reciba explicacin y justificacin de los
procesos.
Los sistemas de pronstico deducen consecuencias posibles a partir de una
situacin. Su objetivo es determinar el curso del futuro en funcin de informacin
sobre pasado y presente. Esto abarca diversos problemas, tales como
predicciones meteorolgicas, predicciones demogrficas, o incluso previsiones de
la evolucin burstil entre otros.20

20

MARTNEZ De Ibarreta Len, Francisco Javier. Sistemas Expertos: reas de aplicacin.


URL(http://www.geocities.com/SiliconValley/Way/7788/SISEXP.HTM)

70

6.7 Instruccin
Un sistema de instruccin (Sistema Experto para formacin), realiza un
seguimiento del proceso de aprendizaje de un estudiante. El sistema detecta
errores de los estudiantes e identifica el remedio adecuado, es decir, desarrolla un
plan de enseanza para facilitar el proceso de aprendizaje y la correccin de
errores.21
6.8 Recuperacin de Informacin
Los Sistemas Expertos, con su capacidad para combinar informacin y reglas de
actuacin, han sido vistos como una de las posibles soluciones al tratamiento y
recuperacin de informacin, no slo documental. La dcada de 1980 fue prolija
en investigacin y publicaciones sobre experimentos de este orden, inters que
continua en la actualidad.
Lo que diferencia a estos sistemas de un sistema tradicional
de recuperacin de informacin es que estos ltimos slo son capaces de
recuperar lo que existe explcitamente, mientras que un Sistema Experto debe ser
capaz de generar informacin no explcita razonando con los elementos que se le
dan. Pero la capacidad de los SE en el mbito de la recuperacin de la
informacin no se limita a la recuperacin. Pueden utilizarse para ayudar al
usuario, en seleccin de recursos de informacin, en filtrado de respuestas, etc Un
SE puede actuar como un intermediario inteligente que gua y apoya el trabajo del
usuario final. Para desempear de forma adecuada esta tarea, los enfoques
centrados en la creacin de modelos de las estructuras cognitivas del usuario son
los ms prometedores.22
6.9 ACTIVIDADES COMPLEMENTARIAS
1. Explique las diferentes tares que realizan los sistemas expertos
2. Investigue cuales de estas tareas son aplicadas en colombia y con que tipo de
sistemas expertos.
3. Realice un cuadro comparativo entre las diferentes actividades que puede
realizar un SE.
4. Cuales son las ventajas y desventajas que se obtienen a implementar sistemas
expertos para el desarrollo de tares como la simulacin, pronostico y
prediccin.
5. Nombre algunos ejemplos en donde seria til utilizar SE y explique el porque.

21

Ibid
TRAMULLAS y Kronos, Jess. Recuperacin de Informacin y Sistemas Expertos.
URL(http://www.tramullas.com/nautica/documatica/3-8.html)
22

71

CAPITULO 7. CAMPOS DE APLICACIN DE LOS SISTEMAS EXPERTOS


7.1 Medicina
Los SE enfrentan tareas tales como la resolucin de problemas, razonamiento
automtico y aprendizaje automtico. Es tpico el estudio de estos sistemas
inteligentes en dominios especficos del conocimiento, como la medicina.23
Los programas en esta rea se pueden clasificar en:

Mtodos de contestacin prefijada, formados por algoritmos aritmticos


lgicos, en los cuales el control y el conocimiento estn juntos y estn
escritos en lenguajes procedimentales.
Mtodos estadsticos que se clasificaban en Bayesianos, de anlisis
discriminantes y anlisis secuencial.

7.2 Anlisis de estados financieros


Es un equivalente a los estados de salud en la medicina. El anlisis de estados
financieros se divide en tres fases24.
1. Examen o revisin.
Se revisan documentos contables como balance,
cuenta de prdidas y ganancias, etc. utilizando para ello una serie de tcnicas
o procedimientos especficos (comparaciones de masas patrimoniales,
porcentajes, ...).
2. Se analiza e interpreta la informacin antes recopilada y se obtiene un
panorama de la situacin actual de la empresa.
3. Por ltimo se predicen soluciones para ayudar a mejorar la situacin futura de
la empresa.
7.3 Planificacin Financiera
La disciplina conocida como Gestin Financiera implica un gran nmero de
subramas (anlisis de inversiones, presupuesto de capital, anlisis financiero, etc.)
incluyendo la planificacin financiera. La mayora de los sistemas expertos se
centran en resolver problemas de esta disciplina.25
Esta rama de la gestin de financiera intenta identificar el resultado de la
aplicacin de planes futuros en la empresa, tratando de identificar los recursos que
sta necesita para conseguirlos.

23

CRUZ, Roberto. rea de Bases de Datos e Inteligencia Artificial.


URL(http://dcc.ing.puc.cl/investigacion/areas/bases_dat.html)
24
BONSN, Enrique. Tecnologas Inteligentes para la Gestin Empresarial.
25
Ibid.

72

Los SE enfocados a la planificacin financiera tienen sus principales aplicaciones


en:

Anlisis de mercados.
Anlisis de riesgos y tasacin de seguros.
Aplicaciones de impuestos y tasas.
Asesora jurdica y fiscal.
Ayuda a la correcta realizacin de operaciones bancarias.
Concesin de crditos y prstamos.
Evaluacin de riesgos de gestin de cartera.
Gestin del personal.
Planes de inversin de capitales.
Planes de pensiones.
Previsin de los tipos de inters.
Previsin en las fluctuaciones en el mercado de divisas.
Supervisin de los estados financieros.
Valoracin de la situacin financiera de una empresa o cliente.
Verificacin de firmas.

7.4 Industria
Los SE en la industria se aplican principalmente en:

Diagnstico de control de calidad.


Deteccin y actuacin en caso de alarmas y emergencias.
Configuracin de equipos y sistemas bajo demanda.
Generacin de especificaciones y manuales de utilizacin, mantenimiento y
reparacin de sistemas fabricados bajo demanda.
Control de procesos industriales.
Gestin optima de los recursos.

7.5 Electrnica, informtica y telecomunicaciones


Las aplicaciones principales de los SE son:

Diseo de circuitos de alto grado de integracin.


Sistemas inteligentes de autodiagnstico contenidos.
Configuracin de equipos y sistemas.
Control de redes de comunicacin.
Programacin automtica.
Ajuste de equipos y sistemas.
Optimizacin de programas de computadoras.

73

7.6 Militar
Las aplicaciones se centran en:

Eleccin inteligente de contramedidas electrnicas con el fin de obtener la


mxima efectividad con unos recursos limitados.
Guiado de vehculos y proyectiles de forma semiautomtica.
Planificacin estratgica.
Reconocimiento automtico de blancos y valoracin de los mismos.
Reconocimiento de planes del enemigo.
Interpretacin de seales provenientes de sensores.
Optimizacin de carga.

7.7 Contabilidad
Las actividades administrativas, financieras y contables son campos en los que se
pueden aplicar los Sistemas Expertos, pues cumplen la mayora de los requisitos
que son necesarios para poder desarrollar este tipo de sistemas (por ejemplo las
tareas requieren conocimiento especializado, existen autnticos expertos en la
materia, los expertos son escasos, la pericia necesita ser localizada en distintos
lugares, la mayora de las tareas requieren soluciones heursticas, ...).
Los Sistemas Expertos se dejan para las tareas que estn muy poco o nada
estructuradas, pues en este tipo de tareas se requiere mucho del juicio de un
experto y se utilizan reglas heursticas para llegar rpidamente a una solucin,
dado que el campo de soluciones puede ser muy amplio.
Los Sistemas Expertos se pueden aplicar en todas las reas de la contabilidad.
Ahora bien, como esta clasificacin muy grande y adems poco prctica, se puede
clasifican las aplicaciones potenciales de los Sistemas Expertos en contabilidad en
las siguientes reas de aplicacin26:

Auditora: Anlisis de la materialidad y del riesgo, evaluacin del control


interno, planificacin de la auditora, evaluacin de la evidencia, anlisis de
cuentas concretas, formacin de opinin, emisin del informe, auditora
interna, auditora informtica y dems situaciones en las cuales, como se
mencion antes, requieren de la decisin de un experto.
Contabilidad de costes y de gestin: Clculo y asignacin de costos,
asignacin de recursos escasos, control y anlisis de desviaciones,
planificacin y control de gestin, diseo de sistemas de gestin de
informacin, etc.

26

SNCHEZ Toms, Antonio. Aplicacin de los Sistemas Expertos en Contabilidad.


URL(http://ciberconta.unizar.es/Biblioteca/0002/Sanchez95.html#CONTABILIDAD)

74

Contabilidad financiera: regulacin legal, normas y principios contables,


recuperacin y revisin analtica de registros contables, diseo de sistemas
contables, imputacin contable, consolidacin de estados contables, etc.
Anlisis de estados financieros: Anlisis patrimonial, financiero y
econmico de los estados contables, salud financiera de la empresa,
clculo e interpretacin de ratios, clculo y anlisis de tendencias, etc.
Planificacin financiera e industria de los servicios financieros:
Planificacin financiera corporativa, planificacin financiera personal,
anlisis de inversiones, gestin de tesorera, mercado de valores, seguros,
banca, concesiones de crdito, etc.

7.8 Robtica
Aun cuando los robots no son como se les muestra en las pelculas, realmente
pueden llegar a realizar actividades sorprendentes, sobre todo si son utilizados en
la fabricacin de productos, donde las tareas son repetitivas y aburridas.
Los robots son muy solicitados en ambientes peligrosos para el ser humano, como
en el manejo de explosivos, altas temperaturas, atmsfera sin la cantidad
adecuada de oxgeno y en general bajo cualquier situacin donde se pueda
deteriorar la salud27.
La mayora de los robots tienen un brazo con varias uniones mviles y partes
prensiles, donde todos sus elementos son controlados por un sistema de control
programado para realizar varias tareas bajo una secuencia de pasos
preestablecidos. Los investigadores de IA pretenden adicionar al robot mtodos y
tcnicas que le permitan actuar como si tuviera un pequeo grado de inteligencia,
lo cual pretenden lograr con la conjuncin de todas las reas de la IA.
7.9 Reconocimiento de patrones
Trata con la necesidad identificar objetos o imgenes y utilizar esta informacin en
la resolucin de problemas. Debido a que aqu se usa una tcnica exhaustiva de
bsqueda y comparacin de patrones, un sistema con esta caracterstica, puede
llegar a detectar detalles que normalmente se escapan a la observacin humana.
Comnmente se requiere de una gran cantidad de recursos computacionales para
realizar este tipo de investigaciones por lo que los avances en son lentos.
7.10 Otros campos de aplicacin

Aeronutica
Agricultura
Arqueologa

27

CONTRERAS, Carlos. Introduccin a la Inteligencia Artificial.


URL(http://www.gdl.uag.mx/66/0ia.htm)

75

Derecho
Educacin
Geologa
Meteorologa
Qumica
Transportes
Ventas

7.11. EJEMPLOS DE SISTEMAS EXPERTOS EN EMPRESAS


Particularizando las aplicaciones en ramas especficas del conocimiento, se han
desarrollado un gran nmero de Sistemas Expertos que actan en empresas,
algunos simplemente en diseo terico; otros, con aplicacin real en el campo
productivo de la organizacin.
7.11.1 En la Industria

DELTA, de General Electric Company, para reparacin de locomotoras


diesel y elctricas. Aldo en Disco que repara calderas hidrostticas
giratorias para la eliminacin de bacterias.
Teknowledge Inc., Carnegie Group, Symbolics, Lisp Machines Inc., Thinking
Machines Corporation, Cognitive Systems Inc.... Fueron creadas en
solicitud de una creciente demanda de SE formando una inversin total de
300 millones de dlares. Las mquinas Lisp eran su producto principal,
(ordenadores que ejecutaban programas LISP con la misma rapidez que en
un ordenador central) y el otro producto fueron las herramientas de
desarrollo de Sistemas Expertos.

7.11.2 En Contabilidad

El Sistema Kiwi de Clark. Creado en 1975, intentaba interpretar frases


ordinarias descriptivas de operaciones econmicas proponiendo el asiento
correspondiente a cada una de ellas.
El sistema de Stepniewsky y Gervals. Utilizaba ya una base de
conocimiento y trabajaba mediante deducciones.
Proyecto SICA de Page, Laurani y Oudet.
Desarrollado en 1989 con
PROLOG. Renuncia a interpretar el lenguaje escrito, centrndose en el
anlisis de los datos que genera cada operacin econmica.
La base de datos BD/ML de Serrano.
El modelo R.E.A. de McCarthy. Analiza los procesos de la contabilidad
desde el punto de vista del Anlisis Circulatorio.

7.11.3 En Anlisis de Estados Financieros

AFIN. Realiza un anlisis de estados financieros en la empresa basndose


en el Plan General de Contabilidad Espaol de 1990.

76

AIDE. Ayuda en el diagnstico de empresas de la Central de Balances del


Banco de Francia.
ALFEX. Proyecto referente a la creacin de SE capaces de asesorar sobre
la salud financiera de una empresa, as como desarrollar bases de
conocimiento y herramientas adecuadas para manejarlas.
ANALYSIS. Clasifica funcionalmente el balance y la cuenta de prdidas y
ganancias.
ANIBAL. Evala la gestin comercial y financiera de la empresa.

Se
pueden
mencionar
tambin
FINEXPERT/FINEPRO, FSA, entre otros.

ANSWERS,

CHARIS,

FINEX,

7.11.4 En Planificacin Financiera

AAFINPLAN. Proporciona orientacin financiera a los empleados


Capital Investment System. Ayuda a los directores de Texas Instruments a
la toma de decisiones en la compra de equipos, indicando factores como
exigencias legales, impacto medioambiental, entre otros.
CASHVALUE. Evala proyectos de inversin.

Tambin Client Profiling System, FAME, MANAGEMENT ADVISOR, Objective


Financial System, Personal Financial Analysis, PFPS, PLANMAN, PLANPOWER,
entre muchos otros ms.
7.11.5 En la Aviacin
Del tipo de los SE en calendarizacin

ARMAC, GADS, RAMP, SALTO, RMAS, AAMPS, ACAMS, MOCA, ARIES,


EXPICS, Duty Roster System, Aeroplan. Incluyen su uso en empresas
como United Airlines, Air Canada, entre otras.

Del tipo de planeo de vuelos y configuraciones.

AALP y MD-11 Interior Design Config System

Del tipo de mercadotecnia y reservaciones.

AA Advantage System, BAMBI, DOCS, IQ Manager, Passanger Rev


Accounting System

77

7.11.6 En Medicina

ETT. Clasifica pacientes con problemas de arterias coronarias. Identifica


varios factores que determinan los diagnsticos que emite como la edad,
las condiciones actuales del paciente, su historial mdico, entre otros
factores28.
SPACEMED. Este es un Sistema Experto para asistencia en emergencias
mdicas que sucedan durante un vuelo espacial o aborde de una estacin
espacial en rbita. La principal caracterstica de este SE es una diagnstico
rpido en casos de envenenamiento, resultado de la inhalacin de
contaminantes txicos liberados en la cabina o en la nave espacial. Este
sistema provee indicaciones para el tratamiento de cualquier tipo particular
de envenenamiento.
DIAVAL. Es un Sistema Experto para diagnstico mediante ecocardiografa,
el cual se basa en redes bayesianas, en vez de utilizar reglas; la decisin
de utilizar las redes bayesianas fue tomada basndose en la capacidad por
parte de dichas redes para manejar conocimientos imprecisos de una mejor
manera en comparacin con las reglas 29 . Un conocimiento es impreciso
cuando cuenta solamente con predicados vagos, o sea que las variables no
reciben un valor preciso. El uso de este tipo de conocimiento nos adentra
en la lgica difusa, dado que se recurre a la utilizacin de coeficientes. El
coeficiente es un factor que se agrega para representar la incertidumbre o
la imprecisin que el experto asigna a este conocimiento 30 . DIAVAL fue
construido en la Universidad Nacional de Educacin a Distancia (UNED) en
Espaa, como proyecto para una tesis doctoral, siguiendo cinco etapas
clsicas: identificacin, conceptualizacin, formalizacin, implementacin y
evaluacin. Este Sistema Experto provee una interfaz flexible y fcil de
manejar, conociendo la importancia de este factor en su aceptacin por
parte de los mdicos.

7.11.7 Aplicaciones actuales


Algunos de los campos de aplicacin de los Sistemas Expertos son: Medicina,
Finanzas y Gestin, Militar, Educacin, Transportes, Aeronutica, Agricultura,
Arqueologa, Derecho, Geologa e
Industria electrnica, informtica y
telecomunicaciones.
A continuacin se enunciaran algunos de los Sistemas Expertos que existen en la
actualidad o que se encuentran en desarrollo:
MYCIN: Es el primer Sistema Experto que llego a funcionar con la misma
calidad que un experto humano. Es un sistema de diagnostico y
prescripcin en medicina, altamente especializado, diseado para ayudar a
28

KANDEL, Abraham. Fuzzy Expert Systems.


DEZ Vegas Francisco Javier. Sistema Experto Bayesiano para Ecocardiografa.
URL(http://ia.uned.es/~fdiez/tesis/tesis.html)
30
SCARABINO, Juan Carlos. Sistemas Expertos: Aspectos Tcnicos.
URL(http://ciberconta.unizar.es/LECCION/sistexpat/INICIO.HTML)
29

78

los mdicos a tratar con infecciones de meningitis y bacteriemia. Una serie


de tests han demostrado que MYCIN trabaja igual de bien que un mdico.
TROPICAID: Permite obtener informacin adicional sobre los
medicamentos ms usados. Este selecciona un conjunto de posibles
diagnsticos a partir del anlisis del cuadro mdico, y propone un
tratamiento ptimo para el caso concreto.
ADICORP: Realiza diagnsticos de equipos industriales complejos, adems,
trabaja en proyectos de Visin Artificial.
PROSPECTOR: Sistema para la evaluacin de emplazamientos geolgicos.
Capaz de deducir una gran parte del depsito de prfiro de molibdeno en el
estado de Washington, este yacimiento que los gelogos no haban sabido
detectar hasta entonces, y que esta valorado en cien millones de dlares.
Palladian Operations Advisor: Es de Palladian Software Inc. (USA), fue
diseado especficamente para la direccin de la produccin. Puede
analizar el estado de la combinacin de productos para mantener la mayor
eficacia y rentabilidad posible de las operaciones.
LABEIN (Laboratorio de Ensayos e Investigaciones Industriales, en Espaa),
desarroll un sistema inteligente para el diseo de motores elctricos
mediante la aplicacin de las tecnologas clsicas de Sistemas Expertos a
los sistemas de CAD/CAE de diseo y anlisis.
DELTA: Ayuda a los mecnicos en el diagnstico y reparacin de
locomotoras diesel y elctricas. Este sistema no solo da consejos expertos,
sino que tambin presenta informaciones por medio de un reproductor de
vdeo.
STEAMER: Se cre para ensear a los oficiales de la armada los
problemas de funcionamiento de una planta de propulsin a vapor, como
las que impulsan a ciertos barcos.
Eolo CN-235: Ofrece un curso especfico para pilotos y tcnicos de
mantenimiento, a todos los compradores del avin CN- 235. Es un sistema
de enseanza interactivo que integra grficos, texto y vdeo.
GUIDON: Utilizado por las Facultades de Medicina para formar a los
mdicos en la realizacin de consultas. GUIDON viene a ser una
reorganizacin de MYCIN con intenciones educativas, por esto, tiene la
ventaja adicional de disponer de toda la base de conocimientos de MYCIN
adems de la experiencia acumulada.
PUFF: Estudia la funcin pulmonar.
HERSAY: Intenta identificar la palabra hablada.
CASHVALUE: Evala proyectos de inversin.
VATIA, que asesora acerca del impuesto sobre el valor aadido o I.V.A.
COACH (Cognitive Adaptive Computer Help):Permite crear ayuda
personalizada al usuario. Es un observador de las acciones del usuario que
est aprendiendo a operar un ambiente, y en base a ellas construye un
modelo adaptativo del usuario.

79

7.12 ACTIVIDADES COMPLEMENTARIAS


1. Suponga que se le contrata para capturar el conocimiento de una brillante
asesora financiera, antes de su retiro de la empresa en seis meses, que tiene
un historial notable en la eleccin de acciones en crecimiento para un fondo
mutualista. El conocimiento se usara como la base para un sistema experto
que ayude a otros asesores financieros a tomar decisiones sobre cuales
acciones incluir o eliminar del fondo mutualista. esta es una buena opcin
para un sistema experto? Explique su respuesta.
2. Explicar la diferencia entre una base de datos y una base de conocimientos.
3. Qu habilidades se necesitan para ser un buen ingeniero del conocimiento?
El conocimiento del dominio ayudara u obstaculizara al ingeniero del
conocimiento en su propsito por capturar el conocimiento del experto en
dominio?
4. Suponga que vive en un rea donde el clima se modifica a diario. Desarrolle un
sistema experto sencillo que proporcione asesora sobre el tipo de ropa que
debe usarse de acuerdo con el clima. Es necesario que el sistema le ayude a
decidir que tipo de ropa y accesorios debe usar (sombrilla, botas, etc.) en das
soleados, con nieve, lluvia, calor, agradables fros, etc. Las entradas clave para
el sistema incluyen el pronstico del clima para la noche anterior. La
observacin que haga usted de la temperatura y la nubosidad durante la
maana y el clima del da anterior. Por medio del programa de procesamiento
de texto desarrolle siete o ms reglas que se podran usar en este tipo de
sistema experto. Crear cinco casos y usar las reglas que se desarrollaron para
determinar el mejor curso de accin.
5. Realice una investigacin de las compaas especializadas en el diseo de
sistemas expertos y en que reas del conocimiento han desarrollado sus
productos.

80

8. GLOSARIO DE TERMINOS
Agenda: Una lista con prioridades asignadas a las reglas, creada por el
mecanismo de inferencia, cuyos patrones satisfacen los hechos u objetos de la
memoria activa.
Base de conocimientos: Es la parte del sistema experto que contiene el
conocimiento sobre el dominio. hay que obtener el conocimiento del experto y
codificarlo en la base de conocimientos.
Base de hechos (Memoria de trabajo): Contiene los hechos sobre un problema
que se han descubierto durante una consulta. Durante una consulta con el sistema
experto, el usuario introduce la informacin del problema actual en la base de
hechos. El sistema empareja esta informacin con el conocimiento disponible en la
base de conocimientos para deducir nuevos hechos.
Dominio: rea de conocimientos que atiende el sistema experto.
Experto en Dominio: Persona o grupo cuya experiencia o conocimientos se
capturan para usarse en un sistema experto.
Lgica Difusa: rea de investigacin especializada en la ciencia de la
computacin que permite matices de gris y que no requiere que todo sea un
extremo blanco o negro, si/no, o cierto/ falso.
Motor de inferencia: El sistema experto modela el proceso de razonamiento
humano con un mdulo conocido como el motor de inferencia. Dicho motor de
inferencia trabaja con la informacin contenida en la base de conocimientos y la
base de hechos para deducir nuevos hechos. Contrasta los hechos particulares de
la base de hechos con el conocimiento contenido en la base de conocimientos
para obtener conclusiones acerca del problema.
Interfaz de usuario: La interaccin entre un sistema experto y un usuario se
realiza en lenguaje natural. Tambin es altamente interactiva y sigue el patrn de
la conversacin entre seres humanos.
Regla: Instruccin condicional enlaza determinada condiciones con acciones o
resultados.
Shell: Herramienta con propsitos especiales, diseada para cierto tipo de
aplicaciones en las que el usuario solo debe proporcionar la base del conocimiento.
Subsistema de explicacin: Una caracterstica de los sistemas expertos es su
habilidad para explicar su razonamiento. Usando el mdulo del subsistema de
explicacin, un sistema experto puede proporcionar una explicacin al usuario de

81

por qu est haciendo una pregunta y cmo ha llegado a una conclusin. Este
mdulo proporciona beneficios tanto al diseador del sistema como al usuario. El
diseador puede usarlo para detectar errores y el usuario se beneficia de la
transparencia del sistema.

82

9. BIBLIOGRAFIA

PROLOG / FRANCOIS GIANNESINI, HENRY KANOUI, ROBERT PASEROY


MICHAEL VAN CANAGHEN .-- s.c: Editorial Iberoa- mericana.

Patrick Henry Winston , Inteligencia Artificial , Editorial Iberoamericana

Castillo, E., Gutierrez, J.M. y Hadi, H (1997), Expert Systems and Probabilistic
Network Models. Springer, New York. Version Espa~nola editada por la
Academia Espaola de Ingenieria.

Durkin, J. (1994), Expert Systems: Design and Development. Maxwell


Macmillan, New York.

Russell Stuart y Norving Meter, (2.004), Inteligencia Artificial, Pearson


Education

Giarratano Joseph y Riley Gary, (2.001), Sistemas Expertos Principios y


Programacin, Thomson Editores.

SITIOS WEB

www.Qdl.vcag.mx/66/ola.htm/

www.lafacu.com/apuntes/informatica/sist_expe/

http://home.worldonline.es/jmariocr/

www.ingenieroseninformatica.org/recursos/tutoriales/sist_exp/index.php

www.go.to/inteligencia_artificial

www.el-mundo.es/entradasecreta/inteligencia.html

www.cs.us.es/

www.aircenter.net/

www.laopinion.com/vidayestilo/

www.laguia.com.ar/aaia.htm

83

También podría gustarte