Un moteur de règles est un logiciel qui va traiter la demande selon une base de données de règles. Dans un système de moteur de règles , l'utilisateur sélectionne un ensemble de règles et soumet ensuite une «demande », qui est traitée selon les règles . Les résultats de cette procédure sont alors signalées par le système. Ce modèle de traitement de l'information est utile dans une variété d'applications . Prolog
La meilleure façon de comprendre comment fonctionnent les moteurs de règles est d'apprendre le langage Prolog informatique. Le langage Prolog est constitué d'un moteur de règles et un ensemble de conventions sur la façon d' écrire les règles . Apprendre Prolog fonctionne, vous enseigne comment un moteur de règles fonctionne - et tous les problèmes qui viennent avec des moteurs de règles comme le retour en arrière et la façon de représenter les faits et les règles. Après que les règles ont été écrites , Prolog est donné une déclaration selon laquelle il essaie de trouver dans la base de faits . Si ce n'est pas un fait, mais c'est la conclusion d'une règle , les antécédents de la règle deviennent les nouveaux termes de recherche . Récursivité et retour en arrière procéder jusqu'à ce que le règlement sont remplies ou ne peuvent pas être satisfaites, et puis le système de Prolog prononce la déclaration initiale vrai, faux ou indécidable.
Programme architecture
< p> Si le comité du projet le permet, vous devez écrire votre moteur de règles en Prolog . Sinon , il sera probablement ressembler beaucoup Prolog - tous les moteurs de règles font. Dans la première partie du projet, écrire les faits. Cette partie est comme une base de données. Suivant écrire les règles - les règles devraient être regroupés en conclusion. Si " A et B implique X » et « C et D implique X " ainsi , alors ces deux règles sont sur X et doivent être regroupés. X est définie ou décrite par A et B ainsi que par C et D. Le moteur de règles seront d'abord chercher dans la base de données pour voir si la demande correspond à une entrée dans la base de données. Si c'est le cas , le système répond «Oui». Sinon, le moteur de règles se penche sur les conclusions à toutes les règles - si aucune correspondance n'est trouvée , le système répond «Non» Si la déclaration correspond à X , deux voies seront considérés: A et B, et C et D. Si la poursuite de A et B mène nulle part , le système " fait marche arrière " et considère C et D. En utilisant Prolog rend cela facile , parce que le moteur de règles est intégré dans le langage.
système de test
Lorsque le moteur de règles de fonctionnement ressemble à une déclaration , il essaie de «terrain à« la déclaration. En toute logique , cela signifie trouver un lien ( dans les règles ) de l'exposé des faits . Si la déclaration (ou sa négation ) est dans les faits, vous avez terminé. Si non, alors vérifier si la déclaration est la conclusion d'une règle. Si non, alors la déclaration ne peut être décidée . Si la déclaration ne correspond à la conclusion d'une règle , remplacer l' énoncé d'objectif avec les antécédents de la règle. Cela fait un lien en allant vers l'arrière par une règle. Si cette recherche échoue, il peut être nécessaire de faire marche arrière et d'envisager une règle différente dont la conclusion correspondait à la déclaration. Vous devez tester le système en lui donnant des déclarations de plus en plus complexes. Essayez d'abord une déclaration qui correspond à une réalité dans la base de données. Ensuite, utilisez une déclaration qui ne nécessite qu'une seule règle. Ensuite, utilisez une déclaration qui exige retour en arrière , etc