Encadenamiento de Reglas

Una de las estrategias de inferencia más 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 más 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ñaden al conjunto de hechos conocidos, y el proceso continúa hasta que no pueden obtenerse nuevos hechos.

La Figura 2 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 3, 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.

 figura 2

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

fig2

Figura 3: 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 sólo utiliza la regla de inferencia Modus Ponens, el algoritmo se detendría en la Etapa 1, y no se concluir¶a 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 2 y 3. 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ía 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 está marcado, entonces:

fig3

Figure 4: 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 número en el interior de un nodo indica el orden en el que se visita cada nodo.

–  Se designa el objeto M como objeto en curso.

–  Se marca el objeto M.  Por tanto,  se tiene ObjetosMarcados = {D, E, F, L, M}.

–  ObjetivosPrevios = φ.

–  Las seis reglas están activas.  Por tanto,  se tiene ReglasActivas = {1, 2, 3, 4, 5, 6}.

• 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

–  ObjetivosPrevios = {M}.

–  Se elige el objeto K  como objetivo en curso.

–  El objeto K está marcado.  Por tanto se tiene, ObjetosMarcados = {D, E , F, L, M, K }.

• Se busca una regla que incluya el objetivo en curso K  pero no el anterior  M .

Se encuentra  la Regla 4, y se continu´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´an marcados.  Entonces

–  ObjetivosPrevios = {M, K}.

–  Se elige uno de los objetos no marcados C o G como el nuevo objetivo en curso.  Sup´ongase que se elige C.

–  Se marca el objeto C.

Por tanto,  se tiene ObjetosMarcados  = {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

–  ObjetivosPrevios = {M, K, C}.

–  Se elige uno de los objetos  no marcados  A y B  como nuevo objetivo en curso.  Sup´ongase que se elige A.

–  Se marca el objeto A.

Por ello, ObjetosM arcados  = {D, E, F, L, M, K, C, A}.

• Se busca una  regla activa  que incluya el objetivo  en curso A pero no los ob- jetivos 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´ongase 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 ObjetivosPrevios. Por ello, ObjetivosPrevios = {M, K}.

• Se busca  una  regla  activa  que  incluya  el objetivo  C  pero  no  los anteriores

{M, K}. 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

–  ObjetivosPrevios = {M, K, C}.

–  Se elige como objetivo en curso el único objeto no marcado,  B.

–  Se marca el objeto B.

Por ello, ObjetosMarcados  = {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´ongase 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 ObjetivosP revios.  Por  ello, ObjetivosPrevios = {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 ObjetivosPrevios. Por ello, ObjetivosPrevios = {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 está marcado.  Entonces

–  ObjetivosPrevios = {M, K}.

–  El u´nico objeto no marcado  G se elige como objetivo en curso.

–  Se marca el objeto G.

Por ello, ObjetosM arcados  = {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 ObjetivosPrevios. Por ello, ObjetivosPrevios = {M}.

• 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 ObjetivosPrevios. Por ello, ObjetivosPrevios = φ.

• 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 enca- denamiento  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.

Cita Biliográfica:

Prof. José Manuel Gutérrez, Sistemas Expertos Basados en Reglas, Dpto. de Matem¶atica Aplicada. Universidad de Cantabria, Publicado 20 de Abril de 2000

fecha de acceso: 20 de Abril de 2012 Disponible en: http://personales.unican.es/gutierjm/cursos/expertos/Reglas.pdf

Anuncios

Responder

Por favor, inicia sesión con uno de estos métodos para publicar tu comentario:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s