Вы находитесь на странице: 1из 43

Inteligencia Artificial.

- Sistemas basados en el conocimiento.

CAPITULO IV: SISTEMAS BASADOS EN EL CONOCIMIENTO.

En los capítulos anteriores estudiamos las diversas F.R.C. y un gran número


de M.S.P. En este capítulo analizaremos cómo utilizar e integrar lo estudiado
en los Sistemas Basados en Conocimiento (S.B.C.).

Comenzamos el estudio de los sistemas expertos, los cuales han sido uno de
los principales éxitos comerciales de la IA y constituyen un modelo
computacional de nuevo tipo, pues en ellos están perfectamente delimitadas
las dos componentes de un modelo.

4.1. Definición de Sistema Experto.

Los expertos son personas que resuelven tipos específicos de problemas. Su


habilidad proviene, generalmente, de una vasta experiencia y de un
conocimiento detallado, especializado de los problemas que manejan. Se
pueden citar como ejemplos los médicos especialistas, intérpretes de datos de
satélite, ingenieros expertos que diagnostican y reparan equipos de alta
tecnología, entre otros.

El conocimiento de un experto humano presenta dos aspectos:


- Conocimiento formal o público: Está basado en las leyes conocidas de la
naturaleza, como por ejemplo las leyes de Newton, y en métodos formales
de razonamiento. Este conocimiento está, usualmente, incluido en los
libros de texto relativos al tema y, como está formalizado, puede ser
transferido a otras personas con relativa facilidad.
- Conocimiento informal o privado: Según el juicio, la opinión o el criterio
del experto, consta de sugerencias y de cálculos aproximados. Constituye
la parte más importante del conocimiento de los expertos. Se presume que
el mejor experto es el que posee un conjunto más rico de este tipo de
conocimiento.

La experticidad o pericia es, entonces, el conocimiento tanto público como


privado que existe en determinado campo y las habilidades conocidas para
resolver problemas dentro de ese campo. El conocimiento privado es el que
diferencia a un experto de un novato, pues este último sólo posee
conocimiento público sobre dicho campo.

El concepto de Sistema Experto (S.E.) fue introducido por Feigenbaum como


consecuencia de la experiencia del proyecto DENDRAL. El surgimiento de
estos sistemas está directamente vinculado al cambio de concepción ocurrido
a fines de la década del 60, pues de los intentos de emular el pensamiento
humano mediante potentes métodos de razonamiento se pasó a dar mayor
énfasis a los sistemas de razonamiento de propósito específico. El
conocimiento propio de un dominio de aplicación pasó a ser más importante
que el M.S.P. empleado.

Los Sistemas Expertos (SE) constituyen uno de los éxitos comerciales más
importantes de la Inteligencia Artificial. Estos son programas sofisticados de
computación que tratan de imitar funciones de un experto en algún dominio

129
Inteligencia Artificial.
- Sistemas basados en el conocimiento.

del conocimiento, es decir, manipulan conocimientos de expertos para


resolver, eficiente y efectivamente, problemas de un área específica, tal como lo
hacen los expertos humanos. Incorporan operativamente el conocimiento de
una o varias personas experimentadas. Resuelven problemas de forma
“inteligente” y son capaces de explicar y justificar sus respuestas. Son creados
para actuar como asistentes “inteligentes” en los procesos de tomas de
decisión.

El mecanismo que facilita este comportamiento “inteligente” está basado en el


uso de los conocimientos. Un experto humano o un programa de computación
es más inteligente mientras mayor cantidad de conocimiento posea y emplee.
La razón por la que los S.E. pueden alcanzar un comportamiento similar al de
los expertos humanos es, precisamente, que usan el conocimiento informal o
privado para resolver problemas.

Los S.E. pueden ser considerados como una aplicación práctica de los
principios de la I.A. Su finalidad y principal actividad no es copiar los procesos
mentales humanos en la manera más fiel, sino lograr las mejores respuestas a
preguntas de datos reales.

Básicamente un S.E. se divide en tres módulos:


- Base de Conocimiento (B.C.): En ella se almacena el conocimiento sobre
algún dominio de aplicación mediante alguna F.R.C. Es el corazón del S.E.
- Máquina de Inferencia (M.I.): Implementa algún M.S.P. que manipula el
conocimiento almacenado en la B.C. e informaciones sobre estados
iniciales, estados actuales de la solución del problema, etc., las cuales
procesan dinámicamente en una estructura que se le llama Base de Datos
(B.D.) o Memoria de Trabajo.
- Interface con el Usuario (I.U.): Mediante ella el usuario plantea los
problemas al S.E., recibe preguntas del mismo y ofrece las explicaciones
necesarias. La IU se compone de: Preguntas, Frases y Menúes. Pueden
incluir módulos de explicaciones asociadas a cada regla para proveer
información suplementaria. Usualmente la información que procesa la IU
debe suministrarse con una sintaxis estricta, formateada de alguna forma.

En principio el SE se construía partiendo desde cero, generalmente en Lisp.


Luego se vio que tenían bastante en común y así surgen los Shell o
armazones. El conjunto formado por la máquina de inferencia y la interface
con el usuario recibe el nombre de Sistema Experto Vacío o Esencial (SHELL),
y puede ser empleado en la creación de diversos SE siempre que los dominios
de aplicación de éstos sean similares respecto al formalismo necesario para
representar el conocimiento y la línea de razonamiento que se emplea en la
solución de problemas. El concepto de SE vacío apareció en el período
1977-1981. Cada SE vacío define un modelo computacional. La arquitectura
del S.E.es mostrada en la figura 4.1.

Los shell se caracterizan por:


- No contienen B.C.
- La única diferencia entre un S.E. y otro que usen el mismo shell es el
contenido de sus B.C.
- Permite procesar B.C. diferentes y crear, por tanto, S.E. diferentes que se
correspondan con la F.R.C. que procesa la M.I. y la I.U.

130
Inteligencia Artificial.
- Sistemas basados en el conocimiento.

- Contienen, por lo general, facilidades de edición que permiten entrar el


conocimiento con un formato predeterminado y editarlo si se requiere.
- Actúan como un compilador o intérprete en el sentido de que las reglas
entradas en el editor son compiladas por el shell y llevadas a un código final
que usan la M.I. y la I.U.

SHELL

B.C. M.I.

I.U.
Usuario

Fig. 4.1. Arquitectura de un Sistema Experto.

4.2. Caracterización de los Sistemas Expertos.

Los Sistemas Expertos son un tipo de modelo computacional con


características especiales por las razones que se describen a continuación.

4.2.1. Rasgos de un S.E.

A pesar de que existen muchas implementaciones de S.E., hay rasgos


comunes que los distinguen:
- La acumulación y codificación del conocimiento.
La B.C. contiene el conocimiento tanto público como privado que posee el
experto para la solución de problemas en un dominio de aplicación
concreto. Existen diversas formas de representar ese conocimiento. La
selección adecuada de la F.R.C. desempeña un papel muy importante e
influye sustancialmente en la efectividad de todo el sistema.
- El conocimiento del S.E. es explícito y accesible.
El conocimiento de los expertos es expresado bastante explícitamente en
forma de un fichero en la computadora. De esta manera, la B.C. es
fácilmente accesible por los expertos y modificada por ellos. La B.C. se
almacena de forma independiente a la M.I., por lo que una misma M.I.
puede ser utilizada en áreas de aplicación diferentes.
- Alto nivel de experticidad.
Es el rasgo más útil. Los S.E. resuelven problemas que requieren años de
entrenamiento a los humanos.
- Habilidad para ofrecer facilidades de entrenamiento para personal clave y
miembros importantes del grupo.
Los S.E. contienen el conocimiento necesario y la habilidad para explicar
su proceso de razonamiento
- Puede actuar como una teoría de procesamiento de información.
El S.E. permite al usuario evaluar los efectos potenciales de nuevos datos
y comprender la relación entre ellos. Igualmente puede evaluar el efecto de
nuevas estrategias o procedimientos mediante la inclusión o modificación

131
Inteligencia Artificial.
- Sistemas basados en el conocimiento.

de las reglas, o sea, permite analizar cómo se comporta el S.E. ante un


cambio de los datos iniciales.
- Es un modelo computacional para ayudar a la toma de decisiones.
Los S.E. constituyen un nuevo modelo computacional donde el formalismo
para representar el conocimiento es independiente del método de solución
empleado.
- Es una memoria institucional.
Si la base de conocimientos fue desarrollada a través de la interacción con
el personal clave de una institución, entonces esta compilación de
conocimientos se convierte en un consenso de opiniones de alto nivel,
luego representa la política actual de esa institución.
- Son capaces de tomar decisiones inteligentes en un área de aplicación
relativamente estrecha.
- Ellos deben ser capaces de tener atributos similares a los de los expertos
humanos como la capacidad de adquirir nuevos conocimientos y
perfeccionar el que posee.
- Tienen facilidad de explicación.
Los S.E. son capaces de justificar cómo obtuvieron sus conclusiones y
explicar el por qué hacen una pregunta. Esto implica exponer las líneas de
razonamiento y las operaciones realizadas en cada paso. Precisamente por
estas características, los S.E. permiten entrenar a personas no
especialistas en el problema que aborda.

4.2.2. Comparación entre la experticidad humana y la artificial.

Al comparar la experticidad humana con la artificial existen aspectos, algunos


de los cuales favorecen a los SE y otros a los humanos.

Experticidad humana Experticidad artificial


- Puede perderse, pues la vida - Es permanente.
humana es limitada.
- Impredecible, por razones - Consistente, pues no está
emocionales. relacionada con el estado “físico
o mental” del S.E. ni con la
frecuencia de su uso.
- Difícil de transferir, pues la - Fácil de transferir. Bastaría
educación humana es un proceso copiar un fichero en la
largo y costoso. computadora.
- Difícil de documentar. - Fácil de documentar.
- Costosa, pues los expertos - Relativamente barata. Los S.E.
humanos son escasos. son caros para desarrollar, pero
de bajo costo para operar.
- Se agota durante un trabajo - Puede trabajar las 24 horas del
intenso. día.
- Creativo e imaginativo. - Sin inspiración, se comporta de
modo rutinario.
- Adaptable a las condiciones - Se necesita enseñarles todo el
cambiantes. conocimiento, pues las técnicas
de aprendizaje automatizado no
están lo suficientemente
desarrolladas.
- Espectro ancho, pues tiene en - Espectro estrecho, pues aíslan

132
Inteligencia Artificial.
- Sistemas basados en el conocimiento.

cuenta las relaciones con el el problema.


resto del mundo.
- Conocimiento con sentido común. - Conocimiento técnico.

Podemos concluir que los S.E. no sustituyen a los expertos, sino más bien
ayudan a las personas a progresar, participando en actividades más
desafiantes intelectualmente, por lo que el conocimiento contenido en un S.E.
es una nueva fuente práctica de conocimientos. Ellos frecuentemente son
usados como un consultante o ayuda a usuarios expertos o novatos de algún
dominio de aplicación.

4.2.3. Comparación entre los programas convencionales y los S.E.

Los programas convencionales pueden ser divididos en: el algoritmo, el cual


contiene todo el conocimiento y los datos a los que se le aplica dicho algoritmo.
La arquitectura típica de los S.E. es diferente. Ellos están constituidos por el
shell y la B.C.

Si un programa convencional necesita ser modificado para incluir nueva


información, entonces hay que examinar el programa completo hasta
encontrar la línea o bloque donde se necesita insertar dicha información. Sin
embargo, en los S.E. podemos realizar estas modificaciones fácilmente, pues
basta modificar la B.C. y no hay necesidad de afectar la estructura del
programa. Esta flexibilidad de los S.E. proporciona una mayor eficiencia en la
programación y la comprensibilidad y precisamente, los distingue como un
modelo computacional nuevo.

Mientras los programas convencionales son usados para llevar a cabo una
predeterminada secuencia fija de instrucciones, sin tener “en mente” el fin o la
meta de su actividad, los S.E. tienen “en mente” la obtención de ese fin. Los
S.E. contienen “hechos” y “medios” de utilización de sus hechos para alcanzar
los fines. Además la habilidad para aprender nuevos conocimientos a partir de
la experiencia puede ser implementada en forma natural y efectiva por los S.E.

4.2.4. Requerimientos para emplear los S.E.

Para desarrollar un S.E. en un dominio de aplicación concreto deben tenerse


en cuenta algunos requerimientos:
- La solución de las tareas en este dominio no requiere de sentido común.
- La solución de las tareas sólo requiere el empleo de habilidades
cognoscitivas, no físicas.
- Existen expertos genuinos en el dominio de aplicación.
- Los expertos pueden articular sus métodos.
- Las tareas en este dominio están bien comprendidas pues, en caso
contrario, se necesita desarrollar previamente investigaciones básicas para
hallar las soluciones.

4.3 Justificación para desarrollar un SE.

Cualquiera de las situaciones siguientes pueden justificar que se desarrolle un

133
Inteligencia Artificial.
- Sistemas basados en el conocimiento.

SE:
- La solución de las tareas del dominio de aplicación da un resultado de
mucho valor.
- La experticidad humana puede perderse.
- La experticidad humana escasea.
- La experticidad humana se necesita en muchos lugares.
- La experticidad humana se necesita en ambientes hostiles.

4.4. Aplicaciones de los S.E.

Los S.E. constituyen uno de los éxitos comerciales más importantes de la I.A.
y representan la avanzada en el paso de las técnicas de I.A., desde los
laboratorios académicos al ambiente productivo.

Son muchas las áreas de aplicación de los S.E. Entre ellas podemos
mencionar:
- Interpretación: Inferir la descripción de situaciones a partir de datos
sensoriales. Implica el análisis de datos para determinar su significado.
- Predicción: Inferir las consecuencias de situaciones dadas.
- Diagnóstico: Inferir el mal funcionamiento de un sistema a partir de
observaciones.
- Diseño: Configurar objetos bajo ciertas restricciones.
- Planificación: Determinar la secuencia óptima de operadores para
transformar un estado inicial en un estado final. La mayoría de los
sistemas de planificación actuales están basados en el método “generar y
comprobar”.
- Monitoreo: Comparar observaciones para detectar situaciones esperadas.
Implica el análisis continuo de señales y la puesta en marcha de acciones
y/o alarmas según proceda.
- Instrucción: Controlar y actuar sobre el comportamiento del estudiante.
- Control: Gobernar parcial o completamente el comportamiento de
sistemas.

Algunos S.E. famosos son: MYCIN, desarrollado en la Universidad de Stanford


en 1976; PROSPECTOR, creado por Richard Duda, Peter Hard y Rene Reboh
en 1978; R1, luego llamado XCON, AL/X, FEL-EXPERT, DIPMETER ADVISOR,
entre otros. Los S.E. actuales han alcanzado un gran estado de utilización
práctica y una actividad comercial muy lucrativa. Por ejemplo, en 1980
PROSPECTOR descubrió un depósito de molibdeno, cerca del Monte Tolman,
en Eastern Washington, que ha sido evaluado en cien millones de dólares. La
compañía DEC estableció que el S.E. R1/XCON para el diseño de la
configuración de computadoras reporta una ganancia de diez millones de
dólares anualmente. Mientras que los costos del desarrollo en cinco años del
sistema DIPMETER ADVISOR para la evaluación de la calidad en la
perforación de pozos petroleros ha alcanzado la suma de 21.5 millones de
dólares, la ganancia por su aplicación para la firma Schlumberger es alrededor
de 200 millones de dólares anuales.

Existen decenas de herramientas para la construcción de S.E., ya sea para el


esquema de representación del conocimiento como para la M.I., entre las que
se encuentran:
- Shells de S.E. Ejemplos: EMYCIN, KAS, ARIES, y otros.

134
Inteligencia Artificial.
- Sistemas basados en el conocimiento.

- Herramientas para la construcción de Sistemas Basados en Reglas.


Ejemplos: OPS5 y SOAR de la Universidad Carnegie-Mellon, M.1 y S.1 de
la Teknowledge, entre otros.
- Lenguajes para la creación de Sistemas Basados en Marcos. Ejemplos: FRL,
OWL, KL-ONE, etc.
- Herramientas para construir Sistemas de Programación Lógica. Ejemplos:
las versiones de PROLOG FIT de la Universidad de Hamburgo y POPLOG
de la Universidad de Sussex.
- Lenguajes para la Programación Orientada a Objetos. Ejemplos:
SMALLTALK, BORLAND C++, EIFFEL, entre otros.

4.5 Limitaciones actuales de los SE

A pesar de todo lo anterior, los S.E. presentan algunas limitaciones, como por
ejemplo:
- Dominio estrecho de experiencia.
- Incapacidad de realizar razonamiento con sentido común. Ej: si se describe
que un paciente tiene 130 años y pesa 40 libras el sistema no puede darse
cuenta de la inversión de los datos.
- Las M.I. son demasiado simples y no permiten una visión global de los
procesos de inferencia.
- El conocimiento profundo y casual no es explotado.
- Rango limitado de la capacidad de explicación.
- Posibilidades restringidas de comunicación, pues los lenguajes orientados a
un problema no son flexibles ni lo suficientemente naturales.
- Incapacidad del S.E. para reconocer el límite de su habilidad. Constituye la
limitación más seria. No tienen un conocimiento profundo acerca de su
propia gestión. No pueden razonar sobre su campo de acción y limitaciones.
- La presencia del Ingeniero del Conocimiento es inevitable.

Las herramientas actuales para el desarrollo de los SE no son buenas para:


- realizar la adquisición del conocimiento,
- refinar la base de conocimientos,
- manipular el conocimiento almacenado usando formas de representación
del conocimiento mixtas y complejas.

4.6 Implementación de un SE vacío.

Para desarrollar un sistema experto vacío (shell) es necesario implementar un


método de solución de problemas y tener en cuenta cómo se manipula la
certidumbre de la información, y además el módulo de interface con el
usuario.

4.6.1 Implementación de la MI.

La máquina de inferencia (MI) es el módulo de un SE encargado de encontrar


la solución a un problema dado a partir del conocimiento almacenado en la
base de conocimientos y los datos iniciales del problema. La implementación
de la MI depende de la forma de representación elegida para almacenar el
conocimiento y del método de solución de problemas seleccionado. La FRC

135
Inteligencia Artificial.
- Sistemas basados en el conocimiento.

usada más frecuentemente para crear la base de conocimientos es la regla de


producción, en este caso las máquinas de inferencias son implementadas
como Sistemas de Producción.
La M.I. está compuesta por:
- Método de Solución de Problemas.
- Principios de control “ad hoc”.
- Mecanismo de explicación.
- Técnicas de procesamiento de la información con incertidumbre.

Los distintos M.S.P. existentes fueron estudiados detalladamente en el


capítulo 3.
Entre los principios de control “ad hoc” utilizados por los S.E. podemos
mencionar:
- Agenda.
Del proceso de solución del problema, un grupo colateral de
subtareas se crea y/o reorganiza. La creación es invocada por
vínculos asociativos que pueden ocurrir de las reglas de
razonamiento exacto. Cada tarea posee una lista de justificaciones
y cada justificación representa una medida absoluta del valor de
dicha razón. Al ser resuelta una subtarea, la tarea parcial en el tope
de la pila se considera puede ser resuelta en el próximo paso. Este
principio posibilita una efectiva dirección de la aplicación y fue
usado, primeramente, por el sistema AM (Lenat 1980).
- Demonios.
Este método parte de la idea de demonios que están sentados
silencio-samente observando el proceso de inferencia. Ellos sólo
interfieren en este proceso bajo situaciones específicas y
predefinidas. El “demonio” es un procedimiento activado por
cambios importantes de los resultados presentes o por adición de
nuevos datos.
- Inferencia no monótona.
Algunos S.E. actuales son capaces de realizar este tipo de inferencia.
Este razonamiento está basado en algunas suposiciones que
pueden convertirse posteriormente en inaceptables o irrealizables.
Las M.I. no monótonas tienen que ser capaces de reparar
adecuadamente la situación actual, una vez que se han destruído
las suposiciones iniciales.
- Pizarrón.
Es frecuente encontrar un problema que, por ser muy vasto y
complejo, no puede ser resuelto por un solo experto o B.C. La
comunicación de la información entre varios expertos o varias B.C.,
conocidos en este caso como fuentes de conocimientos, se realiza a
través de un mecanismo llamado pizarrón. El pizarrón es una
estructura, en la que la información importante obtenida de una
fuente de conocimiento es “colocada” o escrita. Así, cualquier otra
fuente de conocimiento puede referirse a esta información para
alcanzar sus objetivos. Cada fuente de conocimiento es responsable
de resolver su problema particular, por lo que debe conocer qué
clase de información necesita y dónde encontrarla en el pizarrón,
pero no le hace falta conocer cómo ésta fue deducida. La
comunicación entre las fuentes de conocimiento es indirecta y algo
costosa, por lo que se aconseja utilizar este modelo en problemas
que puedan ser descompuestos en tareas casi independientes. La

136
Inteligencia Artificial.
- Sistemas basados en el conocimiento.

noción de fuentes múltiples de conocimiento se utilizó, por primera


vez, en el sistema HEARSAY-II, el cual era capaz de realizar
consultas en lenguaje natural a un sistema de B.D. Para el S.E.
MDX, el pizarrón sirve como instrumento de comunicación entre
varios expertos en diagnóstico, cada uno con una especialidad
diferente.

Un SE debe reunir las dos capacidades siguientes, además de cumplir con su


tarea fundamental:
- Explicar sus razonamientos: En el diagnóstico los médicos no aceptarán los
resultados sino están convencidos del razonamiento que se hizo.
- Adquirir nuevos conocimientos y modificar los antiguos: Una manera de
plasmar el conocimiento en un programa es a través de la interacción con
el experto humano. Otra forma es que el programa aprenda el
comportamiento del experto a partir de los datos en bruto.

Una de las características de los SE es poder explicar su trabajo,


principalmente esta posibilidad se presenta en dos aspectos:
- Poder explicar cómo se alcanzó un resultado, esta pregunta la hace el
usuario cuando tiene dudas sobre el resultado o desea aprender como se
alcanzó.
- Poder explicar por qué se hace una pregunta (esta posibilidad aparece
cuando se utiliza como método de solución de problema un método como el
encadenamiento hacia atrás), al usuario le interesa saber por qué se le
hace una pregunta cuando ésta le parezca irrelevante o en caso que la
respuesta requiera un esfuerzo adicional por parte del usuario.

El tipo de mecanismo de explicación más común se basa en el razonamiento


retrospectivo, éste explica cómo el sistema alcanzó un estado particular. Otras
variantes de explicación son el razonamiento hipotético , donde el sistema
explica qué podría haber sucedido al variar algunos de los parámetros usados
en el razonamiento; y el razonamiento contrario, donde el sistema explica por
qué una conclusión esperada no fue obtenida. El razonamiento retrospectivo se
puede implementar por dos vías:
a) Secuencia de estados visitados:
Una forma de responder a cómo se alcanzó un resultado es mostrando la
secuencia de estados visitados durante la búsqueda de una solución, en
este caso pueden eliminarse los estados que provocaron un retroceso en la
búsqueda. Similarmente se puede responder a por qué se hace una
pregunta presentando la secuencia de estados recorrida y que lleva a la
situación donde es necesario preguntar información al usuario.
En ambos casos es conveniente tener una traducción de los estados que
facilite la explicación.
Si la MI se basa en un sistema de producción, a éste se le añade una
componente para dar las explicaciones. La respuesta a “por qué” es mostrar
una cadena de reglas y objetivos que relacionan la información preguntada
con la pregunta original del usuario; la respuesta a “cómo” es presentar las
reglas y subobjetivos de los cuales se obtiene la conclusión. Nótese como la
secuencia de reglas para explicar el “por qué” se puede formar a partir de la
pila de objetivos creada durante la búsqueda de la solución con
encadenamiento hacia atrás. Para responder al “cómo” es suficiente ver en
la memoria de trabajo el número de la regla mediante la cual se alcanzó el

137
Inteligencia Artificial.
- Sistemas basados en el conocimiento.

resultado y presentarla, analizar cuáles atributos forman la premisa de esta


regla y ver cómo fueron evaluados, si fueron avaluados por una regla se
presenta ésta y se repite el proceso hasta llegar a los atributos evaluados
por el usuario.
Este estilo de explicación es útil pero difícil de implementar cuando en la
secuencia aparecen muchas reglas. Además, la explicación sólo ofrece un
agregado de fragmentos de pequeñas inferencias sin sintetizarlas. Otra
desventaja de esta forma de explicación es que no siempre todos los
especialistas están de acuerdo con las reglas tal y como se han elaborado,
pues sólo ven una parte del conocimiento aisladamente.
MYCIN usa el método de secuencia de estados visitados. El módulo de
MYCIN que se encarga de la explotación se llama TEIRESIAS. El modelo de
sistema de producción es muy general y estos son difíciles de mantener sin
algunas restricciones por todo tipo de explicaciones que un humano podría
solicitar. SALT es un programa de adquisición de conocimientos que se
utiliza en la construcción de SE que diseñan artefactos a través de una
estrategia de propuesta y revisión. SALT es capaz de responder a preguntas
“ por qué no” (¿por qué no ha asignado el valor x a este parámetro?) y “ qué
si” (¿Qué pasaría si lo hace?). Esto ayudaría al proceso de construcción y
refinamiento del conocimiento.
b) Justificación
Otra variante de explicación se conoce como justificación. En ella la
justificación de un resultado presenta los hechos (atributos) que han
contribuido a este resultado. La justificación está constituida por un
conjunto que contiene los hechos que han establecido o negado el
resultado.
Parámetro Valor Marca Contribución
La marca (POS o NEG) indica si el hecho contribuye al resultado por su
presencia (POS) o por su ausencia (NEG). La marca no es necesaria cuando
el parámetro tiene un valor numérico o de tipo SI/NO.
Es decir, la justificación de un resultado no es más que mostrar las
unidades de información que han sido tomadas en cuenta durante la
búsqueda de la solución, de modo que los expertos pueden rápidamente
verificar la validez del razonamiento sin tener que estudiar cada paso de la
búsqueda (cada regla de la secuencia). Las ventajas de este método son:
- Ofrece una visión general del proceso de búsqueda de la solución.
- La justificación puede ser usada por un procedimiento de validación para
chequear la consistencia de la base de conocimientos o detectar las
contradicciones entre los datos.

4.6.2 Implementación de la interfaz con el usuario.

Al implementar la interfaz con el usuario se deben tener en cuenta ciertos


criterios:
- La interfaz permite desarrollar ambientes interactivos con grandes
facilidades para el desarrollo de diálogos, lo cual es muy necesario para
hacer y responder a las preguntas ¿Por qué? (Why) y ¿Cómo? (How).
- Se deben poder definir ayudas que puedan ser activadas fácilmente.
- Es conveniente tener la posibilidad de crear ventanas, encadenamientos de
ventanas, etc.

