El encadenamiento directo (o razonamiento directo ) es uno de los dos métodos principales de razonamiento cuando se utiliza un motor de inferencia y puede describirse lógicamente como una aplicación repetida del modus ponens . El encadenamiento directo es una estrategia de implementación popular para sistemas expertos , sistemas de reglas comerciales y de producción . Lo opuesto al encadenamiento hacia adelante es el encadenamiento hacia atrás .
El encadenamiento directo comienza con los datos disponibles y utiliza reglas de inferencia para extraer más datos (de un usuario final, por ejemplo) hasta alcanzar un objetivo. Un motor de inferencia que utiliza encadenamiento directo busca las reglas de inferencia hasta que encuentra una en la que se sabe que el antecedente ( cláusula If ) es verdadero. Cuando se encuentra dicha regla, el motor puede concluir, o inferir, el consecuente ( cláusula Then ), lo que resulta en la adición de nueva información a sus datos. [1]
Los motores de inferencia recorrerán este proceso hasta alcanzar un objetivo.
Supongamos que el objetivo es determinar el color de una mascota llamada Fritz, dado que croa y come moscas, y que la base de reglas contiene las siguientes cuatro reglas:
Ilustremos el encadenamiento directo siguiendo el patrón de una computadora mientras evalúa las reglas. Suponga los siguientes hechos:
Con razonamiento directo, el motor de inferencia puede deducir que Fritz es verde en una serie de pasos:
1. Dado que los hechos base indican que "Fritz croa" y "Fritz come moscas", el antecedente de la regla n.° 1 se satisface sustituyendo X por Fritz , y el motor de inferencia concluye:
fritz es una rana
2. El antecedente de la regla n.° 3 se satisface sustituyendo X por Fritz y el motor de inferencia concluye:
fritz es verde
El nombre "encadenamiento hacia adelante" proviene del hecho de que el motor de inferencia comienza con los datos y razona hasta llegar a la respuesta, a diferencia del encadenamiento hacia atrás , que funciona al revés. En la derivación, las reglas se utilizan en el orden opuesto en comparación con el encadenamiento hacia atrás . En este ejemplo, las reglas 2 y 4 no se utilizaron para determinar que Fritz es verde.
Debido a que los datos determinan qué reglas se seleccionan y utilizan, este método se denomina basado en datos , en contraste con la inferencia de encadenamiento hacia atrás basada en objetivos . El método de encadenamiento directo suele ser empleado por sistemas expertos , como CLIPS .
Una de las ventajas del encadenamiento hacia adelante sobre el encadenamiento hacia atrás es que la recepción de nuevos datos puede desencadenar nuevas inferencias, lo que hace que el motor se adapte mejor a situaciones dinámicas en las que es probable que las condiciones cambien. [2] [3]
El encadenamiento directo es una poderosa estrategia de razonamiento con numerosas aplicaciones en IA y campos relacionados. Algunas de las aplicaciones destacadas incluyen: