You are on page 1of 171

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD

ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA


CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

SISTEMAS EXPERTOS

DIANA MARCELA CARDONA ROMAN


Ver 2.1

UNIVERSIDAD NACIONAL ABIERTA Y


A DISTANCIA UNAD
2.009

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA


ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERIA
PROGRAMA DE INGENIERA DE SISTEMAS

299017 SISTEMAS EXPERTOS


DIANA MARCELA CARDONA ROMAN
Ingeniera de Sistemas1
(Directora Nacional)

GUSTAVO CASTRO
Acreditador

ACACIAS
Julio de 2009

Estudiante de Maestra de Ing. de sistemas y computacin de la Universidad Nacional de Colombia

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

ASPECTOS DE PROPIEDAD INTELECTUAL Y VERSIONAMIENTO


El presente mdulo fue diseado en el ao 2005 por el Ing. John Alejandro
Figueredo Luna, docente de la UNAD ubicado en el CEAD de Acacas, el Ing.
Figueredo es Ingeniero de Sistemas, especialista en soluciones telemticas de la
Universidad Autnoma, se ha desempeado como tutor de la UNAD desde el
2003, fue el vicerrector espejo de medios y mediaciones de la zona amazonia
orinoquia, actualmente se encuentra en el rea de formacin de formadores y
dirige el diplomado de diseo de objetos virtuales de aprendizaje.
El presente mdulo ha tenido dos actualizaciones, una de ellas desarrollada
por el ing. Figueredo en el 2006 y la segunda realizada en el 2009 por la ing.
Diana Marcela Cardona, Ingeniera de sistemas, tutor de la UNAD en el CEAD
Acacas, coordinadora zonal del SIUNAD de la Amazorinoquia, candidata a master
en ciencias de la computacin, vinculada desde el 2006, directora del curso a
nivel nacional desde enero de 2008 hasta la fecha.
Las actualizaciones del material han contenido nuevos captulos, cambios
en la estructura anterior a la solicitada actualmente como es unidades, captulos y
lecciones, se ha unificado informacin y se ha actualizado parte de la informacin
del mdulo con informacin reciente, se incluy una unidad completa del manejo
de lenguajes y un captulo con el manejo del lenguaje Prolog.
Durante el mes de julio de 2009 el presente mdulo ingresa en un periodo
de acreditacin por el ing. Gustavo Castro, quien apoy el proceso de revisin de
estilo del mdulo y dio aportes disciplinares, didcticos y pedaggicos en el
proceso de acreditacin de material didctico.

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

INDICE DE CONTENIDO
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 1 Visin General de la Inteligencia Artificial


o Introduccin
o La base de la inteligencia artificial (IA)
o Pueden pensar las mquinas?
Leccin 2 Visin General de la Inteligencia Artificial
o Los fines de la Inteligencia Artificial
o Historia y Evolucin de la Inteligencia Artificial
Leccin 3 Caractersticas de la Inteligencia Artificial
o Programa fijo y programa modificado por el procesamiento
Leccin 4 Funcionamiento Bsico de la Inteligencia Artificial
o Smbolos vs. Mtodos Numricos
o Alfabeto del Lenguaje de la Lgica de Primer Orden
Leccin 5 Principales Ramas de la Inteligencia Artificial
o Sistemas Expertos
o Robtica
o Sistemas de Visin
o Procesamiento de Lenguaje Natural
o Sistemas de Aprendizaje
o Redes Neuronales
o Sistemas Inmunes Artificiales
o Extraccin de Conocimiento (Minera de Datos)

CAPITULO 2. VISION GENERAL DE LOS SISTEMAS EXPERTOS

Leccin 6 Visin General de los Sistemas Expertos


o Introduccin
o Historia de los Sistemas Expertos (SE)
Leccin 7 Que es un Sistema Experto?
o Caractersticas de un Sistema Experto
Leccin 8 Ventajas de los Sistemas Expertos
o Cules son las ventajas de un sistema experto?
Leccin 9 Comparacin del Sistema Experto

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

o Los Expertos Humanos


o Diferencias entre un Experto y un no experto humano
o Diferencias entre un Sistema Experto y un Programa Tradicional
o Diferencias entre un Sistema Experto y un Experto Humano
o Ventajas de los sistemas expertos
Leccin 10 Futuro de los Sistemas Expertos
o Forma en que los usuarios interactan con los sistemas expertos
o Sistema Experto vs. Sistema Clsico
o Futuro de los Sistemas Expertos

CAPITULO 3. CAMPOS DE APLICACIN, TAREAS QUE REALIZAN Y


EJEMPLOS DE SISTEMAS EXPERTOS

Leccin 11 Campos de Aplicacin


o Medicina
o Anlisis de estados financieros
o Planificacin Financiera
o Contabilidad
o Industria
Leccin 12 Otros campos de aplicacin
o Electrnica, informtica y telecomunicaciones
o Militar
o Robtica
o Reconocimiento de patrones
o Otros campos de aplicacin
Leccin 13 Tareas que realizan los sistemas expertos
o Interpretacin, diagnstico y monitoreo
o Diseo y seleccin
o Planificacin
o Control
o Reparacin, correccin o terapia
o Simulacin, pronstico o prediccin
o Instruccin
o Recuperacin de Informacin
Leccin 14 Ejemplos de Sistemas Expertos en Empresas
o En la Industria
o En Contabilidad
o En Anlisis de Estados Financieros
o En Planificacin Financiera
o En la Aviacin
o En Medicina
Leccin 15 Aplicaciones actuales
o Simulacin del Baloncesto
o GENSYM: Operaciones Expertas
o G2 CLASSIC

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

UNIDAD 2. DESARROLLO DE UN SISTEMA EXPERTO


CAPTULO 4. ARQUITECTURA Y ELEMENTOS DE LOS SISTEMAS EXPERTOS

Leccin 16 Generalidades
o Introduccin
Leccin 17 Arquitectura de un SE
Leccin 18 Elementos de un Sistema Experto (I)
o Componente Humana
o Base de Conocimiento
Leccin 19 Elementos de un Sistema Experto (II)
o Componente de adquisicin
o Control de Coherencia
o Motor de Inferencia
Leccin 20 Elementos de un Sistema Experto (III)
o Componente de ejecucin
o El componente explicativo
o La interfase del usuario

CAPITULO 5. PROCESO DE DESARROLLO DE UN SISTEMA EXPERTO

Leccin 21 Desarrollo de un sistema experto


o Introduccin
o Desarrollo de un sistema experto
 La base de conocimiento
 Cinco Pasos en la Construccin de una Base
Conocimientos
 Proceso Lgico de Carga de la Base de Conocimiento
Leccin 22 Motor de Inferencia
o El motor de inferencia
 Mtodo de encadenamiento hacia delante
 Mtodo de encadenamiento hacia atrs.
 Mtodo de reglas de produccin
Leccin 23 Identificacin de patrones
o Construccin del Mecanismo de Inferencia
o Identificacin de patrones.
o Ejecucin de las reglas.
Leccin 24 Fases de las reglas
o La fase de restriccin.
o La fase de seleccin.
Leccin 25 Ejemplo de Motor de Inferencia
o Ejemplo de Funcionamiento del Motor de Inferencia

de

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

CAPITULO 6. SISTEMAS EXPERTOS BASADOS EN CONOCIMIENTO

Leccin 26 Sistemas Basados en Conocimiento


o Definicin de sistemas basados en conocimiento
o Caractersticas de los sistemas basados en conocimiento
o Principales problemas
Leccin 27 Estructura de los Sistemas Basados en Conocimiento
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
Leccin 30 Ejemplo de Construccin de un sistema experto, Problema de
Monitorizacin
o rboles de decisin
o rboles de decisin que aprenden
o Definicin del problema
o Proceso del desarrollo del programa

UNIDAD 3. APRENDIZAJE DE LOS SISTEMAS EXPERTOS


CAPITULO 7. TIPOS DE SISTEMAS EXPERTOS

Leccin 31 Sistemas Basados en Reglas


o Base del conocimiento
o Motor de inferencia
 Modus Ponens y Modus Tollens
 Encadenamiento de Reglas
 Encadenamiento de Reglas orientado a un objetivo
o Control de Coherencia
 Coherencia de Reglas
 Incoherencia de Reglas
 Coherencia de Hechos
o Ejemplo
o Conclusiones
Leccin 32 Sistemas Expertos Probabilsticos
o La incertidumbre
o Tipos de variables aleatorias
o Definicin de Sistemas Expertos Basados en Probabilidad
 Medidas de Probabilidad.
 Propiedades
 Distribucin de probabilidad

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

 Probabilidad Condicional
 Dependencia e Independencia
 Teorema de Bayes
 Reglas generalizadas
o Introduccin de los sistemas expertos basados en probabilidad
o La Base del Conocimiento
 Modelo de Sntomas Dependientes
 Modelo de Sntomas Independientes
 Modelo de Sntomas Relevantes Dependientes
o Motor de Inferencia
Leccin 33 Redes Bayesianas
o Aprendizaje Automtico de la Red Bayesiana
o Clasificadores Bayesianos
 Ejemplo: Adenocarcinoma gstrico
o Comparacin entre los SE basado en Reglas y los SE basados en
Probabilidades
Leccin 34 Sistemas Basados en Casos
o Historia
o El ciclo del razonamiento basado en casos
Leccin 35 Redes Neuronales Artificiales
o Ventajas

CAPITULO 8. LENGUAJES UTILIZADOS

Leccin 36 Lenguajes utilizados en la construccin de SE


o LISP
o CLIPS
o Prolog
o Smalltalk
o C y C++
Leccin 37 Herramientas y SHELLS utilizados en la construccin de SE
o Gold Works II
o ART
o LOOPS
o KEE
o Humble
o EMYCIN
Leccin 38 Representacin del conocimiento
o Representacin del conocimiento
o Lgica Proposicional
o Lgica de Predicados
o Ventajas y desventajas de la lgica de predicados
Leccin 39 Reglas de produccin
o Reglas de Produccin
o Ventajas y desventajas de las reglas de produccin
o Redes Asociativas

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

o Ventajas y desventajas de las Redes Asociativas


Leccin 40 Estructuras Frame
o Ventajas y desventajas de los frames
o Representacin orientada a objetos
o Ventajas y desventajas de la representacin orientada a objetos

CAPITULO 9. INTRODUCCIN A PROLOG

Leccin 41
Leccin 42
Leccin 43
Leccin 44
Leccin 45

BIBLIOGRAFIA

Conceptos bsicos
Tipos de operadores de Prolog
Construccin de reglas de produccin en Prolog
Estructura de un programa en Prolog
Ejemplo programa en Prolog

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

LISTADO DE TABLAS
Tabla 2.1 Comparacin entre un sistema tradicional y un Sistema Experto.
Tabla 2.2 Diferencias entre un experto y un no experto humano.
Tabla 2.3 Diferencias entre un Sistema Experto y un Programa Tradicional.
Tabla 2.4 Diferencias entre un Sistema Experto y un Experto Humano.
Tabla 2.5 Comparativa entre un Sistema Clsico y un Sistema Experto
Tabla 3.1 Tareas comunes de los sistemas expertos
Tabla 6.1 Acciones que debe realizar el monitor
Tabla 7.1 Un ejemplo de objetos con sus posibles valores
Tabla 7.2 Objetos y posibles valores para el ejemplo del cajero automtico
Tabla 7.3 Una tabla de verdad mostrando que las expresiones lgicas AoB y A y
B son equivalentes. Los smbolos C y F se utilizan para cierto y falso,
respectivamente.
Tabla 7.4 Ejemplos de sustitucin de reglas: Las reglas en la primera columna
Tabla 7.5 Una tabla de verdad que muestra que las Reglas 1 y 2 son coherentes
Tabla 7.6 Una tabla de verdad que muestra que las Reglas 1 y 2 son coherentes
Tabla 7.7 Objetos y sus correspondientes valores para el ejemplo del control de
trfico ferroviario.
Tabla 7.8 Reglas para el ejemplo del control de trfico ferroviario.
Tabla 7.9 Tabla de diez pacientes y el diagnostico binario de 5 enfermedades
Tabla 7.10 Tabla con datos de funciones de probabilidad. Probabilidad conjunta
Tabla 7.11 Comparacin entre los sistemas expertos basados en reglas y los
sistemas expertos basados en probabilidades
Tabla 9.1 Otros operadores que soporta prolog

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

LISTADO DE FIGURAS
Figura 1.1 Visualizacin Inteligencia Artificial
Figura 1.2 Visualizacin del mundo real por el Cerebro humano - Sistema Artificial
Figura 1.3 Anlisis de oraciones
Figura 1.4 Rama de la Inteligencia Artificial
Figura 1.5. Diferencia entre un programa tradicional y un sistema experto
Figura 1.6 Funcionamiento de un SE usado en mantenimiento predictivo
Figura 1.7 Ejemplo sencillo de sistema experto usando el mtodo Determinstico.
Figura 1.8. Principales tcticas de ataque
Figura 2.1 Arquitectura de un Sistema Experto
Figura 2.2. Componentes tpicos de un sistema experto. Las flechas representan
el flujo de la informacin.
Figura 2.3 Relacin entre los elementos de un sistema experto
Figura 2.4 Equipo de desarrollo de un SE
Figura 2.5. Desarrollo de un Sistema Experto
Figura 2.6 Mtodo de encadenamiento hacia adelante
Figura 2.7. Encadenamiento hacia atrs
Figura 2.8. Sistema Basado en conocimiento
Figura 2.9. La base de conocimientos es vista como un objeto contenedor de otros
objetos usando la Metodologa Orientada a Objetos
Figura 2.10. Representacin de dispositivos para el problema en la planta de
procesamiento
Figura 2.11. Representacin de dispositivos para el problema en la planta de
procesamiento
Figura 3.1 Proceso lgico de carga de la Base de conocimiento.
Figura 3.2. Proceso de inferencia de carga de la base de hechos
Figura: 3.3. Regla de inferencia de Modus Ponens
Figura 3.4. Regla de inferencia de Modus Tollens
Figura 3.5 Un ejemplo de un conjunto de seis reglas relacionando 13 objetos.
Figura 3.6 Una representacin grfica de las relaciones entre las seis reglas de la
Figura 3.5
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
Figura 3.8 Trazado de ferrocarril con cinco vas.
Figura 3.9. Diagrama de Ven de la regla de Bayes en forma Genera
Figura 3.10. Modelo de Sntomas dependientes
Figura 3.11. Modelo de Sntomas independientes
Figura 3.12. Modelo de Sntomas relevantes independientes
Figura 3.13. Modelo de Sntomas Relevantes dependientes

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

Figura 3.14. Grfico correspondiente al clasificador simple bayesiano con 6


atributos de entrada
Figura 3.15. Un ejemplo de estructura TAN
Figura 3.16. Un ejemplo de estructura SAN
Figura 3.17. Diagrama de Ven del Adenocarcinoma gstrico
Figura 3.18. Perceptrn con 2 entradas
Figura 3.19. Consola de Prolog
Figura 3.20. Archivo de Prolog

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

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, el conocimiento se obtiene del experto por el
ingeniero del conocimiento el cual es codificado 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.

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

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.

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

UNIDAD 1. VISION GENERAL DE LA INTELIGENCIA ARTIFICIAL Y


LOS SISTEMAS EXPERTOS
Nombre de la
Unidad
Introduccin

Intencionalidades
Formativas

Denominacin de
captulos

Visin General de la Inteligencia Artificial y los Sistemas


Expertos
En esta unidad se pretende entender que es la
Inteligencia Artificial, que son los Sistemas Expertos y
porque es necesaria esta ciencia y esta rea en la vida de
hoy para la sociedad
Esta unidad tiene como Metas:

Mostrar las divisiones de la Inteligencia Artificial.

Dar a conocer de forma clara los conceptos


fundamentales de los sistemas expertos.

Conocer los sistemas expertos ms comunes que


se han puesto en el mercado. As como el campo
de aplicacin de estos.

Al final de la unidad el estudiante podr:


Identificar como hacer que las maquinas puedan
tener comportamientos humanos
Identificar la historia de la IA y su evolucin
Identificar las reas de la Inteligencia artificial
Determinar que es un sistema experto
Identificar las diferencias entre un sistema experto
y uno tradicional
Relacionar la importancia de los sistemas expertos
y la sociedad
Examinar el futuro de los sistemas expertos
CAPITULO 1. INTRODUCCIN A LOS CONCEPTOS
BSICOS DE LA IA
CAPITULO 2. VISION GENERAL DE LOS SISTEMAS
EXPERTOS
CAPITULO 3. CAMPOS DE APLICACIN, TAREAS QUE
REALIZAN Y EJEMPLOS DE SISTEMAS EXPERTOS

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

CAPTULO 1. INTRODUCCIN A LOS CONCEPTOS BSICOS DE


LA INTELIGENCIA ARTIFICIAL
1.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.

Leccin 1 Visin General de la Inteligencia Artificial

1.2.

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.

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

1.3.

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 poda 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.

Leccin 2 Visin General de la Inteligencia Artificial II

1.4.

Los fines de la Inteligencia Artificial

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

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

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.5.

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.

Figura 1.1 Visualizacin 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.

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

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.

Leccin 3 Caractersticas de la Inteligencia Artificial

1.6.

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

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

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.

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