138
Inteligencia Artificial.
- Sistemas basados en el conocimiento.

- Permitir su interacción con un gran entorno de programación, o sea, con


otros sistemas.

4.7. Desarrollo de un S.E.

Para el estudio de cómo desarrollar un S.E. es importante conocer los


siguientes conceptos:
- Ingeniería del Conocimiento: Es la disciplina relacionada con la forma en
que se organizan, construyen y verifican las B.C. de un S.E.
- Adquisición del Conocimiento: Es el proceso de extracción, codificación y
verificación del conocimiento de un experto humano. Si la F.R.C. usada
por el S.E. es la Regla de Producción, la extracción se refiere a la
formulación de las reglas, la codificación, a la escritura de las mismas en
una determinada sintaxis y la verificación, al refinamiento de la B.C. La
adquisición del conocimiento es conocida como el “Cuello de Botella” de las
aplicaciones de los S.E.
- Ingeniero de Conocimiento (I.C.): Es la persona responsabilizada con
desarrollar las tareas de la ingeniería del conocimiento. Debe ser capaz de
conocer y comprender los S.E., saber usar las herramientas para crear los
mismos, ser un buen programador en un lenguaje de I.A. y un hábil
entrevistador.

4.7.1. Etapas del desarrollo de un S.E.

En la construcción de los S.E. es necesario seguir ciertos pasos en aras de


lograr la eficiencia del aseguramiento programativo y una mayor agilidad en la
confección del sistema en cuestión.

Estas etapas son:

I) Etapa de identificación.
En esta etapa se caracteriza el problema según sus aspectos más
relevantes. Esto incluye las siguientes tareas:
a) Selección de los participantes y determinación del papel a desempeñar
por cada uno de ellos.
Antes del proceso de adquisición del conocimiento es necesario
determinar quiénes van a participar en el mismo. Lo más usual es que
sólo participe un experto y un I.C. No obstante, pudieran participar
otros expertos en el tema y más de un I.C. Es necesario, por tanto,
asignarle a cada uno de ellos la tarea que va a desempeñar,
determinando, por supuesto, el experto y el I.C. jefes.
b) Identificación del problema.
Esta tarea es desarrollada por el experto y el I.C de una manera
conjunta. Su objetivo es dar respuesta a las preguntas siguientes:
¿Qué clase de problemas el S.E. debe resolver?
¿Cómo pueden caracterizarse o definirse estos problemas?
¿Cuáles son los subproblemas importantes?
¿Cuáles son los datos con los que va a trabajar el S.E.?
¿Cuáles son los términos importantes y las relaciones entre ellos?
¿Cuál es el formato de la solución y qué conceptos son usados en ella?

139
Inteligencia Artificial.
- Sistemas basados en el conocimiento.

¿Qué aspectos de la experticidad humana son esenciales en la solución


de estos problemas?
¿Qué situaciones pudieran impedir el logro de las soluciones?
¿Cuáles son los impedimentos que afectan al S.E.?
c) Identificación de los recursos.
Esta tarea consiste en identificar los recursos necesarios para adquirir
el conocimiento e implementar y probar el sistema. Ejemplos de
recursos típicos lo constituyen las fuentes del conocimiento, el tiempo
necesario, el equipamiento computacional requerido, el costo del
desarrollo del sistema, entre otros.
d) Identificación del objetivo.
En esta tarea se identifican los objetivos de la construcción del S.E. Se
hace de forma independiente a la identificación del problema, pues es
útil separar los objetivos de las tareas específicas del problema a
realizar.

II) Etapa de conceptualización.


En esta etapa se definen explícitamente los conceptos y relaciones claves
identificados en la etapa anterior. Esta se desarrolla mediante interacciones
constantes entre el experto y el I.C. y consume una gran cantidad de
tiempo. Para ello es necesario responder a las preguntas siguientes:
¿Qué tipo de datos están disponibles?
¿Qué se da y qué se infiere?
¿Tienen nombres las subtareas?
¿Tienen nombres las estrategias?
¿Existen hipótesis parciales usadas frecuentemente?. ¿Cuáles son éstas?
¿Cómo se relacionan los objetos en el dominio?
¿Se puede establecer una jerarquía y etiquetar relaciones causales,
inclusión en conjuntos, relaciones parte-de, etc?
¿Qué procesos intervienen en la solución del problema?
¿Qué retricciones poseen estos procesos?
¿Cuál es el flujo de información?
¿Se puede identificar y separar el conocimiento necesario para resolver el
problema del necesario para justificar su solución?

III) Etapa de formalización.


En esta etapa se crea una representación formal, basada en las
herramientas de la Ingeniería del Conocimiento, de todas las características
analizadas en la etapa anterior. En ella el I.C. desempeña un papel más
activo, explicándole al experto los instrumentos existentes y la forma idónea
para representar su problema. Como resultado de la misma se obtiene un
conjunto de especificaciones parciales que describen cómo el problema
puede representarse dentro de la herramienta seleccionada. Para ello se
responden las siguientes preguntas:
¿Cuál es el espacio de hipótesis?
¿Qué modelo se va a usar para representar el conocimiento?
¿Los datos son insuficientes, completos, redundantes e inconsistentes?
¿Existe incertidumbre en los datos?
¿La interpretación lógica de los datos depende de su orden de ocurrencia?
¿Cuál es el costo de adquisición de los datos?
¿Qué clases de preguntas son necesarias hacer para obtener los datos?
¿Qué formalismo se va a usar para representar el conocimiento?
¿Qué M.S.P. se va a utilizar?

140
Inteligencia Artificial.
- Sistemas basados en el conocimiento.

IV) Etapa de implementación.


El conocimiento formalizado en la etapa previa se lleva a la forma de
representación escogida, quedando conformada la B.C. Se implementa
además el M.S.P seleccionado, especificando las estructuras de datos, las
reglas de inferencia y los mecanismos de control, construyéndose un
programa ejecutable. Como resultado de esta etapa se obtiene un prototipo
del S.E., capaz de ser ejecutado y probado.

V) Etapa de prueba.
Se evalúa el prototipo usando dos o tres ejemplos. Cuando éste se ejecute
correctamente con éstos, se debe probar con una variedad de casos, que
incluyan tanto los más comunes como las más raros, para determinar las
debilidades de la B.C.: si se hacen preguntas inadecuadas o ambiguas, si la
entrada de los datos es poco amistosa, si las conclusiones son adecuadas, si
la salida tiene un nivel de detalle apropiado, si no hay errores en el
razonamiento, si no hay reglas incorrectas, incompletas o inconsistentes, si
el mecanismo de control usado es adecuado, o sea, si se escogen primero
las reglas deseadas, etc. La medición de los resultados de un S.E. es difícil
porque no se sabe cómo cuantificar el uso del conocimiento. No se pueden
presentar pruebas concluyentes formales de su corrección. Lo que se puede
hacer es oponerlo a un experto humano en la solución de problemas reales.
Ej: MYCIN obtuvo una mayor puntuación que la de una lista de expertos en
la evaluación de 10 casos.

VI) Revisión del prototipo.


Normalmente, el refinamiento del prototipo incluye el reciclaje a través de
las etapas de implementación y prueba para ajustar las reglas y las
estructuras de control. Esta etapa debe conducir a que el razonamiento sea
estable y el sistema eficiente. Aquellos aspectos que lo afecten deben ser
modificados.

Estas etapas no son independientes y están muy relacionadas entre sí. Por
ejemplo, fallas al implementar las reglas y el mecanismo de control en la
etapa de implementación pueden ocasionar cambios en la etapa de
formalización. Además, la última etapa puede ocasionar la revisión parcial
de las etapas anteriores.

4.7.2. Adquisición del conocimiento.

La calidad de la B.C. tiene una importancia crucial para el buen


comportamiento de un S.E. Es por ello que debemos profundizar en las
técnicas empleadas para la adquisición del conocimiento.

4.7.2.1. Fuentes de adquisición del conocimiento.

El conocimiento necesario para el desarrollo de un S.E. se puede obtener


desde diversas fuentes, como libros, artículos, bases de datos, estudio de
casos, datos empíricos y la experiencia personal de los expertos, siendo esta
última la principal.

141
Inteligencia Artificial.
- Sistemas basados en el conocimiento.

Debido a que el I.C. no es un experto en el dominio del problema que se quiere


resolver, debe interactuar con un experto en la materia. El vocabulario sobre el
problema usado por el experto es inadecuado para resolverlo, por lo que el I.C.
y el experto deben trabajar juntos en la extensión y refinamiento del
conocimiento. Esta interacción se desarrolla, comúnmente, mediante
entrevistas sistemáticas e intensas durante varios meses en la que se
transfiere y codifica el conocimiento. Esta manera de adquisición del
conocimiento presenta algunos problemas que pudieran, hasta cierto punto,
parecer contradictorios, como:
- Es difícil para el experto expresar explícitamente las reglas que emplea
cuando resuelve algún problema. El puede aplicar su conocimiento
aunque no está consciente de las reglas que usa en la toma de decisión.
Generalmente, el experto está dispuesto a proporcionar los conceptos
importantes dentro del dominio del problema, pero tiene grandes
dificultades cuando se le pide describir la estructura del conocimiento sin
contradicciones y, casi siempre, falla si se requiere asignar incertidumbre
numérica a partes del conocimiento. Obviamente, un experto humano
resuelve sus problemas sin trabajar explícitamente con este tipo de
representación.
- Para crear un S.E. el I.C. y el experto no deben ser la misma persona.
- No se debe creer ciegamente en todo lo que el experto dice.
- La reacción inicial de los expertos es ser hostiles a colaborar en el desarrollo
del S.E., pues ellos tratan de proteger el conocimiento acumulado durante
años de estudio y trabajo. La tarea del I.C. es convencerlo y nunca criticar-
lo o enjuiciarlo por esta actitud.
- Trabajar con varios expertos es más difícil pero es mejor, pues de esta
manera se enriquece y refina el conocimiento adquirido.
- El secreto de trabajar con múltiples expertos es mantenerlos separados y
entrevistarlos individualmente. Sólo después que el I.C. ha llegado a
conclusiones debe someterlas al análisis conjunto.
- Cuando se trabaja con varios expertos es necesario que uno sea el jefe, de
modo que éste tome las decisiones finales en caso de conflictos o
diferencias.
- La transferencia de conocimiento consume mucho tiempo y es un proceso
aburrido y agobiante para el experto.

SISTEMA EXPERTO

MAQUINA DE INFERENCIA
INGENIERO
EXPERTO DEL INTERFACE CON EL USUARIO
CONOCIMIENTO
BASE DE CONOCIMIENTOS

Fig. 4.2. Papel del Ingeniero de Conocimiento en el desarrollo de un S.E.

4.7.2.2. Secuencia de trabajo del ingeniero de conocimientos.

142
Inteligencia Artificial.
- Sistemas basados en el conocimiento.

En el desarrollo e implementación del S.E., el I.C. debe realizar las tareas


correspondientes a las etapas explicadas anteriormente siguiendo un orden
específico. Una secuencia lógica de estos pasos pudiera ser:
I. Familiarizarse con el problema y el dominio de aplicación. Esto incluye la
localización de la fuentes de conocimiento: libros, expertos humanos que
quieran colaborar y otros materiales, y aprender de ellas lo más posible
sobre el problema que se quiere resolver.
II. Caracterizar tentativamente los tipos de tareas de razonamiento que
deben ejecutarse.
III. Luego de varias semanas realizando el estudio informal el I.C. es capaz de
conversar inteligentemente con el experto. Para organizar el trabajo,
primeramente planifica una serie de reuniones con cada experto con el
objetivo de identificar el problema y caracterizarlo informalmente.
Durante estas reuniones se decide hasta dónde se restringe el alcance del
S.E. con el objetivo de mantener el problema tratable.
IV. Después de haber restringido adecuadamente el problema, el I.C.
comienza a determinar los conceptos principales que se requieren para
ejecutar cada tarea. En las entrevistas con los expertos determina los
conceptos básicos, las relaciones primitivas y las definiciones necesarias
para hablar acerca del problema y sus soluciones, así como intenta
comprender qué conceptos y estrategias usa el experto para resolver cada
tarea, pidiéndole en todo momento que justifique su razonamiento, para
lo que es conveniente dar respuesta a las preguntas siguientes:
¿Qué hechos el experto trata de establecer primero?
¿Qué tipo de preguntas el experto hace primero?
¿El experto parte de suposiciones iniciales?
¿Cómo el experto determina las preguntas a realizar para profundizar
en el problema?
¿En qué orden el experto ejecuta cada subtarea?
¿El orden establecido para las subtareas varía de acuerdo al caso?
V. Una vez estudiado el problema con profundidad el I.C. escoge un
formalismo de representación y diseña la B.C. e implementa el M.S.P.
más adecuado al problema, quedando conformado un prototipo del S.E.
VI. El I.C. valida todo lo asumido mediante la prueba de las reglas y los
conceptos. Generalmente se ejecutan las reglas y se muestran los
resultados a varios expertos para conocer sus opiniones. Como
consecuencia de esto, se desarrolla el proceso de refinamiento de la B.C.,
pudiéndose añadir o eliminar reglas, rediseñar la misma o reformular
conceptos.
VII. Si llega el punto en que el IC valora que el prototipo se ha vuelto
inmanejable como resultado de las modificaciones reiteradas el IC puede
decidir rediseñar el mismo.

Para extraer el conocimiento de un experto humano, el I.C. puede usar


