Fonctionnement théorique

Navigation:  Les modules métier > Règles >

Fonctionnement théorique

Previous pageReturn to chapter overviewNext page

Les règles représentent des structures par lesquelles s'exprime la connaissance d'un domaine spécifique.

 

En logique formelle on appelle règles d'inférences des règles qui permettent de passer de formules (appelées prémisses) à d'autres formules (appelées conséquences directes ou conclusions). Quand on a attribué une valeur de vérité aux formules que l'on étudie, on dira qu'une règle d'inférence est valide si, chaque fois que les valeurs des premisses ont la valeur "vrai", la règle d'inférence produit une nouvelle formule qui a aussi la valeur "vrai". On ne se préoccupe pas du cas où une au moins des premisses a la valeur "fausse" c est à dire que l'operateur implicite entre les premisses est le "ET" logique.

 

Les conditions

 

une condition est représentée par un triplet :  " objet-comparateur-valeur ".

 

l'objet est une variable connue par le système, par exemple "TAUX REGLAGE".

 

Le comparateur est généralement un des six comparateurs numériques courants: " =, <, >, <>, <=, >=) "

 

La valeur, enfin, est la valeur se rapportant à l'objet. Elle peut être soit numérique (un entier ou un réel), soit alphanumérique (une chaine de caractère). Avec les valeurs alphanumériques seuls les comparateurs = (égalité)ou <> (différent de) sont appropriés.

 

Le chaînage avant

 

Le comparateur et la valeur peuvent être omis. Auquel cas le système considèrera alors implicitement :

 

 

 

La syntaxe de ces règles est donc la suivante :

 

si [condition 1]

 

si [condition 2]

 

...

 

si [condition n]

 

alors [conclusion]

 

...

 

alors [conclusion]

 

premier exemple

 

si la base de règles contient la règle R1 portant sur l'interprétation de l'aspect d'une pièce

 

si ebavurage requis = vrai

si precision generale <= 0.3

alors controle = important

et si la base de faits contient :

 

ebavurage requis = vrai

precision generale = 0.2

le moteur d'inférences va détecter que la règle R1 peut être déclenchée et va ajouter:

 

 

Deuxième  exemple illustrant la propagation des états de vérité

 

Les règles sont représentées selon le formalisme suivant:

a,c --> d signifie "  si a est vrai et si c est vrai alors d est vrai "

 

Soit la base de règles :

R1 : a,c    --> d

R2 : b,d,a  --> e

R3 : e,f,g  --> h

R4 : a,f    --> b

R5 : a,b,f  --> e

R6 : i,f    --> g

R7 : f,g    --> b

 

Base de faits initiale: faits connus et vrais (a,c,f)

 

 

Si on suppose que la phase de résolution de conflits du moteur consiste à déclencher toutes les règles de l'ensemble des conflits, voici ce qui va faire EXPERT-BASE.

 

Premier cycle:

filtrage: R1 et R4 constituent l'ensemble des conflits,

résolution des conflits: R1 et R4 sont déclenchées,

execution: ajout des faits d et b à la base de faits.

donc la base de faits connus devient (a,b,c,d,f)

Les règles R1 et R4 sont " désactivées " afin de ne pas être déclenchées au prochain cycle.

 

Deuxième cycle:

Les nouveaux faits connus vont permettre le déclenchement de deux autres règles (R2,R5).

résolution des conflits: R2 et R5 sont déclenchées,

execution: ajout du fait e à la base de faits.

donc la base de faits connus devient (a,b,c,d,e,f)

la base de faits inconnus devient (g,h,i).

Les règles R2 et R5 sont " désactivées " afin de ne pas être déclenchées au prochain cycle.

 

Troisième cycle:

filtrage: ensemble des conflits = vide

 

exécution: arrêt du moteur par saturation de la base

 

Ainsi, grâce à sa connaissance des règles du domaine et trois informations qui lui ont été fournies ( les faits a,c et f), le système a été capable de déduire lui-même les faits b, d et e qui sont venus enrichir sa connaissance (et celle de l'utilisateur) du problème.

 

voir aussi :

L'éditeur de règles

Le mode assistant

Navigation entre les volets

Les mots réservés