Beruflich Dokumente
Kultur Dokumente
SISTEMAS EXPERTOS
La primera versin fue realizada por el Ing. Especialista John Alejandro Figueredo Luna
Estudiante de Maestra de Ing. De sistemas y computacin de la Universidad Nacional de Colombia
iii
CONTENIDO TEMTICO
GLOSARIO DE TERMINOS
UNIDAD 1. VISION GENERAL DE LA INTELIGENCIA ARTIFICIAL Y LOS
SISTEMAS EXPERTOS
CAPITULO 1. INTRODUCCIN A LOS CONCEPTOS BSICOS DE LA IA
Leccin 2
o Los fines de la Inteligencia Artificial
o Historia y Evolucin de la Inteligencia Artificial
iv
o
o
o
Leccin 16 Generalidades
o Introduccin
Leccin 17 Arquitectura de un SE
Leccin 21
o Introduccin
o Desarrollo de un sistema experto
La base de conocimiento
Cinco Pasos en la Construccin de una Base de Conocimientos
Proceso Lgico de Carga de la Base de Conocimiento
Leccin 22
o El motor de inferencia
Mtodo de encadenamiento hacia delante
Mtodo de encadenamiento hacia atrs.
Mtodo de reglas de produccin
Leccin 23
o Construccin del Mecanismo de Inferencia
o Identificacin de patrones.
o Ejecucin de las reglas.
Leccin 24
o La fase de restriccin.
o La fase de seleccin.
Leccin 25
o Ejemplo de Funcionamiento del Motor de Inferencia
vi
Leccin 26
o Definicin de sistemas basados en conocimiento
o Caractersticas de los sistemas basados en conocimiento
o Principales problemas
Leccin 27
o Estructura de los Sistemas Basados en Conocimiento.
Leccin 28
Fases en la adquisicin del conocimiento
Tecnologa de los Sistemas Basados en Conocimiento
Leccin 29
o Metodologas para la construccin de SE
Metodologa de Prototipos
Metodologa Orientada a Objetos
vii
o
o
Probabilidad Condicional
Dependencia e Independencia
Teorema de Bayes
Reglas generalizadas
Introduccin de los sistemas expertos basados en probabilidad
La Base del Conocimiento
Modelo de Sntomas Dependientes
Modelo de Sntomas Independientes
Modelo de Sntomas Relevantes Dependientes
Motor de Inferencia
Leccin 38
o Representacin del conocimiento
o Lgica Proposicional
o Lgica de Predicados
o Ventajas y desventajas de la lgica de predicados
Leccin 39
o Reglas de Produccin
o Ventajas y desventajas de las reglas de produccin
viii
o
o
Redes Asociativas
Ventajas y desventajas de las Redes Asociativas
BIBLIOGRAFIA
ix
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
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.
xi
INTRODUCCIN
1.2.
xii
1.3.
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.
Leccin 3
1.6. Caractersticas de la Inteligencia Artificial
Figura 1.2 Visualizacin del mundo real por el Cerebro humano - Sistema Artificial
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.
Leccin 4
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.
recetar(X,aspirina)<=tiene(X,fiebre),
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. Un ejemplo de lenguaje basado en la Lgica de Primer
8
Leccin 5
1.7.
10
12
13
14
15
16
1966: Joseph Weizenbaum crea ELIZA para ilustrar que las tcnicas de
lenguaje natural pueden hacer que un ordenador parezca inteligente. Se
inicia el desarrollo del robot mvil, SHAKEY, construido por SRI
International, cuyo modelo decisorio para planificacin de tareas, utilizar
tcnicas de Inteligencia Artificial.
1970: Patrick H. Winston publica su tesis doctoral "Learning Structural
Descriptions from Examples". Esta tesis describe ARCHES, un programa
que aprenda a partir de ejemplos.
o El proyecto de Inteligencia Artificial del MIT se convierte en el
Laboratorio de Inteligencia Artificial, bajo la direccin de Marvin
Minsky y Seymour Papert, incluyendo hoy en da las reas de
robtica, Sistemas Expertos, tcnicas de razonamiento y aprendizaje,
lenguaje natural y arquitectura de ordenadores.
1971: Se utiliza por primera vez el Sistema Experto MACSYMA,
desarrollado por William Martn y Joel Moses. Este Sistema realiza
operaciones de clculo diferencial e integral y simplifica expresiones
simblicas. La Agencia de Investigacin de Proyectos Avanzados del
Ministerio de Defensa de los Estados Unidos patrocina la investigacin
sobre comprensin del lenguaje hablado (Speech Understanding Research
Program). Algunos de los programas que se han desarrollado bajo esta
investigacin son: SPEECHIS, HWIM, HEARSAY-I, HEARSAY-II, DRAGN
Y HARPY, estos cuatro ltimos desarrollados en la Carnegie-MelIon
University.
1972: Se desarrolla MYCIN en la Universidad de Stanford, un Sistema
Experto para el diagnostico de enfermedades infecciosas. Tambin aparece
el lenguaje PROLOG.
o William Woods, de Bolt Beranek y Newman desarrollaron LUNAR;
que fue utilizado por gelogos en la evaluacin de los materiales
obtenidos en la luna por el Apolo-II.
1974: Aparece PROSPECTOR, un Sistema Experto de prospeccin minera
desarrollado en la Universidad de Stanford.
1976: Douglas B. Lenat escribi el Sistema Experto "AM", un programa que
define y evala conceptos matemticos en la teora de conjuntos. Randall
Davis en la Universidad de Stanford publica su tesis TEIREISIAS, un
Sistema que utiliza metareglas para introducir y actualizar bases de
conocimiento utilizadas en Sistemas Expertos.
1979: Se desarrolla XCOM, un Sistema Experto que se encargaba de
configurar todos los computadores que salan de la DEC (Digital
Equipament Corporation).
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.
17
PARSAYE, Kamran, Mark Chignell, Setrag Khoshafian y Harry Wong. Intelligent Databases.
SCHILDT Herbert, Utilizacin de C en Inteligencia Artificial.
18
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.
El objetivo entonces de un sistema experto es igualar el comportamiento de los
expertos humanos; existen muchos expertos en el conocimiento como los
abogados, mdicos, economistas. Todos ellos comparten una caracterstica en
comn; deben tomar decisiones acertadas en ambientes rodeados de riesgos e
incertidumbre pero poseen la habilidad superior de hacerlo como resultado de su
entrenamiento, experiencia y practica profesional (Biondo, 1990)
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:
19
La siguiente tabla muestra algunas diferencias que existen entre los sistemas
clsicos y los expertos:
Tabla 2.1 Comparacin entre un sistema tradicional y un Sistema Experto.
SISTEMA EXPERTO
SISTEMA CLASICO
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 fciles
El sistema solo opera completo
El sistema puede funcionar con pocas
reglas
Se ejecuta paso a paso
La ejecucin usa heurstica y lgica
Representa y usa datos
Representa y usa conocimiento
Leccin 8
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:
20
Por otro lado, los sistemas expertos presentan grandes carencias frente a los
seres humanos:
22
23
Leccin 10
2.10. Forma en que los usuarios interactan con los sistemas expertos
El usuario de un SE puede estar operando en cualquiera de los siguientes modos:
24
25
1.
2.
3.
4.
26
27
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.
3.1.4 Industria
Los SE en la industria se aplican principalmente en:
Leccin 12
3.1.5 Electrnica, informtica y telecomunicaciones
Las aplicaciones principales de los SE son:
28
3.1.6 Militar
Las aplicaciones se centran en:
3.1.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 poco o no estructurados,
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 aplicacin11:
11
29
3.1.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 salud12.
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.
3.1.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.
3.1.10 Otros campos de aplicacin
Aeronutica
Agricultura
Arqueologa
Derecho
Educacin
Geologa
Meteorologa
Qumica
12
30
Transportes
Ventas
Leccin 13
31
13
32
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.
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:
33
14
34
35
y su reparacin
Control de sistemas
solucin.
Automatizacin de maquinarias para tener un control
propio.
Leccin 14
3.3 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.
3.3.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.
SIGCE 18 , Sistema de Informacin para Gerenciar la Capacitacin
Empresarial. Es un sistema que le permite administrar de una forma fcil y
eficaz todo lo relacionado con la capacitacin de cada uno de los
empleados y en general de toda su compaa. Este sistema lleva el control
de la capacitacin desde la asignacin de presupuestos y la programacin
de cada uno de los eventos, hasta la generacin de estadsticas e ndices
de gestin que permiten conocer como se comportan cada una de las
variables involucradas en el proceso. Tambin incorpora elementos como:
Capacitacin de acuerdo a perfiles de cargo, Capacitacin orientada a
competencias, Planes de capacitacin individuales, entre otros.
3.3.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.
18
36
ANSWERS,
CHARIS,
FINEX,
19
37
3.3.6 En Medicina
Para realizar un diagnstico se requiere informacin sobre los sntomas del
paciente, condicin general, historial clnico y resultados del laboratorio. Estos
datos se obtienen a partir de una serie de preguntas, cada una de las cuales es
determinada a partir de la respuesta anterior del paciente utilizando diversas
reglas o a travs de la experiencia (almacenada en la memoria del ser humano
experto o bien, del sistema experto). Al principio las preguntas son generadas para
reducir el nmero de enfermedades posibles planteando una hiptesis, y al final se
realizan preguntas para soportar el diagnstico.
Una de las formas comunes de llegar a un diagnstico es mediante el
interrogatorio al paciente, en este sentido, los sistemas expertos son los ms
aptos para esta tarea. Cuando el interrogatorio al paciente se realiza de forma
correcta se podr elegir el tratamiento adecuado para su problema.
Otro punto a favor de los sistemas expertos es que al tener almacenado el
conocimiento en medios electrnicos, nunca se deteriorar, por el contrario, con el
mdulo de aprendizaje se logran ingresar nuevas reglas para tratar nuevas
enfermedades, lo que asegura tambin que al realizar la prueba en pacientes con
los mismos sntomas se diagnostique de la misma forma. A pesar de la precisin
de los sistemas expertos, una parte que hace falta para poder respaldar los
resultados o para poder llegar a ellas ms rpido es la exploracin fsica.
Las formas de razonamiento diagnstico tienen similitud con los razonamientos de
los sistemas expertos:
Probabilsticas. Se basan en la frecuencia de ocurrencia de las enfermedades y
consideran variables como sexo, edad, peso, frecuencia y la probabilidad asociada
entre sntomas-enfermedad.
Causales. Encuentran relaciones fisiopatolgicas y las relacionan con los efectos
que causan, que pueden ser datos clnicos o antecedentes, as como el humor del
paciente, por citar algunos.
Determinsticos. Son mucho ms directos, ya que identificando cada sntoma, se
asocia con una regla que lleva directamente hacia el diagnstico. Se pueden
analizar, por ejemplo, la presencia de cefaleas, fiebre, alteraciones de la
conciencia y rigidez de nuca pueden significar meningoencefalitis.
Algunos sistemas de diagnostico:
ETT. Clasifica pacientes con problemas de arterias coronarias. Identifica
varios factores que determinan los diagnsticos que emite como la edad,
38
39
Leccin 15
3.3.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
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.
40
41
3.3.7.1
Palomo Manuel & Martn, Mateos Francisco Jess.2002. Grupo Mejora del Proceso Software y Mtodos
Formales. Departamento de Lenguajes y Sistemas Informticos. Universidad de Cdiz. Escuela Superior de
Ingeniera. C/ Chile, s/n. Departamento de Ciencias de la Computacin e Inteligencia Artificial, Universidad
de Sevilla
42
Cuando se juega al poste bajo los dos jugadores ms altos del equipo ocupan
posiciones a sendos lados de la canasta. Los otros tres se distribuyen a lo largo de
la lnea de tres puntos, uno en la perpendicular al aro y los otros dos a los lados.
El punto fuerte de este tipo de ataque es que permite, si se tienen jugadores altos
fuertes, que estos reciban el baln cerca de la canasta. Adems, en el caso de
que venga otro defensor para ayudar a cubrirlo, pueden realizar un pase hacia el
jugador que quede libre, que dispondr en ese caso de un tiro cmodo o libertad
para moverse. La principal desventaja es que los jugadores altos del equipo
defensor sean mejores que los del equipo atacante.
3.3.7.2 GENSYM: Operaciones Expertas25
El software de Operaciones Expertas permite fabricar productos y ejecutar
operaciones en un costo drsticamente ms bajo aplicando tecnologa de
razonamiento en el seguimiento, el control y a la optimizacin de procesos
25
43
3.3.7.3
G2 CLASSIC
44
46
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.
28
SCHILDT Herbert, Utilizacin de C en Inteligencia Artificial.
29
CRIADO Briz, Jos Mario. Sistemas Expertos. URL (http://home.worldonline.es/jmariocr/index.htm)
27
47
Leccin 17
4.2 Arquitectura de un Sistema Experto
Un Sistema Experto aplica las tcnicas de resolucin de problemas y
razonamiento de la Inteligencia Artificial al conocimiento codificado acerca de un
problema especfico.
La efectividad del Sistema Experto depender, en gran medida, de la cantidad de
conocimiento que se le proporcione. Sin la existencia de una base suficiente de
conocimiento, aunque existan mtodos de razonamiento muy potentes, es
imposible crear un comportamiento inteligente. Sin embargo, con mtodos de
inferencia muy simples se pueden conseguir resultados muy buenos cuando se
aplican a una base adecuada de conocimientos. De la misma forma que una base
de conocimientos muy completa sin un adecuado motor de inferencia, servira de
muy poco, pues quedara reducida a algo esttico sin posibilidad ni capacidad de
"deduccin" ni generacin de nuevo conocimiento.
Los Sistemas Basados en el Conocimiento significan el paso del paradigma del
poder, es decir, de la utilizacin de cmputo muy potente, al paradigma del
conocimiento, o sea, empleo del mximo posible de conocimiento.
La revolucin aportada por los Sistemas Expertos consiste en considerar tanto las
informaciones imperativas de la Informtica tradicional como las declarativas no
expresables por los lenguajes usuales de aquella y el conocimiento de la
naturaleza ms diversa y no homognea, como datos.
Estos expertos construyen sus bases de conocimiento con la ayuda de los
Ingenieros del Conocimiento. Esto se realiza en un lenguaje descriptivo, que tiene
muy pocas relaciones con los lenguajes tradicionales de programacin. Los
conocimientos se introducen como elementos modulares, independientes y como
pequeas molculas de saber, muy libres las unas de las otras y fcilmente
modificables. Estos conjuntos de conocimientos son analizados por lo que se ha
dado en llamar motor de inferencias, "software" cuya programacin utiliza, en
parte mtodos .clsicos, pero nico para toda una gama de aplicaciones y que
tiene como objetivo relacionar" las molculas de conocimiento" que son
48
30
Figura tomada de la tesis doctoral Metodologa Para El Desarrollo De Sistemas Expertos diseada por el
doctor Jos Domingo Carrillo Verdun
49
Leccin 18
4.3 Elementos de un Sistema Experto
Los dos componentes principales de cualquier sistema experto son una base de
conocimientos y un motor de inferencia.
a. Base de conocimientos, esta debe ser de un tema especfico, donde el
conocimiento se codifica segn una notacin especfica que incluye reglas,
predicados, redes semnticas y objetos.
b. Motor de inferencia, 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 en un SE entre ellos:
50
Figura 2.2. Componentes tpicos de un sistema experto. Las flechas representan el flujo de la
informacin.31
31
Fuente: Castillo, Enrique. Gutirrez, Jos Manuel Sistemas Expertos y Modelos de Redes Probabilsticas
51
Las personas que componen un grupo 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:
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
52
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.3.2. 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 diagnstico 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.
53
55
58
59
ineficiente por completo. Por eso se insiste en que los resultados debe ser
claros y concisos.
4. Las preguntas y explicaciones deben ser comprensibles. Es necesario
explicar al usuario en lenguaje natural porque se da cierta respuesta, de
esta forma al usuario se le justifica una respuesta dada de forma
comprensible.
60
Ejemplo:
If Latencia Distal >= 3.8 Then Latencia Distal Normal
If Latencia Distal < 3.8 Then Latencia Distal Anormal
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 meta-reglas (reglas sobre otras reglas) y su funcin es indicar
bajo qu condiciones deben considerarse unas reglas en vez de otras. Un ejemplo
de meta-regla 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.
5.2.1.1.
Atributo
Atributo
Atributo
Atributo
Objeto
Figura 2.6 Mtodo de encadenamiento hacia adelante
5.2.2.2.
Intenta objeto
Atributo cumplido
Atributo no cumplido
Atributo cumplido
Atributo no cumplido
Atributo cumplido
Atributo cumplido
Objeto encontrado
5.2.2.3.
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 y una vez estas han sido elegidas
deben de ejecutarse.
5.2.3.1.
Identificacin de patrones
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.
Leccin 24
5.2.3.3.
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.
5.2.3.4.
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.
10
Leccin 25
5.2.4. 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
11
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.
13
Leccin 29
6.5 Metodologas para la construccin de SE
6.5.1. Metodologa de Prototipos
En el desarrollo de sistemas expertos se nos plantean dos importantes riesgos:
Objeto
Objeto
Atributo
Atributo
Atributo
Objeto
Atributo
Atributo
Atributo
Objeto
Atributo
Atributo
Atributo
Objeto
Atributo
Atributo
Atributo
Objeto
Atributo
Atributo
Atributo
Atributo
Atributo
Atributo
Figura 2.9. La base de conocimientos es vista como un objeto contenedor de otros objetos usando
la Metodologa Orientada a Objetos
Leccin 30
6.6 Ejemplo de Construccin de Un SE, Problema de Monitorizacin32
6.6.1. rboles de decisin
Paradigma til para resolver problemas de clasificacin ofrecen la solucin a un
problema a partir de un conjunto de respuestas predeterminadas:
Adecuado para clasificacin, diagnstico
No adecuado para planificacin, o diseo
Reducen el conjunto de posibles soluciones mediante una serie de
decisiones o cuestiones que podan el espacio de bsqueda33
No
Es una serpiente
Nodo respuesta
Nodo respuesta
Es un animal de
sangre caliente?
Nodo decisin
Es un perro
No
Si
El animal
ronronea?
Nodo decisin
Es un gato
Si
Nodo respuesta
J.A. Baares Baares. 1999. Resolucin de Problemas en LBR. Departamento de Informtica e Ingeniera
de Sistemas C.P.S. Universidad de Zaragoza
33
Ibd 73
(retract ?respuesta))
6.6.3. Definicin del problema
Una planta de procesamiento contiene varios dispositivos que deben ser
monitorizados. Cada dispositivo tiene uno o ms sensores que ofrecen
valores numricos que indican la salud del dispositivo
El programa de monitorizacin debe
1. Leer los valores de los sensores
2. Evaluar las lecturas,
3. Emitir alarmas o parar dispositivos
Acciones para realizar el monitor
Tabla 6.1 Acciones que debe realizar el monitor
Valor del Sensor
valor <= lnea roja baja
lnea roja baja < valor <= lnea guarda baja
lnea guarda baja > valor < lnea guarda alta
lnea guarda alta >= valor < lnea roja alta
valor >= lnea guarda alta
Accin
PARADA dispositivo
Da ALARMA o PARADA
dispositivo
Ninguna
Da ALARMA o PARADA
dispositivo
PARADA dispositivo
Sensor S2
Dispositivo D1
Sensor S3
Dispositivo D2
Sensor S4
Sensor S5
Dispositivo D3
Sensor S6
Dispositivo D4
J.A. Baares Baares. 1999. Resolucin de Problemas en LBR. Departamento de Informtica e Ingeniera
de Sistemas C.P.S. Universidad de Zaragoza
10
11
El Concepto es tomado del documento: Inteligencia Artificial. 2003. Arrua Luciana. Meza Fernndez
Eduardo.
datos iniciales, hasta las conclusiones deseadas. Esta progresin hace que se
vayan conociendo nuevos hechos o descubriendo nuevas afirmaciones, a medida
que va guiando hacia la solucin del problema.
En consecuencia, el proceso de solucin de un problema en los sistemas basados
en reglas va realizando una serie de inferencias que crean un sendero entre la
definicin del problema y su solucin, es por estas razones que utilizaremos el
conocimiento basado en reglas para nuestro objeto bajo estudio. Las inferencias
estn concatenadas y se las realiza en forma progresiva, por lo que se dice que el
proceso de solucin origina una cadena de inferencias.36
Una regla es una afirmacin lgica que relaciona dos o ms objetos e incluye dos
partes, la premisa y la conclusin. Cada una de estas partes consiste en una
expresin lgica con una o mas afirmaciones objeto-valor conectadas mediante
los operadores lgicos y, o, o no.37
En un sistema basado en reglas la representacin del conocimiento formaliza y
ordena el conocimiento. Una representacin ampliamente usada es la regla de
produccin, o simplemente regla. Una regla consiste en: una parte SI, y otra parte
ENTONCES (tambin llamada como una condicin y una accin). Las listas de
partes SI son un conjunto de condiciones en una cierta combinacin lgica. La
porcin del conocimiento representado por la regla es relevante a la lnea del
razonamiento que es convertido si la parte SI de la regla est satisfecha; por lo
tanto, la parte ENTONCES puede ser concluida, o su accin de solucionar el
problema, ser tomada. 38
En los sistemas basados en reglas intervienen dos elementos importantes:
Los datos: Estn formado por la evidencia o los hechos conocidos en una
situacin particular. Este elemento es dinmico, es decir, puede cambiar de una
aplicacin a otra, por lo tanto no es de naturaleza permanente y se almacena en la
memoria de trabajo. En situaciones deterministas, las relaciones entre un conjunto
de objetos pueden ser representadas mediante un conjunto de reglas.
El conocimiento: Se almacena en la base de conocimiento y consiste en un
conjunto de objetos y un conjunto de reglas que gobierna las relaciones entre esos
objetos. La informacin almacenada en la base de conocimiento es permanente y
esttica, es decir, no cambia de una aplicacin a otra, a menos que se incorporen
al sistema experto elementos de aprendizaje.
Las reglas componen la base de conocimiento y las mismas pueden relacionarse
dando lugar a nuevos hechos y contienen los siguientes procesos.
36
Sistemas Expertos y Modelos de Redes Probabilsticas. Enrique Castillo, Jos Manuel Gutirrez, y Ah S.
Hadi.
37
Castillo, Enrique. Gutirrez, Jos Manuel Sistemas Expertos y Modelos de Redes Probabilsticas
38
Pignani Juan Manuel. (2000). Informtica aplicada a la Ingeniera de Procesos 1. Universidad Tecnolgica
Nacional, Facultad Regional Rosario. Espaa.
Si no existe al menos una regla que contenga ese hecho debemos determinarla ya
que de no ser as, ese hecho estara de ms en la base de hechos.
b. El proceso de inferencia Durante la inferencia puedo verificar o deducir
hechos. En la verificacin de un hecho el proceso est dirigido por los
objetivos mientras que en la deduccin est dirigido por los datos.
39
40
C
F
C
F
F
F
C
C
F
C
F
C
F
F
F
C
F
F
F
C
Si A y B , entonces C
Si AyB , entonces C
Si A , entonces C
Si B, entonces C
Si A y C, entonces D
Si B y C, entonces D
Si (A o B) y C, entonces D
Si AoB y C, entonces D
Si A y B y C, entonces D
Si AyB y C, entonces D
Si A y C, entonces D
Si B y C, entonces D
Si A, entonces B y C
Si A, entonces B
Si A, entonces C
Si A, entonces B o C
Si A y B , entonces C
Si A y C , entonces B
Si A, entonces ByC
Si A y B, entonces C
Si A y C, entonces B
Si A, entonces BoC
Si A, entonces B
Si A, entonces C
Son equivalentes a las reglas de la segunda columna. Ntese que en los seis
primeros ejemplos las sustituciones se aplican a la premisa y en los cuatro ltimos,
a la conclusin.
7.1.2.1.
Si
A es cierto
Entonces
B es cierto
B es Cierto
Hecho:
A es Cierto
Figura: 3.3. Regla de inferencia de Modus Ponens
B
B
y B
Entonces
43
Modus Tollens
Regla
Si
A es cierto
Entonces
B es cierto
A es Falso
Hecho:
B es Falso
Figura 3.4. Regla de inferencia de Modus Tollens
Encadenamiento de Reglas
Esta estrategia puede utilizarse cuando las premisas de ciertas reglas coinciden
con las conclusiones de otras. Cuando se encadenan las reglas, los hechos
pueden utilizarse para dar lugar a nuevos hechos. Esto se repite sucesivamente
hasta que no pueden obtenerse ms conclusiones. El tiempo que consume este
proceso hasta su terminacin depende, por una parte, de los hechos conocidos, y,
por otra, de las reglas que se activan.
Este algoritmo puede ser implementado de muchas formas. Una de ellas
comienza con las reglas cuyas premisas tienen valores conocidos. Estas reglas
deben concluir y sus conclusiones dan lugar a nuevos hechos. Estos nuevos
hechos se aaden al conjunto de hechos conocidos, y el proceso contina hasta
que no pueden obtenerse nuevos hechos.
La Figura 3.5 muestra un ejemplo de seis reglas que relacionan 13 objetos, del A
al M. Las relaciones entre estos objetos implicadas por las seis reglas pueden
representarse grficamente, tal como se muestra en la Figura 3.6, donde cada
objeto se representa por un nodo. Las aristas representan la conexin entre los
objetos de la premisa de la regla y el objeto de su conclusin. Ntese que las
premisas de algunas reglas coinciden con las conclusiones de otras reglas. Por
ejemplo, las conclusiones de las Reglas 1 y 2 (objetos C y G) son las premisas de
la Regla 4.
10
Figura 3.6 Una representacin grfica de las relaciones entre las seis reglas de la Figura 3.5
11
7.1.2.3.
12
Figura 3.7 Un ejemplo que ilustra el algoritmo de encadenamiento de reglas orientado a un objetivo.
Los nodos cuyo valor es conocido se han sombreado, el nodo objetivo se ha rodeado por una
circunferencia, y el nmero en el interior de un nodo indica el orden en el que se visita cada nodo.44
44 Las figuras 2.10, 2.11, 2.12, fueron tomadas del documentos Sistemas Expertos Basados en Reglas. Autor: Prof. Jos Manuel Gutirrez. Dpto. de Matemtica
Aplicada. Universidad de Cantabria. Espaa. 2006
13
14
Regla 1: Si A = C, entonces B = C.
Regla 2: Si A = C, entonces B = F.
Regla 3: Si A = F, entonces B = C.
Regla 4: Si A = F, entonces B = F.
Las Reglas 1 y 2 son coherentes puesto que, tal como se muestra en la Tabla II.5,
para A = F, no producen conclusiones. Sin embargo, las Reglas 1 y 4 son
incoherentes porque producen conclusiones contradictorias para todos los
posibles valores de A y B.
Ntese que un conjunto de reglas puede ser coherente, aunque algunos conjuntos
de valores puedan producir conclusiones inconsistentes. Estos conjuntos de
valores se llaman valores no factibles. Por ejemplo, las Reglas 1 y 2 son
coherentes, aunque producen conclusiones inconsistentes en todos los casos en
que A = C. En consecuencia, el subsistema de control de coherencia eliminara
automticamente el valor C de la lista de posibles valores del objeto A,
15
Coherencia de Hechos
Los datos o evidencias suministrados por los usuarios deben ser tambin
consistentes en s y con el conjunto de reglas de la base de datos. Por ello, el
sistema no debe aceptar hechos que contradigan el conjunto de reglas y/o el
conjunto de hechos existente en cada instante del proceso.
El sistema debe tambin comprobar si existe o no, una solucin factible e informar
al usuario en consecuencia. Si en el ejemplo anterior se trata de dar la informacin
A = 0; B = 0 y D = 0, el sistema debe detectar que no existe ningn valor de C que
sea consistente con la base de conocimiento. Ntese que antes de conocer los
valores de los objetos, existe una solucin factible. Por ejemplo, A = 0; B = 0;
C = 0 y D=1 (estos hechos no contradicen la base de conocimiento). Por ello, la
inconsistencia surge que los hechos y las reglas sean inconsistentes.
La coherencia de los hechos puede lograrse mediante las estrategias siguientes:
1. Eliminar todos los valores no factibles (los que contradicen el conjunto de reglas
y / o hechos) de los objetos una vez detectados. Cuando se pregunte al usuario
por informacin sobre los valores de un conjunto de objetos, el sistema experto
debera aceptar slo los valores de cada objeto que sean consistentes con las
reglas y con el conocimiento previo.
2. El motor de inferencia debe comprobar que los hechos conocidos no
contradicen el conjunto de reglas. Si el sistema no elimina los valores no factibles,
entonces el usuario podr dar evidencias contradictorias tales como Pago =
autorizado y NIP = incorrecto en el ejemplo del cajero automtico (CA). Por ello,
tan pronto como se de la primera evidencia, Pago = autorizado, el sistema debe
seleccionar slo los valores del NIP que no conduzcan a conclusiones
contradictorias.
3. Suministrar al usuario una lista de objetos a los que no se ha asignado valores
previamente.
4. Para cada uno de los objetos, mostrar y aceptar slo sus valores factibles.
5. Actualizar continuamente la base de conocimiento, es decir, tan pronto como se
d un hecho o se obtenga una conclusin, y eliminar los valores no factibles. El
motor de inferencia obtiene todas las conclusiones posibles examinando, y
posiblemente concluyendo, las reglas tan pronto como una simple unidad de
informacin llegan al sistema
16
7.1.4. Ejemplo45
Los sistemas de control de trfico actuales son necesariamente complejos. El
siguiente ejemplo ilustra cmo puede disearse un sistema experto basado en
reglas para resolver un problema de control de trfico muy simple. La Figura 3.8
muestra un trazado de ferrocarril en el que varios trenes pueden circular en las
dos direcciones. Hay cinco vas, S1, . . . , S5, y 14 seales de trfico, ocho en la
parte superior del diagrama, U1, . . . , U8, y seis en la parte inferior, L1, . . . , L6.
Tabla 7.7 Objetos y sus correspondientes valores para el ejemplo del control de
trfico ferroviario.
Objeto
Valor
U1 a U8
{verde, rojo}
L1 a L6
{verde, rojo}
S1 a S5
{libre, ocupada}
El objetivo de este sistema es disear un conjunto de reglas que eviten la colisin
de los trenes. Estas reglas pueden obtenerse como sigue:
1. Si la seal de trfico U1 est verde, entonces puede permitirse la salida de
un tren que est en la va S1 y no debe permitirse la salida de los trenes de
la va S2, por lo que L1 tiene que estar en rojo. Lo mismo es cierto para las
vas S4 y S5. Ntese que si el motor de inferencia utiliza la regla de
inferencia Modus Tollens, estas reglas garantizan tambin que cuando las
seales de la parte baja de las vas estn en verde, las seales de sus
correspondientes partes superiores estn en rojo. Es decir, las dos primeras
reglas implican las dos reglas siguientes:
Regla 1a: Si L1 = verde, entonces U1 = rojo.
Regla 2a: Si L6 = verde, entonces U6 = rojo.
45 Ejemplo tomado del texto: Sistemas experto y Modelos de Redes Probabilsticas. Castillo, Enrique y Otros. Espaa 2005.
17
U1 = verde
U6 = verde
L1 = rojo
L6 = rojo
Regla 3
Regla 4
Regla 5
Regla 6
Regla 7
Regla 8
S1 = ocupada
S2 = ocupada
S3 = ocupada
S4 = ocupada
S5 = ocupada
S6 = ocupada
U2 = rojo
L2 = rojo
U3 = rojo
U4 = rojo
U5 = rojo
L5 = rojo
Regla 9
Regla 10
Regla 11
Regla 12
Regla 13
Regla 14
U1 = rojo
L1 = rojo
U6 = rojo
L6= rojo
U7 = rojo
U8 = rojo
Regla 15
Regla 16
U3= verde
L3 = verde
U4 = rojo
L4= rojo
Regla 17
Regla 18
Regla 19
Regla 20
U2= verde
U3= verde
U4= verde
U5= verde
L2 = rojo
L3 = rojo
L4= rojo
L5= rojo
Regla 21
Regla 22
U1 = verde o L1 = verde
U6 = verde o L6 = verde
U7 = rojo
U8 = rojo
7.1.5. Conclusiones
Normalmente, los usuarios esperan que el sistema les d algn tipo de explicacin
que indique el por qu de las conclusiones. Durante el proceso realizado por el
motor de inferencia, las reglas activas (las que han concluido) forman la base del
mecanismo de explicacin, que es regulado por el subsistema de explicacin.
18
19
o Ejemplos:
Temperatura ambiente.
Tiempo de fallo de un dispositivo.
Distancia del robot a la pared.
7.2.3. Definicin de Sistemas Expertos Basados en Probabilidad
Los sistemas expertos comunes, basados en reglas no tienen en cuenta la
incertidumbre, ya que la forma de tratar los objetos y las reglas, es de tipo
determinista, pero como se aprecio anteriormente, es frecuente la toma de
decisiones en condiciones de incertidumbre, ya sea en reas de la ingeniera, los
negocios o inclusive la salud.
El ejemplo que se presenta a continuacin es el de un paciente que asiste al
mdico, con ciertos sntomas para que este le determine en base a estos, que tipo
de enfermedad de las posibles padece. Se dice que el sistema no es determinista,
ya que la relacin entre las enfermedades y los sntomas que tiene un paciente no
son deterministas, por que los mismos sntomas pueden estar presentes en
distintas enfermedades.
En el diagnstico mdico la pregunta tpica es:
Dado que el paciente presenta un conjunto de sntomas, cul de las
enfermedades posibles es la que tiene el paciente?
Esto crea la necesidad, de herramientas que tengan la capacidad para funcionar,
en estos ambientes, una buena opcin son los sistemas de tipo probabilstico.
Estos como los otros, cuentan con una base de conocimiento, pero esta se forma
por el espacio probabilstico, que describe el problema. El motor de inferencias es
basado en probabilidades condicionales y este se encarga de actualizar dichas
probabilidades con base en los hechos que observa del ambiente en que se
desempea.
7.2.3.1.
Medidas de Probabilidad.
20
p( Ai) = S p(Ai)
Lo que determina que la probabilidad de la unin de todos los subconjuntos es
igual a la suma total de todas las probabilidades de cada subconjunto.
Ejemplo probabilidades: Lanzamiento de un dado no trucado
S = {1, 2, 3, 4, 5, 6}
p(S) = 1=1/6+1/6+1/6+1/6+1/6+1/6
p({1})= 1/6
p({1, 3}) = p({1})+ p({3}) = 1/3.
7.2.3.2.
Propiedades
Propiedad 1 (Normalizacin): p( ) = 0
Evidencia asociada a una ausencia completa de informacin es cero
Propiedad 2 (Monotonicidad): Si S B A, entonces p(A) p(B)
La evidencia de la pertenencia de un elemento a un conjunto dado A no debe
decrecer con la adicin de elementos a A.
Propiedad 3 (Continuidad-Consistencia): Para toda sucesin creciente ... A2
A1 , o decreciente A1 A2 ... de subconjuntos de S se tiene: lim p(Ai) = p(lim
Ai)
Si se eligen dos sucesiones de conjuntos que convergen al mismo subconjunto de
S, se debe obtener la misma evidencia o incertidumbre.
Propiedad 4 (Inclusin-Exclusin): Dado cualquier par de subconjuntos A y B de
S se cumple siempre la igualdad: p(A B) = p(A) + p(B) - p (A B)
7.2.3.3.
Distribucin de probabilidad
Sea {X1, ... Xn} un conjunto de variables aleatorias discretas y {x1, ... xn} el
conjunto de sus posibles realizaciones.
Por ejemplo, si Xi es una variable binaria xi puede ser 0 o 1. Se denomina funcin
de probabilidad conjunta a:
p(x1, ... xn) = p( X1= x1 , ... Xn= xn)
Se denomina funcin de probabilidad marginal de la i-sima variable median-te la
frmula:
p(xi) = p( Xi = xi ) =
p(x1, ... xn)
21
Probabilidad Condicional
P( X j , X 1 , X 2 ,... X K )
P( X
, X 1 , X 2 ,... X K )
Xj
7.2.3.5.
Dependencia e Independencia
22
Teorema de Bayes
B
1, B
2,...,
m constituyen una divisin del espacio muestral S,
Si los eventos B
,2
,3
,...,
m, entonces para cualquier evento A en S
donde P(Bi ) 0 , para i 1
es tal que P( A) 0 .
P
(
B
A
) P
(
A
/
B
)
*
P
(
B
)
i
i
i
P
(
B
/
A
)
i
m
m
P
(
B
A
)
P
(
A
/
B
)
*
P
(
B
)
i
i
i
i
.
B
,
B
,...,
B
m, forman una particin del espacio
En el modelo general los eventos 1 2
muestral S, donde P(Bi ) 0 , para i 1,2,3,...,m, entonces para cualquier evento
A de S, en particular
entonces se tiene que:
A Aj
iJ
P(Bi / Ai ) =
,2
,3
,...,
n tal que P(Aj ) 0 ,
, para j 1
P(Bi A j )
P(B A
i
i=1
P(A j / Bi ) P(Bi )
m
P(A
/ Bi ) P(Bi )
i=1
7.2.3.7.
Reglas generalizadas
46
J.A. Baares Baares. 1999. Resolucin de Problemas en LBR. Departamento de Informtica e Ingeniera
de Sistemas C.P.S. Universidad de Zaragoza
23
E5
E2
E3
E5
E3
E1
E1
E3
E1
E5
1
1
1
0
0
1
1
1
1
1
1
0
1
0
1
1
1
0
1
0
1
1
0
1
0
0
1
0
1
1
24
E
~E
E
~E
0.00
0.02
0.00
0.07
0.00
0.18
0.00
0.23
0.01
0.04
0.01
0.10
0.05
0.10
0.01
0.18
47
J.A. Baares Baares. 1999. Resolucin de Problemas en LBR. Departamento de Informtica e Ingeniera
de Sistemas C.P.S. Universidad de Zaragoza
48
Ibd 49
27
Supngase que S1 , ..., Sri son relevantes para la enfermedad ei y que los
restantes sntomas Sri +1 , ..., Sn son irrelevantes. Segn el MSRI, p(sj| ei) se
supone idntica para todos los sntomas que son irrelevantes para la enfermedad
Sea cual sea el modelo elegido, la base de conocimiento debe contener el
conjunto de variables de inters y el mnimo de parmetros (probabilidades o
frecuencias) necesarios para especificar la funcin de probabilidad conjunta de las
variables.
7.2.5.4. Modelo de Sntomas Relevantes Dependientes
Aunque el MSRI reduce el nmero de parmetros considerablemente, es poco
realista:
49
Ibd 50
28
El papel del trmino p(s1 ... sk) consiste en actuar como constan-te de
normalizacin.
Una decisin basada en el mximo de p(ei | s1 ... sk) coincide con la
basada en el mximo de p(ei ,s1 ... sk).
Los cocientes siguientes suministran informacin sobre la importancia
relativa de las diferentes enfermedades.
29
50
30
Figura 3.14. Grfico correspondiente al clasificador simple bayesiano con 6 atributos de entrada
Han sido propuestos otros modelos ms sofisticados. Entre ellos, las redes
bayesianas simples aumentadas (del ingls Augmented Nave Bayesian networks
Quinlan, J. R. (1996). Improved use of continuous attributes in C4.5, Journal of Artificial Intelligence
Research, 4, 77-90.
52
Leigh, W; Purvis, R; Ragusa, J. (2002). Forecasting the nyse composite index with technical analysis,
pattern recognition, neural network, and genetic algorithm: a case study in romantic decision support,
Decision Support Systems, 32, 361- 377.
51
31
(AN)), permiten arcos entre los atributos de entrada, de manera que se reduce la
fuerte restriccin propia de las redes simples.
Para decidir la estructura concreta de una red AN han sido propuestos diversos
algoritmos en las publicaciones sobre Inteligencia Artificial de la ltima dcada
Ezawa K. J.; Schuermann T. (1995), Sahami, M. (1996). Entre ellos cabe destacar el
algoritmo de aprendizaje de red bayesiana Simple Aumentada en rbol (del ingls
Tree Augmented Nave Bayesian network (TAN)) (Friedman, N.; Geiger, D;
Goldszmidt, M. (1997). y el de red bayesiana Simple Aumentada Estructurada
(Abad, M. 2001) (del ingls Structured Augmented Nave Bayesian network (SAN)).
El algoritmo TAN construye una red bayesiana con una estructura TAN (Figura
3.15), es decir, una estructura en la que la variable clase no tiene padres y los
atributos de entrada tienen como padres la clase y como mximo otro atributo ms
de entrada.
32
53
Ibd
33
Tres sntomas: Dolor (D), prdida de peso (P) y vmitos (V) estn ligados a la
enfermedad.
Cuando un paciente nuevo llega a la consulta, hay una probabilidad
700/1000 = 70% de que el paciente tenga G.
Pueden hacerse las siguientes afirmaciones:
440
= 0.44
1000
Verosimilitud: El 50% de los pacientes que tienen la enfermedad vomitan.
p(v|g) = card(v,g)/card(g)=350/750=0.5
Mientras que slo el 30% de los pacientes que no tienen la enfermedad vomitan
p(v| g)=card(v, g)/card( g)= 90/300=0.3
Verosimilitud: El 45% de los pacientes que tienen la enfermedad vomitan y pierden
peso,
p(v,p|g) = card(v,p,g)/card(g)=315/750=0.45
Mientras que slo el 12% de los que no tienen la enfermedad vomitan y pierden
peso
p(v,p| g) = card(v,p, g)/card( g)=35/300=0.12
Puesto que la probabilidad inicial de que el paciente tenga adenocarcinoma
gstrico, p(g)=0.7, no es suficientemente alta para hacer un diagnstico (tomar
una decisin ahora implica una probabilidad 0.3 de equivocarse), el doctor decide
examinara al paciente para obtener ms informacin:
Supngase que los resultados muestran que el paciente tiene los sntomas
vmitos (V=v) y prdida de peso (P=p).
Cul es ahora la probabilidad de que el paciente tenga la enfermedad?
Tras observar que V=v la probabilidad a posteriori es:
34
PROBABILISTICOS
35
Leccin 34
7.5 Sistemas Basados en Casos
Tambin conocido como Razonamiento basado en casos (CBR) es el proceso de
solucionar nuevos problemas basndose en las soluciones de problemas
anteriores, aprender a partir de experiencias precedentes o casos, adaptando
soluciones antiguas para resolver problemas nuevos. Se usa razonamiento
basado en casos cuando un mecnico de automviles repara un motor por que
record que otro auto presentaba los mismos sntomas o cuando un abogado que
apela a precedentes legales para defender alguna causa, tambin un ingeniero
cuando copia elementos de la naturaleza, est tratando a esta como una base de
datos de soluciones.
El Razonamiento basado en casos es una manera razonar haciendo analogas. Se
ha argumentado que el razonamiento basado en casos es ms que un mtodo
poderoso para el razonamiento de computadoras, sino que es usado por las
personas para solucionar problemas cotidianos. Ms radicalmente se ha sostenido
que todo razonamiento es basado en casos por que est basado en la experiencia
previa.
La siguiente es la definicin dada por Kolodner en 1993:
A case is a contextualized piece of knowledge representing an experience that
teaches a lesson fundamental to achieving the goals of the reasoner, [Kolodner,
1993]
7.5.1. Historia
Razonamiento basado en casos tiene sus races en el trabajo de Roger Schank y
sus estudiantes en la universidad de Yale a principio de la dcada de los 80. El
modelo de memoria dinmica de Schank54 fue la base de los tempranos sistemas
CBR: Janet Kolodner's en 1983 ayudo a la construccin de CYRUS55 and Michael
54
Roger Schank, Dynamic Memory: A Theory of Learning in Computers and People (New York: Cambridge
University Press, 1982).
55
Janet Kolodner, "Reconstructive Memory: A Computer Model," Cognitive Science 7 (1983): 4.
36
Cuando nos encontramos delante de un nuevo problema para el cual tenemos que
dar una solucin lo que primer que tenemos que hacer es dado ese determinado
problema recordar los casos relevantes que pueden solucionarlo. Estos casos
relevantes tendrn que ser una seleccin de aquellos casos de los que
disponemos en la base de conocimiento del sistema experto.
56
37
Una vez tenemos este conjunto de casos que guardan una serie de similitudes con
el caso para el cual se propone una solucin lo que se tiene que hacer es adaptar
la solucin de todos esos problemas, en su globalidad o solamente en alguna de
sus partes que nos interese para transformar el contexto de esos problemas en el
problema que tenemos actualmente.
Este es un proceso circular en el que reutiliza diversos casos de la base de
conocimiento, se revisa la solucin y si no es factible se vuelve a modificar con la
inclusin o la eliminacin de los casos que fuesen incorrectos o aadiendo
aquellos que faltasen para perfeccionar la solucin.
Finalmente el ltimo paso es la retencin. Despus de que la solucin haya sido
adaptada satisfactoriamente para solucionar el problema dado, almacenaramos la
experiencia resultante como un nuevo caso en la memoria.
Leccin 35
7.6 Redes Neuronales Artificiales
Una red neuronal 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 de dar el cerebro que se caracterizan por su generalizacin y su
robustez60.
60
38
39
61
HASEMER, Tony y John Domingue. Common LISP Programming for Artificial Inteligence.
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:
8.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.
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 tiempo63.
8.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 IA64.
Leccin 37
8.2 Herramientas y SHELLS utilizados en la construccin de SE
Inicialmente cada SE que se creaba, se construa a partir de un lenguaje de IA tal
como LISP. Pero despus de que muchos sistemas expertos se construyeron as,
quedo claro que estos sistemas estaban construidos como un conjunto de
representaciones declarativas (reglas) combinado con un intrprete de estas
representaciones; tambin quedo claro que era posible separar el intrprete del
conocimiento especfico del dominio y por lo tanto se podan crear sistemas que
podan ser usados para construir nuevos SE agregando simplemente
conocimiento correspondiente al dominio del nuevo problema.
63
64
As nacieron los shells los cuales sirven como base para muchos SE, ya que
proporcionan mucha flexibilidad en representacin del conocimiento y
razonamiento, as como adquisicin de conocimiento. 65
Los principales shells de SE, que como ya se mencion, son SE sin su base de
conocimiento, es decir, se pueden utilizar de forma genrica para cualquier tema,
se describen a continuacin.
8.2.1. Gold Works II
Esta herramienta de programacin creada por Gold Hill Computers Inc. Se ejecuta
bajo LISP y utiliza la metodologa orientada a objetos. Este programa corre en
computadoras IBM compatibles, Macintosh y estaciones de trabajo Sun.
Las caractersticas que realzan a este programa incluyen una herramienta
dinmica de grficos que permite la creacin de imgenes activas as como
tambin permite desarrollar interactivamente interfaces grficas dinmicas sin
tener que escribir ni una lnea de cdigo; tambin se incluyen visores orientados a
grficos para marcos, reglas y afirmaciones (aserciones). Se integra fcilmente
con C.
8.2.2. ART
ART es una herramienta que tiene un nmero de caractersticas poderosas para el
desarrollo de SE, por ejemplo, permite la construccin de varios escenarios o
mundo hipotticos, los cules pueden ser explorados automticamente para
determinar su deseabilidad. De esta forma varios escenarios alternos pueden ser
explorados para probar un plan estratgico dado con un conjunto de sentencias
dado.
La caracterstica de esquema es otro aspecto de este programa el cual provee una
representacin orientada a objetos para sistemas resolutores de problemas
basados en conocimientos.66
8.2.3. LOOPS
LOOPS fue desarrollado en el Xerox PARC en 1983. Una de las ideas centrales
en el diseo del ambiente LOOPS es proveer un sistema de programacin de IA
que pueda soportar una estructura de mltiples paradigmas que permitan tantas
opciones de entre paradigmas de programacin como sea posible. La versin
actual soporta cuatro paradigmas de programacin principales:
65
66
67
Leccin 38
8.3 Representacin del conocimiento
El conocimiento es la comprensin adquirida, implica aprendizaje, conciencia 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:
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.
68
Leccin 39
8.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.
8.6.1. 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
proceso de inferencia y conduce a la introduccin repeticiones y lo que es peor,
contradicciones.70
8.7 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
70
10
Leccin 40
8.8 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.
71
72
ANGULO Usategui, Jos Mara y Anselmo del Moral Bueno. Gua fcil de la inteligencia artificial.
ARTEAGA, Ren y Juan Carlos Armijos. Op. cit.
11
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:
73
BENCHIMOL, Guy, Pierre Levine y Jean Charles Promerol. Los sistemas expertos en la empresa.
12
Poder de abstraccin.
13
8.10
de
es
de
en
14
El orden de los objetos dentro de la relacin es arbitrario, pero hay que ser
coherentes a lo largo de la base de hechos.
9.1.2 Variables
Representan objetos que el mismo PROLOG determina. Las variables son
cadenas de letras, dgitos y el signo '_'. Estas empiezan con una letra mayscula o
el smbolo '_': Una variable puede estar instanciada o no instanciada. Esta
instanciada cuando existe un objeto determinado representado por la variable. De
este modo, cuando preguntamos "Un coche tiene X ?", PROLOG busca en los
hechos cosas que tiene un coche y respondera:
X = ruedas.
74
15
Una regla consiste en una cabeza y un cuerpo, unidos por el signo ":-".
La cabeza esta formada por un nico hecho.
El cuerpo puede ser uno o ms hechos (conjuncin de hechos), separados
por una coma (","), que acta como el "y" lgico.
Las reglas finalizan con un punto (".").
16
Cabe sealar que la regla esta "al revs". Esto es as por el mecanismo de
deduccin hacia atrs que emplea PROLOG. Si cometiramos el error de
representarla como:
tiempo(lluvioso) :- suelo(mojado).
suelo(mojado).
PROLOG, partiendo del hecho de que el suelo esta mojado, deducira
incorrectamente que el tiempo es lluvioso.
Para generalizar una relacin entre objetos mediante una regla, utilizaremos
variables. Por ejemplo:
Representacin lgica | Representacin PROLOG
Es un coche(X) | tiene(X,ruedas) :
tiene(X,ruedas) | es un coche(X).
Con esta regla generalizamos el hecho de que cualquier objeto que sea un coche,
tendr ruedas. Al igual que antes, el hecho de que un objeto tenga ruedas, no es
una condicin suficiente de que sea un coche. Por lo tanto la representacin
inversa sera incorrecta.
9.1.4 Comentarios
Cuando se quiere hacer un comentario que cuenta con ms de una lnea, se hace
de la siguiente manera:
/* Comentario x Comentario y */
Si el comentario es de una solo lnea simplemente se antecede el signo de % al
comentario. Es importante saber que los comentarios no tienen efecto en la
ejecucin del programa.
% Comentario
9.1.5 El mbito de las variables.
Cuando en una regla aparece una variable, el mbito de esa variable es
nicamente esa regla. Supongamos las siguientes reglas:
(1) hermana_de(X,Y) :- hembra(X), padres(X,M,P), padres(Y,M,P).
(2) puede_robar(X,P) :- ladron(X), le_gusta_a(X,P), valioso(P).
Aunque en ambas aparece la variable X (y la variable P), no tiene nada que ver la
X de la regla (1) con la de la regla (2), y por lo tanto, la instanciacin de la X en (1)
no implica la instanciacin en (2). Sin embargo todas las X de *una misma regla* si
que se instanciaran con el mismo valor.
17
Leccin 42
9.1.6 Operadores
Son predicados predefinidos en PROLOG para las operaciones matemticas
bsicas. Su sintaxis depende de la posicin que ocupen, pudiendo ser infijos o
prefijos. Por ejemplo el operador suma ("+"), podemos encontrarlo en forma prefija
'+(2,5)' o bien infija, '2 + 5'.
9.1.6.1 Aritmticos
Todas las versiones de Prolog soportan los siguientes operadores aritmticos,
listados en el orden de prioridad de ejecucin.
+ SUMA
- RESTA
* MULTIPLICACIN
/ DIVISIN
// DIVISION ENTERA
MOD RESIDUO
^ POTENCIA
Los parntesis se pueden utilizar para dar preferencia de ejecucin en una
expresin compuesta. Prolog utiliza la precedencia de operadores con la regla de
la mano izquierda.
A continuacin se muestran algunas operaciones ms complejas que PROLOG
provee:
Tabla 9.1 Otros operadores que soporta prolog
Operacin
9.1.6.2
Descripcin
Sqrt(X)
log(X)
Calcula el logaritmo de X
ln(X)
abs(B)
sin(T)
Seno de T
cos(A)
Coseno de A
tan(C)
Tangente de C
Relacionales
18
19
9.1.9 Consultas
Para plantear una consulta en Prolog, el usuario simplemente prueba sta, para
ver si sta es verdadera. Si la prueba es positiva, Prolog contesta: YES, de lo
contrario responde NO, o tambin se usa TRUE o FALSE, dependiendo del
programa que se use para la programacin.
lenguaje. paciente ("ana", femenino). yes
9.1.10 Clusulas y Relacines
La programacin lgica est basada en la nocin de relacin. Debido a que en la
relacin es un concepto ms general de una aplicacin. La programacin lgica es
potencialmente de alto nivel. Considerar 2 conjuntos de valor S y T, R es la
Relacin entre S y T, para toda X que pertenece a S y Y que pertenece a T y
R(X,Y) es verdadero o falso. Dado a, determinar el valor m(a). En la programacin
Lgica se implementa las relaciones. Sea R una relacin:
Dado a y b, determinar cuando R(a,b) es verdadero.
Dado a, encontrar todos los Y/R(a,y) es verdadero.
Dado b, encontrar todos los X/R(x,b) es verdadero.
Encontrar X y Y/R(x,y) es verdadero.
9.1.10.1 Tipos de Relaciones
Si R(x) entonces relacin unitaria.
Si R(x ,y) entonces relacin binaria.
Si R(x, y, z) entonces relacin ternaria.
Un programa en PROLOG define una coleccin de relaciones. Cada relacin es
definida por una o ms clusulas.
9.1.10.2 Interpretacin de una Clusula en Prolog
A:- A1,...,An.
:- Es equivalente "Si" o "si".
, Es equivalente "AND".
; Es equivalente a "OR"
Leccin 43
9.2 Construccin de reglas de produccin en Prolog
La estructura de una regla en PROLOG es la siguiente:
consecuente :- condicion1, condicion2, ..., condicionN.
La cual se lee: El Consecuente es verdadero si y solo si las n condiciones
especificadas a la izquierda del smbolo :- son todas verdaderas, pues la coma
representa la conjuncin lgica. As el consecuente representa la consecuencia de
la veracidad de las condiciones mencionadas.
21
22
23
}
}
Obsrvese que en la segunda lnea del bloque else se realiza un llamado
recursivo al mtodo suma, de forma tal, que se realiza la operacin disminuyendo
el valor de N hasta que este se hace 1, en el cual termina la recursividad y se
origina la respuesta.
Leccin 44
9.3 Estructura de un programa PROLOG
Un programa Prolog est formado por una secuencia de enunciados: hechos, reglas y
comentarios.
Una relacin puede estar especificada por hechos, simplemente estableciendo objetos
que satisfacen la relacin o por reglas establecidas acerca de la relacin.
Cada regla est formada por un primer miembro (o la cabeza de la regla), un segundo
miembro (o cola de la regla) ligados por " :- " y termina con el carcter " . ".
cdigo del programa
** Comentarios **
% ejemplo de la estructura que
% debe llevar un programa prolog
** Hechos **
mujer(maria).
hombre(pedro).
hombre(manuel).
hombre(arturo).
** Relaciones **
padre(pedro,manuel).
padre(pedro,arturo).
padre(pedro,maria).
** Reglas **
nino(X,Y):- padre(Y,X)
hijo(X,Y):-nino(X,Y),hombre(X).
hija(X,Y):-nino(X,Y),mujer(X).
hermano_o_hermana(X,Y):-padre(Z,X),padre(Z,Y).
hermano(X,Y):-hermano_o_hermana(X,Y),hombre(X).
hermana(X,Y):-hermano_o_hermana(X,Y),mujer(X).
25
Leccin 45
9.4 Ejemplo de un programa en PROLOG
Una vez tengas instalado SWI-Prolog en tu equipo y lo ejecutes te aparecer la
consola que permite hacer consultas.
En Windows
Al iniciar Prolog, aparece la consola en la cual se hacen las consultas:
27
10. BIBLIOGRAFIA
Castillo, E., Gutierrez, J.M. y Hadi, H (1997), Expert Systems and Probabilistic
Network Models. Springer, New York. Versin Espaola editada por la Academia
Espaola de Ingeniera.
Durkin, J. (1994), Expert Systems: Design and Development. Maxwell Macmillan, New
York.
(2.001),
Sistemas
Expertos
Principios
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/
28
www.laguia.com.ar/aaia.htm
http://es.wikipedia.org/wiki/Case-based_reasoning
http://www.ingenieria.uady.mx/weblioteca/sistemasinteligentes/Tema05/CB
R1.htm
http://www.inf.udec.cl/~revista/ediciones/edicion9/psalcedo.pdf
Esta es la ltima versin de SWI-Prolog para Windows.
http://www.swi.psy.uva.nl/cgi-bin/nph-download/SWI-Prolog/w32pl5213.exe
En este vnculo se encuentran una serie de transparencias que ilustran los
conceptos bsicos de Prolog. http://webepcc.unex.es/agomez/prolog.htm
Otro vnculo con informacin sobre conceptos bsicos, (se recomiendan los
archivos pdf Tema0,I,II,III,IV). http://polaris.lcc.uma.es/~pacog/apuntes/pd/
Pdf
con
un
buen
tutorial
y
ejemplos
de
programas
http://euitio.trisquelmedia.net/apuntes/viejo/primero/logica/Programacion%2
0practica%20en%20prolog.zip
Programas de ejemplo: http://www.lsi.upc.es/~bejar/docencia/ia.html
29