algunas de las siguientes técnicas.
- Observar en forma pasiva al experto resolver problemas reales en su
trabajo.
- Presentar al experto una serie de problemas reales a ser resueltos.
- Discusión de problemas. El I.C. debe seleccionar un conjunto de
problemas representativos dentro del dominio de aplicación concreto e,
informalmente, discutirlos con el experto, con el objetivo de determinar
cómo éste organiza el conocimiento para resolver el problema, representa

143
Inteligencia Artificial.
- Sistemas basados en el conocimiento.

los conceptos y relaciones entre ellos y maneja las imprecisiones de los


datos.
- Descripción de problemas. Pedir al experto que describa un problema
prototipo para cada categoría de respuesta posible y analizar cómo éste
resuelve cada uno.
- Presentar los casos resueltos por el experto y por el S.E. prototipo a otros
expertos, con el objetivo de comparar sus resultados y perfeccionar al S.E.

4.7.2.3. Determinación de los conceptos y las relaciones entre ellos.

En la sección 4.6.1 estudiamos que un aspecto importante en la etapa de


conceptualización del desarrollo de un S.E. es la determinación de los
conceptos y las relaciones que pueden establecerse entre ellos, la cual se puede
hacerse en tres etapas.

Etapa I
- Determinar los conceptos primitivos.
El primer paso en la modelación es separar los objetivos relevantes de los
irrelevantes en la realidad que se modela; esta identificación se realiza a
partir de la percepción de la realidad y teniendo en cuenta los propósitos
del sistema que queremos construir.
El paso siguiente es agrupar los objetos relevantes en clases de objetos
llamados categorías semánticas.
Como se pueden hacer innumerables divisiones en categorías semánticas,
muchos de los cuales son inadecuados, se han elaborado tres principios
básicos para definir las categorías semánticas:
familiaridad: respecto a los conceptos que son de uso común en una
realidad y cuyos hechos sobre esos conceptos son percibidos
directamente por observación o inferencia inmediata.
adherencia: indica que un concepto debe estar internamente ligado a las
actividades sobre las que estamos elaborando el modelo.
amplitud: se deben escoger todas las clases de objetos relevantes.

El símbolo asignado a cada categoría es, desde el punto de vista de las


bases de datos una entidad, y desde el punto de vista de las bases de
conocimientos un símbolo predicativo (predicado unario).

Supongamos por ejemplo, que estamos resolviendo un problema


relacionado con la carrera de Ciencias de la Computación. Las categorías
semánticas serían disciplina, asignatura, profesor y estudiante. Los
objetos relevantes dentro de la categoría disciplina podrían ser
Inteligencia Artificial, Matemática Discreta, Programación y Algoritmos,
entre otros.

El otro paso es determinar las relaciones.


Una relación puede definirse sobre objetos de la misma categoría o
categorías diferentes, una relación puede ser binaria, terciaria, etc. Las
relaciones son objetos de segundo orden y se denotan por el verbo que la
representa. En lógica de primer orden los objetos que participan en las
relaciones son sustantivos.
Ejemplo :

144
Inteligencia Artificial.
- Sistemas basados en el conocimiento.

enseña ( Antonio , Física )


Otro elemento a determinar son las propiedades.
Los cuales se describen mediante predicados binarios.
Ejemplo :
nació ( 1112 , Camagüey )
llamase ( 1112, Luis )

Hasta aquí llega la etapa I (modelación de hechos brutos) en el proceso de


modelación de conocimiento. Todos los predicados definidos en esta etapa
sirven para definir los hechos en la base de conocimientos.

Etapa II
- Determinar los conceptos derivados y las relaciones que permiten definirlos.
Una vez definidos los conceptos primitivos, debemos determinar los
conceptos que podemos derivar de éstos. A los mismos se les conoce como
conceptos derivados. Para su obtención se definen predicados y se
introducen reglas en la B.C. que determinan que un individuo lo cumpla
(estos predicados no aparecen en la B.C. nunca definiendo hechos) Esto es
lo que se conoce como conocimiento inducido. Un ejemplo de concepto
derivado es el predicado académico, el cual se obtiene de las categorías
semánticas profesor y estudiante, mediante la regla:

Si profesor(X) o estudiante(X), entonces académico(X).

Al igual que los conceptos derivados, deben analizarse las relaciones


derivadas. Este tipo de relación surge para convertir en explícito el conoci-
miento sobre la participación de individuos en otras relaciones. Las
relaciones derivadas se representan por predicados y es necesario definir
reglas para ellas. Un ejemplo de una relación derivada es:

Si compró(X,Y) o alquiló(X,Y), entonces usó(X,Y)

Otra forma de obtener relaciones derivadas es mediante la composición de


relaciones. Ejemplo :

Si orientado_por (x,y) y enseña (y,z) y no estudia (x,y)


entonces monitor (x,y)

Los predicados (definidos en esta etapa) que permiten definir los conceptos
y relaciones derivadas aparecen como consecuentes de las reglas en la
B.C.

Etapa III
En la consolidación del conocimiento se tienen en cuenta dos cosas:

1. Coherencia semántica
La coherencia semántica se refiere a hacer explícito al sistema de
procesamiento, mediante reglas, los tipos de argumentos de las relaciones.
Ejemplo :

Si alumno (X) y profesor (Y) entonces orienta (y,x)

145
Inteligencia Artificial.
- Sistemas basados en el conocimiento.

Esta regla dice que la relación orienta (x,y) tiene como primer argumento
objetos de la categoría semántica "profesor" y como segunda objetos de la
categoría semántica "alumno".

2. Propiedades de las relaciones.

Las reglas que definen propiedades de las relaciones sirven, además de para
filtrar el conocimiento chequeando su integridad, para responder preguntas
sobre la realidad.

Un aspecto importante en la consolidación del conocimiento es la


coherencia semántica, lo cual significa hacer explícito en la B.C. los tipos
de argumentos de la relaciones. Esto se logra mediante reglas, tales como:

Si profesor(X) ∧ estudiante(Y), entonces enseña(X,Y),

la cual expresa que el primer argumento del predicado “enseña” pertenece


a la categoría semántica “profesor” y el segundo a “estudiante”.

Algunas propiedades de las relaciones que se pueden definir como reglas (en
las cuales aparece una sola relación) son: reflexibilidad, simetría,
transitividad y antisimetría. Estas reglas permiten mantener la integridad
de la B.C. y responder a preguntas sobre el problema real. Ejemplos de
éstas son:

simetría: Si primo(X,Y), entonces primo(Y,X) .


transitividad: Si hermano(X,Y) y hermano(Y,Z), entonces hermano(X,Z).
antireflexiva: Si hermano (x,y) entonces diferente (x,y)
antisimétrica: Si orienta (x,y,z) entonces NOT orienta (y,x,z)

Nótese que la antisimetría de "orienta" se establece si se desea especificar


respecto a qué se orienta, pues si no se especifica pudiera existir simetría.

Otros tipos de propiedades entre relaciones se expresan también en la B.C.


mediante reglas.

Si enseña (x,y) entonces puede_enseñar (x,y)


Si hombre (x) entonces NOT mujer (x)

La esencia de la determinación de conceptos y relaciones es:


- Determinar los conceptos primitivos.
- Determinar los conceptos derivados.
- Determinar las relaciones que permiten definir los conceptos
derivados (con ellas surgen las reglas).
- Analizar las propiedades de las relaciones (simetría, transitividad,
antireflexividad y antisimetría) para crear nuevas reglas que permiten
mantener la integridad del conocimiento.

146
Inteligencia Artificial.
- Sistemas basados en el conocimiento.

4.7.3. Automatización de la adquisición del conocimiento.

Las técnicas de aprendizaje automatizado (machine learning) pueden ser de gran


valor para automatizar algunos aspectos de la adquisición de conocimientos.
Hay al menos tres formas en que el aprendizaje automatizado (AA) facilita la
adquisición de conocimiento:

- Los sistemas de AA pueden ayudar a la construcción inicial de la base de


conocimientos (varios sistemas son capaces de derivar un conjunto inicial de
reglas a partir de casos ejemplos).
- Los sistemas de AA pueden refinar bases de conocimientos existentes.
- Los sistemas de AA pueden ser útiles en adaptar una base de
conocimientos a ciertos requerimientos.

Diversas causas han llevado a la automatización de la adquisición del


conocimiento:

- El descenso en el costo de los soportes de software y hardware para los SE


han creado una situación favorable para el desarrollo de los mismos, esto ha
conducido a un incremento en la demanda de SE superior a las cantidades
necesarias de ingenieros de conocimientos entrenados o de experiencia.
- El movimiento hacia una actividad humana intensiva como la ingeniería de
conocimiento es contraria a todas las tendencias en la industria, en
particular es contraria a la tendencia hacia las técnicas de programación
automática en la industria de software.
- El papel del ingeniero de conocimiento como un intermediario entre el
experto y la tecnología se cuestiona no sólo porque incrementa los costos
sino también por su efectividad (puede perderse conocimiento).

Desafortunadamente, hasta el momento, todo el trabajo mental del I.C. no


puede ser sustituido por un sistema automático, pero existen herramientas
que permiten facilitar el trabajo creativo. Estas herramientas se dividen en
tres grupos:
- Herramientas de apoyo simples: editores de B.C., módulos explicativos
especiales, subsistemas para la prueba automática en los conjuntos de
datos reales, entre otros.
- Medios para la extracción efectiva del conocimiento del experto: Un ejemplo
es el sistema ETS, el cual ayuda al experto a formular el conocimiento
haciendo uso de las técnicas de diálogo basadas en la teoría
psicoterapéutica del comportamiento personal.
- Técnicas de aprendizaje automatizado.

En los intentos de automatizar el proceso de adquisición del conocimiento han


influido varios factores: el éxito alcanzado por los S.E. ha traído por
consecuencia una gran demanda de I.C. para el desarrollo de S.E. en múltiples
áreas de aplicación; el desarrollo industrial actual está dirigido a la
automatización en todos los frentes, lo cual entra en contradicción con el
papel fundamental que desempeña el I.C. en el diseño de los S.E. y se
cuestiona cada vez más el trabajo del mismo, por los altos costos y por los
errores que puede cometer en el proceso de adquisición del conocimiento. Es
precisamente por esto que han surgido los Ingenieros del Conocimiento
Automatizados (I.C.A.).

147
Inteligencia Artificial.
- Sistemas basados en el conocimiento.

Para que un I.C.A. sea eficaz es necesario que cumpla los requisitos
siguientes:
- Debe ser independiente del dominio de aplicación.
- No debe haber intermediarios entre él y el experto humano, si no, no
tiene razón de existir.
- Debe adquirir el conocimiento de diversas fuentes, incluyendo los
libros de texto.
- Debe ser capaz de manipular los criterios de varios expertos, aún cuando
algunos pudieran ser contradictorios.
- Debe abarcar varias F.R.C.

B.C. INGENIERO DE EXPERTO


CONOCIMIENTO

I.C.A.

Fig. 4.3. Papel del Ingeniero de Conocimiento Automatizado.

Entre las técnicas de aprendizaje automatizado que pueden implementarse en


un I.C.A. podemos mencionar:

- Generación de reglas a partir de una base de datos.


Si el conocimiento se tiene registrado en una base de casos, el I.C.A.
pudiera transformar cada artículo de la B.D. en una regla, considerando
que los primeros campos de cada artículo corresponden a las condiciones
y el último, a la conclusión. Este método permite obtener conocimiento
mediante la síntesis de la experiencia registrada en ficheros de casos.
- Transferencia interactiva de experiencias.
El ICA dialoga con el experto mientras éste, guiado por el sistema, produce
nuevas reglas y critica las existentes.
- Aprendizaje basado en similaridad.
Dado un conjunto de ejemplos y contraejemplos de un concepto, el I.C.A
induce las reglas, generalizando las características de los ejemplos sin
incluir la de los contraejemplos. Los ejemplos positivos permiten al
sistema generalizar y los negativos especializar los conceptos.
- Refinamiento de la B.C.
La fase de refinamiento se caracteriza no tanto por la adquisición de reglas
completas como por la adición, eliminación o modificación de componentes
de la regla. El ICA focaliza su atención en un subconjunto de reglas como
candidatas potenciales para ser corregidas, el subconjunto puede ser por
ejemplo todas aquellas que tienen el mismo consecuente.
El refinamiento puede hacerse por generalización o especialización. Por
generalización de la regla se entiende cualquier modificación a una regla
(eliminar o modificar alguna condición o componente de la premisa o
variar el valor de certeza o factor de certidumbre de la regla) que hace que
su conclusión sea más fácilmente aceptada. Por especialización se entiende
lo contrario, es decir, es la modificación de la regla que hace que sea más
difícil aceptar su conclusión.

148
Inteligencia Artificial.
- Sistemas basados en el conocimiento.

- Aprendizaje de parámetros.
La tarea del ICA puede ser ajustar los parámetros numéricos de cierta
parte del conocimiento, por ejemplo los coeficientes de las reglas de
producción.

Como hemos visto, las técnicas de aprendizaje automatizado aceleran y


mejoran la adquisición del conocimiento, pues facilitan la construcción de las
B.C., ayudan en el proceso de refinamiento y son útiles para adaptar una B.C.
a nuevos requerimientos.

Las investigaciones actuales en esta área están dirigidas al incremento del


número de sistemas que permitan la adquisición del conocimiento de forma
automática y a resolver sus dos principales dificultades: 1) estos sistemas
trabajan con un lenguaje de representación fijado por el diseñador y 2) la
detección de errores en los datos de entrada.

4.7.4. Estados en el desarrollo de un Sistema Experto.

En su desarrollo, el S.E. transita por cinco estados fundamentales:

