Moteur de règles vs système Expert
Quelle est la différence entre un moteur de règles et un système expert?
Exemple1: Disons que j'ai un programme qui détermine la date d'expiration d'un nouveau permis de conduire. Il prend des entrées comme la date d'expiration du visa, le numéro de passeport, anniversaire, etc. Il détermine la date d'expiration du permis de conduire à partir de cette entrée. Elle peut même donner lieu à une erreur si l'entrée n'avait pas suffisamment d'identifications valides pour permettre l'obtention d'un nouveau permis de conduire.
Example2.: Nous allons disons que je fais une version en ligne du jeu Monopoly. Je veux la capacité de changer les règles du jeu (disons $400 pour passer go ou personne ne peut acheter des propriétés jusqu'à ce qu'ils atterrissent sur la même Propriété deux fois, etc). J'ai un module dans le code pour gérer ces règles.
S'agit-il de deux moteurs de règles ou de systèmes experts? Ils ont tous deux semblent très similaires. Est-il juste un synonyme?
4 réponses
Le "moteur d'inférence" (ce que je crois que vous appelez le "moteur de règles") est partie d'un système expert. L'autre partie est la "base de connaissances" (votre liste de règles, ce qu'elle sait vrai, ce qu'elle a compris jusqu'à présent, etc.)
le moteur d'inférence est la partie qui utilise réellement vos règles et les faits connus pour inférer des choses.
dans les deux exemples ci-dessus, vous parlez de systèmes experts. En quelque sorte.
je vais vous donner un troisième exemple. GNU make est un moteur d'inférence. Si on lui donne un ensemble de règles de construction et de fichiers datés, il peut comprendre ce qui doit être reconstruit, mais il doit être informé de toutes ces choses. Votre système de compilation qui inclut les makefiles, les scripts associés et make itself est un système expert.
j'ai trouvé une explication détaillée en ligne ici, mais c'est peut-être un peu trop détaillé pour un néophyte.
un" système expert " signifie typiquement une application particulière qui incarne un ensemble de connaissances d'expert sur un domaine de problème donné. Un système expert peut utiliser ou non un moteur de règles dans le cadre de sa mise en œuvre.
je pense que la différence sémantique et juste un peu plus.
un "système expert" implique que le système inclut le codage pour sélectionner le cerveau de l'expert, c'est-à-dire pour transformer les connaissances du domaine de l'expert en un ensemble de règles internes du programme.
retirez cela, et je dirais que ce qui reste est un "moteur de règle". Bien qu'il soit également possible de construire un système expert qui n'est pas basé sur un moteur de règles.
C'est probablement ancienne. Mais la terminologie moteur de règles, est parfois un nom donné à sémantique reasoners ou moteurs de raisonnement. Elles peuvent être considérées comme une extension ou une généralisation de les moteurs d'inférence.
Et answered by T. E. D, le moteur d'inférence n'est qu'une partie d'un système expert, le base de connaissances. Connaissance la base est les axiomes ou vérités de l'ensemble du système, et le moteur d'inférence est ce qui prendra ces axiomes pour dériver de nouvelles "vérités".