Chaînage avant
# Chaînage avant

Le chaînage avant est une méthode de déduction qui applique des règles en partant des prémisses pour en déduire de nouvelles conclusions. Ces conclusions enrichissent la mémoire de travail et peuvent devenir les prémisses d'autres règles. Par opposition, le chaînage arrière part des conclusions pour essayer de « remonter » aux axiomes. Le chaînage avant est utilisé en intelligence artificielle, dans un système expert à base de règles, dans un moteur de règles, ou encore dans un système de production.

## Fonctionnement

Le chaînage avant commence avec les données disponibles et utilise des règles d'inférence pour extraire davantage de données jusqu'à ce qu'un but soit atteint. Un moteur d'inférence qui utilise le chaînage avant effectue une recherche dans les règles d'inférence jusqu'à ce qu'il trouve un antécédent (Si l'article) qui est connu pour être vrai. Une fois trouvé, il peut en déduire que la conséquence (alors l'article) est vraie aussi, ce qui entraîne l'ajout de nouvelles informations à ses données.

Les moteurs d'inférence réitèrent ce processus jusqu'à ce qu'un but soit atteint ou que plus aucune règle ne s'applique.

Par exemple, on suppose que l'objectif est de conclure la couleur d'un animal de compagnie nommé Fritz, étant donné qu'il coasse et mange des mouches, et que la base contient les quatre règles suivantes :

* Si X coasse et mange des mouches, alors X est une grenouille.
* Si X piaule et chante, alors X est un canari.
* Si X est une grenouille, alors X est vert.
* Si X est un canari, alors X est jaune.

Sur ces règles de base, la première sera choisie, parce que son antécédent (Si Fritz coasse et mange des mouches) correspond à nos données. Maintenant, la conséquente (X est une grenouille) est ajoutée aux données. Les règles de base sont de nouveau examinées et cette fois-ci, la troisième règle est sélectionnée, parce que son antécédent (Si Fritz est une grenouille) correspond aux données qui viennent d'être confirmées. Maintenant, la nouvelle conséquente (Fritz est vert) est ajoutée à nos données. Plus rien ne peut être déduit de cette information, mais on a maintenant atteint l'objectif qui était de déterminer la couleur de Fritz.

Quand les données déterminent ainsi les règles choisies et utilisées, on utilise le terme « Data driven » (littéralement Pilotage par les données), par opposition à l'objectif d'inférence axé sur le chaînage arrière. Le chaînage avant est souvent employé dans les systèmes experts, comme le CLIPS.

L'un des avantages du chaînage avant sur le chaînage arrière est que la réception de nouvelles données peut déclencher de nouvelles inférences, ce qui rend le moteur plus adapté à des situations dynamiques dans lesquelles les conditions sont susceptibles de changer.