- Prototipo demostrativo.
El sistema resuelve una porción del problema (uno o dos casos) mientras
que el enfoque es adecuado y el desarrollo del sistema es factible. La B.C.
contiene entre 50 y 100 reglas. Se alcanza en tres meses.
- Prototipo de investigación.
El sistema muestra resultados creíbles sobre todo el problema, pero no
está totalmente probado y revisado. Su B.C. contiene entre 200 y 500
reglas y resuelve un gran número de casos. Requiere de uno a dos años
de trabajo. La mayoría de los S.E. llegan hasta este estado.
- Prototipo de campo.
El sistema muestra buenos resultados y ha sido completamente revisado
en el medio de trabajo del usuario. Su B.C. contiene de 500 a 1000
reglas. Se alcanza a los dos o tres años de trabajo. Sólo algunos S.E.
llegan a este estado.
- Modelo de producción.
El sistema exhibe alta calidad, confiabilidad, rapidez y eficiencia en el
medio de trabajo del usuario. Su B.C. contiene de 500 a 1500 reglas.
Requiere de dos a cuatro años de labor. Pocos S.E. alcanzan este estado.
- Sistema comercial.
El sistema se usa comercialmente. Este estado se alcanza al cabo de 5 ó
6 años de desarrollo.

4.8. Tratamiento de la incertidumbre.

El razonamiento en general se refiere a diferentes clases de actividades, entre


ellas extraer conclusiones desde un conjunto de hechos, diagnosticar posibles
causas para alguna situación, analizar y organizar datos, etc. En el desarrollo
de un proceso de razonamiento intervienen, al menos, tres elementos: el
conocimiento sobre el dominio de aplicación, un método para procesar este
conocimiento y ciertas observaciones vinculadas con el objeto de razona-

149
Inteligencia Artificial.
- Sistemas basados en el conocimiento.

miento. El razonamiento con incertidumbre denota un proceso de razonamiento


en el que alguno de estos elementos no es totalmente preciso, o sea, el
razonamiento se realiza sobre la base de una información parcial y, por lo
tanto, los resultados de éste son sugeridos pero no asegurados por las
premisas del mismo.

A diferencia de la I.A., el software algorítmico tradicional no puede lidiar con


información incompleta. Si algún dato es incorrecto, la respuesta será
incorrecta.

4.8.1. Fuentes de incertidumbre.

La presencia de incertidumbre en los sistemas de razonamiento es causada


por varias fuentes, entre ellas se pueden mencionar:

- Imprecisiones en la definición de los conceptos y sus relaciones que


integran el conocimiento sobre el dominio de aplicación. Ejemplo: en un
S.P. se puede ver como que las reglas de producción son inciertas.
- Imprecisiones y pobre seguridad de los instrumentos usados para hacer
las observaciones.
- Imprecisiones del lenguaje de representación en el cual se trasmite la
información. Ejemplo: la frase “a menudo” en la regla “Si el motor de su
automóvil se sobrecalienta, entonces, a menudo, no hay suficiente líquido
refrigerante en el sistema de enfriamiento.”
- Falta de idoneidad de un formalismo para representar cierta clase de
conocimiento.
- Agregación de información desde múltiples fuentes. Ejemplo: puede haber
una que no sea totalmente fiable como un profesor honesto pero
despistado.
- Falta de seguridad en: si un elemento dado pertenece a un conjunto bien
definido, o en: la pertenencia parcial de un elemento dado a un conjunto
cuyas cotas no están definidas rigurosamente.
- El mundo relevante es realmente aleatorio. Ejemplo: el movimiento de los
electrones en un átomo, la distribución de personas que caerán enfermas
durante una epidemia o la distribución de las alturas de las personas.
- El mundo relevante no es aleatorio dada la suficiente cantidad de datos,
pero nuestro programa no siempre tendrá acceso a todos esos datos. Por
ejemplo, la probabilidad de éxito de un medicamento para combatir una
enfermedad en un paciente concreto.

Durante el razonamiento, la incertidumbre proveniente de estas fuentes se


combina produciendo resultados parciales y finales que tienen su propia
incertidumbre. A este proceso se le llama propagación de la incertidumbre.

4.8.2. Enfoques para representar la incertidumbre.

Los enfoques existentes para representar la incertidumbre se dividen en dos


categorías básicas:
- Caracterizaciones numéricas.

150
Inteligencia Artificial.
- Sistemas basados en el conocimiento.

Las representaciones numéricas son propias para representar y


manipular la incertidumbre dada por la información imprecisa, pues
ellas permiten trabajar con valores de confidencia. Es posible, además,
definir un cálculo que ofrece un mecanismo para propagar la
incertidumbre a través del proceso de razonamiento. Sin embargo, la
representación numérica no puede ofrecer una explicación clara de las
razones que conducen a una conclusión dada.

Entre los enfoques numéricos están:


- Regla de Bayes.
- Regla de Bayes modificada.
- Teoría de la confirmación.
- Teoría de Dempster-Shafer.
- Razonamiento evidencial.
- Espacio evidencia.
- Teoría de la necesidad y la posibilidad.
- Valores lingüísticos.

- Caracterizaciones simbólicas.
Los modelos basados en este enfoque están, en su mayor parte, designa-
dos para manipular el aspecto de la incertidumbre derivado de la
información incompleta, pues, al carecer de medidas para cuantifi-car los
niveles de confidencia, son inadecuados para manipular la información
imprecisa y son más apropiados para permitir seguir la traza desde las
fuentes de información a las conclusiones.
Algunos de los enfoques simbólicos son:
- Suposiciones razonadas.
- Lógica no monotónica.
- Circunscripción.
- Enfoque monotónico.
- Análisis Bayesiano.
- Conjuntos difusos y lógica difusa.
- Teoría de Cohen.

Las seis primeras técnicas para la representación y manipulación simbólica de


la incertidumbre se basan en un enfoque formal mediante el cual se realiza el
razonamiento. La lógica no monotónica, la teoría de circunscripción y el enfoque
monotónico se basan en la lógica, mientras que el análisis bayesiano y la lógica
difusa se basan en cierta medida (aplicar ciertas formas de peso numérico a la
información y propagar esas medidas, los pesos son vistos como medidas, algo
relacionadas a la posibilidad, no siempre en el sentido estadístico).

La teoría de Cohen se basa en el empleo de un conjunto de reglas dependientes


del contexto (enfoque heurístico).

Un análisis detallado de algunos de estos enfoques de tratamiento de


incertidumbre pueden verse en [BDSE], [IPN88] e [IPN89]. Nosotros sólo
estudiaremos algunos de los más utilizados.

4.8.2.1. Regla de Bayes y Regla de Bayes modificada.

151
Inteligencia Artificial.
- Sistemas basados en el conocimiento.

De la teoría de Probabilidades sabemos que la probabilidad de que ocurra un


evento X es la razón del número de ocurrencias favorables y el número total de
eventos. A veces esta teoría puede usarse con éxito en la I.A. Veamos el
ejemplo de jugar un juego de cartas, por ejemplo la brisca. No tenemos acceso
a la información completa sobre el estado actual del problema, pues no
conocemos las cartas que tienen los otros jugadores. Sin embargo, podemos
estimar las probabilidades de las diversas distribuciones de cartas.
Supongamos que necesitamos conocer quién tiene el as de bastos y cuántos
pinchos tiene cada oponente. Calculamos primero la probabilidad de que cada
uno tenga el as y, en ausencia de información, la supondremos 0.5. Luego
calculamos las probabilidades de las distribuciones posibles de pinchos y por
último, la probabilidad conjunta de que una persona tenga el as y algún
número concreto de pinchos, esto es, P(A y B) = P(A) * P(B) si A y B son
independientes. Para evaluar el mérito de cada una de las jugadas que
podemos realizar, evaluamos su resultado para cada distribución de cartas.
Para esto calculamos:

Tanteo = ∑ ( P ∗ Valor ) ,
i
i i

o sea multiplicamos el mérito de cada uno de tales resultados por la


probabilidad de que ocurra. Esto nos proporciona una medida de la posición
promedio que podemos esperar lograr haciendo un determinado movimiento.

Una regla puede tener varios antecedentes, cada uno con su probabilidad.
Pudiera calcularse la probabilidad múltiple del antecedente, multiplicando las
probabilidades de cada una de las condiciones, pero esto sólo es cierto si son
independientes unas con otras. Sin embargo, esto generalmente no ocurre, por
lo que se utiliza un procedimiento especial conocido como la regla de Bayes, el
cual permite calcular la probabilidad de que ocurra un evento dado que ha
ocurrido otro evento.

Antes de enunciar la regla de Bayes, analicemos, primeramente, la


terminología a usar:

E = {e1,e2,...,em} → conjunto de evidencias.


P(E/hi) → probabilidad de que la evidencia E será observada si la hipótesis
hi es cierta. Ejemplo: E podría ser un síntoma y hi una
enfermedad.
P(hi/E) → probabilidad de que la hipótesis hi sea cierta dada la evidencia E.
P(hi) → probabilidad a priori de que hi sea cierta en ausencia de cualquier
evidencia a favor o en contra. Ejemplo: si hi es una enfermedad,
entonces P(hi) es la probabilidad de que cualquier persona tenga
dicha enfermedad. La probabilidad a priori de que al lanzar una
moneda caiga cara es 0.5.
n → número de hipótesis posibles.

Dado un conjunto de hipótesis H = {h1,h2,..,hn} y una secuencia de evidencias


{e1,e2,..,em}, la Regla de Bayes, derivada de la fórmula de probabilidad
condicional, enuncia que la probabilidad posterior P(hi/{e1,..,em}) puede ser

152
Inteligencia Artificial.
- Sistemas basados en el conocimiento.

calculada a partir de una función de la probabilidad condicional


P({e1,e2,..,em}/hi) y la probabilidad a priori P(hi):

P ({e1 , ... , e m } / hi ) ∗ P ( hi )
P (hi / {e1 , ... , e m }) = n

∑ P({e , ... , e
j =1
1 m } / h j ) ∗ P(h j )

Esta regla se basa en dos suposiciones fundamentales:

- Cada hipótesis hi es mutuamente excluyente con cualquier otra hipó-tesis


del conjunto de hipótesis H, y el conjunto H es completo,
i) P(hi,hj) = 0 para i≠j
n
ii) ∑ P(h )
i =1
i = 1

- Cada evidencia ej es condicionalmente independiente bajo cada hipótesis,


m
P ({e1 , ... , e m } / hi ) = ∏ P(e
j =1
j / hi )

La Regla de Bayes modificada añade la imposición de que cada evidencia ej


sea condicionalmente independiente bajo la negación de cada hipótesis,
m
P ({e1 , ... , e m } / ¬hi ) = ∏ P(e
j =1
j / ¬hi )

A pesar de su utilidad, este enfoque tiene las siguientes desventajas:

- Este método requiere una gran cantidad de datos para determinar los
estimados para las probabilidades a priori y a posteriori, lo cual a veces no
es fácil de obtener, pues no se dispone de valores exactos sino de
estimaciones subjetivas.
- La evaluación de la fórmula de Bayes en un dominio complejo requiere
gran cantidad de cálculos, pues deben considerarse muchas probabilida-
des, las cuales pueden contribuir mínimamente a la precisión de las
respuestas.
- Si se añade un cambio a la B.C. existente hay que cambiar las
probabilidades, pues la suma de las probabilidades de todos los resultados
posibles, o sea, la suma de las probabilidades de todas las hipótesis
posibles que revelan la evidencia E debe ser 1. Ejemplo: si añadimos una
nueva hipótesis (por ejemplo si identificamos una nueva enfermedad con
un síntoma común a un conjunto de enfermedades existentes) hay que
calcular de nuevo todos los valores.
- Para que la fórmula de Bayes dé una estimación precisa de la probabilidad
de un resultado concreto todos los resultados posibles deben ser
disjuntos. Nunca pueden darse dos de ellos a la vez. Ejemplo: una
paciente puede tener dos o más infecciones.
- La precisión de la fórmula de Bayes depende también de la disponibilidad
de un conjunto completo de hipótesis. En otras palabras, siempre debe ser
cierta como mínimo una de las hipótesis conocidas. Ejemplo: un paciente
puede tener una enfermedad que nadie haya diagnosticado anteriormente.

153
Inteligencia Artificial.
- Sistemas basados en el conocimiento.

- El valor único combina la evidencia en favor o en contra de una hipótesis,


sin indicar la proporción que hay de cada una y nada acerca de su
precisión.
- La información conflictiva no se detecta sino se propaga.

Por estas razones, el teorema de Bayes no parece solucionar todos los


problemas que surgen con el razonamiento incierto, aunque sirve de base para
algunos sistemas de I.A. como PROSPECTOR.

4.8.2.2. Teoría de la confirmación o certidumbre.

La teoría de la certidumbre (Shortliffe y Buchanan, 1975) fue desarrollada


para utilizarla en los S.E. en un intento de superar algunos de los problemas
asociados a la teoría de la probabilidad.

El factor de certidumbre FC(h,e) de una hipótesis dada h es la diferencia entre


una medida de credibilidad MB(h,e), que representa el grado de sustentación
de una evidencia favorable e, y una medida de descredibilidad MD(h,e) que
representa el grado de refutación de una evidencia desfavorable e. El factor de
certidumbre FC(h,e) se define como:

 1 si P(h) = 1 (h es verdadera)
 MB(h, e) si P(h/e) > P(h)

FC(h, e) =  0 si P(h/e) = P(h) (no se sabe nada)
 - MD(h, e) si P(h/e) < P(h)

 -1 si P(h) = 0 (h es falsa)

