Este documento resume el sistema experto MYCIN. MYCIN utiliza un modelo de factores de certeza para representar la incertidumbre en su conocimiento. Razona mediante encadenamiento hacia adelante y hacia atrás a través de reglas para diagnosticar enfermedades infecciosas. Genera un árbol de contextos para organizar la información obtenida durante la consulta.
1. El sistema experto MYCIN
Resumen realizado por Jesús Díaz de Lope para la asignatura
Razonamiento y Aprendizaje de la UNED
MYCIN puede considerarse un tipo de Sistema de Producción1 con algunas particularidades, cuya
base de datos es un conjunto de cuádruplas formadas por una tripleta asociativa o hecho, del tipo
(objeto o contexto, atributo o parámetro clínico, valor) y un Factor de Certeza, FC, que
indica, en una escala de -1.0 a 1.0, la fuerza de la creencia en la veracidad del hecho (FC > 0),en
su falsedad (FC < 0), o en su independencia (FC = 0), dada la evidencia formada por el resto de
hechos conocidos.O lo que es lo mismo, con qué fuerza un hecho es confirmado o rechazado en
función de la evidencia disponible hasta el momento.
Un sistema experto como MYCIN consta de dos elementos básicos: una Base de Conocimientos
y un Mecanismo de Inferencia o Programa de Consulta. La Base de Conocimientos está formada
fundamentalmente por reglasdel tipo “Si E, entonces H”, representadas por E -> H, donde la
premisa está en “forma conjuntiva” (es casi una cláusula de Horn) y la conclusión contiene un sólo
predicado.El Mecanismo de Inferencia consiste en unaestrategia de control de encadenamiento
hacia atrás o dirigida por metas aplicada a las reglas. También contiene una Base de
Afirmaciones BA, que es una base de datos dinámica que contiene los hechos obtenidos sobre
el paciente en la sesión de consulta actual, un Programa de Explicaciones y un Programa de
Adquisición de Conocimiento(nuevas reglas).
Las reglas pueden encadenarse para obtener conclusiones, en lo que se conoce como una
estrategia de razonamiento de encadenamiento hacia delante o inferencia dirigida por los datos,
ya que unoshechos conocidos, a1,...,ak, que cumplen la premisa E, dirigen la inferencia de
izquierda a derecha a través de las reglas encadenadas hasta llegar a la conclusión buscada:
Existe una regla E ->H (regla)
conocemos unos hechos a1,...,akque cumplen las condiciones deE (dato)
deducimos o “conocemos” un hecho „h‟ que cumple H (Modus Ponens, MP)
En una inferencia por encadenamiento hacia atrás, el sistema comienza por una afirmación acerca
de la meta que persigue y trabaja hacia atrás, a través de reglas encadenadas, “de derecha a
izquierda”, para encontrar los datos que producen la meta, cuya veracidad implica la de la meta:
Meta: Conocer2un hecho „h‟ que cumpla H (dato “objetivo”)
Existe una regla E ->H (regla)
Pregunta: ¿Existen unos hechosa1,...,ak(almacenados en la BA) que cumplanlas
condiciones de E?
1
Un Sistema de Producción consta de tres componentes básicos: un conjunto de reglas, una base de datos,
y un intérprete de las reglas.
2
“Conocer” significa almacenar „h‟ en la BA. El hecho „h‟ estará enunciado cuando la regla se aplique a un
contexto concreto, pero no se conocerá su FC, por lo que no se podrá almacenar hasta que no se obtenga
su FC. La meta, por tanto, consiste en calcular el FC del hecho „h‟.
2. La respuesta afirmativa permite almacenarun hecho „h‟(que cumple H) gracias al Modus Ponens,
por deducción lógica, como en el encadenamiento hacia delante. En concreto, en MYCIN, una vez
encontrados a1,...,ak, se “desenrolla” el encadenamiento realizado:
a1,...ak con grado de certeza conjunto calculado, TALLY
E ->H con grado de certeza definido por los expertos, FC(H,E)
h con grado de certeza FC(h) = FC(H,E)*TALLY, si y sólo si, TALLY> 0.2
La consideración del “grado de certeza” hace que esta regla de deducción se llameModus
Ponens Incierto (MPI), el cual, dada una regla E ->H, garantiza que si se cumple la premisa de la
regla, se podrá almacenar (conocer) el hecho „h‟ que cumple el consecuente de la misma, con
cierto grado de certeza, FC(h), asignado al mismo. “Cumplir” la premisa tiene un significado
concreto, más restrictivo que en el MP, ya que no sólo se necesita que cada cláusula que
aparezca en E sea “verdadera”, sino que además involucra requisitos sobre los FCs de los hechos
que se ajustan a las condiciones de la premisa y el requisito de que el grado de certeza conjunto
de la propia premisa sea mayor que 0.2.
La inferencia no se llevará a cabo con una regla si es rechazada porque la evaluación de su
premisa arroje un contador TALLY menor o igual que 0.2. En este caso se empleará otra regla
para encontrarle un FC a „h‟, o se preguntará al usuario para obtener dicho FC(h). Más adelante
se verá cómo se calcula dicho contador. Hablamos del concepto más general deGrado de
Certeza, GC, por contraposición al concepto más específico de Factor de Certeza, porque en
MYCIN sólo existen FCs asociados a las reglas y a los hechos, es decir, almacenados con ellos.
No hay FCs asociados a las premisas de las reglas.Cuando se utiliza una regla en un “contexto”
dado, es cuando MYCIN calcula el GC de su premisa (el GC conjunto de los hechos que la
cumplen) y lo utiliza como hemos visto, pero no lo almacena, pues dicho GC es dinámico y va
cambiando en función de los FCs de los hechos que cumplen dicha premisa.
En general habrá muchas cadenas de razonamiento hacia atrás a partir de una meta, que lleven a
datos sobre los que el sistema tendrá que preguntar.El conjunto de todas ellas constituye una
sesión de consulta en MYCIN. El encadenamiento hacia atrás que se produce en una sesión de
consulta de MYCIN, sigue un proceso simple de dos pasos:
1. Crear el contexto del paciente como el nodo raíz en el Árbol de Contextos de la consulta
actual.
2. Intentar aplicar la regla meta a ese contexto del paciente.3
El contexto incluye toda la información relevante de una entidad, es decir, los valores (y sus FCs)
de todos sus parámetros clínicos, que se hayan encontrado hasta el momento. Esta información
es constantemente actualizada y ampliada durante el proceso de inferencia. Los diferentes
3
MYCIN tiene una regla meta de máximo nivel que define la tarea completa del sistema de consulta (regla
092):
SI hay un organismo que requiere terapia, y se ha considerado la posibilidad de organismos adicionales que
requieran terapia, ENTONCES compile una lista de terapias posibles y determine la mejor terapia en esta
lista.
3. contextos que aparecen durante la inferencia se organizan como nodos en un Árbol de Contextos
que va creciendo desde su raíz (el contexto del paciente actual) hasta sus hojas, siguiendo un
patrón similar a este:
PERSONA
(CULTIVO-1) .... (CULTIVO-i) .... (CULTIVO-N)
(ORGANISMO-i1) .... (ORGANISMO-ij) ... (ORGANISMO-iM)
(FÁRMACO-ij1) ... (FÁRMACO-ijk) ... (FÁRMACO-ijP)
Toda la información obtenida hasta el momento en relación a un contexto se adjunta a su nodo en
forma de listas de pares (Valor,FC), denotadas por Val[C,P], existiendo una lista por cada
parámetro clínico aplicable a ese contexto. La BA no es más que el conjunto de todas esas listas,
una por cada pareja posible (Contexto, Parámetro clínico). Así es como se almacena cada
cuádrupla “hecho” h = (Contexto, Parámetro clínico, Valor, FC).
Cuando MYCIN intenta obtener un FC para un hecho „h‟, lo que busca esel FC del valor de cierto
parámetro de una entidad concreta. Para ello, según las propiedades del parámetro, podrá
preguntar al usuario o ejecutar todas las reglas en cuya conclusión se referencie dicho parámetro,
una de las cuales es E ->H4. Una regla como ésta se dice que se ejecuta en el contexto
referenciado en H, el cual se crea la primera vez que se necesita conocer el valor de algún
parámetro de dicho contexto. Para ejecutarla, necesita evaluar su premisa y para ello buscará y
utilizará hechos almacenados a1,...,ak, que las cumplen. En esta búsqueda se invocarán otras
reglas, por encadenamiento hacia atrás, o se preguntará al usuario, cuando algún hecho
necesario 'ai'no se encuentra almacenado en la BA. Al inferir desde las condiciones de E, MYCIN
pasa al contexto de los parámetros que aparezcan en dichas condiciones, y así va creando y
recorriendo el árbol de contextos. Los contextos están categorizados en Tipos de Contexto
(Personas, Cultivos, Organismos, Fármacos, Operaciones y Terapias) y cada contexto del árbol
se considera una instanciación de un tipo de contexto.
La consulta es esencialmente una búsqueda a través de unárbol de reglas o“de metas”(las metas
son las conclusiones de las reglas). La meta superior en la raíz del árbol es la conclusión de la
regla-meta, es decir, las recomendaciones para una terapia a base de fármacos. Para alcanzarla,
hay que alcanzar antes otras submetas (metas parciales), que se organizan como nodos hijos del
actual:
a) otras reglas cuya conclusión permite evaluar la premisa de la actual
b) preguntas a hacer al usuario sobre el FC de un hecho (hojas del árbol)
4
Cada regla E -> H está referenciada en una lista UPDATED-BY asociada al parámetro clínico mencionado
en H. Cuando la “submeta” H está siendo considerada, se invocarán todas las reglas de esa lista, y sólo
ellas.
4. Las submetas futuras conforme se baja por el árbol incluyen determinar el organismo involucrado
y ver si es significativo. Muchas de estas submetas tienen submetas propias, tales como el
encontrar las propiedades de la cepa y morfología del organismo. Las hojas del árbol son “metas
fácticas” correspondientes a hechos, tales como datos de laboratorio, sobre cuyo FC se pregunta
al usuarioya que no pueden ser calculados.
La regla-meta de MYCIN se aplica al contexto “paciente”. Aplicar la regla requiere evaluar su
premisa, la cual requiere el determinar si hay un organismo que requiera terapia. Para ello, debe
primero determinarse si hay un organismo presente que esté asociado con una enfermedad
significativa. Esta información puede ser obtenida bien directamente del usuario, bien de una
cadena de inferencia basada en síntomas y datos de laboratorio proporcionados por el usuario.
Por tanto, el razonamiento del sistema va desde el establecimiento de un problema “¿existen
organismos que requieran terapia?” a hechos relevantes que den los valores de parámetros
clínicos, a través de reglas que relacionan conclusiones con evidenciasrelativas a los diferentes
contextos.
Este esquema representa una parte del árbol de inferencias, en el que cada regla está representada
mediante su nombre, en el centro (en un óvalo azulado), y por encima y debajo de él están los parámetros
clínicos de su conclusión y su premisa, respectivamente (en rectángulos amarillos).
Un mismo color se utiliza para conectar los símbolos de cada regla. Los rectángulos grises representan
subárboles mayores que una hoja, y los círculos rosados representan hojas, es decir, preguntas al usuario
para conocer el par (Valor,FC) del parámetro clínico que está justo encima.
Para conocer el FC del valor de un parámetro clínico “por encima” REGIMEN
de la regla, hay que conocer los pares (Valor,FC) de los
parámetros “por debajo” de la regla, lo que lleva a la invocación de
REGLA092
nuevas reglas (que se colocan debajo), o a preguntar al usuario.
Las sucesivas reglas en el mismo nivel se invocan
TREATFOR COVERFOR
cuando la de izquierda ya ha devuelto un FC para el
parámetro de su conclusión, es decir, este árbol se
REGLA090 REGLA149
recorre en anchura. Cada nueva regla o pregunta al
usuario dentro del mismo nivel produce una
actualización del FC del parámetro clínico “por encima” IDENT INFECTLOC FEBRILE
de la regla, como veremos más adelante.
SIGNIFICANCE
REGLA038 REGLA042 REGLA044 REGLA108 REGLA122
SITE SITE COLLECT SIGNUM SITE NUMCULS NUMOPS CONTAMINANT SITE NUMCULS NUMOPS
ASK1 ASK1 ASK1 ASK1 ASK1 ASK1 ASK1 ASK1
5. Modelo de Factores de Certeza
El modelo de factores de certeza empleado fue desarrollado en respuesta al deseo de tratar la
incertidumbre a la vez que se intentaba mantener el conocimiento de forma modular y en reglas.
Muchas de las decisiones que llevaron al diseño inicial de MYCIN fueron el resultado de una
respuesta pragmática a las demandas de los médicos como usuarios. Dicho modelo está basado
en las medidas del incremento proporcional de la creencia o incredulidad en un hecho, basadas
en cierta evidencia. Estas medidas se definen a partir de probabilidades y se supone que cuando
un experto asigna un FC a un hecho o una regla, éste coincidiría con el que se obtendría de las
probabilidades, si éstas fuesen conocidas. Esta suposición es el sesgo inductivo de MYCIN.
Dada una proposición “hipótesis”, H, y una proposición “evidencia”, E,se define el Factor de
Certeza de H, dada E, como:
FC(H,E) = MB(H,E) – MD(H,E), donde las funciones MB y MD se definen como
MB(H,E)es la medida del incremento proporcional de la creencia en H, dada E, en relación a todo
lo que puede llegar a aumentar (hasta valer 1).Si MB(H,E) > 0 decimos que E confirma a H.
MD(H,E)es la medida del incremento proporcional de la creencia en H (o la incredulidad en H),
dada E,en relación a todo lo que puede llegar a aumentar (hasta valer 1).Si MD(H,E) > 0 decimos
que E rechaza a H (o confirma H). Una forma alternativa de decirlo es que es la medida de la
disminución proporcional de la creencia en H, dada E, en relación a todo lo que puede llegar a
disminuir (hasta 0).
Como podemos observar, en principio sólo define MB cuando P(H|E) > P(H) y MD cuando P(H|E)
< P(H), aunque más abajo se definirán exactamente para que cumplan con algo más que con lo
anteriormente enunciado. Analicemos un poco más a fondo los dos enunciados anteriores.
En términos de probabilidades, sabemos que P(H) refleja la creencia en H en determinado
momento, luego 1 – P(H) puede verse como una medida de la incredulidad sobre H (o de la
creencia en la falsedad de H) en ese mismo momento. Dar por cierta la evidencia E puede
cambiar esas creencias, las cuales ahora estarán cuantificadas por P(H|E) y 1 – P(H|E).
Si P(H|E)> P(H), la verdad de E aumenta la creencia en H y disminuye la incredulidad sobre H. La
disminución proporcional de la incredulidaden H es
(P( H) – P( H|E))/P( H) = ((1 – P(H)) – (1 – P(H|E)))/(1-P(H)) = (P(H|E)-P(H))/(1-P(H)), con P(H)
1 (pues P(H|E)> P(H) => P(H) < 1)
que, como se ve, es el aumento de la creencia en H, dada E, en relación a todo lo que podría
haber aumentado (hasta 1), luego coincide con lo que hemos definido como MB(H,E).
Si P(H|E) < P(H), la verdad de E disminuye la creencia en H y aumenta la creencia en H. La
disminución proporcional de la creencia en H es
(P(H) – P(H|E))/P(H) = ((1 – P( H)) – (1 – P( H |E)))/(1-P( H)) = (P( H|E)-P( H))/(1-P( H)) con
P( H) 1 (pues P(H|E) < P(H) => P(H) > 0 => P( H) < 1)
que también es el aumento de la creencia en H, dada E, en relación a todo lo que podría haber
aumentado (hasta 1), luego coincide con lo que hemos definido como MD(H,E).
Además, cuando E confirma a H, no confirma a H, y por ello queremos que si MB(H,E) > 0, sea
MD(H,E) = 0 y viceversa, es decir, si MD(H,E) > 0, debe ser MB(H,E) = 0. También queremos que
6. si E ni confirma ni rechaza a H, sea MB = MD = 0. Todo esto permite definir MB cuando P(H|E) <=
P(H) y MD cuando P(H|E) >= P(H):
(max[P(H|E),P(H)] – P(H))/(1-P(H)) si P(H) 1
MB(H,E) =
1 si P(H) = 1
(P(H) – min[P(H|E),P(H)])/P(H) si P(H) 1
MB(H,E) =
1 si P(H) = 1
Una definición equivalente es:
(P(H|E)-P(H))/(1-P(H)) si P(H|E) > P(H)
MB(H,E) = 0 si P(H|E) <= P(H) < 1
1 si P(H|E) = P(H) = 1
(P(H)-P(H|E))/P(H) si P(H|E) < P(H)
MD(H,E) = 0 si P(H|E) >= P(H) > 0
1 si P(H|E) = P(H) = 0
Que conduce a:
(P(H|E)-P(H))/(1-P(H)) si P(H|E) > P(H)
(P(H|E)-P(H))/P(H) si P(H|E) < P(H)
FC(H,E) = 0 si P(H|E) = P(H) {0,1}
1 si P(H|E) = P(H) = 1
-1 si P(H|E) = P(H) = 0
El FC tiene dos usos y argumentos posibles:
a) Asignación a hechos almacenados en la BA. En este caso la proposición H equivale a la
afirmación de la verdad del propio hecho „h‟ y la proposición E equivale a la afirmación de la
verdad de todos los hechos almacenados en la BA, o evidencia total conocida.En este caso se
cambia la notación a FC(h) y representa el grado de creencia en la verdad de „h‟ dada o conocida
la evidencia acumulada hasta el momento.
b) Asignación a reglas. En este caso H es el consecuente de la regla y E su premisa. Representa
el grado de creencia en la propia regla, esto es, en su validez para obtener hechos „h‟ que
cumplan H a partir de hechos „e‟ que cumplen E.
7. El factor de certeza es un artificio para la combinación de grados de creencia e incredulidad en un
solo número. Tal número es necesario para facilitarcomparaciones de la fuerza probatoria de
hipótesis rivales.
Algunas propiedades de estas tres medidas, que se deducen inmediatamente de su definición,
son:
0 <= MB(H,E)<= 1
0 <= MD(H,E)<= 1
-1<= FC(H|E) <= 1
Si P(H|E) = 1 entonces MB(H,E) = 1, MD(H,E) = 0 y FC(H|E) = 1
Si P( H|E) = 1 entonces MB(H,E) = 0, MD(H,E) = 1 y FC(H|E) = -1
FC(H|E) = -FC( H|E) o MB(H,E) = MD( H|E)
Si tenemos n hipótesis Hj mutuamente exclusivas5, de las cuales k son rechazadas por cierta
k
evidencia E, entonces –k <= j FC(Hj,E), ya que cada hipótesis rechazada tendrá como
mínimo un FC = -1
Si tenemos n hipótesis Hj mutuamente exclusivas, de las cuales kson confirmadas por cierta
k
evidencia E, entonces j FC(Hj,E) <= 1. Es decir, aunque haya más de una hipótesis
confirmada (con FC > 0), la suma de sus FCs no puede sobrepasar de 1. De hecho, también
puede probarse que la suma es 1 si, y sólo si, k = 1.
Reglas: estructura básica y forma de uso
Analizaré ahora las reglas un poco más a fondo, para entender su estructura interna y cómo se
evalúan sus premisas y se obtienen los FCs de los hechos que cumplen sus consecuencias. Una
regla E -> H 6, es de la forma general (en BNF):
<regla> ::= <premisa><consecuente>
<premisa> ::= ($AND <condicion> {<condicion>})
<condicion> ::= (<predicado1><contexto><parametro>)
|(<predicado2><contexto><parametro><valor>)
|($OR <condicion> {<condicion>})
<consecuente> ::= <conclusion>
<conclusion> ::= (CONCLUDE <contexto><parametro><valor><TALLY><FC-regla>)
de la cual, un ejemplo típico7 es:
5
Las hipótesis mutuamente exclusivas son los hechos que “compiten” dentro de una misma lista Val[C,P], ya
que un parámetro de un contexto dado sólo puede tener un único valor. Como ya dije antes, es casi seguro
que ningún hecho tiene FC = 0, luego todas estas hipótesis tendrán FCs estrictamente positivos o
negativos. Si hay n en Val[C,P] y k son las de FC < 0, entonces las de FC > 0 serán m = n – k.
6
Que no sea una regla de terapia (THERULE), una metaregla (METARULE), o una regla de antecedentes
(que se disparan por sus premisas, no por sus conclusiones, en conjunción con el mecanismo de
PREVIEW).
8. PREMISA: ($AND (SAME CNTXT GRAM GRAMNEG)
(SAME CNTXT MORPH ROD)
(SAME CNTXT AIR ANEROBIC))
CONCLUSIÓN: (CONCLUDE CNTXT IDENTITY BACTEROIDES TALLY .6)
Es decir, su premisa E es una conjunción de cláusulas que pueden ser una condición
simple(desde ahora, “condición”, a secas) o una disyunción de condiciones, y su consecuente H
esuna conclusión a obtener con cierto grado de certezasobre el valor de un parámetro clínico de
cierto contextorepresentado por la variable CNTXT. Como se ve, en cuanto se usa la regla, se
instancia el contexto de su conclusión y tan sólo se trata de encontrar un FC para la tripleta
instanciada en la conclusión. Para ello hay que conseguir un valor para TALLY evaluando la
premisa.
La regla se aplica en el contexto C(por ejemplo, ORGANISMO-1) referenciado por la variable
CNTXT de su conclusión para obtener un FC para la hipótesis <objeto, parámetro, valor> de dicha
conclusión y poder almacenar la cuádrupla correspondiente8, en laBA,si la regla no es rechazada.
En este caso, si la regla no se rechaza producirá el almacenamiento de la cuádrupla
(ORGANISMO-1, IDENTITY, BACTEROIDES, FC), que puede leerse como “La identidad del
organismo-1 es bacteroide, con un grado de certeza igual a FC”. En definitiva, cuando la regla se
ejecuta, es decir, produce conocimiento, dicho conocimiento será una cuádrupla(C, P, V, FC), y se
almacenará en la BA. Cuando la regla se rechaza no produce conocimiento, es decir, no hay
almacenamiento de hechos ni sus FCs en la BA.
Recordemos que el argumento TALLY de CONCLUDE almacena un valor numérico tal que 0.2 <
TALLY <= 1.0, y equivale al grado de certeza que el sistema asigna a la premisa tras la evaluación
de la misma.
Observemos queel sistema no permite obtener hechos con FC = 0, mas que cuando alguna regla
tenga su FC-regla = 0, que el usuario se lo asigne a cierto hecho, (lo que parece absurdo en
ambos casos), o por cancelación al aplicar la función de combinación que analizaré más adelante.
Esos hechos nunca contribuyen a que SAME o THOUGHTNOT evalúen a “Verdadero” (T).
La aplicación de la regla, tras la instanciación comentada, continúa con la evaluación de la
premisa, para tratar de actualizar la información almacenada en el nodo del contexto. Esta
actualización puede consistir en añadir pares nuevos (V,FC) a alguna de las listas Val[C,P] o en
cambiar el FC de alguno de los pares.
La evaluación de la premisa se hace como sigue. Cada vez que la función $AND encuentra una
condición,obtiene la evaluación de su predicado (por ejemploSAME C‟ P‟ V‟), el cual actúa sobre
la lista correspondiente a sus argumentos, Val[C‟,P‟] (por ejemplo Val[ORGANISMO-1, GRAM]
para el primer predicado), de manera que si dicha lista es vacía, se invoca un procedimiento de
búsqueda FINDOUT para asignarle un valor9, y si tiene uno o más valores “compitiendo”, se
7
Sólo consiideraré reglas con predicado tipo 2 de la forma SAME y THOUGHTNOT.
8
Si y sólo si TALLY > 0.2. Esta es la fórmula de asignación de FCs del MPI que ya hemos visto. En breve
veremos por qué esa condición sobre TALLY. En la notación del texto base sería FC(H) = FC(E)FC(H,E).
9
Aquí es donde se da el paso de encadenamiento hacia atrás.
9. tomará el FC del valor con mayor FC de la lista, FCmax, como umbral para que el predicado
asigne los valores de verdad a la condición. Por ejemplo, en el caso SAME se tiene
SAME[C‟,P‟,V‟] = {FCmax10, si FCmax, > 0.2; SAME[C‟,P‟,V‟] = NIL (falso), si FCmax, <= 0.2}. Si
un predicado (diferente de SAME o THOUGHTNOT) asigna un valor T (verdadero) a una
condición, $AND le asigna un “peso” 1.0 y si un predicado asigna un valor numérico (mayor que
0.2) a una condición, $AND le asigna un peso igual a dicho valor numérico. Si $AND encuentra
una función $OR, pasa el control a la misma. Las condiciones dentro de la cláusula OR se evalúan
de la forma comentada y si todas son NIL, la cláusula será evaluada como NIL.En el caso
contrario, $AND le asignará a la cláusula el mayor peso de sus condiciones. Conforme $AND
recorre las condiciones y cláusulas, va actualizando el contador TALLYcomparando el actual con
el nuevo peso obtenido y guardando el menor. $AND implementa este recorrido mediante un
procedimiento llamado MONITOR (de reglas).
Si un predicado de una condición o una cláusula de la premisa devuelve NIL,la regla se rechaza,
es decir, no produce “conocimiento”. En ese caso, se ejecutará la siguiente regla de una lista de
reglas asociadas al parámetro P cuyo valor se busca (mediante la propiedad UPDATED-BY del
mismo) todas las cuales, al igual que la rechazada, referencian a P en su conclusión (P es
argumento de su función CONCLUDE). Finalmente se obtendrán un valor y un FC para P, bien a
través de una regla no rechazada, bien por asignación directa del usuario. Y de esta forma, el
hecho h = (C,P,V), con su FC, podrá almacenarse y usarse como dato para una regla E‟ -> H‟, en
cuya premisa aparezca una condiciónque referencie a C y al parámetro P del mismo.
En conclusión, las reglas E -> H son como plantillas que se instancian cuando se aplican a
contextos concretos al ser llamadas por otras reglas (excepto la regla meta). Lo que se
instancianson las variables de contexto que aparecen en la regla. Cuando el contexto de la regla
se instancia, tenemos un hecho „h‟ y la aplicación de la regla significa preguntar por el FC(h) con
el que dicho hecho se almacenará en la BA11. Se dice que dicho hecho es una hipótesis ya que
todos los hechos almacenados dentro de una misma lista Val[C,P] compiten entre sí para ser
considerados el más certero para algún fin (establecer una terapia o evaluar una condición de una
premisa). Al evaluar la premisa E, cada condición CONDj requiere el examen de una lista Lj =
Val[Cj,Pj], de modo que si Lj = se invoca el procedimiento FINDOUT y si Lj se utiliza el FC
de la hipótesis más fuerte de la lista para evaluar la condición. Si la condición evalúa a NIL, la
regla se rechaza y no servirá para almacenar „h‟, pues no lo dotará de un FC mediante el MPI. Si
la condición evalúa a T (con un peso mayor que 0.2 y menor o igual que 1.0, pues me centro
únicamente en los predicados SAME y THOUGHTNOT) es porque existe un hecho hj en Lj que
cumple aceptablemente la condición. En tal caso se dice que la condición “se cumple” con cierto
10
Hay dos predicados, SAME y THOUGTHTNOT, que devuelven un número cuando son verdaderos. Este
número siempre es mayor que 0.2. $AND interpretará cualquier número como T. THOUGTHTNOT equivale
al operador NOT, que devuelve verdadero cuando su argumento es falso, salvo que ahora THOUGTHTNOT
devuelve un valor que se considera verdadero cuando su argumento tiene un FC < 0.2, es decir, un
argumento cuya falsedad queda confirmada por ese FC.
11
Es decir, buscar en la BA hechos que cumplan las condiciones de la regla, que consiste en buscar en las
listas Val[C,P] los valores referenciados en dichas condiciones para devolver su FC, y si no se encuentran,
entonces invocar reglas en cuya conclusión aparezcan los parámetros P o preguntar al usuario (P se habrá
convertido en una submeta).
10. grado de certeza. Sólo si todas las condiciones se cumplen se obtendrá un FC con el que
almacenar el hecho y éste se almacenará (se habrá producido conocimiento). En este caso se
dice que la premisa se cumple con un grado de certeza dado por TALLY (que no es un FC) y al
hecho se le asignará un FC(h) = TALLY*FC(H,E). También se dice en este caso que H se cumple
con un grado de certeza dado por FC(h). El conjunto de todos los hechos „e‟ de las listas Lj (los
que estaban ya al invocarse la regla y los obtenidos por inferencia o pregunta al usuario), que
permiten determinar si se cumplen o no las condiciones de la premisa, se interpretan como
evidencia para este regla. También se llama evidencia a la proposición E de plantilla. Se dice que
la evidencia „e‟ confirma „h‟ si „h‟ se almacena con FC(h) > 0, rechaza „h‟ si „h‟ se almacena con
FC(h) < 0 o es independiente de „h‟, si la regla es rechazada y no permite almacenar „h‟.
Diferentes reglas que van apareciendo en el proceso de consulta, E1 -> H,..., En -> H, pueden
producir un mismo hecho „h‟, aunque con diferentes FCs, el cual no se almacenará varias veces
en la BA, sino que se actualizará el FC del par (h,FC) en Val[C,P] cada vez que una regla
produzca „h‟ de nuevo. Por lo tanto,cuando una regla produce un hecho que ya está almacenado
en la BA, habrá que proceder a la actualización de su FC mediante algún procedimiento. Esto se
lleva a cabo mediante la función de combinación de van Melle, que se define como sigue
cuando ya se dispone de un FC, x, con |x|< 1, para un hecho „h‟ y se produce de nuevo „h‟ con
otro FC, y x. Si se tiene x = 1, entonces no se realiza la actualización del FC de „h‟, sino que se
deja como está. Los autores denominaron esto “tendencia a la unidad” y es razonable, pues esta
función cumple las propiedades “predominio de la confirmación total” y “predominio del rechazo
total” (ver más abajo) cuando uno de los argumentos tiene un valor absoluto igual a „1‟ y el otro no,
y una forma de extender estas propiedades deseables al caso en que los dos argumentos tengan
valores absolutos iguales a „1‟ es no hacer actualización cuando el FC del hecho almacenado vale
+1 ó -1. Por eso la función de van Melle no necesita estar definida para (x,y) con xy = -1.
x + y – xy, si x > 0 y>0
f(x,y) = x + y + xy, si x < 0 y<0
(x + y)/(1 – min[|x|,|y|]), si -1 < xy <= 0
Esta función cumple una serie de propiedades deseables:
a) Simetría: f(x,y) = f(y,x)
b) Asociatividad: f(f(x,y),z) = f(x,f(y,z))
c) Monotonía: y > 0 f(x,y) > x; y < 0 f(x,y) < x
d) Evidencia nula: y = 0 f(x,y) = x
e) Cancelación: |x| 1 x = -y f(x,y) = 0
f) Predominio de la confirmación o el rechazo total: |x| = 1 y x f(x,y) = x
De las cuales, la f) no era cumplida por la función original, ocasionando resultados contraintuitivos.
Además, esa función dejaba su resultado más cerca del factor con mayor valor absoluto, en lugar
de equilibrar ambos por igual, cuando los factores son de diferente signo. El único cambio que la
actual tiene respecto a la original es el denominador que se añade al caso en que x e y son de
diferente signo.
11. Problemas del modelo de factores de certeza
El modelo de razonamiento inexacto o modelo de factores de certeza usado en MYCIN, presenta
dos tipos de problemas fundamentales:
1.- A pesar de presentarse como una alternativa al método probabilístico, en realidad puede
derivarse de y es equivalente a la teoría de la probabilidad, bajo la suposición de independencia
absoluta y condicional (dada la hipótesis) entre los hechos que influyan en cierta hipótesis12.Esta
suposición es más fuerte que sólo la de independencia condicional del método probabilístico
clásico y por lo tanto el modelo no es coherente si sólo se supone la independencia condicional.
Por eso se dice que el modelo asume implícitamente la pseudoindependencia condicional, es
decir, la independencia condicional más la independencia incondicional de “síntomas” respecto a
“diagnósticos”, aunque luego no lo respete en la asignación de FCs a las reglas.
Debido a esta suposición subyacente, las medidas MB y MD no pueden elegirse arbitraria e
independientemente, sino que deben cumplir ciertas restricciones.Cuando los MBs y MDs
asignados por los expertos a las reglas no cumplen esas restricciones, se obtienen resultados
contrarios a lo esperado (recordemos que los FCs obtenidos se esperan que coincidan con los
que se obtendrían si se contase con las probabilidades en las que se basa su definición), que no
tienen en cuenta la posible independencia o dependencia entre los hechos que influyen en las
hipótesis almacenadas. Esto da lugar a FCs de hipótesis que expresan tendencias contrarias a lo
esperado (positivos en lugar de negativos, o viceversa) o valores muy alejados de lo esperado
(valores absolutos altos en lugar de bajos, o viceversa), lo que hace que se cambie el orden que el
FC otorga a las hipótesis que compiten para fundamentar la elección de las terapias.Este
problema ocurre porque MYCIN no proporciona mecanismos de control de la coherencia interna
entre los FCs de las reglas, especialmente teniendo en cuenta que admite la adición de nuevas
reglas.
2.- La forma de cálculo de los FCs se aleja bastante de la de la teoría de la probabilidad. El
modelo de FCs combina separadamente toda la evidencia a favor que se va recopilando en
MB(H,Ef) y toda la evidencia que se va recopilando en contra en MD(H,Ec), donde Ef es el
conjunto de todos los hechos que confirman H y Ec el conjunto de todos los hechos que rechazan
H. Por el Teorema de Bayes, puede probarse que MB y MD permiten calcular P(H|Ef)/P(H) y
P(H|Ec)/P(H)13, respectivamente, y estos dos cocientes pueden multiplicarse para obtener
P(H|E)/P(H), donde E es el conjunto de toda la evidencia, a favor y en contra, de H, bajo la
suposición de independencia. El cociente anterior da la verdadera estimación del cambio en la
probabilidad de H debido a la evidencia que influye en H, cuando hay
12
Un hecho „e‟ que influya en otro „h‟ a través de una regla E -> H, equivale al modelo de red causal en que E
representa un síntoma cuya causa es H. Por lo tanto la influencia mostrada en la regla es del tipo “dependencia”.
es decir, la consecuencia „e‟ confirma a su causa „h‟ con cierto grado de certeza. La consideración de todas las
consecuencias de „h‟ permite estimar la probabilidad “a posteriori” de „h‟ en el MPC o el FC(h), debiendo haber
una correspondencia entre ambos dada por la definición de FC(H,E), por FC(e) y por el MPI.
13
Si e1 y e2 son hechos a favor de h y ef los denota a ambos, se tiene que P(h|ef) = MB(h,e2)(1 – P(h|e1)). Si
e3 y e4 son hechos en contra de h y ec los denota a ambos, se tiene que P(h|ec) = (1 – MD(h,e4))(P(h|e3).
De esta forma se puede estimar P(h|ef) y P(h|ec) para más de dos hechos, de forma recursiva, a partir de MB
y MD.
12. pseudoindependenciacondicional. Sin embargo el modelo de FCs obtiene una estimación del
cambio de probabilidad de H debido a E mediante una suma de los MBs y MDs, lo que ya
empieza a generar posibles resultados inesperados.
Además, las llamadas “funciones de combinación”ofrecen un cálculo no acorde con lo esperado
por la teoría de la probabilidad, incluso cuando se dan las condiciones de independencia. Su
corrección depende de suposiciones (no explicitadas) aún más fuertes que la independencia.
Veamos algunas consecuencias prácticas de esto y otros problemas debido a sus funciones de
combinación.
i)Inversión del ránking de hipótesis compitiendo (incoherencia de los FCs obtenidos). La propia
definición del FC puede dar lugar a paradojas como la siguiente. Dadas dos hipótesis h1 y h2, y
un hecho „e‟ que influye en ellas, de los que se conocen P(h1), P(h1|e), P(h2) y P(h2|e), los FCs
obtenidos según su definición pueden arrojar resultados que inviertan el orden esperado (que
vienen dados por el cociente P(hj|e)/P(h)).
ii)Falta de coherencia de los FCs de las reglas, lo que puede tener consecuencias inesperadas
cuando intervienen hechos mutuamente exclusivos, es decir, hechos de la misma lista Val[C,P],
con valores (y FCs) diferentes. Por ejemplo, un mismo hecho „e‟ puede confirmar absolutamente
dos hechos mutuamente exclusivos, h1 y h2, a través de dos reglas diferentes, E -> H1 y E -> H2.
Si los FCs de ambas reglas se asignan arbitrariamente, puede ocurrir que su suma sea mayor que
1 y entonces la suma de los FCs de h1 y h2 también será mayor que 1, violando una propiedad
del FC.
iii)Ignorancia de la dependencia entre hechos. En el caso extremo de hechos mutuamente
exclusivos, pueden darse varias paradojas.
Una regla E1 E2 -> H puede permitir confirmar cierta hipótesis „h‟ a partir de dos hechos
mutuamente exclusivos, aunque la regla en sí no tenga sentido (pues dichos hechos son
incompatibles). Es como si fuera posible una regla que dijera “Si la identidad de organismo-1 es
bacilococo y la identidad de organismo-1 es estreptococo, entonces,...”, lo cual no tiene sentido
(siempre se debería rechazar una regla así, por lo que tal regla sobraría). Pero MYCIN permite su
existencia, y si ambos valores existen en Val[organismo-1,identidad] con FCs mayores que 0.2, la
regla no será rechazada y confirmará o rechazará h con cierto FC. Puede decirse que es un
problema de la función de combinación para la conjunción de condiciones, que no discrimina esa
exclusividad mutua.
Por otro lado, dada una regla E1 E2 -> H, si hay dos hechos mutuamente exclusivos e1 y e2,
que confirmen (no absolutamente) la hipótesis „h‟, debería cumplirse que el FC(h) fuese mayor
que cualquiera de los FCs de e1 o e2, sin embargo la función de combinación para la conjunción
de condiciones le asignará el máximo de ellos, no uno mayor (es una variante del tipo de
problema 4, pues esto no pasaría si ambas reglas se ejecutaran como dos sucesivas y
equivalentes, E1 -> H y E2 -> H)
Tampoco se tiene en cuenta la dependencia entre hechos a la hora de evaluar su influencia
acumulada en una hipótesis. Es decir, el efecto acumulado de dos hechos e1 y e2 que cumplan
E1 -> H y E2 -> H, respectivamente, es el mismo, independientemente de la relación de
dependencia que pueda existir entre ambos, cuando lo esperado es que si ambos son
dependientes, su efecto acumulado sea menor que si son independientes.
13. iv)Reglas equivalentes conducen a conclusiones distintas. Es una consecuencia de las dos formas
diferentes que hay de evaluar una disyunción lógica condicionante. Si está dentro de una única
premisa, como en E1 E2 -> H, se usará la función $OR, y se evaluará el FC(h) con la “regla del
máximo”. Pero se puede expresar mediante dos reglas diferentes, E1 -> H y E2 -> H, con lo que el
FC(h) se evaluará con la función de van Melle, obteniendo resultados diferentes, en general. Por
lo tanto, por cada regla con una disyunción podrían haberse elegido en su lugar varias reglas sin
esa disyunción, equivalentes desde el punto de vista lógico, y viceversa, por cada dos o más
reglas con la misma conclusión, podría haberse elegido una única regla con una disyunción. Esas
decisiones de diseño afectan de forma diferente a los resultados obtenidos.
v)Falta de sensibilidad de las funciones de combinación de conjunciones. Esta función, que se
implementa mediante el funcionamiento de $AND ya explicado, y por lo tanto es la más usada,
evalúa una conjunción de condiciones en una premisa obteniendo el menor de los FCs de dichas
condiciones (cuando todas son ciertas), lo que hace que no se discrimine entre diferentes
premisas que tengan la misma condición “mínima”, aunque se diferencien en el resto de
condiciones, que se evalúan con un mayor peso o grado de certeza.
Bibliografía
B.G. Buchanan y E.H. Shortliffe, Rule-Based Expert Systems. The MYCIN Experiments of the
Stanford Heuristic Programming Project, Addison-Wesley 1984