1.6.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.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

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

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 Funcionamiento Bsico de la Inteligencia Artificial

1.7.

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.7.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.

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

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.7.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 (not,~), 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))),
tiene(X,cefalea).

recetar(X,aspirina)<=tiene(X,fiebre),

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

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
Orden es PROLOG 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:
1. padre(luis,miguel). Hecho
2. padre(miguel,jose). Hecho
3. padre(jose,juan). Hecho
4. 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.

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

Figura 1.3 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.

Leccin 5 Principales Ramas de la Inteligencia Artificial

1.8.

Principales Ramas de la Inteligencia Artificial

Dentro de las principales ramas de la inteligencia artificial encontramos a los


sistemas expertos, lo que significa que los SE estn presentes en las dems reas
donde la inteligencia artificial tiene su arribo.

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

Figura 1.4 Rama de la Inteligencia Artificial2

1.8.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.8.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.
2

Disponible en: http://www.e-ghost.deusto.es/docs/2005/conferencias/Bayes05.pdf

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

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.8.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.8.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

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

Recuperacin de la informacin
Extraccin de la informacin

1.8.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.
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.8.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.7. Sistemas Inmunes Artificiales
Los sistemas inmunes artificiales (AIS) son sistemas computacionales adaptativos
cuya inspiracin est basada en los diferentes mecanismos del sistema inmune
biolgico, especialmente de los mamferos, con la finalidad de solucionar

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

problemas de ingeniera complejos, en los que los investigadores del rea han
mostrado resultados exitosos.
Abstracciones de los AIS:
Seleccin Negativa
Seleccin Clonal
Redes Inmunes Artificiales
1.8.8. Extraccin de conocimiento
La minera de datos (DM, Data Mining) consiste en la extraccin no trivial de
informacin que reside de manera implcita en los datos. Dicha informacin era
previamente desconocida y podr resultar til para algn proceso. En otras
palabras, la minera de datos prepara, sondea y explora los datos para sacar la
informacin oculta en ellos.
Bajo el nombre de minera de datos se engloba todo un conjunto de tcnicas
encaminadas a la extraccin de conocimiento procesable, implcito en las bases
de datos. Est fuertemente ligado con la supervisin de procesos industriales ya
que resulta muy til para aprovechar los datos almacenados en las bases de
datos.
Las bases de la minera de datos se encuentran en la inteligencia artificial y en el
anlisis estadstico. Mediante los modelos extrados utilizando tcnicas de minera
de datos se aborda la solucin a problemas de prediccin, clasificacin y
segmentacin3.

1.9.

ACTIVIDADES COMPLEMENTARIAS

1. Definir el trmino inteligencia Artificial Cul es la 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.

Tomado de: http://es.wikipedia.org/wiki/Data_mining

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

CAPTULO 2. VISION GENERAL DE LOS SISTEMAS EXPERTOS


Leccin 6 Visin 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 10 o mximo 15 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. Los sistemas expertos
comienzan a difundirse a partir de los aos 70 como una herramienta de software
utilizable en dominios de aplicacin restringidos, tales como diagnsticos mdicos,
deteccin de fallas en equipos elctricos, deteccin de yacimientos minerales.
A continuacin se dar un breve resumen de la historia de los Sistemas Expertos
agrupada por fechas:

1950: Alan Turing present un estudio sobre la Inteligencia Artificial,


"Computing Machinery and Inteligence". En este documento, propuso su
test (Turing test) para determinar cuando una mquina posee inteligencia
artificial. En un primer documento, Turing haba sugerido la posibilidad de
simular el comportamiento del cerebro humano.

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

1955: IPL-II (Information Processing Language II), primer lenguaje de


Inteligencia Artificial. Fue creado por Alien Newell, J.C. Shaw y Herbert
Simn. IPL es un lenguaje basado en proceso de listas y puede
considerarse como un antecesor del LISP, lenguaje ms usado actualmente
en Inteligencia Artificial.

1956: John McCarthy propone el uso del termino Inteligencia Artificial para
denominar el estudio del tema, en una conferencia en Dartmouth (USA).
Organizada adems por Marvin Minsky, Mathaniel Rochester y Claude
Shannon con fondos de la Fundacin Rockefeller, donde reuni a
profesionales que haban trabajado en el campo de la Inteligencia Artificial.
Entre los participantes, adems de los cuatro organizadores estaban Arthur
Samuel, Trenchard llore, Oliver Selfridge, Alien Newell, Ray Solomonoff y
Herbert Simn. Logic Theorist (LT), desarrollado por Newell, Shaw y Simn
fue discutido en esta conferencia. LT, considerado como el primer programa
que utiliz tcnicas de Inteligencia Artificial, emplea la bsqueda heurstica
para resolver alguno de los problemas contenidos en el libro "Principia
Mathematica" de Whitehead y Russell.

1957: Aparece la primera version de The General Problem Solver (GPS:


Solucionador General de Problemas), el cual era capaz de solucionar
problemas de sentido comn pero no de la vida real, desarrollado por
Newell, Shaw y Simn.

1958: John McCarthy desarrolla en el MIT el lenguaje LISP (LISt


Procesing).

1959: Arthur Samuel disea un programa para jugar a las damas, capaz de
ganar a los mejores jugadores del momento. Su documento fue publicado
por IBM Journal and Development. Frank Rosenblatt describi su mquina,
Perception, para reconocimiento de formas en "Proceedings of a
Symposium on the Mechanization of Thought Processes". Despus de un
perodo de abandono de las ideas propugnadas por Rosenblatt, hoy con la
aparicin de las mquinas conexion istas, Boltzmann y neuromimticas,
dichas ideas vuelven a tener vigencia.

1960: Inicio de las investigaciones en el MIT, del proyecto de Inteligencia


Artificial bajo la direccin de John McCarthy y Marvin Minsky.

1964: Daniel G. Bobrow public su tesis doctoral, basada en su Sistema


STUDENT. STUDENT es un programa que utiliza el lenguaje natural y
puede comprender y resolver problemas de lgebra.

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

1965: Se publica "Computer and Thought" editado por Edward A.


Feigenbaum. Este libro, es una recopilacin de trabajos de los ms
significados representantes del rea.
o Comienzan las investigaciones en el Stanford University Heuristic
Programming Project (HPP), dentro del Stan-ford's Computer
Science Department, sobre Sistemas Expertos.
o 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).

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.

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

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.

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.

Leccin 7 Qu es un Sistema Experto?

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.
Este termino fue usado por primera vez por el doctor, Edward Feigenbaum
profesor de la universidad de Standford, el cual en 1977, estipulo que el poder de
resolucin de un problema en un programa de computadora viene del
conocimiento de dominio especifico, no solo de tcnicas de programacin y
formalismo que contiene.
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 humano4; es decir, es un programa que imita el comportamiento
4

PARSAYE, Kamran, Mark Chignell, Setrag Khoshafian y Harry Wong. Intelligent Databases.

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

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 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.
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
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.
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)
5

SCHILDT Herbert, Utilizacin de C en Inteligencia Artificial.

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

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.

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 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 fciles

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

El sistema solo opera completo


Se ejecuta paso a paso
Representa y usa datos

El sistema puede funcionar con pocas


reglas
La ejecucin usa heurstica y lgica
Representa y usa conocimiento

Leccin 8 Ventajas de los Sistemas Expertos

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.

Por otro lado, los sistemas expertos presentan grandes carencias frente a los
seres humanos:

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

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.

Leccin 9 Comparacin del Sistema Experto

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.

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

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

Tabla 2.2 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
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 sistema experto y un programa tradicional

Tabla 2.3 Diferencias entre un Sistema Experto 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

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

2.8.

Diferencias entre un sistema experto y un experto humano

Tabla 2.4 Diferencias entre un Sistema Experto y un Experto Humano.


SISTEMA EXPERTO
EXPERTO HUMANO
Conocimiento
Adquirido
Adquirido + Innato
Adquisicin
del Terico
Terico + Prctico
conocimiento
Campo
nico
Mltiples
Explicacin
Siempre
A veces
Limitacin de capacidad S
S, no valuable
Reproducible
S, idntico
No
Vida
Infinita
Finita
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.

Leccin 10 Futuro de los Sistemas Expertos

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:

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.

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

CLIENTE. El usuario aplica la pericia del sistema a tareas especficas


reales.

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


Tabla 2.5 Comparativa entre un Sistema Clsico y un Sistema Experto
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
La figura 1.5 muestra la diferencia estructurada e interna entre un programa
cualquiera o tradicional y un sistema experto.

Mientras que un sistema experto estara definido de la siguiente forma:

Figura 1.5. Diferencia entre un programa tradicional y un sistema experto

Fuente: Dennis, Alonso.(2001) Sistemas Expertos. Documento en lnea


http://es.geocities.com/denisalonso2001/SISTEMAS_EXPERTOS.htm

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

Del esquema se desprende que la base de hechos es en un sistema experto, lo


que los datos son en un programa tradicional. De la misma manera la base de
conocimientos reemplaza al algoritmo.
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.

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.

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

CAPTULO 3. CAMPOS DE APLICACIN, TAREAS QUE REALIZAN


Y EJEMPLOS DE SISTEMAS EXPERTOS
Leccin 11 Campos de Aplicacin

3.1.

Campos de Aplicacin de los sistemas Expertos

3.1.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.7
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.

3.1.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 fases8.
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.
3.1.3 Planificacin Financiera
La disciplina conocida como Gestin Financiera implica un gran nmero de
subramas (anlisis de inversiones, presupuesto de capital, anlisis financiero, etc.)

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


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

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

incluyendo la planificacin financiera. La mayora de los sistemas expertos se


centran en resolver problemas de esta disciplina.9
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.
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.

3.1.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.

Leccin 12 Otros Campos de Aplicacin

3.1.5 Electrnica, informtica y telecomunicaciones


Las aplicaciones principales de los SE son:

Ibid.

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

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.

3.1.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.

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 aplicacin10:

10

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.

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


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

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

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.
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.

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 salud11.
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
11

CONTRERAS, Carlos. Introduccin a la Inteligencia Artificial.


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

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

Agricultura
Arqueologa
Derecho
Educacin
Geologa
Meteorologa
Qumica
Transportes
Ventas

Leccin 13 Tareas que realizan los sistemas expertos

3.2.

Tareas que Realizan 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.
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.
En este tipo de sistemas se encuentran mltiples dificultades como las siguientes
a la hora de realizar su tarea:

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.

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

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 que el programa
determine 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 1.6 muestra el
funcionamiento de un SE de este tipo.

Figura 1.6 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.12
Los sistemas expertos 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 ingenieros del conocimiento 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 sistemas expertos son llamados
12

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

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

de seleccin. En reas de aplicacin, la prueba se termina cuando se encuentra la


primera 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, aunque 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 sistemas expertos.
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.

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

Los sistemas expertos 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 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 sistemas expertos para la simulacin viene motivado por su
principal caracterstica la capacidad para simular el comportamiento de un experto
humano, siendo este un proceso complejo.
En la aplicacin de los SE para simulacin hay que diferenciar 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.13
13

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


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

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

3.2.7 Simulacin, pronstico o prediccin


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.
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 los 80s fue
detallada 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.14
3.2.9 Resumen
A continuacin se presenta un resumen de las tareas que realizan los sistemas
expertos.
Tabla 3.1 Tareas comunes de los sistemas expertos15
Tareas de los SE
Ejemplos
Anlisis de grandes volmenes de datos estadsticos,
Interpretaciones
con la finalidad de obtener caractersticas econmicas,
tnicas, religiosas, etctera.
Puede tomar un conjunto de datos y poder anticiparse
ante alguna situacin. Por ejemplo, la prediccin de
Predicciones
lluvias, huracanes a partir de las condiciones del
entorno.
Diagnsticos
Diagnstico de fallas mecnicas en automviles.

14

TRAMULLAS y Kronos, Jess. Recuperacin de Informacin y Sistemas Expertos.