Los valores intermedios indican una medida de la certidumbre o incertidumbre


de h, donde:

 P(h/e) - P(h)
 si P(h/e) > P(h)
MB(h, e) =  1 - P(h)
 0 en caso contrario

 P(h) - P(h/e)
 si P(h/e) < P(h)
MD(h, e) =  P(h)
 0 en caso contrario

Una variante propuesta por Shortliffe a la definición del factor de certidumbre


es:
MB(h,e) - MD(h,e)
FC(h,e) =
1-min(MB(h,e) , MD(h,e))

154
Inteligencia Artificial.
- Sistemas basados en el conocimiento.

Posteriormente, Heckerman derivó una nueva definición por el factor de


certidumbre que permite la conmutatividad y tiene una interpretación
probabilística consistente:

P(h/e) - P(h)
FC(h,e) =
P(h/e)(1-P(h))+P(h)(1-P(h/e))

Este enfoque es usado en MYCIN. En él las reglas se escriben con el siguiente


formato:
Si A, entonces B con F.C. = c,

lo cual significa que si A es verdadera, o sea su F.C. es 1, entonces B se


cumple con una certeza de c. Ejemplo: una regla de MYCIN es la siguiente:

Si i) la coloración del organismo es gram-positiva y


ii) la morfología del organismo es cocus y
iii) la conformación de crecimiento del organismo es una masa
informe,
Entonces, hay evidencia sugestiva (0.7) de que el organismo es un
estafilococus.

El valor de certidumbre de 0.7 indica que la evidencia sugiere fuertemente la


conclusión pero no con certeza.

Este enfoque tiene las siguientes ventajas:


- Los valores de certidumbre resultantes oscilan siempre entre -1 y 1 y el
significado de los valores -1,0 y 1 están bien definidos.
- Si se aplican dos reglas contradictorias, de tal forma que la certidumbre
de una sea igual a la de la otra, entonces sus efectos se destruyen.
- Se combinan en el factor de certidumbre la medida de creencia MB y de
descreencia MD.

Sin embargo, presenta las desventajas siguientes:


- ¿cómo interpretar el valor del factor de certidumbre, o sea, cuál es su
semántica?
- se supone la independencia de las evidencias.
- no se puede distinguir entre ignorancia y conflicto.

4.8.2.3. Teoría de Cohen.

Cohen propuso una teoría de razonamiento heurístico acerca de la


incertidumbre. Ella se basa en la recopilación explícita de la justificación para
una sentencia, como en un sistema de mantenimiento de la verdad. Las
justificaciones se clasifican de acuerdo al tipo de evidencia: a favor o en
contra, y se definen las acciones posibles para resolver la incertidumbre de
cada evidencia. Esta información ofrece un buen mecanismo para las
explicaciones, ya que se crea y mantiene la historia completa de las
justificaciones de una sentencia y la relevancia de cualquier proposición
respecto a un objetivo.

155
Inteligencia Artificial.
- Sistemas basados en el conocimiento.

Un problema de esta teoría es cómo propagar las justificaciones. Cuando se


alcanza una conclusión parcial, ésta es producto de una combinación de las
justificaciones de sus premisas, por lo que es necesario especificar
explícitamente cómo combinar las justificaciones para cada contexto
particular, creando potencialmente problemas combinatorios.

4.8.2.4. Conjuntos difusos y lógica difusa.

El enfoque de razonamiento difuso desarrollado inicialmente por Zadeh tiene


como punto inicial la teoría de conjuntos difusos.
La teoría de conjuntos clásica plantea que para cualquier conjunto y cualquier
elemento, el elemento pertenece absolutamente o no al conjunto, lo cual se
puede expresar por la función:

 1 si x pertenece a S
Cs(x) = 
 0 si x no pertenece a S

Un conjunto difuso es una función del dominio en cuestión al intervalo [0,1].


Puntos donde esa función se aproxima a 0 “están menos” en el conjunto
difuso, en tanto que los puntos donde la función se aproxima a 1 “están más”
en dicho conjunto. Para distinguir al conjunto difuso de la función que lo
define, se le llama a ésta característica del conjunto.

En la teoría de conjuntos difusos la función característica es reemplazada por


una medida Ms, la cual para cualquier x da la medida de la pertenencia de x a
S, 0 ≤ Ms(x) ≤ 1.

Al igual que en la teoría de conjuntos clásica, se puede definir un álgebra de


conjuntos difusos, donde la característica de la intersección de dos conjuntos
difusos es el producto de sus características, la característica de la unión es la
suma de las características de los conjuntos y la característica del
complemento es 1 menos la característica del conjunto.

Paralela a la teoría de conjuntos difusos, Zadeh propuso una lógica


proposicional difusa, la cual asigna valores entre 0 y 1 a las proposiciones, en
lugar de los valores bivalentes usuales: verdadero y falso.

4.8.2.5. Lógica no monotónica.

En casi todos los sistemas lógicos si una proposición C puede ser derivada de
un conjunto de proposiciones S, y si S es un subconjunto de S', entonces C
puede también ser derivada de S'. Esto es, añadir información sin eliminar
ninguna, NO puede eliminar vinculaciones deductivas: cuando un sistema
incrementa sus premisas, sus posibles conclusiones al menos se mantienen
constantes (o se incrementan). Los sistemas deductivos con esta propiedad se
llaman monotónicos.

156
Inteligencia Artificial.
- Sistemas basados en el conocimiento.

El término lógica no monotónica (nonmonotonic logic) fue acuñado por Marvin


Minsky en el trabajo "A Framework for representing knowledge" en 1975. El
enfoque no monotónico se caracteriza porque las conclusiones obtenidas sobre
la base de un conjunto de evidencias pueden ser desechadas a la luz de nuevas
evidencias. Alrededor de 1980 surgieron dos formalismos distintos que
intentaron modelar la esencia del razonamiento no monotónico.

• Formalismo de McDermott y Doyle.


En este formalismo se extiende la lógica de primer orden ordinaria
introduciendo un operador modal M. Dada una proposición p, Mp significa
que p es deductivamente consistente con todas las creencias presentes y las
hipótesis. Luego el significado de Mp puede cambiar con el estado de
creencias presentes. Las proposiciones del sistema de McDermott y Doyle
tienen la forma general (q y Mp) => p, lo cual expresa: si se conoce q, y no se
conocen razones para que no se cumpla p, entonces se infiere p.
Por ejemplo:
Del conjunto de proposiciones:
a) (a y M(b)) => b
b) a
c) c => not b
se puede inferir b.
Pero si a este conjunto se añade la proposición
d) c
NO se infiere b de nuevo.

Por eso, añadir esta característica al sistema de inferencia lo hace no


monotónico, porque inferencias previamente permitidas son rechazadas por
la adición de nuevo conocimiento.

• Formalismo de Reiter.
La esencia de este formalismo se puede ilustrar con el siguiente ejemplo: si
una base de datos que contiene la información de los vuelos de una línea
aérea NO tiene información sobre cierto vuelo, se justifica concluir que tal
vuelo no existe. Lo cual puede ser generalizado así:

Para cualquier hecho consistente de una relación R y X1, X2 ,..., Xn, si el


sistema no puede probar R(X1, X2, X3, ..., Xn) éste puede concluir not
R(X1, X2, ..., Xn).

4.8.3. Requerimientos del razonamiento con incertidumbre.

El enfoque utilizado para el razonamiento con incertidumbre debe satisfacer


los requerimientos siguientes:
- Debe haber una representación explícita de la cantidad de observaciones
que son necesarias para aceptar una hipótesis dada.
- Debe haber una representación explícita de las razones que deben existir
para aceptar o refutar cualquier hipótesis.
- La representación debe permitir al usuario describir la incertidumbre de la
información con el nivel de detalle disponible.
- Debe estar disponible algún criterio de consistencia para detectar posibles
conflictos e identificar los factores que contribuyen esencialmente en él.

157
Inteligencia Artificial.
- Sistemas basados en el conocimiento.

- Debe haber una representación explícita del desconocimiento para


permitir que el usuario haga planteamientos inseguros.
- Debe haber una clara distinción entre un conflicto en la información o
violación de la consistencia y el desconocimiento de la información.
- Debe poderse medir la incertidumbre de la medida de incertidumbre (un
segundo orden de incertidumbre).
- La representación debe ser lo suficientemente simple y natural para
facilitar al usuario describir la incertidumbre de la información inicial e
interpretar la incertidumbre de los resultados del proceso de
razonamiento.
- Debe permitirse seguir la traza de la propagación de la incertidumbre a
través del proceso de razonamiento para poder resolver conflictos o
contradicciones y explicar las conclusiones.

4.8.4. Manipulación de la incertidumbre en los sistemas expertos.

La manipulación del conocimiento y los datos inciertos, inseguros e inexactos


es típica de los S.E. El mecanismo de esta manipulación constituye una parte
sustancial de la M.I. La incertidumbre se expresa, generalmente, por pesos,
medidas, grados de confianza, factores de creencia, probabilidades subjetivas,
etc. Estas medidas, generalmente, alcanzan valores en los intervalos [0,1] ó [-
1,1].

Sólo en el caso de los sistemas de diagnóstico y los sistemas basados en reglas


se ha presentado una teoría completa del procesamiento de la incertidumbre.
Nuestro objetivo es introducir al lector en los métodos y problemas más
importantes del procesamiento de la incertidumbre en los S.E. Nos
restringiremos, por tanto, a los S.E. basado en reglas de producción.

Una característica de los S.E. es el tratar con hechos, proposiciones y reglas


que son inciertos, es decir, que no sabemos con absoluta certeza si son
verdaderos. La incertidumbre en los S.E. proviene, fundamentalmente, de dos
fuentes:
- Imprecisión en el valor de los hechos iniciales.
- Existencia de implicaciones débiles debido a que el experto es incapaz de
establecer una correlación fuerte entre las premisas y la conclusión, lo
cual hace que la implicación no sea categórica y permita la posibilidad de
excepciones a la regla.

En el mecanismo de manipulación de incertidumbre en los S.E. se presentan


las siguientes problemáticas:
- ¿Cómo determinar el grado de certeza de la condición si ésta es
compuesta? Por ejemplo, si tenemos la regla:
Si A ∧ B ∨ C, entonces D con F.C. = v, ¿cómo calcular el factor de
certidumbre (F.C.) del antecedente?
- ¿Cómo propagar el F.C. a través de la regla si el F.C. del antecedente no
es 1?
- ¿Cómo calcular el F.C. de una conclusión si varias reglas conducen a
ella? Por ejemplo, si se tienen las reglas:
Si A entonces B con F.C. = v1
Si C entonces B con F.C. = v2, ¿cómo calcular el F.C. de B?

158
Inteligencia Artificial.
- Sistemas basados en el conocimiento.

Cada S.E. usa su propio método de propagación de incertidumbre. Uno muy


sencillo es el siguiente:
- Para el cálculo del F.C. en la premisa se usan:
FC(A ∧ B) = mín(FC(A), FC(B))
FC(A ∨ B) = máx(FC(A), FC(B))
- Para el cálculo del F.C. de la conclusión si el antecedente no es
totalmente cierto se usa:
Si A entonces B con F.C. = v
FC(B) = FC(A) * v
- Para el cálculo del F.C. cuando varias reglas tienen el mismo
consecuente se usa:
R1: Si A entonces B con F.C. = v1
R2: Si C entonces B con F.C. = v2
FC(B) = FC(R1) + FC(R2) - FC(R1) * FC(R2)

Analicemos un ejemplo:
R1: Si la temperatura es alta y la presión de los gases es alta, entonces
cerrar la válvula de inyección de combustible del horno de cemento
con F.C.=0.8.
R2: Si el proceso de quemado es incompleto, entonces cerrar la válvula de
inyección de combustible del horno de cemento con F.C.=0.75.

Supongamos que los F.C. de las proposiciones son las siguientes:


Proposición A: temperatura alta. F.C. = 0.8.
Proposición B: presión de los gases alta. F.C. = 0.9.
Proposición C: proceso de quemado incompleto. F.C. = 0.65.
Proposición D: cerrar la válvula de inyección de combustible del horno de
cemento.

Calculemos el F.C. de D.
FC(D)= FC(R1) + FC(R2) - FC(R1) * FC(R2)
FC(A ∧ B)= mín(FC(A),FC(B))= 0.8
FC(R1)= 0.8 * 0.8 = 0.64
FC(R2)= 0.65 * 0.75 = 0.4875
FC(D)= 0.64 + 0.4875 - 0.64 * 0.4875 = 0.8155

El tratamiento de la incertidumbre en PROSPECTOR puede verse en [Bra86] e


[IPN88] y el de MYCIN en [IPN88], [IPN89] y [Ric88].

4.9. Razonamiento basado en casos.

4.9.1. Sistemas Basados en el Conocimiento

Los Sistemas Basados en el Conocimiento (S.B.C.) son un modelo


computacional de más alto nivel que el paradigma de la programación
convencional, en el cual los sistemas están formados por tres componentes: la
base de conocimiento (B.C.), la máquina de inferencia (M.I.) y la interfase con
el usuario:
¡ S.B.C. = B.C. + M.I. + I.U.

El conocimiento que se almacena en la B.C. es de diferentes tipos:

159
Inteligencia Artificial.
- Sistemas basados en el conocimiento.

- simbólico, sobre cómo resolver los problemas del dominio. Se usan las
F.R.C. estudiadas.
- probabilidades o frecuencias que modelan como se relacionan los valores
de los diferentes rasgos que caracterizan el dominio
- pesos de una red neuronal
- casos o ejemplos de problemas del dominio

