viernes, 20 de abril de 2012


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