Maison >Java >javaDidacticiel >Qu'est-ce que le moteur de règles bave

Qu'est-ce que le moteur de règles bave

angryTom
angryTomoriginal
2019-07-23 10:30:386386parcourir

Qu'est-ce que le moteur de règles bave

Tutoriels recommandés : Tutoriel Java

Introduction à Drools

Drools (JBoss Rules) dispose d'un moteur de règles métier open source facile d'accès aux politiques d'entreprise, facile à ajuster et facile à gérer. conforme aux normes de l’industrie, rapide et efficace. Il permet à un analyste commercial ou à un auditeur d'examiner facilement les règles métier pour vérifier que les règles codées appliquent les règles métier requises.

JBoss Rules était auparavant un projet open source appelé Drools par Codehaus. Il a récemment été transféré sous JBoss et renommé JBoss Rules, devenant ainsi le moteur de règles du serveur d'applications JBoss.

Drools est une implémentation d'un moteur de règles basé sur l'algorithme RETE de Charles Forgy adapté à Java. RETE avec l'interface OO permet d'exprimer plus naturellement les règles métier.

Drools utilise les nœuds et de XML pour exprimer des phrases If--Then, et les codes dans les langages ci-dessus peuvent y être intégrés en tant que déclarations de jugement. et les déclarations d'exécution.

Le code Java sera interprété à l'aide d'Antlr, tandis que Groovy et Python eux-mêmes sont des langages de script et peuvent être appelés directement.

Ce qui est intelligent avec Drools, c'est qu'il utilise des nœuds XML pour standardiser la définition des phrases et des faits If--Then, ce qui rend le moteur très confortable à utiliser.

L'utilisation de langages natifs tels que Java et Groovy pour les instructions de jugement et d'exécution facilitent la transition et la transplantation pour les programmeurs, et la courbe d'apprentissage est très faible.

Contenu étendu : Moteur de règles

Le moteur de règles est issu du système expert basé sur des règles et est basé sur les systèmes experts basés sur des règles. Ils constituent l'une des branches des systèmes experts. Le système expert appartient à la catégorie de l'intelligence artificielle. Il imite le raisonnement humain, utilise des méthodes heuristiques pour raisonner et utilise des termes que les humains peuvent comprendre pour expliquer et prouver les conclusions de son raisonnement

Un moteur de règles se compose généralement de 3 parties : Base de règles (Base de connaissances) + Mémoire de travail (Base de faits) + Moteur d'inférence (Moteur de règles).

  Le travail du moteur de règles : correspondance de modèles, résolution de conflits, moteur d'exécution.

 Algorithme de correspondance de modèles : un algorithme qui fait correspondre les faits avec des règles. Les algorithmes de correspondance de modèles courants incluent RETE, LFA, TREAI et LEAPS. L'algorithme de correspondance utilisé par Drools est RETE, qui est considéré comme l'algorithme de correspondance de modèles le plus avancé au monde.

Supplément : Il existe de nombreux types de moteurs de règles. Divisé en fonction de la manière dont les règles sont appliquées. La plupart des moteurs de règles utilisés dans le commerce sont du type forward chaining (je ne sais pas comment l'expliquer en chinois). Il existe deux types de chaînage avant : (1) les règles de production/inférence (je ne sais pas comment l'expliquer en chinois), qui pilotent le moteur de règles à travers des jugements conditionnels tels que l'action IFconditionTHEN. (2) règles d'action de réaction/condition d'événement, ce moteur de règles pilote le moteur de règles à travers le mécanisme d'événement. C'est ce que j'ai appris de Wikipédia.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:annotations communes springmvcArticle suivant:annotations communes springmvc