Estos diferentes tipos de conocimiento dan lugar a diferentes tipos de S.B.C.:


- Sistemas Basados en Reglas, Sistemas Expertos
- Sistemas Basados en Probabilidades
- Sistemas Expertos Conexionistas o Redes Expertas
- Sistemas Basados en Casos.

Características de estos tipos de S.B.C.


Tipo F.R.C. M.S.P. Fuentes de conocimiento
S.B.R. reglas de producción Forward, backward expertos, ejemplos,
chaining publicaciones
S.B.P. Probabilidad, frecuencia teorema de Bayes ejemplos
R.N.A. Pesos Algo. de aprendizaje ejemplos
R.B.C. Casos Recuperación y ejemplos
adaptación

S.B.R. Ingeniería del conoc. B.C MSP datos


- entrevistas Conjunto solución
- análisis de casos de reglas

S.B.P. Procesamiento estadístico B.C. MSP datos


- análisis de ejemplos probabilidades solución
o frecuencias

R.N.A. Entrenamiento de la red B.C. MSP datos


- ejemplos pesos solución

R.B.C. B.C. recuperación y adaptación datos del problema


Ejemplos Casos semejantes solución

La envergadura del proceso de adquisición del conocimiento dependerá


del tipo de conocimiento. En la figura se esquematiza este proceso en cada
tipo de S.B.C. En los sistemas de producción se desarrolla un proceso
complejo y prolongado en el que la extracción se refiere a la formulación de
las reglas, la codificación a la escritura de las reglas según la sintaxis del
lenguaje seleccionado y la verificación consiste en el refinamiento de la base
de conocimientos. En los sistemas basados en probabilidades la adquisición
del conocimiento consiste en coleccionar muestras y realizar un
procesamiento estadístico que produzca las probabilidades o frecuencias
que forman la base de conocimientos. En las R.N.A. la adquisición del
conocimiento incluye la selección de los ejemplos, el diseño de su topología y
el entrenamiento de la red para hallar el conjunto de pesos. En los sistemas

160
Inteligencia Artificial.
- Sistemas basados en el conocimiento.

basados en casos la adquisición del conocimiento se reduce a la selección


de un conjunto de ejemplos o casos resueltos y su organización en la base
de casos.

Los trabajos básicos sobre el enfoque basado en casos fueron desarrollados


por Roger Schank en la universidad de Yale en los años 80. Al final de esa
década el Defense Advanced Research Proyects Agency (DARPA) comenzó a
centrar esfuerzos en la aplicación de esta tecnología.

Componentes de un sistema de razonamiento

- La F.R.C. (lógica, frames, redes semánticas, reglas, etc)


- Un conjunto de reglas de inferencia (resolución, instaciación de los frames,
etc)
- Mecanismo de control para guiar la búsqueda (forward y backward
chaining, búsqueda heurítica, a ciegas, etc)

El razonamiento basado en casos representa un nuevo paradigma de


búsqueda pues el formalismo que se utiliza sirve para representar no
conocimiento explícito, sino ejemplos de problemas resueltos del dominio de
aplicación, las reglas de inferencia se emplean para construir la solución de
un nuevo problema a partir de las soluciones dadas a problemas resueltos
previamente y los mecanismos de control están orientados a mejorar la
búsqueda de los problemas semejantes al nuevo.

4.9.2. El papel de la memoria en la solución de problemas.

Gracias a la memoria el hombre puede adquirir experiencias y conocimientos;


pues la memoria es pieza fundamental en el aprendizaje. La memoria puede
organizar las experiencias, generalizarlas y usarlas en la solución de nuevos
problemas. La memoria es también una pieza clave en el sentido común.
Cuando pedimos una comida en un restaurant frecuentemente basamos la
decisión en lo que posiblemente ellos elaboren bien de acuerdo a otras
experiencias en ese restaurant; al planificar las actividades hogareñas se
recuerda lo que se hizo y dejó de hacer previamente y usamos esa información
para crear el nuevo plan. Conociendo que una de las limitaciones actuales
de los sistemas expertos es la imposibilidad de resolver problemas que
requieran sentido común, su empleo representa una alternativa en el estudio
de variantes para lograr incorporar a los S.E. elementos de sentido común.

Según Rubinstein [RUB65] aprender algo de memoria, o sea, el recordar


una cosa de modo organizado desde el punto de vista fisiológico significa
organizar los estímulos que actúan sobre el cerebro según el modo en que
se presentan (concentrados o distribuidos, etc) .

... los resultados que se obtienen de aprender una cosa de memoria


dependen no sólo de lo que se estudia, es decir, del material que se ha de
aprender, sino dependen también de la manera que el individuo trabaja
con dicho material, del modo como lo analiza, lo agrupa, lo generaliza, etc.

161
Inteligencia Artificial.
- Sistemas basados en el conocimiento.

La memoria humana se divide en dos, una memoria temporal (MT) y una


memoria permanente (MP). En la MT sólo es posible almacenar poca
información, y como su nombre lo indica la información permanece en ella
poco tiempo, sólo sirve de memoria de trabajo (como en los sistemas
basados en reglas). Por su parte la MP tiene una gran capacidad, se divide
en memoria episódica y memoria semántica. La memoria episódica
contiene información sobre las experiencias personales pasadas, usualmente
almacenada desde un punto de vista autobiográfico. La memoria semántica
contiene hechos los cuales no están conectados con las experiencias
personales, generalmente se modela mediante una red semántica.

Características de la memoria humana a tener en cuenta al enfocar su empleo


computacionalmente.

• El carácter asociativo de la memoria y por ende, del recuerdo juega un


papel determinante en el razonamiento.
• Lo que se recuerda es el resultado de un proceso de reconstrucción de
conocimientos precedentes sobre la base de la experiencia y la lógica
colectiva y en ningún momento debemos verlo como una simple
reproducción.
• En la mente del hombre no puede aparecer un pensamiento cuyos
elementos no se encuentren registrados en la memoria, inclusive las ideas
nuevas que fundamentan los descubrimientos científicos no constituyen
una excepción de la regla.
• La solución de problemas no puede realizarse a no ser por medio de la
experiencia de los conocimientos y de los medios de solución incorporados
a la habilidad del sujeto.
• La memoria nunca se desborda, el volumen de la memoria no influye en la
velocidad de recuperación de la información, ella se autoorganiza
dinámicamente para reflejar lo nuevo. La memoria está ricamente
indexada, de modo que las experiencias se relacionan mutuamente de
forma compleja y abstracta.
• El carácter asociativo de la memoria juega un papel determinante en el
razonamiento. Se recuerda lo que es relevante.
• El aprendizaje está dirigido por fallas. Cada vez que se falla al resolver un
problema se revisan las conexiones entre las partes de la memoria que
intervinieron en el proceso. En general, la segunda vez que se intenta
resolver algún problema o hacer alguna tarea es más fácil que la primera
porque recordamos y repetimos la solución previa. Somos más competentes
la segunda vez porque recordamos los errores cometidos y tratamos de
evitarlos. Ejemplo: los médicos al evaluar lo apropiado de una terapia o
juzgar cuál entre varias es la apropiada recuerdan momentos en los que
este procedimiento terapéutico fue empleado.
• Nuestra memoria dinámica se autoorganiza de modo que es capaz de
ajustarse para reflejar lo nuevo. Los expertos, quienes conocen mucho
sobre temáticas particulares, pueden recordar hechos de su dominio de
experticidad mucho más fácilmente que los no expertos, quienes
presumiblemente tienen menos hechos que recordar. Esto es porque tan
pronto como se aprenden nuevos hechos éstos se integran, no se suman
con los ya conocidos, reorganizándose la memoria para hacer los
hechos importantes accesibles. El conocimiento previo ayuda a decidir
dónde y cómo colocar los nuevos hechos en la memoria.

162
Inteligencia Artificial.
- Sistemas basados en el conocimiento.

4.9.3. Caracterización del razonamiento basado en casos.

El Razonamiento Basado en Casos denota un método, en el cual la solución


de un nuevo problema se realiza a partir de las soluciones conocidas
para un conjunto de problemas previamente resueltos (o no resueltos) del
dominio de aplicación. El RBC es una alternativa entre otras metodologías
para construir sistemas basados en el conocimiento.

La esencia del RBC se puede ilustrar con el ejemplo siguiente. Supóngase


que se tiene una gran base de datos relacional de registros de pacientes
médicos con rasgos Edad, Sexo, Síntomas, Diagnóstico, Tratamiento, etc.
Cuando se presente al sistema un nuevo caso, para el que sean conocidos
solamente algunos rasgos, por ejemplo la Edad, el Sexo y Síntomas, el
RBC opera proponiendo valores posibles para los rasgos objetivos, tales
como Diagnóstico y Tratamiento, los cuales son conocidos para los pacientes
en la base de datos pero no para el nuevo paciente. Esta inferencia de
valores para los rasgos objetivos el sistema que usa el RBC la realiza,
usando solamente la información contenida en la base de datos.

La idea básica del RBC es recuperar, adaptar y validar las soluciones


encontradas en experiencia previas en un intento de relacionarlas con un
problema actual. Las experiencias previas están representadas como una
biblioteca de casos que reside en memoria. Cuando se enfrenta con un nuevo
problema, el sistema con RBC recupera un caso similar, y la solución del caso
se adapta al nuevo problema en un intento para resolverlo.

¿Qué es un caso? Los casos contienen conocimiento a nivel operacional. Cada


caso contiene:

- Descripción del problema o situación.


- Solución al problema.
- Si luego de la ejecución ocurrió algún error en la predicción:
explicación de las anomalías,
la estrategia de reparación.
la referencia al próximo resultado.

Método de búsqueda de la
Memoria
Módulo de adaptación

Nuevo

Fig. 4.4. Esquema general del R.B.C.

El esquema general del R.B.C. se muestra en la figura 4.4. La memoria


contiene los casos resueltos y sus soluciones. El método de búsqueda hace
una búsqueda asociativa en la memoria. Esta búsqueda no es una búsqueda
tradicional sino incompleta. Por ejemplo: dado un paciente con sus síntomas
se quiere buscar en la memoria los pacientes cuyos síntomas se parecen más

163
Inteligencia Artificial.
- Sistemas basados en el conocimiento.

al dado. El módulo de adaptación genera y adapta la solución dada a los


pacientes conocidos al nuevo paciente y da un tratamiento a la enfermedad
completando la información. El método de búsqueda pudo haber hecho un
escalafón de pacientes parecidos.

Pasos para la inferencia basada en casos

1. Presentar como entrada al sistema una descripción del problema a resolver


o problema actual (Presentación).
2. Encontrar aquellos casos en memoria que resuelven problemas similares
al actual (Recuperación).
3. Determinar cuáles partes del viejo caso se deben focalizar para resolver
el subproblema activo.
4. Derivar una solución (adaptando la solución previa a las restricciones
del nuevo problema) o los medios de resolver el problema (Adaptación).
5. Chequear la consistencia del valor derivado con la descripción del problema
a resolver, y aceptar o rechazar este (Validación).
6. Si se considera apropiada la solución validada se añade a la base de casos
para ser usada en el futuro si se considera conveniente (Actualización).

El proceso de encontrar los casos relevantes comprende:


- caracterizar el problema de entrada asignando los rasgos apropiados
a éste.
- recuperar los casos desde la memoria con esos rasgos.
- seleccionar el caso o los casos que más se parecen a la descripción
dada.

Como se puede apreciar el RBC es básicamente el procesamiento de la


información apropiada recuperada en el momento oportuno. De modo que el
problema central es la identificación de la información pertinente cuando se
necesite. En la práctica cada uno de estos pasos puede ser implementado por
diversos métodos. Por ejemplo, la recuperación de casos ha sido implementada
usando algoritmos de reconocimiento de patrones como el vecino más cercano,
árboles de decisión o memorias asociativas conexionistas; la representación de
los casos puede realizarse en forma de documentos textos, registros de bases
de datos, redes semánticas u otros modelos. Todos estos métodos se estudiarán
en próximos seminarios.

Los procesos principales involucrados en el RBC son recordar y adaptar. Para


poder obtener un desempeño exitoso los sistemas con RBC tienen que atender a
las cuestiones siguientes:

- ¿Cómo se adquieren los casos?.


- ¿Cómo se organizan los casos en la memoria?.
- ¿Cómo son los casos relevantes recuperados desde la memoria? ¿Cómo
puede un buen caso ser seleccionado?.
- ¿Cómo se pueden adaptar los casos previos a los nuevos problemas? ¿Cómo
se pueden mezclar las memorias de varios problemas diferentes para
formar una nueva solución?.
- ¿Cómo puede un razonador saber cuáles partes del caso recuperado debe
focalizar?.

164
Inteligencia Artificial.
- Sistemas basados en el conocimiento.

- ¿Cómo puede el RBC ser integrado con otros métodos de resolver


problemas?.

165
Inteligencia Artificial.
- Sistemas basados en el conocimiento.

Aplicabilidad de RBC

El R.B.C. es particularmente útil para resolver problemas y tomar decisiones


cuando:
- Es difícil formular reglas.
- Existen casos disponibles.
- Las reglas pueden ser formuladas, pero requieren mayor información de la
que normalmente se dispone.
- Las reglas pueden ser formuladas, pero usarlas es costoso porque:
el número de reglas es muy grande.
la longitud promedio en la cadena de reglas necesaria para realizar
una inferencia es muy larga.
- Los casos con soluciones similares tienen una formulación del problema
similar.
- Verificar la utilidad de la solución es fácil.