URL(http://www.tramullas.com/nautica/documatica/3-8.html)
15
Prez Jimnez, Miguel ngel. (2008) Sistemas expertos para la asistencia mdica. Universidad Autnoma
de Mxico. Documento en lnea: http://www.unam.mx/artic/2008/septiembre/art1.html

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

Planeacin

Planeacin de horarios acadmicos.


Diseo de circuitos electrnicos para optimizar y
Diseo
elaborar una arquitectura adecuada para su
funcionamiento.
Revisin constante de las condiciones de trabajo de
Monitoreo
maquinarias o cambios en su entorno para prevenir
fallas y saber en que momento realizar mantenimiento.
Depuracin de sistemas Identificacin de fallas en sistemas, y apoyo para su
y su reparacin
solucin.
Automatizacin de maquinarias para tener un control
Control de sistemas
propio.

Leccin 14 Ejemplos de sistemas expertos en empresas

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.
SIGCE16, 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:

16

Sistemas Expertos Limitada. Medelln Colombia. Documento en lnea http://www.sistemas-expertos.com/

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

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.
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.
3.3.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.
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,

3.3.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.
3.3.5 En la Aviacin
Del tipo que incluyen agendas 17
17

HARMON, Paul y Curtis Hall. Intelligent Software Systems.

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

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, Passenger Rev


Accounting System

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.

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

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,
las condiciones actuales del paciente, su historial mdico, entre otros
factores18.

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 envenenamiento19.

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 reglas20. 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 conocimiento21. 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.

Ejemplo prctico de aplicacin


Un mdico puede utilizar un sistema experto para efectuar diagnsticos de manera
precisa y rpida. Por ejemplo, mediante un mtodo Deterministico para el
18

KANDEL, Abraham. Fuzzy Expert Systems.


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

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

diagnstico y a travs de inferencias con reglas, como lo muestra la figura 1.7, el


mdico encuentra el tratamiento correcto para cada enfermedad. En un sistema
experto real se tienen muchas reglas analizadas y diseadas por los mdicos
especialistas.
Los sistemas expertos aplicados en la medicina permiten asegurar un buen
diagnstico en los pacientes, ya que el ser humano puede cometer errores o no
considerar algn cuestionamiento o sntoma, lo cual puede afectar al tratamiento.
Es importante destacar que la asistencia del sistema experto, ya sea en un
hospital o en un centro de salud comunitario, pudiera ahorrar recursos al eliminar
el trasladarse a otras ciudades para realizar el diagnstico.

Figura 1.7 Ejemplo sencillo de sistema experto usando el mtodo Determinstico.

Leccin 15 Aplicaciones actuales

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,

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

Arqueologa, Derecho,
telecomunicaciones.

Geologa

Industria

electrnica,

informtica

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 pruebas 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.

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

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.

3.3.7.1

Sistema experto para la simulacin de sistemas tcticos de baloncesto


con software libre22

El objetivo de este SE es simular distintas tcticas de baloncesto. El programa


presenta un manejo sencillo y permite que se puedan introducir nuevas tcticas de
ataque y de defensa al conjunto de tcticas predefinidas que incorpora el sistema.
Como principal objetivo se marc que el comportamiento del sistema fuera lo ms
fiel posible al desarrollo de un sistema tctico en un partido de baloncesto
(salvando las limitaciones de la representacin en ordenador del mundo real),
incluyendo todas las variantes de un sistema tctico en su justa medida. Cabe
destacar que los jugadores no son autnomos, sino que estn coordinados para
comportarse de acuerdo a la tctica que desarrollan.
En el baloncesto, por lo general, cualquier jugador que tire a canasta sin oposicin
(lo que se conoce como realizar un tiro cmodo) tiene muchas posibilidades de
encestar el baln. Por el contrario, el porcentaje de aciertos en tiros no cmodos
(cuando existe algn defensor amenazando al tirador) es mucho menor.
Para obtener un tiro cmodo el mtodo ms comn es realizar buenos bloqueos.
Un bloqueo es un choque entre un atacante y un defensor que permite a un
segundo atacante moverse ms libremente (normalmente para tirar a canasta o
recibir o dar un pase).
En el baloncesto las tcticas tienen una importancia vital para el desarrollo de un
partido. El reducido nmero de jugadores por equipo, cinco, hace que sea
importante que todos los jugadores intervengan en mayor o menor medida en la
jugada.
El bloqueo
Un bloqueo es un choque entre dos jugadores de distinto equipo que se provoca
para que un atacante tenga ms libertad. Es importante que el jugador atacante
22

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

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

que choque est quieto mientras se produce el contacto, pues en otro caso se le
sealar falta personal. Los pasos para realizar un bloqueo son los siguientes:
Preparacin: un primer atacante se queda quieto mientras otro compaero
se acerca a l.
Realizacin: el segundo atacante hace un movimiento rpido y pasa
rozando al compaero (de modo que este moleste lo mximo posible a su
defensor).
Accin del atacante: una vez ha pasado el atacante tiene un amplio abanico
de posibilidades. Si tiene el baln puede tirar a canasta, acercarse a ella,
pasar a un compaero, etc. En caso de que no lo tenga suele prepararse
para recibir un posible pase.
Reaccin del defensor: la reaccin del defensor es muy importante. Entre
otras acciones puede intentar seguir a su pareja (aunque a cierta distancia),
puede ordenar al jugador que bloquea, etc. No existe ninguna decisin
netamente mejor que otra para cada uno de los participantes en un
bloqueo. Segn sus posiciones concretas, el entorno y las caractersticas
de cada jugador, cada uno debe tomar la decisin que considere oportuna.
Principales tcticas de ataque
El nmero de tcticas de ataque de un entrenador son inimaginables. Cualquier
secuencia de movimientos, bloqueos, pases, quiebros, etc. que faciliten un tiro
cmodo es vlida. Sin embargo, por lo general, casi todas las tcticas suelen
basarse en dos situaciones iniciales, que son jugar al poste alto y jugar al poste
bajo (figura 1.8).

Figura 1.8. Principales tcticas de ataque

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.

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

3.3.7.2 GENSYM: Operaciones Expertas23


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
complejos. Este software se utiliza extensamente en las industrias de fabricacin,
de produccin, del espacio areo y del transporte.
Disponibilidad continua del activo
Las aplicaciones mantienen la disponibilidad de todos los recursos esenciales para
un proceso; detectando, diagnosticando, y corrigiendo los problemas antes de que
afecten las operaciones. Trabajando con los sistemas tradicionales de DCS,
software de control y los primeros principios de modelado, provee una capa de
gestin y de habilidad sobre esos sistemas, automatizando las tareas
derrochadoras de tiempo y las tareas requeridas para detectar y resolver
rpidamente cada problema.
Funcionamiento del proceso
El objetivo es maximizar la calidad del producto y productividad, mientras que se
reduce al mnimo los costos. Los analizadores suaves basados en la red neuronal
proveen el acceso instantneo a los datos (difciles de medir) de la calidad del
producto y otras variables de proceso importantes, permitiendo un control de
proceso mucho ms ajustado y reducciones significativas en la variabilidad del
producto. Los modelos tambin predicen los puntos de ajuste ptimos para el
aumento de la produccin. Esto lo hacen dentro de un ambiente robusto que
puede validar los datos del sensor, manejar las nuevas condiciones de
funcionamiento, manejan situaciones anormales y aconsejan a los operadores.
Resultados
Disponibilidad creciente del activo, calidad del producto ms alta, produccin
creciente, seguridad mejorada, mnimas consecuencias para el medio ambiente y
beneficios ms altos. Los operadores consiguen el pleno apoyo que necesitan
para manejar las operaciones de fabricacin
3.3.7.3

G2 CLASSIC

G2 Classic es un ambiente orientado a objetos de gran alcance. Su funcin es la


de desplegar las aplicaciones inteligentes que mejoran drsticamente las
operaciones complejas del negocio. Esta tecnologa provee ventajas competitivas
en los siguientes puntos:
optimizacin de las eficacias de funcionamiento.
mejoramiento del activo y sustentamiento de la disponibilidad.
mejor manejo de las operaciones crticas del tiempo.
23

Juan Manuel, Pignani. Informtica aplicada a la Ingeniera de Procesos. Universidad Tecnolgica


Nacional, Facultad Regional Rosario

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

construccin y despliegue de las aplicaciones de gestin de las


operaciones, drsticamente ms rpido.
reduccin al mnimo de los costos de mantenimiento de las aplicaciones de
gestin de las operaciones.
facilita el acotamiento y el conocimiento de las operaciones Con este
software, se puede aplicar conocimiento a los datos operacionales, al
alcance de las conclusiones, proveer consejo y ejecutar las decisiones,
todas en tiempo real. Para las operaciones de negocio, los sistemas
inteligentes capturan y aplican el conocimiento para permitir la mejora
continua de la eficiencia y el funcionamiento operacional.

Para los desarrolladores el uso de esta herramienta reduce tiempo en la


terminacin de proyectos, reduce al mnimo los riesgos del proyecto y ofrece altos
niveles de la flexibilidad y capacidad de escalonar las aplicaciones. Tambin
permite a los desarrolladores representar el conocimiento como objetos, reglas,
mtodos y procedimientos usando grficos y lenguaje natural estructural. Esto
permite probar y modificar las aplicaciones fcilmente, y que sean entendidas.
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.4.

ACTIVIDADES COMPLEMENTARIAS

1. Explique las diferentes tareas 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.
6. 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

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

cuales acciones incluir o eliminar del fondo mutualista. esta es una buena
opcin para un sistema experto? Explique su respuesta.
7. Explicar la diferencia entre una base de datos y una base de conocimientos.
8. 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?
9. 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.
10. Realice una investigacin de las compaas especializadas en el diseo de
sistemas expertos y en que reas del conocimiento han desarrollado sus
productos.

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

UNIDAD 2. DESARROLLO DE LOS SISTEMAS EXPERTOS


Nombre de la
Unidad
Introduccin

Intencionalidades
Formativas

Desarrollo de los sistemas expertos


En esta unidad se pretende que el estudiante
conceptualice e interiorice el desarrollo de un sistema
experto, cuales son sus elementos, componentes,
definiciones y estructura general o composicin del
sistema experto.
Esta unidad tiene como Metas:

Denominacin de
captulos

Mostrar a los estudiantes como se puede construir


un sistema experto y los usos de estos en la
actualidad.
Dar a entender a los estudiantes cuando un
sistema puede denominarse experto y a su vez
analizar los componentes del mismo.
Entender como se conceptualiza el desarrollo de un
sistema experto

Al final de la unidad el estudiante podr:


Identificar donde se utilizan los sistemas expertos
Identificar en que reas de la industria se
implementan
Identificar los usos en las reas del conocimiento
Identificar como extraer el conocimiento a un
experto
Identificar una metodologa para desarrollar un
sistema experto
Determinar como una maquina puede razonar
Identificar como una maquina puede explicar
Relacionar los diferentes componentes que tiene
un sistema experto
Examinar las diferente formas de representacin
del conocimiento
CAPTULO 4. ARQUITECTURA Y ELEMENTOS DE LOS
SISTEMAS EXPERTOS
CAPITULO 5. PROCESO DE DESARROLLO DE UN
SISTEMA EXPERTO
CAPITULO 6. SISTEMAS EXPERTOS BASADOS EN
CONOCIMIENTO

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

CAPTULO 4. ARQUITECTURA Y ELEMENTOS DE LOS SISTEMAS


EXPERTOS
Leccin 16 Generalidades

4.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 humano24; 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 especficos.
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.25 La tarea principal
de un SE es tratar de aconsejar al usuario26.
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 conocimiento27.
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.
24

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.
26
SCHILDT Herbert, Utilizacin de C en Inteligencia Artificial.
27
CRIADO Briz, Jos Mario. Sistemas Expertos. URL (http://home.worldonline.es/jmariocr/index.htm)
25

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

Contienen datos afectados por factores de probabilidad.

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.
Leccin 17 Arquitectura

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

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

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
encadenadas lgicamente para deducir todas las informaciones posibles. La
descripcin de un sistema, es justamente aquello que ve el usuario.
De este modo, una arquitectura puede ser soportada por un nmero
indeterminado de implantaciones distintas, cada una de las cuales puede, a su
vez, tener numerosas realizaciones. De hecho, es muy frecuente el caso de que la
misma arquitectura se realiza con nuevas tecnologas, cuando stas son
utilizables. La arquitectura de un Sistema Experto complejo se puede estructurar,
tal y como se muestra en la figura 2.1.

Figura 2.1 Arquitectura de un Sistema Experto

28

28

Figura tomada de la tesis doctoral Metodologa Para El Desarrollo De Sistemas Expertos diseada por el
doctor Jos Domingo Carrillo Verdun

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

Leccin 18 Elementos de un Sistema Experto

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:

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.

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

Figura 2.2. Componentes tpicos de un sistema experto. Las flechas representan el flujo de la
29
informacin.

29

Fuente: Castillo, Enrique. Gutirrez, Jos Manuel Sistemas Expertos y Modelos de Redes
Probabilsticas

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

Figura 2.3 Relacin entre los elementos de un sistema experto

4.3.1. La Componente Humana


Para desarrollar un sistema experto, primero se debe conocer el equipo humano
necesario, despus los mtodos que utiliza ese equipo y por ultimo cmo prueban
y construyen prototipos de software para terminar el sistema final.
Un sistema experto es generalmente el resultado de la colaboracin de uno o
varios expertos humanos especialistas en el tema de estudio, los ingenieros del
conocimiento y los usuarios. Los expertos humanos suministran el conocimiento
bsico en el tema de inters y los ingenieros del conocimiento trasladan este
conocimiento a un lenguaje, que el sistema experto pueda entender. La
colaboracin de los expertos humanos, los ingenieros del conocimiento y los
usuarios es, quiz, el elemento ms importante.

Figura 2.4 Equipo de desarrollo de un SE

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:

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

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, la separacin entre experto e ingeniero del
conocimiento permanece, por regla general, inalterada; de esta forma el experto
puede ahorrarse trabajos repetitivos.
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.

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

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.
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.

Leccin 19 Elementos de un Sistema Experto II

4.3.3. 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.
Este componente controla el flujo del nuevo conocimiento que fluye del experto
humano a la base de datos. El sistema determina qu nuevo conocimiento se
necesita, o si el conocimiento recibido es en realidad nuevo, es decir, si debe
incluirse en la base de datos y, en caso necesario, incorpora estos conocimientos
a la misma.
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.

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

La puesta en prctica cada uno de los requisitos depender del lenguaje de


programacin elegido y del hardware que se tenga. El experto deber estar algo
familiarizado con el componente de adquisicin para poder realizar
modificaciones por s slo.
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.
4.3.4. Control de Coherencia
El subsistema de control de la coherencia ha aparecido en los sistemas expertos
muy recientemente. Sin embargo, es una componente esencial de un sistema
experto. Este subsistema controla la consistencia de la base de datos y evita que
unidades de conocimiento inconsistentes entren en la misma. En situaciones
complejas incluso un experto humano puede formular afirmaciones inconsistentes.
Por ello, sin un subsistema de control de la coherencia, unidades de conocimiento
contradictorio pueden formar parte de la base de conocimiento, dando lugar a un
comportamiento insatisfactorio del sistema.
Es tambin comn, especialmente en sistemas con mecanismos de propagacin
de incertidumbre, que se llegue a conclusiones absurdas o en conflicto como, por
ejemplo, situaciones en las que el sistema genera probabilidades mayores que la
unidad o negativas. Por ello, el subsistema de control de coherencia comprueba e
informa a los expertos de las inconsistencias. Por otra parte, cuando se solicita
informacin de los expertos humanos, este subsistema informa sobre las
restricciones que esta debe cumplir para ser coherente con la existente en la base
de conocimiento. De esta forma, ayuda a los expertos humanos a dar informacin
fiable.
4.3.5. Motor 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).
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

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

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 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.
El motor de inferencias utiliza los datos que se le suministran y 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
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.

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

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.

Leccin 20 Elementos de un Sistema Experto III

4.3.6. Componente de ejecucin de tareas


El subsistema de ejecucin de rdenes es la componente que permite al sistema
experto iniciar acciones. Estas acciones se basan en las conclusiones sacadas por
el motor de inferencia. Como ejemplos, un sistema experto diseado para analizar
el trfico ferroviario puede decidir retrasar o parar ciertos trenes para optimizar el
trfico global, o un sistema para controlar una central nuclear puede abrir o cerrar
ciertas vlvulas, mover barras, etc., para evitar un accidente. La explicacin de las
razones por las que se inician estas acciones pueden darse al usuario mediante el
subsistema de explicacin.

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

4.3.7. Componente explicativo


Explica al usuario la estrategia de solucin encontrada y el porque de las
decisiones tomadas. 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:
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.
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 usadas. 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.
Por ejemplo, si un cajero automtico decide rechazar la palabra clave (una
accin), la mquina puede mostrar un mensaje (una explicacin) como la
siguiente:
Lo siento!, su palabra clave es todava incorrecta tras tres intentos.
Retenemos su tarjeta de crdito, para garantizar su seguridad.
Por favor, pngase en contacto con su banco en horas de oficina.

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

En muchos dominios de aplicaciones, es necesaria la explicacin de las


conclusiones debido a los riesgos asociados con las acciones a ejecutar. Por
ejemplo, en el campo del diagnstico mdico, los doctores en ltimas son
responsables de los diagnsticos, independientemente de las herramientas
tcnicas utilizadas para sacar conclusiones. En estas situaciones, sin un
subsistema de explicacin, los doctores pueden no ser capaces de explicar a sus
pacientes las razones de su diagnstico.
4.3.8. La interfaz del usuario
Sirve para que el usuario 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, y le permite describir el problema, 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
sistema experto si le es necesaria. En algunos sistemas se utilizan tcnicas de
tratamiento del lenguaje natural para mejorar la comunicacin entre el usuario y el
sistema experto.
Entonces, la interfaz 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
dragara notablemente la calidad de un sistema experto. Otra razn de la
importancia de la interfaz de usuario es que los usuarios evalan comnmente los
sistemas expertos y otros sistemas por la calidad de dicha interfaz ms que por la
del sistema experto mismo, aunque no se debera juzgar la calidad de un libro por
su portada. [Los estudiantes que estn interesados en el diseo de una interfase
de usuario pueden consultar los libros de Shneiderman (1987) y Brown y
Cunningham (1989).]
Como en los anteriores componentes, tambin en este surgen dudas y preguntas,
por ejemplo:

Cmo debe responder el usuario a las preguntas planteadas?


Cmo saldrn las respuestas del sistema a las preguntas que se le
planteen?

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

Qu informaciones se representarn de forma grfica?

Los requisitos o caractersticas de la interfaz que se presenta al usuario al


desarrollar el sistema se pueden resumir en:
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 ser cmodo y relativamente sencillo en cuanto al manejo.
2. Debe evitarse en lo posible la entrada de datos errnea. Ejemplo:
Cuando acudimos a un mdico, le contamos y detallamos nuestros
sntomas y el con sus preguntas junto con nuestras respuestas nos
diagnostica nuestra "enfermedad". Imagnense que acudimos a un mdico y
le decimos que nos duele una pierna en lugar de un brazo, el diagnstico
ser intil. El ejemplo es muy exagerado pero demuestra la importancia en
la correcta introduccin de los datos al sistema.
3. Los resultados deben presentarse en una forma clara para el usuario.
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. 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.
4.4.

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.

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

CAPTULO 5. PROCESO DE DESARROLLO DE UN SISTEMA


EXPERTO
Leccin 21 Desarrollo de un Sistema Experto

5.1.

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.

5.2.

Desarrollo de un sistema experto

Weiss y Kulikowski (1984) sugieren las etapas para el diseo e implementacin de


un sistema experto descritas en la Figura 2.5
Como ya se mencion, los principales componentes de un sistema experto son la
base de conocimiento y el motor de inferencia. La metodologa tradicional se
enfoca principalmente a la construccin de dichos componentes

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

Figura 2.5. Desarrollo de un Sistema Experto

5.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.

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

 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 de produccin. Una regla
es una instruccin condicionada que enlaza determinadas condiciones con
acciones o resultados. La regla se crea por medio de construcciones <sientonces> cada regla constar de una parte denominada condicin (premisas)
que contiene las clusulas que deben cumplirse para que la regla pueda
ejecutarse y de una parte denominada accin (consecuencia) representa el
resultado de la ejecucin de dicha regla y las mismas pueden relacionarse dando
lugar a nuevos hechos, entonces una regla tendr la forma:
S <condicin> Entonces <accin>

If <premisa> Then <conclusin>

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

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

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. Cinco pasos en la construccin de una Base de Conocimientos (BC)
 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
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 especfico 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.
5.2.1.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
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

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

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.

Leccin 22 Motor de Inferencia

5.2.2. El motor de inferencia


Para construir un motor de inferencia, existen tres mtodos bsicos:
encadenamiento hacia adelante, encadenamiento hacia atrs y reglas de
produccin.
5.2.2.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
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 2.6.

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

Atributo

Atributo

Atributo

Atributo

Objeto
Figura 2.6 Mtodo de encadenamiento hacia adelante

5.2.2.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 2.7.
Intenta objeto

Atributo cumplido

Atributo no cumplido

Atributo cumplido

Atributo no cumplido

Atributo cumplido

Atributo cumplido

Objeto encontrado

Figura 2.7. Encadenamiento hacia atrs

5.2.2.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

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

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.

Leccin 23 Identificacin de Patrones

5.2.3. Construccin del Mecanismo 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 caracterizar por:

El lenguaje en que ha sido escrito.


La velocidad de trabajo: Inferencias / segundo.
Las estrategias de bsqueda de soluciones:
o No Ordenada: aleatoria, heurstica.
o 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:
o Booleana, trivalente, multivalente, difusa.
o Monotnica o no monotnica.
o Atemporal o temporal.
o Lgica de orden 0, orden 0+, orden 1.
El mtodo que utiliza para la evaluacin del conocimiento incompleto o
incierto:
o Determinstico.
o Probabilstico.
o Aproximado.
o 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.

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

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
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
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.
5.2.3.2. 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.

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

Leccin 24 Fases de las reglas

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.

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

Muchos sistemas efectan marcha atrs, si no hay regla aplicable, pero si el


sistema est bajo un control irrevocable se detendr.
5.2.4. 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:
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.
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.
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.

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

Leccin 25 Ejemplo de motor de inferencia

5.2.5. 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:
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.

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

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:
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.
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.

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

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.

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

CAPTULO
6.
CONOCIMIENTO

SISTEMAS

EXPERTOS

BASADOS

EN

Leccin 26 Sistemas Basados en Conocimiento

6.1.

Definicin de sistemas basados en conocimiento

La definicin de un Sistema Basado en Conocimiento (SBC) 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.
6.2.

Caractersticas principales de sistemas basados en conocimiento

Las caractersticas ms sobresalientes de este tipo de sistemas son:










Amplia difusin del conocimiento


Fcil modificacin
Respuestas coherentes
Disponibilidad casi completa
Conservacin del conocimiento
Capacidad de resolver problemas disponiendo de informacin incompleta
Capacidad de explicar los resultados y la forma de obtenerlos

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

6.3.

Principales Problemas

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.

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

Leccin 27 Estructura de los Sistemas Basados en Conocimiento

6.4.

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
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 2.8. 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 adquisicin del conocimiento desde un experto 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.

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

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.
Por otra parte, la programacin es importante en esta etapa de desarrollo y para
ello existen dos modos que 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 o procedimental, las reglas se implantan y ejecutan en un orden
establecido consiste en una cuidadosa descripcin de los algoritmos que marcan
el camino de los diferentes procedimientos y funciones en los programas.
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.

Leccin 28 Estructura de los Sistemas Basados en Conocimiento II

6.4.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.
6.4.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.

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

Leccin 29 Metodologa para la construccin de Sistemas Expertos

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:

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.
6.5.2. Metodologa Orientada a Objetos
La programacin orientada a objetos (POO en adelante) es un tipo de
programacin que provee una manera de modularizar programas estableciendo
reas de memoria divididas 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 POO 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.

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

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 sistemas expertos creando clases que correspondan a los
componentes de un SE.
Por lo tanto si se utiliza la metodologa orientada a objetos en la construccin de
sistemas expertos, 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

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

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.

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

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 sistema experto
aprenda por s mismo, modificando su base de conocimiento sin modificar los
dems componentes. Otra ventaja de la POO 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.

Leccin 30 Ejemplo de construccin de un sistema experto

6.6.

Ejemplo de Construccin de Un SE, Problema de Monitorizacin30

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 bsqueda31

No

Es una serpiente

Nodo respuesta
Nodo respuesta

Es un perro

Es un animal de

No
Nodo decisin

Si
El animal

Nodo decisin

Es un gato

Si

Nodo respuesta

Figura 2.10. Representacin de dispositivos para el problema en la planta de procesamiento

6.6.2. rboles de decisin que aprenden


Algoritmo Resuelve-rbol-y-Aprende
Establece como nodo actual en el rbol el nodo raz;
MientrasQue el nodo actual es de decisin hacer
Preguntar la pregunta del nodo actual;
Si la respuesta es si
30

J.A. Baares Baares. 1999. Resolucin de Problemas en LBR. Departamento de Informtica e Ingeniera
de Sistemas C.P.S. Universidad de Zaragoza
31
Ibd 73

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

entonces Establece como actual el nodo de la rama si


sino Establece como actual el nodo de la rama no
fsi;
fmq;
Preguntar si la respuesta en el nodo actual es correcta;
Si la respuesta es correcta
entonces Determina respuesta correcta
sino Pide la respuesta correcta;
Pide qu pregunta cuando se responda si distinguir la respuesta del nodo
actual de la repuesta correcta; Reemplaza el nodo respuesta por un nodo
decisin que tiene como rama no el nodo respuesta actual y como rama si
la respuesta correcta. La pregunta del nodo de decisin es la que distingue
los dos nodos respuesta.
fsi;
Fin.
Nodo de rbol de decisin
(deftemplate nodo
(slot nombre)
(slot tipo)
(slot pregunta)
(slot nodo-si)
(slot nodo-no)
(slot respuesta))
rbol inicial
(nodo (nombre raz) (tipo decisin)
(pregunta "Es un animal de sangre caliente?")
(nodo-si nodo1) (nodo-no nodo2))
(nodo (nombre nodo1) (tipo decisin)
(pregunta "El animal ronronea?")
(nodo-si nodo3) (nodo-no nodo4))
(nodo (nombre nodo2) (tipo respuesta)
(respuesta serpiente))
(nodo (nombre nodo3) (tipo respuesta) (respuesta gato))
(nodo (nombre nodo4) (tipo respuesta) (respuesta perro))
Regla para inicializar rbol
(defrule inicializa
(not (nodo (nombre raiz)))
=>
(load-facts "ANIMAL.DAT")
(assert (nodo-actual raiz)))
Reglas que preguntan cuestin asociada a nodo decisin
(defrule pide-decision-nodo-pregunta

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

?nodo <- (nodo-actual ?nombre)


(nodo (nombre ?nombre)
(tipo decision)
(pregunta ?pregunta))
(not (respuesta ?))
=>
(printout t ?pregunta " (si o no) ")
(assert (respuesta (read))))
(defrule respuesta-incorrecta
?respuesta <- (respuesta ~si&~no)
=>
(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

6.6.4. Proceso del desarrollo del programa


Proceso iterativo
Se parte de la descripcin general del problema y se van incorporando detalles
especficos.
Tcnica
Gracias a las tcnicas de desarrollo iterativas que soportan los SEs, es posible
construir prototipos a partir de problemas con especificaciones pobres.
Se realiza un prototipo

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

Se apuntan los detalles que faltan en la especificacin


Se consulta con el experto los detalles y se elabora otro prototipo

Detalles necesarios para empezar


Decisiones sobre la implementacin:
Reglas generales que permitan incorporar nuevos dispositivos y
sensores fcilmente, en lugar de reglas especficas.
Detalles sobre el flujo de control
3 Fases por ciclo: Lectura sensores, Anlisis valores, acciones
Lectura sensores:
Posibilidades:
-Lectura directa del sensor?
- Simulacin de los valores de los sensores?
- El valor est disponible cuando se requiere?
- Puede dar una lectura incorrecta el sensor?
Durante el desarrollo se debe mantener
Una lista de asunciones
Lista de preguntas
Posibles inconsistencias relacionadas con la especificacin
Lista inicial de asunciones del problema de monitorizacin
Los datos de los sensores siempre estn disponibles y son fiables
Los valores de los sensores se podrn leer directamente de stos.
Se debera soportar el uso de valores de sensores simulados.
Los valores de sensores de dispositivos parados no se monitorizarn.
El programa de monitorizacin realiza las acciones especificadas:
ALARMA o PARADA de dispositivos.
El problema de divide en tres fases
- Lectura de los valores de los sensores
- Anlisis de los valores
- Acciones
Tambin se debe mantener una lista de detalles sobre decisiones de
implementacin
Como representar la informacin, el control y la depuracin del
programa
Implementacin y Representacin

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

Sensor S1

Sensor S2

Dispositivo D1

Sensor S3

Dispositivo D2
Sensor S4

Sensor S5

Dispositivo D3

Sensor S6

Dispositivo D4

Figura 2.11. Representacin de dispositivos para el problema en la planta de procesamiento

6.7.

32

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.

32

J.A. Baares Baares. 1999. Resolucin de Problemas en LBR. Departamento de Informtica e Ingeniera
de Sistemas C.P.S. Universidad de Zaragoza

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

UNIDAD 3. APRENDIZAJE DE LOS SISTEMAS EXPERTOS


Nombre de la
Unidad
Introduccin

Intencionalidades
Formativas

Denominacin de
captulos

Aprendizaje de los sistemas expertos


En esta unidad el estudiante revisar una gama de
lenguajes de programacin existentes para el desarrollo
de un sistema experto, de igual forma se enfoca en el
lenguaje de lgica de primer orden como los es PROLOG,
uno de los lenguajes ms empleados para el desarrollo de
este tipo de sistemas inteligentes.
Esta unidad tiene como Metas:

Identificar las herramientas computacionales para


construir sistemas expertos.

Dar a conocer a los estudiantes los diferentes


lenguajes de programacin utilizados para el
desarrollo de sistemas expertos.

Al final de la unidad el estudiante podr:


Identificar los lenguajes que se utilizan
Identificar la forma de representacin del
conocimiento
Identificar las tareas que realizan los sistemas
expertos
Identificar los campos de aplicacin de los
sistemas expertos
Determinar que herramienta utilizar para construir
un sistema experto
Relacionar el rea de conocimiento y el campo de
accin
CAPITULO 7. TIPOS DE SISTEMAS EXPERTOS
CAPITULO 8. LENGUAJES UTILIZADOS
CAPITULO 9. INTRODUCCIN A PROLOG

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

CAPTULO 7. TIPOS DE SISTEMAS EXPERTOS


Leccin 31 Sistemas Basados en Reglas

7.1.

Sistemas Basados en Reglas

En nuestra vida diaria encontramos muchas situaciones complejas gobernadas


por reglas deterministas: sistemas de control de trfico, sistemas de seguridad,
transacciones bancarias, etc. Los sistemas basados en reglas son una
herramienta eficiente para tratar estos problemas. Las reglas deterministas
constituyen la ms sencilla de las metodologas utilizadas en sistemas expertos.
La base de conocimiento contiene el conjunto de reglas que definen el problema, y
el motor de inferencia saca las conclusiones aplicando la lgica clsica a estas
reglas.
Los sistemas basados en reglas son los ms utilizados por su simplicidad y
similitud con el razonamiento humano, han contribuido para su popularidad en
diferentes dominios. Las reglas representan de forma correcta conocimiento.
Los Sistemas Basados en Reglas son una herramienta eficiente para tratar
muchas situaciones complejas gobernadas por reglas deterministas, sistemas de
control de trfico, sistemas de seguridad, transacciones bancarias, etc. La base de
conocimiento contiene el conjunto de reglas que definen el problema y el motor de
inferencia saca las conclusiones aplicando la lgica clsica a estas reglas.33
Las reglas representan el conocimiento utilizando un formato
SI-ENTONCES (IF-THEN), es decir tienen 2 partes:
La parte SI (IF), es el antecedente, premisa, condicin o situacin.
La parte ENTONCES (THEN), es el consecuente, conclusin, accin o
respuesta.
Las reglas pueden ser utilizadas para expresar un amplio rango de asociaciones,
una declaracin de que algo es verdadero o es un hecho conocido, es una
afirmacin. El conjunto de afirmaciones se conoce frecuentemente con el nombre
de base de afirmaciones. De igual forma, al conjunto de reglas se lo denomina
base de reglas.

33

El Concepto es tomado del documento: Inteligencia Artificial. 2003. Arrua Luciana. Meza Fernndez
Eduardo.

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

Un sistema basado en reglas utiliza el modus ponens para manipular las


afirmaciones y las reglas durante el proceso de inferencia. Mediante tcnicas de
bsqueda y procesos de unificacin, los sistemas basados en reglas automatizan
sus mtodos de razonamiento y proporcionan una progresin lgica desde los
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.34
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.35
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. 36
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
34

Sistemas Expertos y Modelos de Redes Probabilsticas. Enrique Castillo, Jos Manuel Gutirrez,
y Ah S. Hadi.
35
Castillo, Enrique. Gutirrez, Jos Manuel Sistemas Expertos y Modelos de Redes Probabilsticas
36
Pignani Juan Manuel. (2000). Informtica aplicada a la Ingeniera de Procesos 1. Universidad
Tecnolgica Nacional, Facultad Regional Rosario. Espaa.

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

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.
a. El proceso lgico de carga: En esta fase se determinan las reglas y se
incorporan a la base de conocimientos.

37

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

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.

37

Dennis, Alonso.(2001) Sistemas Expertos. Documento en lnea


URL(http://es.geocities.com/denisalonso2001/SISTEMAS_EXPERTOS.htm)

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

Figura 3.2. Proceso de inferencia de carga de la base de hechos

38

Por medio de cascadas de rdenes, se explica estos dos procesos.


VERIFICACIN DE UN HECHO
Una vez tomado un hecho, se produce el encadenamiento hacia atrs. Es decir,
se parte de la premisa para llegar a los datos.
DEDUCCIN DE UN HECHO
En este proceso, primero se requieren los datos para analizar la premisa. O sea,
partimos del:
IF < condicin >
Para tomar luego la decisin de continuar o no con l:
THEN < conclusin >
La conclusin de una regla puede constituirse en condicin de la premisa
necesaria para otra regla y seguir as sucesivamente. Hasta llegar al resultado
final de la inferencia.39
El siguiente ejemplo corresponde a un sistema experto basado en reglas IF-THEN,
que describen como es que cada posibilidad podra ser seleccionada. La regla

38

Fuente: Dennis, Alonso.(2001) Sistemas Expertos. Documento en lnea


http://es.geocities.com/denisalonso2001/SISTEMAS_EXPERTOS.htm
39
BENCHIMOL, G y otros (1990) Los Sistemas Expertos en la Empresa. Ed. Macrobit, Mxico

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

rompe el problema en sub-problemas. Por ejemplo, las siguientes reglas formaran


parte de un SE para identificar aves: 40
IF Familia es albatros AND Color es blanco
THEN Ave es albatros laysan.
IF Familia es albatros AND Color es negro
THEN Ave es albatros de pies negros.
El sistema puede usar otras reglas para resolver las sub-metas planteadas por las
reglas de alto nivel, por ejemplo:
IF Orden es tubonasales AND Tamao es grande AND Alas es grandes anguladas
THEN Familia es albatros.
7.1.1. Base del conocimiento
Los datos estn formados 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 esta razn, 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 gobiernan las relaciones entre esos
objetos. La informacin almacenada en la base de conocimiento es de naturaleza
permanente y esttica, es decir, no cambia de una aplicacin a otra, a menos que
se incorporen al sistema experto elementos de aprendizaje. Para dar una idea
intuitiva de lo que es una regla, supngase que se tiene un conjunto de objetos y,
por simplicidad, que cada objeto puede tener uno y slo uno de un conjunto de
posibles valores. Ejemplos de objetos con sus posibles valores se dan en la Tabla
7.1
Tabla 7.1 Un ejemplo de objetos con sus posibles valores
Objeto
Conjunto de Valores Posibles
Nota
{0,1,...,10}
Calificacin
{sobresaliente, notable, aprobado, suspenso}
Puesto
{0,1,...,100}
Admitir
{si, pendiente, no}
Notificar
{s, no}
Ejemplos de reglas:
Regla 1: Si nota > 9, entonces calificacin = sobresaliente.
40

Guerra Hernndez,
Alejandro. Metodologa de Programacin I Sistemas Expertos.
Departamento de Inteligencia Artificial. Universidad Veracruzana. Mxico. 2006.

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

Regla 2: Si puesto < 20 o nota > 7, entonces Admitir = si y Notificar =si.


Cada una de las reglas anteriores relaciona dos o ms objetos y est formada por
las partes siguientes:
La premisa de la regla, que es la expresin lgica entre las palabras clave si
y entonces. La premisa puede contener una o ms afirmaciones
objeto-valor conectadas con operadores lgicos y, o, o no. Por ejemplo, la
premisa de la Regla 1 consta de una nica afirmacin objeto-valor, mientras
que las premisas de la Regla 2 constan de dos afirmaciones objeto-valor
conectadas por un operador lgico.
La conclusin de la regla, que es la expresin lgica tras la palabra clave
entonces.
Como ejemplo de problema determinista que puede ser formulado usando un
conjunto de reglas, considrese una situacin en la que un usuario (por ejemplo,
un cliente) desea sacar dinero de su cuenta corriente mediante un cajero
automtico (CA). En cuanto el usuario introduce la tarjeta en el CA, la mquina la
lee y la verifica. Si la tarjeta no es verificada con xito (por ejemplo, porque no es
legible), el CA devuelve la tarjeta al usuario con el mensaje de error
correspondiente. En otro caso, el CA pide al usuario su nmero de identificacin
personal (NIP). Si el nmero fuese incorrecto, se dan tres oportunidades de
corregirlo. Si el NIP es correcto, el CA pregunta al usuario cunto dinero desea
sacar. Para que el pago se autorice, la cantidad solicitada no debe exceder de una
cierta cantidad lmite diaria, adems de haber suficiente dinero en su cuenta.
Tabla 7.2 Objetos y posibles valores para el ejemplo del cajero automtico
Objeto
Conjunto de Valores Posibles
Tarjeta
{Verificada, no verificada}
Fecha
{Expirada, no expirada}
Clave
{Correcta, incorrecta}
Intentos
{Excedidos, no excedidos}
Fondos
{Suficiente, insuficiente}
Limite
{Excedido, no excedido}
Pago
{Autorizado, no autorizado}
La tabla anterior muestra siete reglas que gobiernan la estrategia que el CA debe
seguir cuando un usuario intenta sacar dinero de su cuenta. En la Regla 1, por
ejemplo, la premisa consiste en seis afirmaciones objeto-valor conectadas
mediante el operador lgico y, lo que indica que la premisa, es cierta si las seis
afirmaciones lo son. Por ello, la Regla 1 relaciona el objeto Pago (en la conclusin)
con los dems objetos. Segn la Regla 1, la accin que debe iniciar el CA es dar
el dinero al usuario si la tarjeta se ha verificado correctamente, la fecha no ha
expirado, la clave es correcta, el nmero de intentos para dar la clave correcto no

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

se ha excedido y la cantidad solicitada no excede ni la cantidad disponible ni el


limite mximo diario.
Si (Tarjeta = verificada Y Fecha = no expirada Y Clave = correcta Y Intentos = no
se excedido Y Fondos = suficiente Y Limite = no excedido) Entonces Pago =
Autorizado.
La tabla 7.3 muestra ejemplos de sustitucin de reglas. Ntese que cada regla de
la primera columna puede ser sustituida por el correspondiente conjunto de reglas
de la segunda columna y que todas las reglas de sta satisfacen las condiciones
anteriores. Por ejemplo, la primera regla compuesta es:

Regla 1: Si A o B, entonces C, puede ser reemplazada por las dos reglas


simples.
Regla 1a: Si A, entonces C.
Regla 1b: Si B, entonces C.

Como ejemplo adicional, muestra que


Regla 2: Si A o B, entonces C, puede ser reemplazada por la regla
Regla 2: Si A y B , entonces C, donde A significa no A.
Tabla 7.3 Una tabla de verdad mostrando que las expresiones lgicas AoB y A y
B son equivalentes. Los smbolos C y F se utilizan para cierto y falso,
respectivamente.
A B A
B AoB A y B
C
C
F
F

C
F
C
F

F
F
C
C

F
C
F
C

F
F
F
C

F
F
F
C

Tabla 7.4 Ejemplos de sustitucin de reglas: Las reglas en la primera columna


Regla
Reglas Equivalentes
Si A o B, entonces C
Si A, entonces C
Si B, entonces C
Si AoB , entonces 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

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

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. Motor de inferencia
El motor de inferencia en un sistema experto, se encarga de realizar las
inferencias en la base del conocimiento de acuerdo con los parmetros definidos
en la heurstica del sistema y que permitir inferir la solucin de un problema o
llevar a cabo la toma de decisiones la cual podra ser diagnosticar una posible
enfermedad a partir de la relacin sntoma enfermedad.
Existen dos tipos de elementos: los datos (hechos o evidencia) y el conocimiento
(el conjunto de reglas almacenado en la base de conocimiento). El motor de
inferencia usa ambos para obtener nuevas conclusiones o hechos. Por ejemplo, si
la premisa de una regla es cierta, entonces la conclusin de la regla debe ser
tambin cierta. Los datos iniciales se incrementan incorporando las nuevas
conclusiones. Por ello, tanto los hechos iniciales o datos de partida como las
conclusiones derivadas de ellos forman parte de los hechos o datos de que se
dispone en un instante dado. Las conclusiones pueden clasificarse en dos tipos:
simples y compuestas.
Las conclusiones simples son las que resultan de una regla simple. Las
conclusiones compuestas son las que resultan de ms de una regla. Para obtener
conclusiones, los expertos utilizan diferentes tipos de reglas y estrategias de
inferencia y control (Castillo y lvarez (1991), Durkin (1994), Shapiro (1987),
Waterman (1985)).
Estrategias de control
Modus Ponens,
Modus Tollens,
Resolucin.

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

Estrategias de inferencia
Encadenamiento de reglas,
Encadenamiento de reglas orientado a un objetivo,
Compilacin de reglas, que son utilizadas por el motor de inferencia para
obtener conclusiones simples y compuestas.
Las dos primeras reglas de inferencia se usan para obtener conclusiones simples
y el resto de reglas y estrategias para obtener conclusiones compuestas.
Sin embargo, ninguna de las estrategias anteriores, implementadas por si solas,
conducen a todas las conclusiones posibles. Por ello, se debe implementar varias
reglas y estrategias en el sistema experto para que el motor de inferencia sea
capaz de obtener tantas conclusiones como sea posible.
7.1.2.1. Modus Ponens y Modus Tollens
El Modus Ponens es quizs la regla de inferencia mas comnmente utilizada. Se
utiliza para obtener conclusiones simples. En ella, se examina la premisa de la
regla, y si es cierta, la conclusin pasa a formar parte del conocimiento. Como
ilustracin, supngase que se tiene la regla, Si A es cierto, entonces B es cierto y
que se sabe adems que A es cierto. Entonces, tal como muestra la Figura 3.3,
la regla Modus Ponens concluye que B es cierto. Esta regla de inferencia, que
parece trivial, debido a su familiaridad, es la base de un gran nmero de sistemas
expertos. 41
Modus Ponens
Si

Regla
B es Cierto

A es cierto

A es Cierto

Hecho:
Figura: 3.3. Regla de inferencia de Modus Ponens

En forma ms sencilla y matemtica


A
A

B
B

y B

Entonces

La regla de inferencia Modus Tollens se utiliza tambin para obtener conclusiones


simples. En este caso se examina la conclusin y si es falsa, se concluye que la
41

Documento en linea: www.webelectronica.com.ar. Creacin de una base del conocimiento determinstica.


Consultado en Octubre 13 de 2008.

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

premisa tambin es falsa. Por ejemplo, supngase de nuevo que se tiene la regla,
Si A es cierto, entonces B es cierto pero se sabe que B es falso. Entonces,
utilizando la regla Modus Ponens no se puede obtener ninguna conclusin, pero,
tal como se muestra en la Figura 3.4, la regla Modus Tollens concluye que A es
falso. Aunque muy simple y con muchas aplicaciones tiles, la regla Modus
Tollens es menos utilizada que la Modus Ponens.
Por ello, la regla Modus Ponens se mueve hacia adelante, es decir, de la premisa
a la conclusin de una regla, mientras que la regla Modus Tollens se mueve hacia
atrs, es decir, de la conclusin a la premisa. Las dos reglas de inferencia no
deben ser vistas como alternativas sino como complementarias. La regla Modus
Ponens necesita informacin de los objetos de la premisa para concluir, mientras
que la regla Modus Tollens necesita informacin sobre los objetos de la
conclusin.
Modus Tollens
Si

Regla
A es cierto

A es Falso

B es Falso

Hecho:
Figura 3.4. Regla de inferencia de Modus Tollens

Un motor de inferencia que solamente utiliza Modus Ponens, la incorporacin de la


regla de inferencia Modus Tollens puede ser considerada como una expansin de
la base de conocimiento mediante la adicin de reglas, tal como ilustra el ejemplo
que sigue.
7.1.2.2. 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.

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

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.

Figura 3.5 Un ejemplo de un conjunto de seis reglas relacionando 13 objetos.

Supngase que se dan los hechos H = cierto, I = cierto, K = cierto y M = falso.


Supngase, en primer lugar, que el motor de inferencia usa las dos reglas de
inferencia Modus Ponens y Modus Tollens. En este caso, se obtiene
1. La Regla 3 concluye que J = cierto (Modus Ponens).
2. La Regla 6 concluye (Modus Tollens) que K = falso o L = falso, pero, puesto que
K = cierto, debera ser L = falso.
3. La Regla 5 concluye (Modus Tollens) que G = falso o J = falso, pero, puesto que
J = cierto, debera ser G = falso.
En consecuencia, se obtiene la conclusin G = falso. Sin embargo, si el motor de
inferencia slo utiliza la regla de inferencia Modus Ponens, el algoritmo se
detendra en la Etapa 1, y no se concluira nada para el objeto G. Este es otro
ejemplo que ilustra la utilidad de la regla de inferencia Modus Tollens.

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

Figura 3.6 Una representacin grfica de las relaciones entre las seis reglas de la Figura 3.5

7.1.2.3. Encadenamiento de Reglas orientado a un objetivo


El algoritmo de encadenamiento de reglas orientado a un objetivo requiere del
usuario seleccionar, en primer lugar, una variable o nodo objetivo; entonces el
algoritmo navega a travs de las reglas en bsqueda de una conclusin para el
nodo objetivo. Si no se obtiene ninguna conclusin con la informacin existente,
entonces el algoritmo fuerza a preguntar al usuario en busca de nueva informacin
sobre los elementos que son relevantes para obtener informacin sobre el
objetivo.
Considrense las seis reglas de las Figuras 3.5 y 3.6. Supngase que se
selecciona el nodo M como nodo objetivo y que se sabe que los objetos D; E; F y
L son ciertos. Estos nodos estn sombreados en la Figura 3.7. Las etapas del
algoritmo de encadenamiento de reglas orientado a un objetivo se ilustran en la
Figura 3.7, donde el nmero en el interior de un nodo indica el orden en el que se
visita cada nodo. Estas etapas son:
El algoritmo de encadenamiento de reglas orientado al objetivo marcado
procedera de la forma siguiente:
a. Se asigna el valor cierto a los objetos D; E; F y L y se marcan. Puesto que el
nodo objetivo M no est marcado, entonces
Se designa el objeto M como objeto en curso.
Se marca el objeto M. Por tanto, se tiene ObjetosMarcados = {D; E; F; L;
M}.
ObjetivosPrevios = .

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

Las seis reglas estn activas. Por tanto, se tiene ReglasActivas = {1; 2; 3; 4;
5; 6}
b. Se busca una regla que incluya el objetivo en curso M.
c. La Regla 6 no puede concluir puesto que el valor del objeto K es desconocido.
d. El objeto K no est marcado. Entonces
ObjetivosPrevios = {M}.
Se elige el objeto K como objetivo en curso.
El objeto K est marcado. Por tanto se tiene, ObjetosMarcados = {D;E; F;
L;M;K}

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
42
nodo.

7.1.3. Control de Coherencia


En situaciones complejas, incluso verdaderos expertos pueden dar informacin
inconsistente (por ejemplo, reglas inconsistentes y/o combinaciones de hechos no
factibles).
Por ello, es muy importante controlar la coherencia del conocimiento tanto durante
la construccin de la base de conocimiento como durante los procesos de
42 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

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

adquisicin de datos y razonamiento. Si la base de conocimiento contiene


informacin inconsistente (por ejemplo, reglas y/o hechos), es muy probable que el
sistema experto se comporte de forma poco satisfactoria y obtenga conclusiones
absurdas. El objetivo del control de la coherencia consiste en
1. Ayudar al usuario a no dar hechos inconsistentes, por ejemplo, dndole al
usuario las restricciones que debe satisfacer la informacin demandada.
2. Evitar que entre en la base de conocimiento cualquier tipo de conocimiento
inconsistente o contradictorio.
El control de la coherencia debe hacerse controlando la coherencia de las reglas y
la de los hechos.
7.1.3.1. Coherencia de Reglas
Un conjunto de reglas se denomina coherente si existe, al menos, un conjunto de
valores de todos los objetos que producen conclusiones no contradictorias.
En consecuencia, un conjunto coherente de reglas no tiene por qu producir
conclusiones contradictorias para todos los posibles conjuntos de valores de los
objetos.
Tabla 7.5 Una tabla de verdad que muestra que las Reglas 1 y 2 son coherentes
Objetos
Conclusiones
Conclusiones
Contradictorias
A
B
Regla 1
Regla 2
C
C
B=C
B=F
Si
C
F
B=C
B=F
Si
F
C
No
F
F
No
Por ejemplo Supngase que se tienen los cuatro objetos: A {0, 1}, B {0, 1}, C
{0, 1, 2} y D {0, 1}. Considrense las cuatro reglas:
. Regla 1: Si A = 0 y B = 0, entonces C = 0.
. Regla 2: Si A = 0 y D = 0, entonces C = 1.
. Regla 3: Si A = 0 y B = 0, entonces C = 1.
. Regla 4: Si A = 0, entonces B = 0.
. Regla 5: Si B = 0, entonces A = 1.
Supngase ahora que se desea aadir las tres ltimas reglas a una base de
conocimiento que contiene las dos primeras reglas. Entonces, las Reglas 1 y 3 son
inconsistentes, puesto que tienen la misma premisa pero diferentes conclusiones.
Por lo que, la Regla 3 debe ser rechazada y el experto humano informado de la
razn del rechazo. El experto humano corregir la regla en cuestin y / o las reglas
existentes si fueran incorrectas. La Regla 4 entrar en la base de conocimiento,

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

puesto que es consistente con las Reglas 1 y 2. La Regla 5 es inconsistente con la


Regla 4. Por ello, la consistencia de ambas reglas debe ser comprobada antes de
pasar a formar parte de la base de conocimiento
7.1.3.2. Incoherencia de Reglas
Considrense las cuatro reglas siguientes, que relacionan dos objetos A y B
binarios {C, F}:
. 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.
Entonces, pueden obtenerse las siguientes conclusiones (Tabla 7.6):
1. Las Reglas 1 - 2 son coherentes puesto que, para A = F, no producen
conclusiones.
2. Las Reglas 1 - 3 son coherentes puesto que para A = F y B = C, producen una
conclusin (B = C)
3. Las Reglas 1 - 4 son incoherentes porque producen conclusiones
contradictorias para todos los posibles valores de A y B
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 - 2 son coherentes, aunque
producen conclusiones inconsistentes en todos los casos en que A = C. En
consecuencia, el subsistema de control de coherencia eliminar automticamente
el valor C de la lista de posibles valores del objeto A, permitiendo de esta forma al
usuario seleccionar slo valores factibles de los objetos.
Tabla 7.6 Una tabla de verdad que muestra que las Reglas 1 y 2 son coherentes
Objetos
Conclusiones
Conclusiones
Contradictorias
A
B
Regla 1 Regla 2 Regla 3 Regla 4
C
C
B=C
B=F
Si
C
F
B=C
B=F
Si
F
C
B=C
B=F
Si
F
F
B=C
B=F
Si
Es decir, es suficiente que exista un conjunto de valores que conduzcan a
conclusiones no contradictorias. Considrense las cuatro reglas siguientes, que
relacionan dos objetos A y B binarios {C; F}:

Regla 1: Si A = C, entonces B = C.
Regla 2: Si A = C, entonces B = F.

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

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,
permitiendo de esta forma al usuario seleccionar slo valores factibles de los
objetos.
Se dice que un valor a para el objeto A no es factible si las conclusiones obtenidas
al hacer A = a contradicen cualquier combinacin de valores del resto de los
objetos. Por ello, cualquier valor no factible debe ser eliminado de la lista de
valores posibles de su correspondiente objeto para eliminar la posibilidad de que
el motor de inferencia pueda obtener conclusiones inconsistentes.
7.1.3.3. 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.

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

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
7.1.4. Ejemplo43
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.

Figura 3.8 Trazado de ferrocarril con cinco vas

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}
43 Ejemplo tomado del texto: Sistemas experto y Modelos de Redes Probabilsticas. Castillo, Enrique y Otros. Espaa 2005.

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

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.
2. Si la va S1 est ocupada, entonces la seal U2 debe estar en rojo para
evitar que un tren entre en la va ocupada. Similarmente, para las dems
vas. Esto da lugar a las seis reglas adicionales (Reglas 38)
3. Si ambas seales U3 y L3 estn en rojo, entonces ningn tren puede salir de
la va S1. La misma condicin vale para las seales U5 y L5. Por ello, se
tiene la regla
Regla 9: Si (U3 = rojo y L3 = rojo) o (U5 = rojo o L5 = rojo), entonces
U1 = rojo.
Las cinco reglas asociadas a las otras cinco vas pueden ser obtenidas
de forma anloga.
4. Para evitar la colisin de los trenes procedentes de las vas S1 S2 y S4
S5, son necesarias las reglas siguientes:
Regla 15: Si U3 = verde, entonces U4 = rojo
Regla 16: Si L3 = verde, entonces L4 = rojo.
5. Para evitar que las seales de la parte alta y sus correspondientes seales
de la parte baja estn simultneamente en verde, es necesario incluir las
Reglas 1720 de la Tabla 7.8.
6. Finalmente, para evitar la colisin de un tren de la va S3 con un tren de las
otras cuatro vas, se imponen las dos ltimas reglas de la Tabla 7.8.
Tabla 7.8 Reglas para el ejemplo del control de trfico ferroviario.
Regla
Premisa
Conclusin
Regla 1
U1 = verde
L1 = rojo
Regla 2
U6 = verde
L6 = rojo
Regla 3
S1 = ocupada
U2 = rojo
Regla 4
S2 = ocupada
L2 = rojo
Regla 5
S3 = ocupada
U3 = rojo
Regla 6
S4 = ocupada
U4 = rojo
Regla 7
S5 = ocupada
U5 = rojo
Regla 8
S6 = ocupada
L5 = rojo
Regla 9 (U3 = rojo y L3 = rojo) o (U5 = rojo
U1 = rojo
Regla 10
y L5 = rojo)
L1 = rojo

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

Regla 11 (U3 = rojo y L3 = rojo) o (U5 = rojo


Regla 12
y L5 = rojo)
Regla 13 (U2 = rojo y L2 = rojo) o (U4 = rojo
Regla 14
y L4 = rojo)
(U2 = rojo y L2 = rojo) o (U4 = rojo
y L4 = rojo)
U2 = rojo y L2= rojo
U5 = rojo y L5 = rojo
Regla 15
U3= verde
Regla 16
L3 = verde
Regla 17
U2= verde
Regla 18
U3= verde
U4= verde
Regla 19
Regla 20
U5= verde
Regla 21
U1 = verde o L1 = verde
Regla 22
U6 = verde o L6 = verde

U6 = rojo
L6= rojo
U7 = rojo
U8 = rojo

U4 = rojo
L4= rojo
L2 = rojo
L3 = rojo
L4= rojo
L5= rojo
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.
En los sistemas expertos basados en reglas, es fcil dar explicaciones de las
conclusiones obtenidas. El motor de inferencia obtiene conclusiones bastndose
en un conjunto de reglas y, por tanto, conoce de qu regla procede cada
conclusin. Por ello, el sistema puede dar al usuario la lista de hechos concluidos
junto con las reglas que se han utilizado para obtenerlos.

Leccin 32 Sistemas Expertos Probabilsticos

7.2.

Sistemas Expertos Probabilsticos

7.2.1. La incertidumbre
Es muy comn que los seres humanos tomen decisiones en condiciones de
incertidumbre, es ms la incertidumbre hace parte de nuestro diario vivir, un
ejemplo tan cotidiano como el de ir tarde al trabajo y preguntarse si tomar bus o
taxi, la persona decide con incertidumbre, por que no sabe si el bus se demore o
no, o si estar lleno, por otro lado el taxi le costar mas, pero debe tomar una
decisin que lo lleve a su trabajo. Este tipo de decisiones se presenta a menudo
tanto en la vida cotidiana, como en el mbito cientfico o en el empresarial; aunque
la incertidumbre este presente en todos esos campos, el ser humano ha
desarrollado tcnicas y teoras, como la probabilidad y estadstica, para enfrentar

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

este tipo de decisiones, pero adems de estos mtodos, el rpido desarrollo de los
sistemas ha permitido fusionar todo el conocimiento, en aplicaciones que permiten
dar soluciones que aunque no son perfectas tienen un soporte terico que le da
mayor probabilidad de xito, que a una decisin tomada al azar.
Para medir la incertidumbre se parte de un conjunto S (El espacio muestral), en el
que se incluyen todos los posibles resultados de un cierto experimento, una vez
definido este conjunto, el objetivo consiste en asignar a todo subconjunto S un
nmero real que mida el grado de incertidumbre sobre su realizacin.
Para obtener medidas con significado claro y prctico, se imponen ciertas
propiedades intuitivas adicionales que definen una clase de medidas que se
conocen como medidas de probabilidad.
7.2.2. Tipos de variables aleatorias
Variable aleatoria: Aquella que toma valores, que a priori, no conocemos con
certeza.
Por ej: cogemos 2 personas al azar. Su edad y sexo, sern 2 variables aleatorias.
Existen dos tipos de variables aleatorias, entre ellas:

Discretas: el nmero de valores es finito.


o Ejemplos:
 Nmero de puerto TCP origen.
 Direccin IP origen.
Continuas: puede asumir todos los valores posibles en cierto intervalo a-b.
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:

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

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.
Una funcin p que proyecta los sub-conjuntos de S A en el intervalo [0, 1] se
llama medida de la probabilidad si satisface los siguientes axiomas:
Axioma 1 (Normalizacin):
La probabilidad total de todo el espacio muestral es igual a 1
p(S) = 1.
Axioma 2 (Aditividad):
Para cualquier sucesin infinita A1, A2 , ... de subconjuntos disjuntos de S, se
cumple la igualdad
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.

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

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
A i)
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)

x1, ..., xi -1 , xi +1 ,..., xn

El conocimiento de la ocurrencia de un suceso puede modificar las probabilidades


de otros sucesos.
Por ejemplo, la probabilidad de que un paciente tenga una enfermedad dada
puede cambiar tras el conocimiento de los resultados de un anlisis de sangre.
7.2.3.4. Probabilidad Condicional
A la probabilidad de que un evento B se de cuando se sabe que un evento a se ha
presentado se llama probabilidad condicional y se escribe P ( B / A ) . Esta
expresin, por lo general se lee la probabilidad de que B ocurra dado que ya
ocurri A , o simplemente la probabilidad de B dado A
Sean X e Y dos conjuntos disjuntos de variables tales que p(y) > 0 . Entonces, la
probabilidad condicional (funcin de probabilidad condicionada) de X dado Y=y
viene dada por
p(X=x | Y=y) = p(x|y) = p(x,y)/p(y)
Esta definicin implica que la funcin de probabilidad conjunta de X e Y puede
escribirse como
p(x,y) = p(y)p(x|y).
Se obtiene un caso particular cuando X es una nica variable e Y es un
subconjunto de variables:

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

p(xi |x1, ..., xk) = p(xi , x1 , ..., xk)/p(x1 , ..., xk ) =

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


Independencia de dos variables. Sean X e Y dos subconjuntos disjuntos del
conjunto de variables aleatorias {X1, ... Xn} . Entonces se dice que X es
independiente de Y si y solamente si
p(x|y) = p(x),
Para todos los valores posibles de x e y de X e Y; en otro caso, X se dice
dependiente de Y.
Ntese que al si x e y son valores posibles de X e Y, entonces p(x) > 0 y p(y) > 0.
Si X es independiente de Y, entonces el conocimiento de Y no afecta el
conocimiento sobre X, es decir, Y no tienen informacin sobre X.
Si X es independiente de Y entonces p(x,y) = p(x) p(y).
Una propiedad importante de la relacin de independencia es su simetra:
p(y|x) = p(x,y) / p(x) = p(x) p(y) / p(x) = p(y)
7.2.3.6.

Teorema de Bayes

Si los eventos B 1 , B 2 ,..., B m constituyen una divisin del espacio muestral S,


donde P ( B i ) 0 , para i = 1 , 2 , 3 ,..., m , entonces para cualquier evento A en S
es tal que P ( A ) 0 .

P ( Bi / A) =

P ( Bi A)

P ( A / Bi ) * P ( Bi )
m

P( B A) P( A / B ) * P( B )
i

i =1

i =1

En el modelo general los eventos B1 , B2 ,..., Bm , forman una particin del espacio
muestral S, donde P ( B i ) 0 , para i = 1, 2,3,..., m , entonces para cualquier evento
A =

A de S, en particular
entonces se tiene que:

Aj

i J

P(Bi / Ai ) =

, para

P(Bi A j )
m

P(B

i=1

Aj )

j = 1 , 2 , 3 ,..., n

tal que

P(Aj) 0

P(A j / Bi ) P(Bi )
m

P(A

/ Bi ) P(Bi )

i=1

Esto se puede representar mediante diagramas de Ven como lo muestra la figura


3.9.

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

Figura 3.9. Diagrama de Ven de la regla de Bayes en forma General.

44

7.2.3.7. Reglas generalizadas


Una forma de introducir la incertidumbre en los sistemas basados en reglas
consiste en utilizar reglas generalizadas.
Por ejemplo, dada la regla determinista
Regla 1: Si A es cierta, entonces B es cierta
se puede introducir incertidumbre asociando una probabilidad a esta afirmacin
Reglas 2: Si A es cierta, entonces la probabilidad de que B sea cierta es p(b),
donde 0<= p(b) <=1 es una medida de la incertidumbre de B.
El uso de las reglas generalizadas requiere utilizar medidas de incertidumbre para
ambos, objetos y reglas, junto con formulas de agregacin para combinar la
incertidumbre de los objetos en las premisas con la de las reglas.
MYCIN y PROSPECTOR son los primeros S.E. que utilizan reglas generalizadas.
Problema: No cumplen los axiomas de la probabilidad.
Por contra, a los S.E. que describen las relaciones entre los objetos (variables)
mediante una funcin de probabilidad conjunta se les denomina SE de tipo
probabilstico.
7.2.4. Introduccin de los sistemas expertos basados en probabilidad
1. Los sistemas expertos probabilsticos pueden memorizar informacin.
Ejemplo de base de datos con diez pacientes para el diagnstico con cinco
enfermedades y tres sntomas binarios.

44

J.A. Baares Baares. 1999. Resolucin de Problemas en LBR. Departamento de Informtica e Ingeniera
de Sistemas C.P.S. Universidad de Zaragoza

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

Tabla 7.9 Tabla de diez pacientes y el diagnostico binario de 5 enfermedades.


Enfermedad
Sintomas
Paciente
(E)
S1
S2
S3
1
E5
1
1
1
2
E2
1
0
1
3
E3
1
1
0
4
E5
0
0
1
5
E3
0
1
0
6
E1
1
1
0
7
E1
1
1
1
8
E3
1
0
0
9
E1
1
1
1
10
E5
1
0
1
2. Los sistemas expertos probabilsticos pueden contar o calcular las frecuencias
absolutas y relativas de cualquier subconjunto de variables a partir de la base de
datos. Estas frecuencias pueden utilizarse para calcular las probabilidades
condicionales

3. Los sistemas expertos probabilsticos pueden aprender de la experiencia.


Tan pronto como un nuevo paciente es examinado y diagnosticado, se aade
nueva informacin a la base de datos y se cambian las frecuencias como
corresponda.
4. Los sistemas expertos probabilsticos pueden tomar (o ayudar a los expertos
humanos a tomar) decisiones tales como:
Se tiene suficiente informacin como para diagnosticar la enfermedad?
Se necesitan nuevas pruebas clnicas? y si la respuesta es positiva, Qu
prueba o pruebas suministran la mxima informacin sobre la enfermedad que se
sospecha tiene el paciente?

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

7.2.5. La Base del Conocimiento


La base de conocimiento de un sistema experto probabilstico consiste en un
conjunto de variables, {X1, . . . , Xn}, y una funcin de probabilidad conjunta
definida sobre ellas, p(x1, . . . , xn). Por ello, para construir la base de conocimiento
de un sistema experto probabilstico, se necesita definir la funcin de probabilidad
conjunta de las variables.
El modelo ms general posible se basa en especificar directamente la funcin de
probabilidad conjunta, es decir, asignar un valor numrico (parmetro) a cada una
de las posibles combinaciones de valores de las variables. Pero, la especificacin
directa de la funcin de probabilidad conjunta implica un gran nmero de
parmetros por lo que, no hay ordenador en el mundo capaz de almacenarlo
incluso para un valor de n tan pequeo como 50. Esta fue una de las primeras
crticas al uso de la probabilidad en los sistemas expertos.
Ejemplo:
Considrese las siguientes caractersticas de las personas de una poblacin
Sexo = {hombre, mujer}
Fumador = {si (f), no (~f)}
Estado civil = {casado (c), no casado (~c)}
Embarazo = {si (e), no (~e)}
Funcin de probabilidad conjunta
Tabla 7.10 Tabla con datos de funciones de probabilidad. Probabilidad conjunta
H
M
F
~F
F
~F
C
E
0.00
0.00
0.01 0.05
~E
0.02
0.18
0.04 0.10
~C
E
0.00
0.00
0.01 0.01
~E
0.07
0.23
0.10 0.18
Por ejemplo, el 50% de las personas son mujeres, y el
0.01+0.04+0.01+0.01/ (0.01+0.04+0.01+0.01)+ (0.00+0.02+0.00+0.07) = 64% de
los fumadores son mujeres
Sea A una persona elegida al azar de la poblacin.
Sin conocer si la persona es fumadora, la probabilidad de que se trate de
una mujer es p(A=mujer) = 0.50
Si se sabe que las persona es fumadora, esta probabilidad cambia de 0.50
a p(A=mujer | A = f) = 0.64.
Por lo tanto, se tiene que p(A=mujer | A = f) p ( A = mujer) ; por lo que las
variables Sexo y Fumador son dependientes.

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

Supngase ahora que se sabe que la persona est embarazada Entonces,


p(A=mujer | A = e) = 1 p (A = mujer) = 0.50. Por lo que Sexo y Embarazo
son dependientes.
Fumador y Embarazo contienen informacin relevante sobre el Sexo. Pero
el suceso la persona est embarazada contiene mucha ms informacin
sobre el Sexo que el suceso la persona es fumadora .
p(A=mujer | A =e) / p(A = mujer | A = f) = 1/0.64 >1
Estado Civil contiene informacin relevante sobre el Sexo?
Sin embargo, en la mayor parte de las situaciones prcticas, muchos subconjuntos
de variables pueden ser independientes o condicionalmente independientes.
Ejemplos de simplificaciones son:
El Modelo de Sntomas Dependientes (MSD)
El Modelo de Sntomas Independientes (MSI)
El Modelo de Sntomas Relevantes Independientes (MSRI)
El Modelo de Sntomas Relevantes Dependientes (MSRD)
7.2.5.1. Modelo de Sntomas Dependientes
Para un modelo de una supuesta enfermedad, en este modelo se supone que los
sntomas son dependientes pero que las enfermedades son independientes entre
s, dados los sntomas.

Figura 3.10. Modelo de Sntomas dependientes

45

45

J.A. Baares Baares. 1999. Resolucin de Problemas en LBR. Departamento de Informtica e Ingeniera
de Sistemas C.P.S. Universidad de Zaragoza

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

7.2.5.2. Modelo de Sntomas Independientes


Una simplificacin consiste en suponer que, para una enfermedad dada, los
sntomas son condicionalmente independientes entre s:

Figura 3.11. Modelo de Sntomas independientes

Puesto que lo sntomas se suponen condicionalmente independientes

7.2.5.3. Modelo de Sntomas Relevantes Independientes


Se puede conseguir una reduccin an mayor del nmero de parmetros
suponiendo que cada enfermedad tiene un nmero reducido de sntomas
relevantes:
Para cada valor ei de la enfermedad E se seleccionan algunos sntomas
relevantes S1 , ..., Sr y los restantes sntomas se suponen independientes para
ese valor de E.

Figura 3.12. Modelo de Sntomas relevantes independientes

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

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

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:

Los sntomas asociados a ciertas enfermedades suelen producirse en


grupos o sndromes.
EL modelo de sntomas relevantes dependientes evita este inconveniente:
Es el mismo que el MSRI pero sin obligar a los sntomas relevantes a ser
independientes, dada la correspondiente enfermedad.
Se puede pensar en el MSRD como una solucin de compromiso entre el
MSD y el MSRI.

Figura 3.13. Modelo de Sntomas Relevantes dependientes

7.2.6. Motor de Inferencia


Hay dos tipos de conocimiento en los sistemas expertos probabilsticos:
El conocimiento, que est formado por el conjunto de variables y el conjunto
de probabilidades asociadas necesarias para construir su funcin de
probabilidad conjunta. (Se almacena en la base de conocimiento)
Los datos, que consiste en un conjunto de valores de algunas variables (por
ejemplo, sntomas) conocidas por el usuario. A esta informacin se la
conoce con el nombre de evidencia, y se almacena en la memoria de
trabajo.
El motor de inferencia utiliza ambos para responder a preguntas como:
Pregunta 1: Antes de ser examinado por el doctor, cul es la enfermedad ms
probable para el paciente?
No hay evidencia disponible. El problemas consiste en calcular la probabilidad
marginal inicial de E p(E = ei).
Pregunta 2: Dado que el paciente presenta un subconjunto de sntomas
S1=s1 ..., Sk=sk , qu enfermedad tiene el paciente con mayor probabilidad?
El conjunto evidencial consiste en los valores s1 ... sk. El problema consiste en
calcular la funcin de probabilidad conjunta para cada enfermedad ei dada la
evidencia s1 ... sk: p(E= ei | s1 ... sk), i = 1 ...m.

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

El motor de inferencia es responsable de actualizar las probabilidades


condicionales cuando se conocen nuevos sntomas:
p(ei | s1 ... sk)= p(ei ,s1 ... sk)/ p(s1 ... sk); i = 1 ...m.

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.

Uno de los problemas ms serios de los S.E. es la presencia de incoherencias en


su base de conocimiento y/o en su memoria de trabajo:
Los expertos humanos pueden suministrar conocimiento incoherente
EL usuario puede suministrar datos incoherentes
El motor de inferencia no actualiza la base de conocimiento tan pronto se
de un hecho.
No hay un subsistema para controlar la coherencia.
Leccin 33 Redes Bayesianas

7.3.

Redes Bayesianas

Una red bayesiana est compuesta por:


1. Un grafo dirigido acclico (GDA) donde cada nodo representa una variable
aleatoria y los arcos representan dependencias probabilsticas entre variables. A
esta parte de la red se la denomina estructura o modelo.
2. Una distribucin de probabilidades condicionadas de la forma P(x | x) para
cada nodo x dado su conjunto de padres x. Estos son los llamados parmetros
de la red bayesiana.
En una red bayesiana se considera que cada nodo es independiente de todos los
nodos no descendientes dados sus padres. As, a partir del producto de
probabilidades condicionadas se puede obtener la distribucin conjunta de
probabilidades:
P(x1, ..., xi, ..., xn)=i=1n P(xi | xi)
Hallazgo: determinacin del valor de una variable, a partir de un dato (una
observacin, una medida...).
Evidencia: conjunto de todos los hallazgos disponibles en un determinado
momento.

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

Probabilidad a priori: es la probabilidad de una variable o subconjunto de


variables cuando no hay ningn hallazgo. Coincide con la probabilidad marginal
P(x).
Probabilidad a posteriori: es la probabilidad de una variable o subconjunto de
variables dada la evidencia e. Se trata de la probabilidad condicional P(x|e).
7.3.1. Aprendizaje Automtico de la Red Bayesiana46
Si la base de conocimiento de un sistema experto la constituye una red bayesiana,
sta debe cambiar conforme aumentan los datos concretos o casos. As, en sus
primeros estados, la red bayesiana puede ser construida segn la opinin de los
expertos o bien segn la informacin de la que se parta o teniendo en cuenta
ambas cosas. Conforme se aade informacin (conocimiento concreto) a la
misma, se va modificando tanto su estructura como los parmetros mediante un
proceso de aprendizaje.
En este trabajo consideraremos la construccin de la base de conocimiento
teniendo en cuenta exclusivamente los datos concretos, con el objeto de poder
comparar los mtodos de aprendizaje de la red bayesiana con otros mtodos, ya
sean estadsticos o pertenecientes tambin al propio campo de la inteligencia
artificial.
7.3.2. Clasificadores Bayesianos
Un clasificador es una funcin que asigna un valor de un atributo discreto, llamado
clase, a instancias o ejemplos descritos mediante un conjunto de atributos, que
pueden ser tanto continuos como discretos. Un sistema experto puede ser
utilizado como clasificador. As por ejemplo, un sistema experto en un hospital
determina que para un conjunto de sntomas presentados por un individuo, no es
probable que exista cncer. O bien, el sistema experto para ayuda a la decisin en
una entidad financiera, aconsejar no otorgar un prstamo a un cliente porque la
probabilidad de no pago sea muy elevada, a partir de una serie de atributos,
fundamentalmente financieros, del mismo.
En el caso de que la base de conocimientos sea una red bayesiana, la funcin de
clasificacin estar definida a partir de probabilidades condicionadas. Otros
modelos que suelen ser utilizados son los rboles de decisin47, las redes
neuronales 48 o las ms recientes mquinas de soporte vectorial.
Una de las redes bayesianas ms eficientes en la clasificacin es el llamado
clasificador simple (del ingls Nave Bayes classifier). La estructura de esta red

46

Disponible en: URL (http://lsi.ugr.es/~rosana/investigacion/papers/abad-efsi02.pdf)


Quinlan, J. R. (1996). Improved use of continuous attributes in C4.5, Journal of Artificial
Intelligence Research, 4, 77-90.
48
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.
47

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

bayesiana se basa en una fuerte restriccin: todos los atributos que describen los
casos son independientes entre s dado el valor de la clase (Figura. 3.14).

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
(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.

Figura 3.15. Un ejemplo de estructura TAN

Para seleccionar el atributo padre z de un atributo x se utiliza como medida la


llamada informacin mutua condicionada de x y z dada la clase y: Se trata de una
medida del grado de independencia condicional de x y z dada la clase y: I (x, z | y).

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

Por otra parte, el algoritmo SAN es aun ms flexible que TAN, en el sentido de que
permite la construccin de estructuras AN menos restrictivas. Estas estructuras,
llamadas tambin SAN (Figura 3.16) se caracterizan porque la clase no tiene
padres y los atributos de entrada pueden tener como padres adems de la clase,
cualquier nmero de atributos de entrada, siempre que no haya ciclos dirigidos,
pues la estructura de una red bayesiana es siempre un GDA.

Figura 3.16. Un ejemplo de estructura SAN

Sin embargo, cuanto ms compleja es una estructura, es decir, cuantos ms arcos


existan en una estructura SAN, mayor es el riesgo de sobreajuste, es decir, mayor
es el riesgo de que la estructura aprendida clasifique bien los casos usados para
el aprendizaje pero tenga una baja eficiencia para casos nuevos. As, su
capacidad de generalizacin ser baja y por tanto el aprendizaje no se puede
considerar aceptable.
Para evitar el problema del sobreajuste en estructuras complejas el algoritmo de
aprendizaje SAN utiliza un principio inductivo que favorece la creacin de
estructuras simples. As, si el nmero de casos del que se dispone es pequeo, la
estructura elegida ser ms sencilla que si el nmero de casos es mayor. Dicho
principio es el llamado Minimizacin del Riesgo Estructural (del ingls Structural
Risk Minimization). As, este principio define un equilibrio entre la calidad de un
modelo dado un conjunto de datos y la complejidad del mismo.
Todos los algoritmos de aprendizaje que generan una estructura AN pertenecen al
llamado paradigma de la muestra. Los algoritmos pertenecientes a este paradigma
adolecen de los siguientes inconvenientes:
1. No son robustos frente a atributos superfluos.
2. Tienen una escasa capacidad de generalizacin cuando las muestras son
pequeas o el nmero de atributos de cada ejemplo muy elevado.
7.3.2.1. Ejemplo: Adenocarcinoma gstrico
Un centro mdico tienen una base de datos consistente en las historias
clnicas de N= 1000 pacientes

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

Figura 3.17. Diagrama de Ven del Adenocarcinoma gstrico

Existen 700 pacientes (regin no sombreada) que tienen la enfermedad


adenocarcinoma gstrico (G), y 300 (regin sombreada) no la tienen.
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

Probabilidad a priori: 440 de 1000 pacientes vomitan => p(v) =

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:

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

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:

Tras observar que V=v y P = p la probabilidad a posteriori es

Ntese que cuando se aplica el teorema de Bayes sucesivamente, la


probabilidad a posteriori calculada en una etapa dada es la misma que la
probabilidad a priori en la siguiente.
Por ejemplo, la probabilidad a posteriori que se ha calculado en el primer paso
anterior, puede ser utilizada como probabilidad a priori en la siguiente:

7.4.

Comparacin entre los SE basado en Reglas y los SE basados en


Probabilidades

Tabla 7.11 Comparacin entre los sistemas expertos basados en reglas y los
sistemas expertos basados en probabilidades.
BASADOS EN REGLAS

PROBABILISTICOS

Objetos y conjunto de Espacio de probabilidad, que


reglas.
Fcil
de incluye las variables, sus
Base de
implementar, pues slo es posibles valores, y su funcin
Conocimie
necesario utilizar elementos de probabilidad conjunta.
nto
simples, tales como objetos, Inconveniente: el alto numero
conjuntos
de
valores, de parmetros que manejan, lo

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

premisas, conclusiones y que hace que sea difcil su


reglas.
especificacin y definicin.
El conocimiento que puede
ser almacenado es limitado.
Se basa en la evaluacin de las
probabilidades
condicionales
Las
conclusiones
se
utilizando uno o vario mtodos
obtienen de los hechos
propuestos por los diferentes
aplicando las diferentes
tipos de sistemas expertos
estrategias de inferencia,
Motor de
probabilisticos. El grado de
tales como Modus Ponens,
Inferencia
dificultar depende del modelo
Modus
Tollens
y
seleccionado y varia desde
encadenamiento de reglas;
baja, para los modelos de
por lo que es rpido y fcil
independencia, a alta, para los
de implementar.
modelos
de
dependencia
generales.
La explicacin es fcil, ya
Se basa en los valores relativos
que se sabe que reglas han
de
las
probabilidades
sido utilizadas para concluir
condicionadas que miden los
en cada momento. El motor
Subsistema
grados de dependencia. Una
de inferencia sabe que
de
comparacin
de
las
reglas se han utilizado en el
Explicacin
probabilidades
condicionales
encadenamiento
y
han
para diferentes conjuntos de
contribuido
a
obtener
evidencia permite analizar sus
conclusiones y que reglas
efectos en las conclusiones.
se han utilizado sin xito.
Consiste
en
incorporar
nuevos objetos, nuevos
Consiste en incorporar o
conjuntos
de
valores
Subsistema
modificar la estructura del
factibles para los objetos,
de
espacio
de
probabilidad:
nuevas
reglas
o
Aprendizaj
variables, conjunto de posibles
modificaciones
de
los
valores, o los parmetros
e
objetos existentes, de los
(valores de las probabilidades).
conjuntos
de
valores
posibles o de las reglas.

Leccin 34 Sistemas Basados en Casos

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

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

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 Schank49 fue la base de los tempranos sistemas
CBR: Janet Kolodner's en 1983 ayudo a la construccin de CYRUS50 and Michael
Lebowitz's a la de IPP.51 Otra escuela de Razonamiento basado en casos tambin
emergi en la dcada del 80, investigando los asuntos tales como Razonamiento
basado en casos en el razonamiento legal, el razonamiento basado en la memoria
(una manera de razonar con ejemplos en las mquinas masivamente paralelas, y
combinaciones de razonamiento basado en casos con otros mtodos de
razonamiento. En los aos 90, el inters en razonamiento basado en casos creci
en la comunidad internacional, segn lo evidenciado por el establecimiento de una
conferencia internacional sobre el razonamiento basado en casos en 1995, as
como europeo, alemn, britnicos, el italiano, y otros talleres de Razonamiento
basado en casos. La tecnologa Razonamiento basado en casos produjo
numerosos casos de xito. El primero fue en un sistema llamado Lockheed's
CLAVIER52 utilizado para presentar a las piezas compuestas que se cocern en

49

Roger Schank, Dynamic Memory: A Theory of Learning in Computers and People (New York: Cambridge
University Press, 1982).
50
Janet Kolodner, "Reconstructive Memory: A Computer Model," Cognitive Science 7 (1983): 4.
51
Michael Lebowitz, "Memory-Based Parsing," Artificial Intelligence 21 (1983), 363-404.
52
Bill Mark, "Case-Based Reasoning for Autoclave Management," Proceedings of the Case-Based Reasoning
Workshop (1989).

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

un horno industrial de conveccin, de igual forma se est utilizando en


aplicaciones de ayuda de escritorio como Compaq SMART system.53 Y otras.
7.5.2. El ciclo del razonamiento basado en casos
En el proceso de dividir el razonamiento basado en casos en diferentes
subprocesos nos encontramos el ciclo que lo conforman puede ser dividido en 4
procesos claramente diferenciados54:

RECORDAR o RECUPERAR los casos similares al que analizamos. (un


nuevo problema se aparea con casos similares guardados en la base de
casos)

REUTILIZAR la informacin y el conocimiento que tenemos en este caso


para resolver el problema.

REVISAR la solucin propuesta. (en caso de ser necesario)

RETENER o ALMACENAR las partes de esta experiencia que nos puedan


ser tiles para la resolucin de futuros problemas.

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.
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.

53

Trung Nguyen, Mary Czerwinski, and Dan Lee, "COMPAQ QuickSource: Providing the Consumer with
the Power of Artificial Intelligence," in Proceedings of the Fifth Annual Conference on Innovative
Applications of Artificial Intelligence (Washington, DC: AAAI Press, 1993), 142-151.
54
Documento en lnea: URL (http://es.wikipedia.org/wiki/Case-based_reasoning)

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

Leccin 35 Redes Neuronales Artificiales

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
robustez55.

Figura 3.18. Perceptrn con 2 entradas

Una red neuronal se compone de unidades llamadas neuronas. Cada neurona


recibe una serie de entradas a travs de interconexiones y emite una salida. Esta
salida viene dada por tres funciones:
Una funcin de propagacin (tambin conocida como funcin de excitacin), que
por lo general consiste en una sumatoria de cada entrada multiplicada por el peso
de su interconexin (valor neto). Si el peso es positivo, la conexin se denomina
excitatoria; si es negativo, se denomina inhibitoria.
Una funcin de activacin, que modifica a la anterior. Puede no existir, siendo en
este caso la salida la misma funcin de propagacin.
Una funcin de transferencia, que se aplica al valor devuelto por la funcin de
activacin. Se utiliza para acotar la salida de la neurona y generalmente viene
dada por la interpretacin que queramos darle a dichas salidas. Algunas de las
ms utilizadas son la funcin sigmoidea (para obtener valores en el intervalo [0,1])
y la tangente hiperblica (para obtener valores en el intervalo [-1,1]).
7.6.1. Ventajas
Las redes neuronales artificiales (RNA) tienen varias ventajas debido a que se
basan en la estructura del sistema nervioso, principalmente el cerebro.

55

Aprendizaje: Las RNA tienen la habilidad de aprender mediante una etapa


que se llama etapa de aprendizaje. Esta consiste en proporcionar a la RNA

Tomado de: http://es.wikipedia.org/wiki/Red_neuronal_artificial

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

datos como entrada a su vez que se le indica cul es la salida (respuesta)


esperada.
Auto organizacin: Una RNA crea su propia representacin de la
informacin en su interior, descargando al usuario de esto.
Tolerancia a fallos: Debido a que una RNA almacena la informacin de
forma redundante, sta puede seguir respondiendo de manera aceptable
aun si se daa parcialmente.
Flexibilidad: Una RNA puede manejar cambios no importantes en la
informacin de entrada, como seales con ruido u otros cambios en la
entrada (ej. si la informacin de entrada es la imagen de un objeto, la
respuesta correspondiente no sufre cambios si la imagen cambia un poco
su brillo o el objeto cambia ligeramente)
Tiempo real: La estructura de una RNA es paralela, por lo cul si esto es
implementado con computadoras o en dispositivos electrnicos especiales,
se pueden obtener respuestas en tiempo real.

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

CAPTULO 8. LENGUAJES UTILIZADOS


Leccin 36 Lenguajes utilizados en la construccin de sistemas expertos

8.1.

Lenguajes utilizados en la construccin de SE

8.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 matemticas56
LISP actualmente est diseado para manejar smbolos matemticos (variables),
por lo que es utilizado perfectamente para la investigacin en inteligencia artificial,
donde un smbolo puede representar cualquier cosa. LISP tiene dos
caractersticas principales que lo hacen sobresalir de entre los dems lenguajes
para inteligencia artificial.
a. Primero, es altamente flexible, es decir, es posible escribir un programa LISP
para producir cualquier comportamiento deseable de la computadora.
b. 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.

Leer en LISP, es el termino usado para ver lo que se ha tecleado.


Evaluar, es el trmino usado para tratar de responder de cualquier forma
Imprimir, es el trmino usado para .desplegar la respuesta en la pantalla.

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:

56

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

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

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 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.
8.1.2. CLIPS
CLIPS es otra herramienta para el desarrollo de S. 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.57
8.1.3. PROLOG
57

BAARES, Jos ngel. Herramientas para las asignaturas del IAIC. URL
http://diana.cps.unizar.es/IA/noticias.html

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

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
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.

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

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.

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 tiempo58.
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 IA59.

Leccin 37 Herramientas y Shells

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,
58
59

TELLO, Ernest. Op. cit.


SCHILDT Herbert. Op. cit.

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

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.
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. 60
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.61
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
60
61

RICH Elaine y Kevin Knight. Op. cit.


TELLO Ernest. Op. cit.

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

opciones de entre paradigmas de programacin como sea posible. La versin


actual soporta cuatro paradigmas de programacin principales:
El paradigma orientado a objetos, el paradigma basado en reglas, el paradigma
orientado a accesos y el paradigma procedural normal. Como cualquier otro.
8.2.4. KEE
KEE, acrnimo de Ambiente de Ingeniera del Conocimiento, de IntelliCorp es una
de las herramientas de desarrollo orientados a objetos de SE ms avanzada en la
actualidad. Hoy en da tiene un considerable uso en esfuerzos mayores de
desarrollo tanto en el sector comercial como en el gobierno.
Las funciones en KEE se implementan como extensiones de LISP, de manera que
todo el vocabulario del lenguaje LISP puede usarse en conjuncin con las
funciones predefinidas. El sistema entero esta construido en una estructura de
objetos, que en el ambiente son llamados unidades.
8.2.5. Humble
Humble es un Shell orientado a objetos para SE escrito en Smalltalk que combina
reglas con encadenamiento hacia delante y hacia atrs con representacin de
objetos, paso de mensajes y uso de objetos. Las reglas de sintaxis usadas en
Humble son una versin modificada de la sintaxis de Smalltalk. A diferencia de la
mayora de los shells, Humble tiene la capacidad de construir bloques if then
else.
La caracterstica principal de Humble es que las reglas operan sobre entidades.
Las entidades son un importante tipo de objeto que tienen una representacin
especfica. En las aplicaciones las entidades se categorizan en un nmero de tipos
diferentes los cules son definidos por el desarrollador o por el Ingeniero de
conocimientos.
8.2.6. EMYCIN
EMYCIN es acrnimo de Empty MYCIN (MYCIN vaco); este shell fue creado a
partir de MYCIN, uno de los SE ms exitosos en la poca de los setentas. Se
construy con el fin de que fuera usado para otros fines, adems del diagnstico
de enfermedades en la sangre (objetivo para el cual fue creado). Este shell utiliza
un lenguaje, llamado ARL, el cual es una notacin de Algol y provee facilidades
para monitorear el comportamiento de reglas. Sin embargo es difcil distinguir
diferentes tipos de conocimiento (no se puede hacer diferencia entre conocimiento
de control y conocimiento a cerca de los valores esperados de los parmetros),
por lo que el agregar una nueva regla tambin se vuelve un proceso complicado.62

62

VALDIVIA Rosas, David. Sistemas Expertos.


URL(http://www.fortunecity.com/skycraper/romrow/207/se/Portada.html)

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

Leccin 38 Representacin del conocimiento

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.

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

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

por gramticas formales, usualmente implantadas por sistemas o lenguajes


procedimentales y sistemas basados en reglas (sistemas de produccin). 63
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 produccin64. 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.
8.4.

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.
63

ARTEAGA, Ren y Juan Carlos Armijos. Tutorial de programacin Heurstica. URL(www.uc3m.es/cgibin/nph-count)


64
DE ALBORNOZ Bueno, lvaro. Laboratorio de procesamiento de imgenes.
URL(http://www.cic.ipn.mx/organizacion/lab_de_int_art.htm)

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

La principal debilidad de la lgica proposicional es su limitada habilidad para


expresar conocimiento.

8.5.

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.
8.5.1. 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
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

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

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.

Leccin 39 Reglas de produccin

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.65

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

65

BRATKO Ivan. Prolog programming for Articial Intelligence.

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

para representar relaciones semnticas, sino tambin para


asociaciones fsicas o causales entre varios conceptos u objetos.

representar

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.66
8.7.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.
La exploracin de una red asociativa puede derivar en una explosin
combinatoria del nmero de relaciones que deben ser examinadas para
comprobar una relacin.67

Leccin 40 Estructuras Frame

8.8.

66
67

Estructuras frame

ANGULO Usategui, Jos Mara y Anselmo del Moral Bueno. Gua fcil de la inteligencia artificial.
ARTEAGA, Ren y Juan Carlos Armijos. Op. cit.

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

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.68
8.8.1. Ventajas y desventajas de los frames
Las ventajas que se pueden establecer para los sistemas basados en plantillas
son las siguientes:

68

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.

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

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

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:

8.9.

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.

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.
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.

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

8.9.1. 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.

8.10. ACTIVIDADES COMPLEMENTARIAS


1. Realice un cuadro comparativo de los diferentes lenguajes de
programacin utilizados en la construccin de SE.
2. En que consiste la lgica proposicional y la lgica de predicados,Cual es
su uso en las SE?
3. Realice un cuadro comparativo destacando las ventajas y desventajas de
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 en
la construccin de SE

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

CAPTULO 9. INTRODUCCIN A PROLOG


Leccin 41 Conceptos bsicos

9.1.

Conceptos Bsicos

PROLOG es un lenguaje de programacin para la creacin de sistemas


inteligentes y trabaja mediante reglas o programacin lgica relacional, fue creado
para representar y utilizar el conocimiento que se tiene sobre un determinado
dominio, donde el dominio es un conjunto de objetos y el conocimiento se
representa por un conjunto de relaciones que describen las propiedades de los
objetos y sus interrelaciones; la extensin de los archivos en prolog es .pl 69
9.1.1 Hechos
Expresan relaciones entre objetos. Suponga que se quiere expresar el hecho de
que "un coche tiene ruedas". Este hecho, consta de dos objetos, "coche" y
"ruedas", y de una relacin llamada "tiene". La forma de representarlo en
PROLOG es:
tiene(coche,ruedas).
// en esta relacin se denota una existencia de tenencia //entre coche y ruedas,
prolog en este punto no conoce quien es el coche, somos nosotros quienes le
damos esa interpretacin, prolog solamente se encarga de //crear una relacin en
su base del conocimiento.

Los nombres de objetos y relaciones deben comenzar con una letra


minscula.
Primero se escribe la relacin, y luego los objetos separados por comas y
encerrados entre parntesis.
Al final de un hecho debe ir un punto (el carcter ".").

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

69

Tomado de: http://fcqi.tij.uabc.mx/docentes/ardiaz/conceptos.html

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

este modo, cuando preguntamos "Un coche tiene X ?", PROLOG busca en los
hechos cosas que tiene un coche y respondera:
X = ruedas.
instanciando la variable X con el objeto ruedas.

Los nombres de variables comienzan siempre por una letra mayscula.

Un caso particular es la variable annima, representada por el carcter subrayado


("_"). Es una especie de comodn que utilizaremos en aquellos lugares que
debera aparecer una variable, pero no nos interesa darle un nombre concreto ya
que no vamos a utilizarla posteriormente.
La regla: para toda X, X tiene un hijo si X es el padre de alguna Y.
hijo(X) :- padre (X,Y).
Si se est definiendo la propiedad hijo el cual, no depende del nombre del hijo.
Entonces, aqu hay un lugar en donde se puede usar una variable annima.
hijo(X) :- padre(X,_).
9.1.3 Reglas
Las reglas se utilizan en PROLOG para significar que un hecho depende de uno o
ms hechos. Son la representacin de las implicaciones lgicas del tipo p q (p
implica q).

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 (".").

La cabeza en una regla PROLOG corresponde al consecuente de una implicacin


lgica, y el cuerpo al antecedente. Este hecho puede conducir a errores de
representacin. Supongamos el siguiente razonamiento lgico:
tiempo(lluvioso) suelo(mojado)
suelo(mojado)
Que el suelo esta mojado, es una condicin suficiente de que el tiempo sea
lluvioso, pero no necesaria. Por lo tanto, a partir de ese hecho, no podemos
deducir mediante la implicacin, que esta lloviendo (pueden haber regado las
calles). La representacin correcta en PROLOG, sera:
suelo(mojado) :- tiempo(lluvioso).
suelo(mojado).

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

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.

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

Leccin 42 Tipos de operadores de Prolog

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

Descripcin

Sqrt(X)

Calcula la raz cuadrada de la variable

log(X)

Calcula el logaritmo de X

ln(X)

Calcula el logaritmo natural de X

abs(B)

Regresa el valor absoluto de B

sin(T)

Seno de T

cos(A)

Coseno de A

tan(C)

Tangente de C

9.1.6.2 Relacionales
Tambin dispone de predicados de igualdad y desigualdad.

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

=  IGUAL QUE (X = Y igual)


>  MAYOR QUE (X < Y menor) (X > Y mayor)
>=  MAYOR O IGUAL QUE (X <= Y)
>=  MENOR O IGUAL QUE (X >= Y)
<>  DESIGUAL QUE
=/=  DIFERENTE QUE (X \= Y distinto)
is  EVALUADOR DE EXPRESIN
seed  GENERADOR DE NMEROS ALEATORIOS

Al igual que en otros lenguajes de programacin es necesario tener en cuenta la


precedencia y la asociatividad de los operadores antes de trabajar con ellos.
En cuanto a precedencia, es la tpica. Por ejemplo, 3+2*6 se evala como 3+(2*6).
En lo referente a la asociatividad, PROLOG es asociativo por la izquierda. As,
8/4/4 se interpreta como (8/4)/4. De igual forma, 5+8/2/2 significa 5+((8/2)/2).
El operador 'is'.
Es un operador infijo, que en su parte derecha lleva un trmino que se interpreta
como una expresin aritmtica, contrastndose con el trmino de su izquierda.
Por ejemplo, la expresin '6 is 4+3.' es falsa. Por otra parte, si la expresin es 'X is
4+3.', el resultado ser la instanciacin de X:
X=7
Una regla PROLOG puede ser esta:
densidad(X,Y) :- poblacin(X,P), rea(X,A), Y is P/A.
Algunos comandos bsicos
* consult.
El predicado _consult_ esta pensado para leer y compilar un programa PROLOG o
bien para las situaciones en las que se precise aadir las clusulas existentes en
un determinado fichero a las que ya estn almacenadas y compiladas en la base
de datos. Su sintaxis puede ser una de las siguientes:
consult(fichero).
consult('fichero.ext').
consult('c:\ia\prolog\fichero').
* recon.

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

El predicado recon es muy parecido a consult, con la salvedad de que las


clusulas existentes en el fichero consultado, reemplazan a las existentes en la
base de hechos. Puede ser til para sustituir una nica clusula sin consultar
todas las dems, situando esa clusula en un fichero. Su sintaxis es la misma que
la de consult.
*forget.
Tiene como fin eliminar de la base de datos actual aquellos hechos consultados de
un fichero determinado. Su sintaxis es:
forget(fichero).
* exitsys.
Este predicado nos devuelve al sistema operativo.
9.1.7 Predicados
Un predicado es la relacin directa con una expresin. Cada predicado usado en
una clusula de Prolog debe ser declarado, basado en la declaracin de los tipos
de dominios para cada uno de los nombres de los objetos.
paciente(nombre, edad, peso, presion_sangunea).
mercado(encargado, vendedor).
9.1.8 Estructuras
Los objetos estructurados (o simplemente estructuras) son objetos que tienen
varios componentes. Los componentes pueden ser a su vez estructuras. Por
ejemplo, la fecha, puede ser vista como una estructura con 3 componentes: da,
mes y ao. Las estructuras son tratadas en el programa como objetos simples,
aunque estn formadas por muchos componentes. El orden en que se combinan
los componentes dentro de un objeto simple, es la forma en que escogemos una
functor. Un functor conveniente para nuestro ejemplo es fecha. Entonces la fecha
1o. de Enero 1975 puede escribirse:
fecha(1, enero, 1975)
Todos los componentes en este ejemplo son constantes (2 enteros y un tomo).
En la siguiente figura vemos como se representa en forma de rbol, y a su vez
cmo est escrito en Prolog:
Ahora bien, cualquier da de enero de 1975 puede representarse mediante la
estructura:
fecha(Da, enero, 1975)
Donde Da es una variable que puede ser instanciada por cualquier objeto en
cualquier momento de la ejecucin del programa. Sintcticamente, todos los

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

objetos de datos en Prolog son trminos. Por ejemplo, enero y date(1,enero,1975)


son trminos.
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 Construccin de reglas de produccin

9.2.

Construccin de reglas de produccin en Prolog

La estructura de una regla en PROLOG es la siguiente:


consecuente :- condicion1, condicion2, ..., condicionN.

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

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.
Segn esta estructura las reglas se pueden dividir en tres partes:
Cabeza: El consecuente
Cuello: El smbolo : Cuerpo: la conjuncin de las n condiciones
Existen dos tipos de reglas fundamentales:
Hechos o Axiomas, reglas que representan un elemento cuya veracidad se
admite sin necesidad de verificar ninguna condicin, dentro del universo de
trabajo elegido. Por lo tanto no poseen cuerpo.
Reglas de Produccin o reglas normales que s necesitan de cierta
verificacin para asegurar su veracidad.
Por ejemplo el conjunto de clusulas para decir que si X es catedrtico entonces
X es doctor y si (X es jefe_dpto) entonces (x es catedrtico) se codifica en
PROLOG.
(1) catedratico(X) :-jefe(X).
(2) doctor(X) :- catedratico(X).
(3) catedratico("Ivan Gonzalez").
(4) catedratico("Diana Cardona").
(5) jefe("Angel Cruz").
La regla (1) y (2) son reglas de produccin y el resto son axiomas o hechos
saludo:nl,
write('Ingrese su nombre, por favor'),
tab(3),
read(Name),
nl,nl,
write('Hola '),
write(Name).
Otro de los ejemplos de los cuales abordamos en el modulo fue el un estudio
electrofisiolgico as: El tiempo de latencia distal del nervio mediano mide el
tiempo que tarda en llegar un impulso elctrico desde su origen hasta el sitio en
que est localizado el electrodo de registro.
If Latencia Distal >= 4 Then Latencia Distal Normal
If Latencia Distal < 4 Then Latencia Distal Anormal
En Prolog las reglas de produccin serian

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

latenciadistal(X):-X>=4,write('Normal').
latenciadistal (X):-X<4,write('Anormal').
y la pregunta para saber si tiene latencia distal normal o anormal seria:
latenciadistal (5).

Si (el termmetro marca 39) Y (el termmetro funciona correctamente) Entonces


el paciente tiene fiebre
En Prolog las reglas de produccin serian
temperatura(X):-X>37,termometro(Y),write('Paciente tiene fiebre').
termometro(Y):-write('El termometro funciona? (si.,no.) '), read(si).
Y la pregunta para saber si tiene fiebre temperatura(39).
Al tener por ejemplo dentro de nuestra base del conocimiento, los siguientes
hechos70:
sucesor(1,2).
sucesor(2,3).
sucesor(3,4).
sucesor(4,5).
sucesor(5,6).
sucesor(6,7).
Podemos realizar consultas como las siguientes:
sucesor(X,6).
sucesor(2,Y).
sucesor(X,Y).
Ntese como los tomos de informacin que se desean consultar han sido
reemplazados por variables (letra inicial en mayscula); en este punto Prolog
busca dentro de su base del conocimiento un hecho que haga emparejamiento
con la informacin suministrada en la consulta. Primero, busca una predicado
(nombre de la relacin) llamado sucesor, luego hace una comparacin entre la
informacin que se tiene (6), para llenar la variable X con la informacin
almacenada en el hecho, as, prolog responde X=5. De la misma forma ocurre con
la segunda consulta; en la tercera no existe informacin para hacer
emparejamiento en la base del conocimiento, por lo tanto el responder con el
primer hecho que tenga ese predicado.
Responder:
X=1
70

Tomado de: http://dis.unal.edu.co/~fgonza/courses/2005-I/AI/taller3-PROLOG.html

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

Y = 2;
En este punto tenemos dos opciones: quedar satisfechos con la respuesta que
prolog nos ha suministrado oprimiendo enter o solicitarle consultas sobre otros
posibles emparejamientos, para la cual debemos oprimir punto y coma (;).
Es tambin posible construir en prolog consultas complejas con los operadores
AND(,), OR(;) y NOT(not) de la siguiente forma:
legusta(pepe,pesca).
legusta(maria,bailar).
legusta(ana,pesca).
legusta(pepe,musica).
legusta(maria,musica).
legusta(ana,bailar).
Se pueden realizar las siguientes preguntas sobre la base de informacin:
- Le gusta la msica a Pepe y a Maria?:
?-legusta(pepe,musica),legusta(maria,musica).
- Le gusta bailar a Pepe o a Maria le gusta la msica?:
?-legusta(pepe,musica);legusta(maria,musica).
- Le gusta bailar a Pepe y a Maria no le gusta la msica?:
?-legusta(pepe,musica),not(legusta(maria,musica)).
Para que estas consultas funcionen de forma adecuada es necesario no dejar
espacios entre los operadores.
sucesor(1,2).
sucesor(2,3).
sucesor(3,4).
sucesor(4,5).
sucesor(5,6).
sucesor(6,7).
suma(1,X,R):-sucesor(X,R).
suma(N,X,R):-sucesor(M,N),suma(M,X,R1),sucesor(R1,R).
Aqu podemos apreciar como suma es una regla que depende en gran medida de
la condicin sucesor. En la segunda regla de suma se observa que existe mas de
una condicin, por tanto estas van separadas por coma; podemos observar
tambin que se realiza una operacin recursiva. Esta misma sentencia traducida
en un lenguaje de programacin como Java quedara:
int suma(int N, int X, int R)
{
if ( N == 1 )
{
sucesor(X,R);

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

}
else
{
sucesor(M,N);
suma(M,X,R1);
sucesor(R1,R2);
}
}
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 Estructura de un programa en Prolog

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).

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

** 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).

Leccin 45 Ejemplo de un programa en Prolog

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:

Figura 3.19. Consola de Prolog

En el men de File/New se abre un nueva ventana para escribir cdigo fuente.

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

Figura 3.20. Archivo de Prolog

1. Tener el programa de Prolog abierto.


2. En el cdigo fuente se compila, haciendo clic en el men compile.
3. En la consola se hace la consulta.
Una vez hayas compilado y guardado el archivo, vas al men File/Consult y
cargas el archivo del cual vas a hacer la consulta y luego ejecutas las consultas
necesarias.
Likes.pl, es un ejemplo que viene con SWI-Prolog, pueden copiarlo y luego realizar
las consultas pertinentes, la cual puede ser:
likes(sam,pizza)., la respuesta a esta consulta es yes de acuerdo a lo que est
escrito en el programa .
%%
Demo
coming
from
http://clwww.essex.ac.uk/course/LG519/2facts/index_18.html
%% Please load this file into SWI-Prolog
%% Sam's likes and dislikes in food
%%
%% Considering the following will give some practice
%% in thinking about backtracking.
%% ?- likes(sam,dahl).
%% ?- likes(sam,chop_suey).
%% ?- likes(sam,pizza).
%% ?- likes(sam,chips).
%% ?- likes(sam,curry).
likes(sam,Food) :- indian(Food), mild(Food).
likes(sam,Food) :- chinese(Food).
likes(sam,Food) :- italian(Food).
likes(sam,chips).

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

indian(curry).
indian(dahl).
indian(tandoori).
indian(kurma).
mild(dahl).
mild(tandoori).
mild(kurma).
chinese(chow_mein).
chinese(chop_suey).
chinese(sweet_and_sour).
italian(pizza).
italian(spaghetti).

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

FUENTES DOCUMENTALES DEL MODULO

PROLOG / Francois Giannesini, Henry Kanoui, Robert Paseroy Michael Van


Canaghen .-- s.c: Editorial Iberoamericana.

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. Versin Espaola editada por la
Academia Espaola de Ingeniera.

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.

Ezawa K. J.; Schuermann T. (1995). Fraud/uncollectable debt detection using


a Bayesian network based learning system: A rare binary outcome with mixed
data structures, Proceedings of the Eleventh Conference on Uncertainty in
Artificial Intelligence, 157-166.

Sahami, M. (1996). Learning limited dependence Bayesian classifiers,


Proceedings of the Second International Conference on Knowledge Discovery
and Data Mining, 335, 338, Menlo Park, CA.

Friedman, N.; Geiger, D; Goldszmidt, M. (1997). Bayesian network classifier,


Machine Learning, 29, 131-163, 1997.

Abad, M. (2001). Aplicacin del principio inductivo de MEVR en la


construccin de clasificadores, tesis doctoral. Departamento de Ingeniera de
la Informacin y las Comunicaciones, Universidad de Murcia, Espaa.

SITIOS WEB

www.Qdl.vcag.mx/66/ola.htm/
www.lafacu.com/apuntes/informatica/sist_expe/
http://home.worldonline.es/jmariocr/

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERIA
CONTENIDO DIDCTICO DEL CUSO: 299017 SISTEMAS EXPERTOS

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
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

You might also like