Encadenamiento de Reglas
Una de las
estrategias de inferencia mas utilizadas para obtener conclusiones compuestas es
el llamado encadenamiento de reglas. Esta estrategia puede utilizarse cuando las
premisas de ciertas reglas coinciden con las conclusiones de otras. Cuando se
encadenan las reglas, los hechos pueden utilizarse para dar lugar a nuevos
hechos. Esto se repite sucesivamente hasta que no pueden obtenerse mas
conclusiones. El tiempo que consume este proceso hasta su terminación depende,
por una parte, de los hechos conocidos, y, por otra, de las reglas que se
activan.
Este algoritmo puede
ser implementado de muchas formas. Una de ellas comienza con las reglas cuyas
premisas tienen valores conocidos. Estas reglas deben concluir y sus conclusiones
dan lugar a nuevos hechos. Estos nuevos hechos se a~naden al conjunto de hechos
conocidos, y el proceso contin¶ua hasta que no pueden obtenerse nuevos hechos.
La Figura muestra un
ejemplo de seis reglas que relacionan 13 objetos, del A al M. Las relaciones
entre estos objetos implicadas por las seis reglas pueden representarse gráficamente,
tal como se muestra en la Figura, donde cada objeto se representa por un nodo.
Las aristas
representan la conexión entre los objetos de la premisa de la regla y el objeto
de su conclusión. Nótese que las premisas de algunas reglas coinciden con las
conclusiones de otras reglas. Por ejemplo, las conclusiones de las Reglas 1 y 2
(objetos C y G) son las premisas de la Regla 4.
Un ejemplo de un
conjunto de seis reglas relacionando 13 objetos. Supóngase que se dan los hechos H = cierto, I = cierto, K = cierto y M =
falso.
Supóngase, en primer
lugar, que el motor de inferencia usa las dos reglas de inferencia Modus Ponens
y Modus Tollens. En este caso, se obtiene:
1. La Regla 3 concluye
que J = cierto (Modus Ponens).
2. La Regla 6 concluye
(Modus Tollens) que K = falso o L = falso, pero, puesto que K = cierto, debería
ser L = falso.
3. La Regla 5 concluye
(Modus Tollens) que G = falso o J = falso, pero, puesto que J = cierto, debería
ser G = falso.
Una representación
gráfica de las relaciones entre las seis reglas de la Figura 2.
En consecuencia, se
obtiene la conclusión G = falso. Sin embargo, si el motor de inferencia solo
utiliza la regla de inferencia Modus Ponens, el algoritmo se detendrá en la
Etapa 1, y no se concluirá nada para el objeto G. Este es otro ejemplo que ilustra
la utilidad de la regla de inferencia Modus Tollens.
·
Encadenamiento de
Reglas Orientado a un Objetivo
El algoritmo de
encadenamiento de reglas orientado a un objetivo requiere del usuario seleccionar,
en primer lugar, una variable o nodo objetivo; entonces el algoritmo navega a través
de las reglas en búsqueda de una conclusión para el nodo objetivo. Si no se
obtiene ninguna conclusión con la información existente, entonces el algoritmo fuerza
a preguntar al usuario en busca de nueva información sobre los elementos que son
relevantes para obtener información sobre el objetivo.
Considérense las seis
reglas de las Figuras Supóngase que se selecciona el nodo M como nodo objetivo
y que se sabe que los objetos D;E; F y L son ciertos. Estos nodos están sombreados en la Figura 4. Las etapas del
algoritmo de encadenamiento de reglas orientado a un objetivo se ilustran en la
Figura 4, donde el número en el interior de un nodo indica el orden en el que
se visita cada nodo. Estas etapas son:
El algoritmo de
encadenamiento de reglas orientado al objetivo marcado procederá de la forma
siguiente:
·
Se
asigna el valor cierto a los objetos D;E; F y L y se marcan. Puesto que el nodo
objetivo M no esta marcado, entonces
Un ejemplo que
ilustra el algoritmo de encadenamiento de reglas orientado a un objetivo. Los
nodos cuyo valor es conocido se han sombreado, el nodo objetivo se ha rodeado
por una circunferencia, y el numero en el interior de un nodo indica el orden
en el que se visita cada nodo.
o
Se
designa el objeto M como objeto en curso.
o
Se
marca el objeto M. Por tanto, se tiene Objetos-Marcados = {D;E; F; L;M}
o
Objetivos/Previos
= Á.
o
Las
seis reglas están activas. Por tanto, se tiene Reglas-Activas = f1; 2; 3; 4; 5;
6g.
o
Se
busca una regla que incluya el objetivo en curso M.
·
La
Regla 6 no puede concluir puesto que el valor del objeto K es desconocido.
·
El
objeto K no esta marcado. Entonces:
o
Objetivos-Previos
= {M}
o
.Se
elige el objeto K como objetivo en curso.
o
El
objeto K esta marcado. Por tanto se tiene, Objetos-Marcados = {D;E; F;L;M;K}
·
Se
busca una regla que incluya el objetivo en curso K pero no el anterior M.
Se
encuentra la Regla 4, y se continúa con la Etapa 3.
·
La Regla 4 no puede concluir puesto que se
desconocen los valores de los objetos C y G.
·
Los
objetos C y G no están marcados. Entonces
o
Objetivos-Previos
= {M;K}
o
Se
elige uno de los objetos no marcados C o G como el nuevo objetivo en curso. Supóngase
que se elige C.
o
Se
marca el objeto C.
o
Por
tanto, se tiene Objetos-Marcados = {D;E; F; L;M;K;C}.
·
Se
busca una regla activa que incluya el objetivo en curso C pero no los objetos previos
{M;K}. Se encuentra la Regla 1.
·
La
Regla 1 no puede concluir puesto que se desconocen los valores de los objetos A
y B.
·
Los
objetos A y B no están marcados. Entonces:
o
Objetivos-Previos
= {M;K;C}.
o
Se
elige uno de los objetos no marcados A y B como nuevo objetivo en curso. Supóngase
que se elige A.
o
Se
marca el objeto A.
o
Por
ello, Objetos-Marcados = {D;E; F; L;M;K;C;A}.
·
Se
busca una regla activa que incluya el objetivo en curso A pero no los objetivos
previos {M;K;C}. No se encuentra ninguna regla que satisfaga estas condiciones.
·
Puesto
que el objetivo en curso A es diferente del inicial M, se pregunta al usuario
por el valor del objeto A. Supóngase que A toma el valor cierto, entonces se
hace A = cierto.
·
El
objetivo en curso A no coincide con el previo M. Por tanto, el objeto C se designa
como objetivo en curso y se elimina de la lista Objetivos-Previos. Por ello, Objetivos-Previos
= {M;K}.
·
Se
busca una regla activa que incluya el objetivo C pero no los anteriores fM;Kg.
Se encuentra la Regla 1.
·
La
Regla 1 no puede concluir porque el valor del objeto B es desconocido.
·
El
objeto B no esta marcado. Entonces:
o
Objetivos-Previos
= {M;K;C}.
o
Se
elige como objetivo en curso el único objeto no marcado, B.
o
Se
marca el objeto B.
Por ello,
Objetos-Marcados = {D;E; F; L;M;K;C; A;B}.
·
Se
busca una regla activa que incluya el objetivo B pero no los objetivos previos {M;K;C}.
Como no se encuentra ninguna regla, se va a la Etapa 5.
·
Puesto
que el objetivo en curso B no coincide con el inicial M, se pregunta al usuario
el valor del objetivo en curso B. Supóngase que se da un valor cierto a B,
entonces se hace B = cierto.
·
Como
el objetivo en curso B no coincide con el inicial M, se designa el objetivo previo
C como objetivo en curso y se elimina de Objetivos-Previos. Por ello, Objetivos
Previos = {M;K}.
·
Se
busca una regla activa que incluya el objetivo en curso C pero no los
anteriores {M;K}. Se encuentra la Regla 1.
·
Puesto
que A = cierto y B = cierto, entonces C = cierto por la Regla 1.
·
El
objetivo en curso C no coincide con el inicial M. Entonces, se designa el objetivo
previo K como objetivo en curso y se elimina de Objetivos-Previos.
Por
ello, Objetivos-Previos = {M}.
·
Se
busca una regla activa que incluya el objetivo en curso K pero no los
anteriores {M}. Se encuentra la Regla 4.
·
La
Regla 4 no puede concluir puesto que el valor del objeto G es desconocido.
·
El
objeto G no esta marcado. Entonces:
o
Objetivos-Previos
= {M;K}.
o
El
único objeto no marcado G se elige como objetivo en curso.
o
Se
marca el objeto G.
o
Por
ello, Objetos-Marcados = {D;E; F; L;M;K;C; A;B;G}.
·
Se
busca una regla activa que incluya el objetivo en curso G pero no los
anteriores {M;K}. Se encuentra la Regla 2.
·
Puesto
que D = cierto, E = cierto y F = cierto, entonces G = cierto por la Regla 2.
Ahora se va a la Etapa 6.
·
El
objetivo en curso G no coincide con el inicial M. Entonces, se designa el objetivo
previo K como objetivo en curso y se elimina de Objetivos-Previos.
·
Por
ello, Objetivos-Previos = {Mg}.
·
Se
busca una regla activa que incluya el objetivo en curso K pero no los
anteriores {M}. Se encuentra la Regla 4.
·
Puesto
que C = cierto y G = cierto, entonces K = cierto por la Regla 4.
·
El
objetivo en curso K no coincide con el inicial M. Entonces, se designa el objetivo
previo M como objetivo en curso y se elimina de Objetivos-Previos.
·
Por
ello, Objetivos-Previos = Á.
·
Se
busca una regla activa que incluya el objetivo en curso M. Se encuentra la Regla
6.
·
Puesto
que K = cierto y L = cierto, entonces M = cierto por la Regla 6.
·
El
objetivo en curso M coincide con el inicial. En consecuencia.
·
El
algoritmo devuelve el valor M = cierto.
Las estrategias de
encadenamiento de reglas se utilizan en problemas en los que algunos hechos (por
ejemplo, síntomas) se dan por conocidos y se buscan algunas conclusiones (por ejemplo, enfermedades). Por el contrario, las
estrategias de encadenamiento de reglas orientadas a un objetivo se utilizan en
problemas en los que se dan algunos objetivos (enfermedades) y se buscan los
hechos (s¶³ntomas) para que ¶estas sean posibles.
No hay comentarios:
Publicar un comentario