Aplicaciones del RBC

- Diagnóstico: Dado un conjunto de síntomas encontrar una explicación a


éstos. Ejemplo: CASEY (Koton, 1988) para diagnosticar problemas
cardíacos, SHRINK (Kolodner, 1987) para el diagnóstico en psiquiatría y
PROTOS (Bareiss, 1989) para el diagnóstico de trastornos auditivos.
- Diseño: Dado un conjunto de objetivos y restricciones crear un artefacto
que cumpla estos requerimientos de la mejor forma posible. Ejemplos:
JULIA (Kolodner, 1987; Hinrichs, 1989) para el diseño de menúes,
KRITIK (Goel y Chandrasekaran, 1989) para el diseño de pequeños
ensambles mecánicos, CLAVIER (Barletta, 1989) para determinar la
disposición de piezas, XBE (Pankakoski, 1991) para diseñar sistemas de
manufactura, ARCHIE (Pearce, 1992) para ayudar a los arquitectos en
tareas de alto nivel de diseño conceptual y CYCLOPS (Narinchandra,
1988) para el diseño de paisajes.
- Planificación: Dado un conjunto de objetivos y restricciones encontrar
una secuencia de acciones que puedan ser ejecutadas para alcanzar los
objetivos. Ejemplos: CHEF (Hammond, 1989) elaboración de recetas de
cocina, PLEXUS (Alterman, 1988) orientado a demostrar las
habilidades requeridas para dirigir un metro y SPA (Hanks y Weld, 1992)
sistema de planificación independiente del dominio.
- Explicación: Dada una situación encontrar una interpretación que
muestre la causa de dicha situación. Ejemplo: SWALE (Kas y Leake,
1988).

Ventajas del RBC

- El esfuerzo en la solución de problemas puede ser capturado para


ahorrar trabajo en el futuro.
- Experiencias previas que hayan sido exitosas pueden ser utilizadas
para justificar nuevas soluciones.
- Experiencias previas que no hayan sido exitosas se pueden ser utilizar
para anticipar problemas.
- La comunicación entre el sistema y los expertos se realiza sobre la base
de ejemplos concretos, lo que facilita la ingeniería del conocimiento.
- No se realizan retrocesos en la búsqueda.
- Pueden explicar simplemente presentando los casos seleccionados.

166
Inteligencia Artificial.
- Sistemas basados en el conocimiento.

- El RBC es un algoritmo de aprendizaje incremental, el aprendizaje tiene


lugar tan pronto como un nuevo ejemplo está disponible.
- El RBC permite proponer soluciones en dominios que no se
comprenden completamente.
- Los casos ayudan a focalizar el razonamiento sobre las partes
importantes de un problema señalando qué rasgos del problema son
importantes.
- El RBC es aplicable a un amplio rango de problemas.

Desventajas

- El sistema no explora todo el espacio de soluciones, por lo que no puede


encontrar soluciones óptimas.
- Requiere de una base de datos considerablemente grande y bien
seleccionada.
- La consistencia entre varios casos es difícil de mantener.
- El RBC depende de una adecuada función de semejanza la cual no es
fácil de encontrar para cada aplicación.

4.9.4. Relaciones del RBC con otros sistemas de razonamiento

Razonamiento por analogía vs. RBC.

El RBC es una forma de RA. La analogía y el RBC son dos lados de la misma
moneda. El RBC es un método de realizar la solución de problemas por
analogías, pero es una forma más novedosa del RA.

R.B.C. R.A.
Intenta encontrar situaciones útiles Se tiende a buscar situaciones
similares
La solución de problemas por analogía ha Se trata de establecer la semejanza
tendido a examinar analogías entre entre problemas del mismo
situaciones de dominios diferentes. dominio.
Los problemas son más complejos, pues Usualmente requieren solamente de
requieren ser resueltos por partes y reinstanciación de variables
necesitan de un esfuerzo de adaptación.
La solución de problemas por RBC No requiere interacción con el
generalmente necesita interacción con el usuario.
mundo real y posibilidades de explicar
cómo se recupera el caso semejante. Los
trabajos sobre recuperación han tenido mas
prioridad que los de adaptación dentro de la
comunidad de RBC.
Una correspondencia exacta se considera Una correspondencia exacta no se
perfecta. considera una relación analógica.
Los sistemas basados en casos son Los sistemas analógicos tienen un
pragmáticos y orientados a tarea. alcance más amplio de razonar en
aprendizaje y generalización.
Focaliza la adquisición y organización de Enfatiza en los procesos de
los casos transferencia de información de
una situación a otra

167
Inteligencia Artificial.
- Sistemas basados en el conocimiento.

RBC vs Razonamiento basado en reglas

R.B.R. R.B.C.
Ingeniería del conocimiento más Ingeniería del conocimiento más fácil. Sólo se
difícil. Se generan las reglas. generan los ejemplos.
Se desarrollan más lento con Se desarrollan más rápido con muchos
menos requerimientos técnicos. requerimientos técnicos.
Sobre un hardware secuencial Sobre un hardware paralelo su eficiencia es
su eficiencia es superior. superior.
Usan reglas por lo que es más No usan reglas como estructuras intermedias
propenso a las imprecisiones. por lo que hay pocas oportunidades para
inadvertidamente introducir imprecisiones.
Las reglas en la B.C. son Los casos en la B.C. son constantes.
patrones.
Las reglas igualan la entrada en Los casos igualan la entrada en forma
forma exacta. parcial.
No reconocen el límite de su Se puede evitar el riesgo de que el sistema
habilidad. ofrezca una solución equivocada, lo cual
puede ocurrir cuando el problema que se
enfrenta está en el límite del conocimiento
existente en la base de conocimiento. Para
esto es suficiente definir un rango
permisible de semejanza entre los elementos
de la memoria y el nuevo problema. Cuando
ninguno de los casos resueltos tenga un
grado de semejanza dentro del rango
establecido el sistema podrá saber que él NO
SABE resolver ese problema. (Ver **)
Se necesita un procedimiento El grado de veracidad de la solución
de manipulación de encontrada se obtiene directamente a partir
incertidumbre. del grado de semejanza entre el problema y el
caso recuperado.
Las reglas se escriben en Los casos se pueden representar de muchas
formato IF-THEN. formas: BD, estructuras, textos, etc.
La justificación de las acciones La justificación se elabora a partir de la
se realiza a partir de la semejanza y/o diferencia con un caso
cadena de inferencia conocido
Ofrece medios para manejar No ofrece medios para manejar grandes
grandes secuencias de secuencias de relaciones de causalidad.
relaciones de causalidad.

**Una variante interesante es integrar en un SBC el RBC con un sistema


de producción, de modo que en la base de conocimientos del sistema de
producción se almacenen las reglas para aquellos tipos de problemas del
dominio de aplicación para el que no se tienen ejemplos resueltos; de este
modo, dado un nuevo problema se intenta resolverlo usando el RBC y si no
existe ningún elemento de la memoria con un grado de semejanza en el
rango aceptable se pasa a utilizar el sistema de producción.

168
Inteligencia Artificial.
- Sistemas basados en el conocimiento.

RBC vs RNA

- Los sistemas con RBC a diferencia de las RNA no requieren una etapa de
entrenamiento, ellos producen resultados inmediatamente.
- Los sistemas con RBC son comprensibles, ellos pueden potencialmente
explicar cómo se alcanza una solución.
- Ambas trabajan con un grupo de ejemplos.

4.9.5. El RBC en el contexto del aprendizaje automatizado.

La adquisición del conocimiento es el clásico cuello de botella en el desarrollo


de los S.E. debido a:
a) El incremento en la demanda de SE es superior a las cantidades de
ingenieros de conocimiento con experiencia requeridos.
b) El movimiento hacia una actividad humana intensiva como la ingeniería de
conocimiento es contraria a todas las tendencias de la industria, en
particular, a la tendencia de programación automática en la industria del
software.
c) El papel del ingeniero del conocimiento como un intermediario entre el
experto y la tecnología se cuestiona no sólo porque incrementa los costos
sino también por su efectividad.

El aprendizaje automatizado constituye un área principal de investigación


de la IA pues está orientado al desarrollo de técnicas que permitan a
los sistemas autoextenderse. El AA denota la posibilidad de cambiar que
tiene el sistema, o sea, de ajustarse, de modo que ello permite al sistema
hacer la misma tarea más eficientemente la próxima vez. El AA se puede ver
como un proceso de reconstrucción del conocimiento del sistema. Si se toma
como ejemplo un SBR esto se puede manifestar en especializar o generalizar
reglas, ajustar parámetros, extraer casos especiales, etc. Actualmente existen
tres direcciones de desarrollo del AA: el aprendizaje en las redes
neuronales, el aprendizaje en los algoritmos genéticos y el aprendizaje
en la Inteligencia Artificial Simbólica (IAS). La mayor eficiencia en el
aprendizaje se alcanza en el primer caso y la peor en el último.

Hay al menos tres formas en que el aprendizaje automatizado puede facilitar


la adquisición del conocimiento:
• Construir la versión inicial de la B.C. a partir de un conjunto de
ejemplos de casos resueltos.
• Refinar bases de conocimientos existentes.
• Adaptar una base de conocimientos a un conjunto de
requerimientos dados.

Pero para realizar esta tarea la adquisición automatizada del conocimiento


tiene que atender a diferentes interrogantes como las siguientes:
¿En qué medida se corresponde la descripción del dominio de aplicación del
experto con la existente en la B.C.?.
¿Cómo se debe modificar la B.C. a partir de la nueva información disponible
para el refinamiento?.
¿Qué debe hacerse cuando la descripción del experto difiere de la
existente?.

169
Inteligencia Artificial.
- Sistemas basados en el conocimiento.

Por la complejidad de esta problemática no se dispone realmente de


herramientas poderosas y extendidas que realicen eficientemente una
parte considerable del proceso de adquisición del conocimiento. En la
actualidad se desarrollan los sistemas híbridos en los cuales se combinan los
sistemas basados en el conocimiento con hipertextos, redes neuronales,
algoritmos genéticos, multimedia, realidad virtual y razonamiento basado en
casos. La combinación de los sistemas basados en el conocimiento con RBC
produce un sistema capaz de procesar mayor variedad de información. El RBC
permite al sistema híbrido manipular casos y realizar un razonamiento
ancho y poco profundo. De este análisis se deriva la conclusión de que el
RBC no resuelve totalmente el cuello de botella de la adquisición del
conocimiento, pues en los sistemas híbridos el SBC cuenta con una B.C., pero
el RBC sí representa una tecnología que ayuda en una medida considerable a
dar solución a este problema, por cuanto una parte importante del
conocimiento del dominio se puede almacenar como casos; pudiéndose
llegar a la situación extrema en la que sea posible coleccionar la cantidad y
variedad de casos suficientes como para cubrir todos los problemas del dominio,
por lo que la adquisición del conocimiento se limita a la tarea de seleccionar y
almacenar las memorias o problemas resueltos.

Bibliografía

[BDSE] Bases de Datos y Sistemas Expertos, Tomo II.


Universidad de la Habana, 1991.
[Bel92] Modelos Avanzados de Computación.
Rafael Bello.
Universidad Central de Las Villas, 1992.
[Bel94] Algunas consideraciones sobre el razonamiento basado en casos.
Rafael Bello.
Resumen de COMPUMAT’94.
Universidad Central de Las Villas, 1994.
[Bra86] Prolog programming for Artificial Intelligence.
Ivan Bratko.
Addison-Wesley Publishing Company, Reading, Mass., 1986.
[Bue86] Lógica I.
Eramis Bueno y Luciano García.
Editorial Pueblo y Educación, 1986.
[Cha87] Artificial Intelligence and Turbo Pascal.
Christopher F. Chabris.
Multiscience Press Inc, 1987.
[Fre87] Crash Course in Artificial Intelligence and Expert Systems.
Louis E. Frenzel.
Indianápolis, IN: Howard W.Sams, 1987.
[Gar90] Introducción a la Matemática Discreta.
Luciano García y Jorge Lemagne.
Universidad de la Habana, 1990.
[Gar91] Programación Lógica.
Luciano García.
Universidad de la Habana, 1991.
[GCL84] Manual de Usuario del Golden Common LISP.

170
Inteligencia Artificial.
- Sistemas basados en el conocimiento.

Gold Hill Computers, Cambridge, Massachusetts, 1984.


[Hay83] Building Expert Systems.
Frederick Hayes-Roth, Donald A. Waterman, Douglas B. Lenat.
Addison-Wesley Publishing Company, Inc., 1983.
[IPN88] Primer Curso Internacional de Sistemas Expertos. Informe Técnico.
Ana M. A. Martínez Enríquez, Guillermo Morales Luna y Zdenek
Zdrahal.
Centro de Investigación y de Estudios Avanzados del IPN.
Departamento de Ingeniería Eléctrica, Sección de Computación, 1988.
[IPN89] Segundo Curso Internacional de Sistemas Expertos.
Guillermo Morales Luna.
Centro de Investigación y de Estudios Avanzados del IPN.
Departamento de Ingeniería Eléctrica, Sección de Computación, 1989.
[Lau90] Problem-Solving and Artificial Intelligence.
Jean-Louis Laurière.
Prentice Hall International, 1990.
[Ric88] Inteligencia Artificial.
E.Rich.
Editorial Gustavo Gili, S.A., Barcelona, 1988.
[Ste86] The art of PROLOG.
Sterling,L. & E. Shapiro.
Cambridge, MA: MIT Press, 1986.

171

Вам также может понравиться