03.07.2013 Views

Les tables de décision

Les tables de décision

Les tables de décision

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

50. <strong>Les</strong> <strong>tables</strong> <strong>de</strong> <strong>décision</strong><br />

Modélisation<br />

<strong>de</strong> logiciels <strong>de</strong> gestion<br />

Modélisation <strong>de</strong>s données, modélisation <strong>de</strong>s traitements et d’autres thèmes sont<br />

accessibles <strong>de</strong>puis l’in<strong>de</strong>x du cours <strong>de</strong> modélisation <strong>de</strong> logiciels <strong>de</strong> gestion:<br />

http://lgl.isnetne.ch/mo<strong>de</strong>lisation-2005<br />

Table <strong>de</strong>s matières<br />

1 Préambule........................................................................................................................... 3<br />

2 Définition ........................................................................................................................... 4<br />

3 Structure ............................................................................................................................. 5<br />

4 Elaboration ......................................................................................................................... 6<br />

4.1 <strong>Les</strong> conditions ............................................................................................................ 6<br />

4.2 <strong>Les</strong> actions.................................................................................................................. 7<br />

4.3 Représentation sous forme d’une table <strong>de</strong> <strong>décision</strong> ................................................... 7<br />

4.4 Simplification <strong>de</strong> la table <strong>de</strong> <strong>décision</strong> ........................................................................ 8<br />

4.5 Pseudo co<strong>de</strong> d’implantation ....................................................................................... 9<br />

4.6 Implantation sous forme d’une collection <strong>de</strong> règles................................................. 10<br />

5 <strong>Les</strong> règles.......................................................................................................................... 11<br />

5.1 <strong>Les</strong> règles simples .................................................................................................... 11<br />

5.2 <strong>Les</strong> règles complexe ................................................................................................. 11<br />

5.3 La règle ELSE .......................................................................................................... 11<br />

6 <strong>Les</strong> <strong>tables</strong>.......................................................................................................................... 12<br />

6.1 Tables limitées.......................................................................................................... 12<br />

6.2 Tables étendues ........................................................................................................ 13<br />

6.3 Tables mixtes............................................................................................................ 14<br />

7 Calcul du nombre <strong>de</strong> règles simples d’une table <strong>de</strong> <strong>décision</strong>........................................... 15<br />

7.1 Nombre maximal <strong>de</strong> règles simples d’une table <strong>de</strong> <strong>décision</strong> à entrées mixtes ........ 15<br />

7.2 Nombre maximal <strong>de</strong> règles simples d’une table <strong>de</strong> <strong>décision</strong> à entrées limitées ...... 16<br />

7.3 Nombre <strong>de</strong> règles simples d’une table <strong>de</strong> <strong>décision</strong> avec règles complexes ............. 17<br />

8 Complétion....................................................................................................................... 18<br />

8.1 Table logiquement complète .................................................................................... 18<br />

8.2 Table formellement complète................................................................................... 18<br />

9 Tables standards ............................................................................................................... 19<br />

Cours <strong>de</strong> modélisation 2005/2006<br />

http://lgl.isnetne.ch/mo<strong>de</strong>lisation-2005<br />

50. <strong>Les</strong> <strong>tables</strong> <strong>de</strong> <strong>décision</strong><br />

1/39<br />

26.11.2007/ P-A. Sunier<br />

http://lgl.isnetne.ch


10 Décomposition <strong>de</strong> <strong>tables</strong> <strong>de</strong> <strong>décision</strong> ........................................................................... 20<br />

1 0.1 Tables ouvertes......................................................................................................... 21<br />

10.2 Tables fermées.......................................................................................................... 21<br />

10.3 Exemple <strong>de</strong> décomposition d’une table en plusieurs ............................................... 22<br />

11 Consoli<strong>de</strong>r une table <strong>de</strong> <strong>décision</strong>.................................................................................. 23<br />

12 Recherche et élimination <strong>de</strong>s redondances <strong>de</strong>s actions................................................ 24<br />

13 Recherche et élimination <strong>de</strong>s redondances <strong>de</strong>s conditions........................................... 25<br />

14 Recherche <strong>de</strong>s redondances <strong>de</strong> règles .......................................................................... 26<br />

14.1.1<br />

Détection à l’ai<strong>de</strong> <strong>de</strong>s <strong>tables</strong> standards............................................................. 27<br />

14.1.2 Détection par confrontation <strong>de</strong> règles .............................................................. 28<br />

15 Redondances <strong>de</strong> règles avec ou sans contradiction...................................................... 29<br />

16 Elimination <strong>de</strong>s redondances <strong>de</strong> règles sans contradiction .......................................... 30<br />

1 6.1 Inclusion................................................................................................................... 30<br />

16.2 Intersection............................................................................................................... 31<br />

17 Vérification <strong>de</strong> la complétion....................................................................................... 33<br />

1 7.1 Calcul du nombre <strong>de</strong> règles...................................................................................... 34<br />

17.2 Utilisation d’une table standard................................................................................ 35<br />

18 Minimisation <strong>de</strong>s <strong>tables</strong> <strong>de</strong> <strong>décision</strong>............................................................................. 36<br />

1 8.1 Minimisation <strong>de</strong>s conditions .................................................................................... 36<br />

18.2 Minimisation <strong>de</strong>s actions.......................................................................................... 37<br />

18.3 Minimisation <strong>de</strong>s règles ........................................................................................... 38<br />

19 Références bibliographiques ........................................................................................ 39<br />

Cours <strong>de</strong> modélisation 2005/2006<br />

http://lgl.isnetne.ch/mo<strong>de</strong>lisation-2005<br />

50. <strong>Les</strong> <strong>tables</strong> <strong>de</strong> <strong>décision</strong><br />

2/39<br />

26.11.2007/ P-A. Sunier<br />

http://lgl.isnetne.ch


1 Préambule<br />

Lors <strong>de</strong>s chapitres précé<strong>de</strong>nts, nous avons vu comment modéliser les traitements du système<br />

d’information ; nous avons aussi étudié la représentation <strong>de</strong> l’interaction entre les traitements<br />

et les données.<br />

Nous nous souvenons que le but <strong>de</strong> tout traitement informatique consiste à transformer les<br />

données reçues en entrée et <strong>de</strong> renvoyer le résultat <strong>de</strong> cette transformation en sortie.<br />

Il nous faut maintenant disposer <strong>de</strong> modèles pour exprimer la logique <strong>de</strong> cette transformation.<br />

Figure 1 - Fonction et flux <strong>de</strong> données<br />

Toute fonction, du modèle <strong>de</strong> flux <strong>de</strong> données <strong>de</strong><br />

l’approche classique, reçoit un flux <strong>de</strong> données<br />

en entrée et fournit un flux <strong>de</strong> données en sortie.<br />

Il nous faut maintenant décrire le comportement<br />

interne <strong>de</strong> la fonction <strong>de</strong> traitement ; cette<br />

<strong>de</strong>scription peut se faire sous forme <strong>de</strong> pseudo<br />

co<strong>de</strong>, <strong>de</strong> structogramme, d’arbre <strong>de</strong> <strong>décision</strong> ou<br />

encore <strong>de</strong> table <strong>de</strong> <strong>décision</strong>.<br />

Nous présentons, dans ce chapitre, le concept <strong>de</strong> table <strong>de</strong> <strong>décision</strong> ; la table <strong>de</strong> <strong>décision</strong> nous<br />

semble le modèle le plus adéquat pour exprimer exhaustivement les règles <strong>de</strong> transformation<br />

d’un processus métier ou d’un traitement automatisé.<br />

Il est essentiel que les différentes fonctions constitutives d’un système d’information se<br />

comportent comme <strong>de</strong>s boîtes blanches 1 si nous voulons garantir l’adéquation du système<br />

d’information aux besoins exprimés. Une table <strong>de</strong> <strong>décision</strong> est certainement la représentation<br />

la plus rigoureuse et la plus pertinente qui soit <strong>de</strong> la logique interne d’une fonction et surtout,<br />

une table <strong>de</strong> <strong>décision</strong> est un excellent point <strong>de</strong> départ pour réaliser les tests <strong>de</strong> boîte blanche.<br />

Malheureusement, les <strong>tables</strong> <strong>de</strong> <strong>décision</strong> ne sont, en général, pas supportées en tant que telles<br />

par les logiciels <strong>de</strong> conception <strong>de</strong> solutions informatiques. Progressivement, il apparaît sur le<br />

marché <strong>de</strong>s moteurs <strong>de</strong> règles; les règles sont <strong>de</strong>s éléments <strong>de</strong> <strong>tables</strong> <strong>de</strong> <strong>décision</strong>. <strong>Les</strong> moteurs<br />

<strong>de</strong> règles sont un gros progrès pour l’industrialisation et la qualité du logiciel mais s’ils<br />

excellent dans le traitement unitaire <strong>de</strong>s règles, ils ne permettent pas <strong>de</strong> garantir l’exhaustivité<br />

<strong>de</strong>s traitements d’une fonction.<br />

Remarque: Le concept <strong>de</strong> table <strong>de</strong> <strong>décision</strong> provient <strong>de</strong> l’approche classique basée sur le<br />

paradigme <strong>de</strong> séparation <strong>de</strong>s données et <strong>de</strong>s traitements; toutefois, une table <strong>de</strong> <strong>décision</strong> reste<br />

un moyen <strong>de</strong> représentation tout à fait approprié pour décrire une activité, un cas d’utilisation<br />

ou encore une opération 2 <strong>de</strong> l’approche orientée objet.<br />

En effet, comme nous l’avons vu dans le chapitre <strong>de</strong> modélisation <strong>de</strong>s traitements<br />

automatisés, lors <strong>de</strong> l’activité d’analyse du processus unifié (UP), nous présentons le système<br />

d’information en séparant les données (les entités métier) et les traitements (les interfaces et<br />

les contrôleurs).<br />

1 Une boîte blanche est une fonction dont on connaît exactement les règles <strong>de</strong> comportement interne; à chaque<br />

jeu <strong>de</strong> données fourni en entrée n’est associé qu’un et un seul jeu <strong>de</strong> données en sortie. Par opposition à une boîte<br />

blanche, les résultats fournis par une boîte noire ne sont pas systématiquement prévisibles car le détail <strong>de</strong> son<br />

comportement interne n’est pas connu.<br />

2 Une métho<strong>de</strong> s’agissant <strong>de</strong> langage <strong>de</strong> programmation orienté objet.<br />

Cours <strong>de</strong> modélisation 2005/2006<br />

http://lgl.isnetne.ch/mo<strong>de</strong>lisation-2005<br />

50. <strong>Les</strong> <strong>tables</strong> <strong>de</strong> <strong>décision</strong><br />

3/39<br />

26.11.2007/ P-A. Sunier<br />

http://lgl.isnetne.ch


2 Définition<br />

Une table <strong>de</strong> <strong>décision</strong> exprime exhaustivement les relations entre la logique interne d’une<br />

fonction ou d’un processus, les données fournies en entrée et les données restituées en sortie.<br />

• <strong>Les</strong> données fournies en entrée <strong>de</strong>viennent les conditions <strong>de</strong> la table <strong>de</strong> <strong>décision</strong>.<br />

• <strong>Les</strong> données restituées en sortie proviennent <strong>de</strong>s actions déclenchées par la table <strong>de</strong><br />

<strong>décision</strong>.<br />

• <strong>Les</strong> couples (conditions, actions) <strong>de</strong>viennent les règles <strong>de</strong> la table <strong>de</strong> <strong>décision</strong> ou, dit<br />

autrement, la logique interne <strong>de</strong> la fonction.<br />

Données<br />

en entrée<br />

Table – Programme <strong>de</strong> ski<br />

R1 R2 R3 R4<br />

C1 Journée relâche N O O O<br />

C2 Temps chaud - O O N<br />

C3 Eau >= 20° - O N -<br />

A1 Journée <strong>de</strong> ski X<br />

A2 Piscine extérieure X<br />

A3 Piscine intérieure X X<br />

Figure 2 - Logique interne d'une fonction<br />

Données<br />

en sortie<br />

La représentation <strong>de</strong> la logique interne d’une fonction par une table <strong>de</strong> <strong>décision</strong> nous permet<br />

d’atteindre l’objectif <strong>de</strong> prédictibilité que nous attendons d’une boîte blanche.<br />

Par ailleurs, une table <strong>de</strong> <strong>décision</strong> nous offre les avantages suivants :<br />

• une gran<strong>de</strong> facilité <strong>de</strong> lecture, même en présence <strong>de</strong> nombreuses conditions, actions et<br />

règles ;<br />

• une représentation précise <strong>de</strong> la logique interne <strong>de</strong> la fonction ;<br />

• grâce au mécanisme <strong>de</strong> complétu<strong>de</strong>, il est possible <strong>de</strong> garantir l’exhaustivité <strong>de</strong>s règles<br />

applicables aux différentes données reçues en entrée.<br />

Lorsque la logique interne d’une fonction est relativement simple, il y a lieu <strong>de</strong> privilégier<br />

d’autres moyens <strong>de</strong> représentation plus simple comme un structogramme ou un arbre <strong>de</strong><br />

<strong>décision</strong>.<br />

Cours <strong>de</strong> modélisation 2005/2006<br />

http://lgl.isnetne.ch/mo<strong>de</strong>lisation-2005<br />

50. <strong>Les</strong> <strong>tables</strong> <strong>de</strong> <strong>décision</strong><br />

4/39<br />

26.11.2007/ P-A. Sunier<br />

http://lgl.isnetne.ch


3 Structure<br />

<strong>Les</strong> lignes d’une table <strong>de</strong> <strong>décision</strong> sont séparées en conditions et en actions; les conditions<br />

sont placées en premier et les actions ensuite. <strong>Les</strong> colonnes représentent sous forme <strong>de</strong> règles<br />

les relations entre valeurs <strong>de</strong> conditions et actions.<br />

Cours <strong>de</strong> modélisation 2005/2006<br />

http://lgl.isnetne.ch/mo<strong>de</strong>lisation-2005<br />

Figure 3 - Structure d'une table <strong>de</strong> <strong>décision</strong><br />

50. <strong>Les</strong> <strong>tables</strong> <strong>de</strong> <strong>décision</strong><br />

5/39<br />

26.11.2007/ P-A. Sunier<br />

http://lgl.isnetne.ch


4 Elaboration<br />

Pour élaborer la table <strong>de</strong> <strong>décision</strong> relative à un processus ou une fonction, la première étape<br />

consiste à mettre en évi<strong>de</strong>nce les conditions et les actions.<br />

Prenons l’exemple <strong>de</strong> l’occupation <strong>de</strong> la journée <strong>de</strong> Nicolas; si Jacques et André viennent<br />

chez Nicolas, ils iront <strong>de</strong>hors en cas <strong>de</strong> beau temps et resteront <strong>de</strong>dans à jouer aux cartes s’il<br />

pleut. Si André ne vient pas, Nicolas jouera aux échecs, <strong>de</strong> même, s’il se trouve seul avec son<br />

ami André. Si Nicolas se trouve tout seul et qu’il pleut, il en profitera pour lire un livre. Si<br />

Nicolas est seul et qu’il fait beau temps, il ira se promener en forêt.<br />

4.1 <strong>Les</strong> conditions<br />

A partir du texte <strong>de</strong> notre exemple, nous mettons en évi<strong>de</strong>nce les conditions reproduites dans<br />

la partie gauche du tableau <strong>de</strong> la Figure 4:<br />

Conditions présentes dans le texte Conditions simplifiées<br />

Jacques et André viennent.<br />

André ne vient pas.<br />

(Nicolas est seul avec Jacques)<br />

Jacques ne vient pas.<br />

(Nicolas est seul avec André)<br />

Nicolas se trouve seul.<br />

Il fait beau temps.<br />

Il pleut<br />

Figure 4 - Liste <strong>de</strong>s conditions<br />

Jacques vient (oui ou non)<br />

André vient (oui ou non)<br />

Il pleut (oui ou non)<br />

<strong>Les</strong> conditions présentes dans le texte, ou <strong>de</strong> manière générale les conditions exprimées par la<br />

maîtrise d’ouvrage ou les utilisateurs dans le cadre d’un projet d’informatisation sont souvent<br />

compliquées et difficilement exploi<strong>tables</strong>; pour les simplifier, nous élaborons <strong>de</strong>s <strong>de</strong>scriptions<br />

susceptibles d’être associées à <strong>de</strong>s valeurs discrètes ou à un intervalle <strong>de</strong> valeurs.<br />

Pour notre exemple, les <strong>de</strong>ux conditions « Il fait beau temps » et « Il pleut » sont simplifiées<br />

par la <strong>de</strong>scription <strong>de</strong> condition « Il pleut » à laquelle nous pourrons associer les valeurs<br />

« Oui » et « Non ».<br />

Cours <strong>de</strong> modélisation 2005/2006<br />

http://lgl.isnetne.ch/mo<strong>de</strong>lisation-2005<br />

50. <strong>Les</strong> <strong>tables</strong> <strong>de</strong> <strong>décision</strong><br />

6/39<br />

26.11.2007/ P-A. Sunier<br />

http://lgl.isnetne.ch


4.2 <strong>Les</strong> actions<br />

Après avoir mis en évi<strong>de</strong>nce et simplifié les conditions, il nous faut mettre en évi<strong>de</strong>nce et<br />

simplifier les actions.<br />

Actions présentes dans le texte Actions simplifiées<br />

Aller <strong>de</strong>hors. Aller <strong>de</strong>hors.<br />

Rester <strong>de</strong>dans et jouer aux cartes. Rester <strong>de</strong>dans et jouer aux cartes.<br />

Jouer aux échecs<br />

• Avec André<br />

• Avec Jacques<br />

Lire un livre. Lire un livre.<br />

Jouer aux échecs avec André<br />

Jouer aux échecs avec Jacques<br />

Se promener en forêt. Se promener en forêt.<br />

Figure 5 - Liste <strong>de</strong>s actions<br />

4.3 Représentation sous forme d’une table <strong>de</strong> <strong>décision</strong><br />

Maintenant que nous avons établi une liste <strong>de</strong> conditions et d’actions, nous pouvons mettre en<br />

relation les différentes valeurs <strong>de</strong> conditions et d’actions sous forme <strong>de</strong> règles.<br />

TD – Occupation <strong>de</strong> Nicolas R1 R2 R3 R4 R5 R6 R7 R8<br />

C1 Jacques vient O O O O N N N N<br />

C2 André vient O O N N O O N N<br />

C3 Il pleut O N O N O N O N<br />

A1 Aller <strong>de</strong>hors X<br />

A2 Rester <strong>de</strong>dans et jouer aux cartes X<br />

A3 Jouer aux échecs avec Jacques X X<br />

A4 Jouer aux échecs avec André X X<br />

A5 Lire un livre X<br />

A6 Se promener en forêt X<br />

Cours <strong>de</strong> modélisation 2005/2006<br />

http://lgl.isnetne.ch/mo<strong>de</strong>lisation-2005<br />

Figure 6 - Table <strong>de</strong> <strong>décision</strong> d'occupation <strong>de</strong> Nicolas<br />

50. <strong>Les</strong> <strong>tables</strong> <strong>de</strong> <strong>décision</strong><br />

7/39<br />

26.11.2007/ P-A. Sunier<br />

http://lgl.isnetne.ch


4.4 Simplification <strong>de</strong> la table <strong>de</strong> <strong>décision</strong><br />

Nous pouvons observer que les règles R3 et R4 <strong>de</strong> la table <strong>de</strong> <strong>décision</strong> <strong>de</strong> la Figure 6 ne<br />

tiennent pas compte <strong>de</strong> la condition « Il pleut » ; il en est <strong>de</strong> même pour les règles R5 et R6.<br />

Nous simplifions la table <strong>de</strong> <strong>décision</strong> en remplaçant les règles R3 et R4 par une nouvelle règle<br />

dont la condition « Il pleut » n’est pas prise en compte.<br />

TD – Occupation <strong>de</strong> Nicolas R1 R2 R3 R4 R5 R6<br />

C1 Jacques vient O O O N N N<br />

C2 André vient O O N O N N<br />

C3 Il pleut O N - - O N<br />

A1 Aller <strong>de</strong>hors X<br />

A2 Rester <strong>de</strong>dans et jouer aux cartes X<br />

A3 Jouer aux échecs avec Jacques X<br />

A4 Jouer aux échecs avec André X<br />

A5 Lire un livre X<br />

A6 Se promener en forêt X<br />

Cours <strong>de</strong> modélisation 2005/2006<br />

http://lgl.isnetne.ch/mo<strong>de</strong>lisation-2005<br />

Figure 7 - Table <strong>de</strong> <strong>décision</strong> d'occupation <strong>de</strong> Nicolas simplifiée<br />

50. <strong>Les</strong> <strong>tables</strong> <strong>de</strong> <strong>décision</strong><br />

8/39<br />

26.11.2007/ P-A. Sunier<br />

http://lgl.isnetne.ch


4.5 Pseudo co<strong>de</strong> d’implantation<br />

Une table <strong>de</strong> <strong>décision</strong> peut être traduite telle quelle en co<strong>de</strong> exécutable comme illustré par le<br />

pseudo co<strong>de</strong> <strong>de</strong> la Figure 8.<br />

IF Jacques vient THEN<br />

IF André vient THEN<br />

IF il pleut THEN<br />

- Rester <strong>de</strong>dans et jouer aux cartes<br />

ELSE<br />

- Aller <strong>de</strong>hors<br />

ENDIF<br />

ELSE<br />

- Jouer aux échecs avec Jacques<br />

ENDIF<br />

ELSE<br />

IF André vient THEN<br />

- Jouer aux échecs avec André<br />

ELSE<br />

IF il pleut THEN<br />

-Lire un livre<br />

ELSE<br />

- Se promener en forêt<br />

ENDIF<br />

ENDIF<br />

ENDIF<br />

Figure 8 – Pseudo co<strong>de</strong> <strong>de</strong> la table <strong>de</strong> <strong>décision</strong> d'occupation <strong>de</strong> Nicolas simplifiée<br />

Cours <strong>de</strong> modélisation 2005/2006<br />

http://lgl.isnetne.ch/mo<strong>de</strong>lisation-2005<br />

50. <strong>Les</strong> <strong>tables</strong> <strong>de</strong> <strong>décision</strong><br />

9/39<br />

26.11.2007/ P-A. Sunier<br />

http://lgl.isnetne.ch


4.6 Implantation sous forme d’une collection <strong>de</strong> règles<br />

En cas <strong>de</strong> changement à l’intérieur d’une table <strong>de</strong> <strong>décision</strong>, l’adaptation du pseudo co<strong>de</strong> <strong>de</strong> la<br />

Figure 8 peut être relativement fastidieuse et surtout susceptible d’engendrer <strong>de</strong>s erreurs 3 .<br />

En lieu et place <strong>de</strong> produire <strong>de</strong>s enchaînements <strong>de</strong> tests et d’actions, nous préconisons<br />

d’évaluer chaque règle <strong>de</strong> la table <strong>de</strong> <strong>décision</strong> et d’exécuter la règle qui est vali<strong>de</strong>.<br />

R1 := (Jacques vient) AND (André vient) AND (Il pleut)<br />

R2 := (Jacques vient) AND (André vient) AND NOT (Il pleut)<br />

R3 := (Jacques vient) AND NOT (André vient)<br />

R4 := NOT (Jacques vient) AND (André vient)<br />

R5 := NOT(Jacques vient) AND NOT(André vient) AND (Il pleut)<br />

R6 := NOT(Jacques vient) AND NOT(André vient) AND NOT (Il pleut)<br />

IF R1 THEN<br />

- Rester <strong>de</strong>dans et jouer aux cartes<br />

ENDIF<br />

IF R2 THEN<br />

- Aller <strong>de</strong>hors<br />

ENDIF<br />

IF R3 THEN<br />

- Jouer aux cartes avec Jacques<br />

ENDIF<br />

IF R4 THEN<br />

- Jouer aux cartes avec André<br />

ENDIF<br />

IF R5 THEN<br />

- Lire un livre<br />

ENDIF<br />

IF R6 THEN<br />

- Se promener en forêt<br />

ENDIF<br />

Figure 9 – Pseudo co<strong>de</strong> sous forme d’une collection <strong>de</strong> règles<br />

Chaque variable R1 à Rn correspond à l’évaluation <strong>de</strong>s indicateurs <strong>de</strong>s conditions <strong>de</strong> la règle<br />

correspondante <strong>de</strong> la table <strong>de</strong> <strong>décision</strong> ; les valeurs possibles sont Vrai ou Faux.<br />

Une seule variable R1 à Rn peut avoir la valeur Vrai.<br />

3 Il s’agit en l’occurrence <strong>de</strong> régression du co<strong>de</strong> ; le co<strong>de</strong> ancien fonctionnait correctement et l’utilisateur ne<br />

comprend pas pourquoi le logiciel ne fonctionne plus correctement.<br />

Cours <strong>de</strong> modélisation 2005/2006<br />

http://lgl.isnetne.ch/mo<strong>de</strong>lisation-2005<br />

50. <strong>Les</strong> <strong>tables</strong> <strong>de</strong> <strong>décision</strong><br />

10/39<br />

26.11.2007/ P-A. Sunier<br />

http://lgl.isnetne.ch


5 <strong>Les</strong> règles<br />

Trois sortes <strong>de</strong> règles peuvent apparaître dans une table <strong>de</strong> <strong>décision</strong> : la règle ELSE, les règles<br />

simples et les règles complexes.<br />

TD – Exemple <strong>de</strong> règles ELSE R1 R2 R3 R4<br />

C1 Condition 1 O O O N<br />

C2 Condition 2 - 10 20 30<br />

C3 Condition 3 N N O -<br />

A1 Action 1 1 2 3 4<br />

A2 Action 2 X<br />

A3 Action 3 X X<br />

A4 Erreur X<br />

5.1 <strong>Les</strong> règles simples<br />

Figure 10 – Exemple <strong>de</strong>s différentes règles possibles<br />

Une règle simple est une règle ne possédant pas <strong>de</strong> valeur indifférente (-) dans ses indicateurs<br />

<strong>de</strong> condition.<br />

R2 et R3 <strong>de</strong> la Figure 10 sont <strong>de</strong>s règles simples.<br />

5.2 <strong>Les</strong> règles complexe<br />

Une règle complexe est une règle possédant une ou plusieurs valeurs indifférentes (-) dans ses<br />

indicateurs <strong>de</strong> condition.<br />

R1 et R4 <strong>de</strong> la Figure 10 sont <strong>de</strong>s règles complexes.<br />

5.3 La règle ELSE<br />

La règle ELSE est une règle recouvrant toutes les règles ne figurant pas dans la table <strong>de</strong><br />

<strong>décision</strong> et correspondant généralement à <strong>de</strong>s erreurs.<br />

En principe, la règle ELSE est placée en début ou en fin <strong>de</strong>s règles.<br />

Remarque: La règle ELSE n’est pas prise en compte pour le calcul du nombre <strong>de</strong> règles.<br />

Cours <strong>de</strong> modélisation 2005/2006<br />

http://lgl.isnetne.ch/mo<strong>de</strong>lisation-2005<br />

50. <strong>Les</strong> <strong>tables</strong> <strong>de</strong> <strong>décision</strong><br />

11/39<br />

26.11.2007/ P-A. Sunier<br />

http://lgl.isnetne.ch


6 <strong>Les</strong> <strong>tables</strong><br />

Trois sortes <strong>de</strong> <strong>tables</strong> sont utilisées couramment: les <strong>tables</strong> limitées, les <strong>tables</strong> étendues et les<br />

<strong>tables</strong> mixtes.<br />

6.1 Tables limitées<br />

Une table limitée est une table <strong>de</strong> <strong>décision</strong> où :<br />

• <strong>Les</strong> conditions sont indiquées dans la partie <strong>de</strong>scriptive <strong>de</strong> manière complète.<br />

<strong>Les</strong> indicateurs <strong>de</strong> condition possibles sont :<br />

O pour oui ;<br />

N pour non ;<br />

– pour oui ou non.<br />

• <strong>Les</strong> actions sont indiquées dans la partie <strong>de</strong>scriptive <strong>de</strong> manière complète.<br />

<strong>Les</strong> indicateurs d’action possibles sont :<br />

X pour une action exécutée ;<br />

pour une action non exécutée (absence <strong>de</strong> marque).<br />

TD – Prix produit R1 R2 R3 R4 R5 R6 R7 R8<br />

C1 Article <strong>de</strong> luxe O O O O N N N N<br />

C2 Gran<strong>de</strong> production O O N N O O N N<br />

C3 Emballage ca<strong>de</strong>au N N O N O N O N<br />

C4 Action publicitaire N O N N O N O N<br />

A1 125 francs X<br />

A2 98 francs X<br />

A3 75 francs X<br />

A4 60 francs X X X<br />

A5 45 francs X<br />

A6 30 francs X<br />

Figure 10 – Exemple <strong>de</strong> table <strong>de</strong> <strong>décision</strong> limitée<br />

Remarque: La table <strong>de</strong> l’exemple ci-<strong>de</strong>ssus n’est pas complète. [Voir le chapitre<br />

« Complétion »]<br />

Cours <strong>de</strong> modélisation 2005/2006<br />

http://lgl.isnetne.ch/mo<strong>de</strong>lisation-2005<br />

50. <strong>Les</strong> <strong>tables</strong> <strong>de</strong> <strong>décision</strong><br />

12/39<br />

26.11.2007/ P-A. Sunier<br />

http://lgl.isnetne.ch


Une table <strong>de</strong> <strong>décision</strong> n’ayant que la partie condition répondant à ce critère est dite table à<br />

entrées limitées.<br />

TD – Prix produit R1 R2 R3 R4 R5 R6 R7 R8<br />

C1 Article <strong>de</strong> luxe O O O O N N N N<br />

C2 Gran<strong>de</strong> production O O N N O O N N<br />

C3 Emballage ca<strong>de</strong>au N N O N O N O N<br />

C4 Action publicitaire N O N N O N O N<br />

A1 Prix (en francs) 98 60 125 75 30 60 75 45<br />

6.2 Tables étendues<br />

Figure 11 – Exemple <strong>de</strong> table <strong>de</strong> <strong>décision</strong> à entrées limitées<br />

Une table étendue est une table <strong>de</strong> <strong>décision</strong> où :<br />

• <strong>Les</strong> conditions sont indiquées dans la partie <strong>de</strong>scriptive <strong>de</strong> manière incomplète.<br />

<strong>Les</strong> indicateurs <strong>de</strong> condition apportent une spécification supplémentaire.<br />

• <strong>Les</strong> actions sont indiquées dans la partie <strong>de</strong>scriptive <strong>de</strong> manière incomplète.<br />

<strong>Les</strong> indicateurs d’action apportent une spécification supplémentaire.<br />

TD – Prêts R1 R2 R3 R4 R5<br />

C1 Salaire mensuel =1000 >=1000 >=2000 >=2000<br />


Une table <strong>de</strong> <strong>décision</strong> n’ayant que la partie condition répondant à ce critère est dite table à<br />

entrées étendues.<br />

TD – Prêts R1 R2 R3 R4 R5<br />

C1 Salaire mensuel =1000 >=1000 >=2000 >=2000<br />

=5000 -<br />

C3 Prêt requis 6000 8000 12000 -<br />

A1 Prêt refusé X X X X<br />

A2 Remboursement<br />

mensuel minimal<br />

A3 Frais en % <strong>de</strong> la<br />

somme prêtée<br />

Cours <strong>de</strong> modélisation 2005/2006<br />

http://lgl.isnetne.ch/mo<strong>de</strong>lisation-2005<br />

300 400 600<br />

1.5 1.3 1.0<br />

Figure 14 – Exemple <strong>de</strong> table <strong>de</strong> <strong>décision</strong> mixte<br />

50. <strong>Les</strong> <strong>tables</strong> <strong>de</strong> <strong>décision</strong><br />

14/39<br />

26.11.2007/ P-A. Sunier<br />

http://lgl.isnetne.ch


7 Calcul du nombre <strong>de</strong> règles simples d’une table <strong>de</strong><br />

<strong>décision</strong><br />

7.1 Nombre maximal <strong>de</strong> règles simples d’une table <strong>de</strong> <strong>décision</strong> à<br />

entrées mixtes<br />

Le calcul du nombre maximal <strong>de</strong> règles simples, NbMax, que peut contenir une table <strong>de</strong><br />

<strong>décision</strong> s’effectue en multipliant le nombre <strong>de</strong> formes que peuvent prendre les différentes<br />

entrées <strong>de</strong> conditions.<br />

NbMax = F * F<br />

1 2 * … * Fi * … * Fn<br />

F est le nombre <strong>de</strong> formes <strong>de</strong>s entrées <strong>de</strong> la condition i<br />

i<br />

Le nombre <strong>de</strong> règles simples <strong>de</strong>s entrées étendues correspond aux nombres d’indicateurs<br />

possibles.<br />

Le nombre <strong>de</strong> règles simples <strong>de</strong>s entrées limitées est toujours égal à 2, soit : oui ou non.<br />

TD – R1 R2 R3 R4 R5 R6 R7 R8<br />

C1 Couleur BL BL JA JA RO RO NO NO<br />

C2 Article <strong>de</strong> luxe O N O N O N O N<br />

Figure 15 - Entrées mixtes<br />

A propos <strong>de</strong> la Figure 15 :<br />

La condition étendue Couleur peut prendre 4 valeurs :<br />

BL - Bleu<br />

JA – Jaune<br />

RO – Rouge<br />

NO – Noir<br />

La condition limitée Article <strong>de</strong> luxe peut prendre 2 valeurs.<br />

Le nombre <strong>de</strong> règles simples maximales <strong>de</strong> la table est donc <strong>de</strong> 8:<br />

NbMax = FCouleur * FArticle <strong>de</strong> luxe<br />

= 4 * 2<br />

NbMax = 8<br />

Cours <strong>de</strong> modélisation 2005/2006<br />

http://lgl.isnetne.ch/mo<strong>de</strong>lisation-2005<br />

50. <strong>Les</strong> <strong>tables</strong> <strong>de</strong> <strong>décision</strong><br />

15/39<br />

26.11.2007/ P-A. Sunier<br />

http://lgl.isnetne.ch


7.2 Nombre maximal <strong>de</strong> règles simples d’une table <strong>de</strong> <strong>décision</strong> à<br />

entrées limitées<br />

Toutes les formes <strong>de</strong>s entrées <strong>de</strong> conditions d’une table à entrées limitées étant <strong>de</strong> 2, le<br />

nombre maximal <strong>de</strong> règles simples s’obtient en élevant 2 à la puissance du nombre <strong>de</strong><br />

conditions <strong>de</strong> la table.<br />

NbMax = 2 * 2 * …… * 2<br />

NbMax = 2 n<br />

• n est le nombre <strong>de</strong> conditions <strong>de</strong> la table<br />

TD - R1 R2 R3 R4 R5 R6 R7 R8<br />

C1 Article <strong>de</strong> luxe O O O O N N N N<br />

C2 Gran<strong>de</strong> production O O N N O O N N<br />

C3 Action publicitaire O N O N O N O N<br />

Cours <strong>de</strong> modélisation 2005/2006<br />

http://lgl.isnetne.ch/mo<strong>de</strong>lisation-2005<br />

Figure 16 - Entrées limitées<br />

50. <strong>Les</strong> <strong>tables</strong> <strong>de</strong> <strong>décision</strong><br />

16/39<br />

26.11.2007/ P-A. Sunier<br />

http://lgl.isnetne.ch


7.3 Nombre <strong>de</strong> règles simples d’une table <strong>de</strong> <strong>décision</strong> avec règles<br />

complexes<br />

En présence <strong>de</strong> règles complexes, nous <strong>de</strong>vons prendre en compte le nombre <strong>de</strong> formes <strong>de</strong>s<br />

différentes conditions pour lesquelles un indicateur d’indifférence apparaît pour calculer le<br />

nombre <strong>de</strong> règles simples sous-jacentes, NbRS.<br />

NbRS = RS + RS<br />

1 2 + … + RSi + … + RSn<br />

RS est le nombre <strong>de</strong> règles simples sous-jacente à la règle Ri<br />

i<br />

RSi = f * f * … * f * … * f<br />

1 2 k n<br />

• f est le nombre <strong>de</strong> valeurs simples <strong>de</strong> l’entrée <strong>de</strong> la condition k<br />

k<br />

• fk<br />

vaut 1 pour une entrée comportant une valeur<br />

• f vaut F<br />

k k pour une entrée comportant un indicateur d’indifférence ;<br />

pour rappel F exprime le nombre <strong>de</strong> forme <strong>de</strong>s entrées <strong>de</strong> la condition k<br />

k<br />

TD – R1 R2 R3 R4 R5 R6 R7 R8<br />

C1 Condition 1 B - C B A - D C<br />

C2 Condition 2 - O N N N O O N<br />

C3 Condition 3 O O O O N N O N<br />

C4 Condition 4 1 2 - 3 4 - 4 2<br />

Règles simples équivalentes, RS 2 4 4 1<br />

Figure 17 – Règles complexes<br />

A propos <strong>de</strong> la Figure 17 :<br />

La condition à entrée étendue 1 peut prendre 4 valeurs parmi {A, B, C, D}.<br />

<strong>Les</strong> conditions à entrée limitée 2 & 3 peuvent prendre 2 valeurs.<br />

La condition à entrée étendue 4 peut prendre 4 valeurs parmi {1, 2, 3, 4}.<br />

4 Le résultat <strong>de</strong> 16 provient du produit : 4 * 1 * 1 * 4<br />

Cours <strong>de</strong> modélisation 2005/2006<br />

http://lgl.isnetne.ch/mo<strong>de</strong>lisation-2005<br />

50. <strong>Les</strong> <strong>tables</strong> <strong>de</strong> <strong>décision</strong><br />

17/39<br />

4<br />

1 16 1 1<br />

26.11.2007/ P-A. Sunier<br />

http://lgl.isnetne.ch


8 Complétion<br />

Une table est dite « complète » lorsque toutes les combinaisons <strong>de</strong> valeurs <strong>de</strong> conditions sont<br />

couvertes.<br />

8.1 Table logiquement complète<br />

Une table est dite logiquement complète si toutes les règles manquantes sont couvertes par la<br />

règle ELSE. En principe, la règle ELSE conduit à un traitement d’erreur.<br />

TD – ELSE R1 R2 R3 R4 R5<br />

C1 Condition 1 O O N N N<br />

C2 Condition 2 N N O O N<br />

C3 Condition 3 N N N N O<br />

C4 Condition 4 O N O N -<br />

Règles simples équivalentes, RS 10 5<br />

Figure 18 – Entrée logiquement complète<br />

8.2 Table formellement complète<br />

1 1 1 1 2<br />

Une table est dite formellement complète lorsque aucune règle ne manque et que la règle<br />

ELSE n’y figure pas<br />

TD – R1 R2 R3 R4 R5<br />

C1 Condition 1 O O O O N<br />

C2 Condition 2 O O O N -<br />

C3 Condition 3 O O N - -<br />

C4 Condition 4 O N - - -<br />

Règles simples équivalentes, RS 1 1 2 4 8<br />

Figure 19 – Entrée formellement complète<br />

5 Le résultat vient <strong>de</strong> la soustraction du nombre <strong>de</strong> règles simples effectives au nombre <strong>de</strong> règles simples<br />

maximales: 2 4 – 4*1 – 2 = 16 -6 = 10<br />

Cours <strong>de</strong> modélisation 2005/2006<br />

http://lgl.isnetne.ch/mo<strong>de</strong>lisation-2005<br />

50. <strong>Les</strong> <strong>tables</strong> <strong>de</strong> <strong>décision</strong><br />

18/39<br />

26.11.2007/ P-A. Sunier<br />

http://lgl.isnetne.ch


9 Tables standards<br />

Une table standard est une table <strong>de</strong> <strong>décision</strong> possédant les caractéristiques suivantes:<br />

• Elle est formellement complète.<br />

• Elle est composée <strong>de</strong> règles simples.<br />

• <strong>Les</strong> règles sont affichées <strong>de</strong> manière systématique à l’image du parcours d’un<br />

arbre <strong>de</strong> <strong>décision</strong> (voir la Figure 21).<br />

Une table <strong>de</strong> <strong>décision</strong> standard est un excellent modèle <strong>de</strong> représentation <strong>de</strong> règles internes<br />

d’un processus métier ou <strong>de</strong> la logique d’un traitement informatique; les <strong>tables</strong> <strong>de</strong> <strong>décision</strong><br />

standards permettent <strong>de</strong> s’assurer que l’entier <strong>de</strong>s règles métier d’un processus métier soient<br />

explorées permettant ainsi <strong>de</strong> réaliser une spécification <strong>de</strong> la logique <strong>de</strong>s traitements<br />

informatiques complète.<br />

TD – R1 R2 R3 R4 R5 R6 R7 R8<br />

C1 Condition 1 O O O O N N N N<br />

C2 Condition 2 O O N N O O N N<br />

C3 Condition 3 O N O N O N O N<br />

A1 Action 1 X X X X X<br />

A2 Action 2 X X X X X<br />

A3 Action 3 X X X X X<br />

Cours <strong>de</strong> modélisation 2005/2006<br />

http://lgl.isnetne.ch/mo<strong>de</strong>lisation-2005<br />

Figure 20 – Exemple <strong>de</strong> table standard à entrée limitée<br />

50. <strong>Les</strong> <strong>tables</strong> <strong>de</strong> <strong>décision</strong><br />

19/39<br />

Figure 21 - Arbre <strong>de</strong><br />

parcours <strong>de</strong>s conditions <strong>de</strong><br />

la Figure 20<br />

26.11.2007/ P-A. Sunier<br />

http://lgl.isnetne.ch


TD – R1 R2 R3 R4 R5 R6 R7 R8 R9<br />

C1 Couleur {B, R, V} B B B R R R V V V<br />

C2 Type {1, 2, 3} 1 2 3 1 2 3 1 2 3<br />

A1 Prix 10 11 12 13 14 15 16 17 18<br />

Figure 22 – Exemple <strong>de</strong> table standard à entrée étendue<br />

TD – R1 R2 R3 R4 R5 R6<br />

C1 Type {1, 2, 3} 1 1 2 2 3 3<br />

C2 Disponible O N O N O N<br />

A1 Signaler type 1B 2B 3B<br />

A2 Faire offre X X X<br />

Figure 23 – Exemple <strong>de</strong> table standard à entrée mixte<br />

10 Décomposition <strong>de</strong> <strong>tables</strong> <strong>de</strong> <strong>décision</strong><br />

Face à la complexité <strong>de</strong> la réalité, il peut s’avérer utile <strong>de</strong> diviser un problème complexe en<br />

une série <strong>de</strong> problèmes réduits ou plus petits.<br />

Une table <strong>de</strong> <strong>décision</strong> comportant <strong>de</strong> nombreuses entrées <strong>de</strong> <strong>décision</strong> ou d’action peut souvent<br />

être divisée en quelques <strong>tables</strong> avec un nombre d’entrées réduit; ces <strong>tables</strong> sont reliées entre<br />

elles par l’intermédiaire d’un transfert <strong>de</strong> flux <strong>de</strong> contrôle. Le contrôle du transfert <strong>de</strong> flux<br />

entre les <strong>tables</strong> permet <strong>de</strong> conserver la vision <strong>de</strong> la logique globale.<br />

On distingue <strong>de</strong>ux sortes <strong>de</strong> transfert <strong>de</strong> flux <strong>de</strong> contrôle entre <strong>tables</strong> <strong>de</strong> <strong>décision</strong> :<br />

• L’appel d’une table subordonnée sans retour à la table maîtresse; dans ce cas la table<br />

subordonnée est dite « table ouverte ».<br />

• L’appel d’une table subordonnée avec retour à la table maîtresse; dans ce cas la table<br />

subordonnée est dite « table fermée ».<br />

Remarque: Lorsque nous sommes en présence d’un ensemble <strong>de</strong> <strong>tables</strong>, l’ordre d’exécution<br />

<strong>de</strong>s actions <strong>de</strong> la table maîtresse a une inci<strong>de</strong>nce sur la logique globale.<br />

Cours <strong>de</strong> modélisation 2005/2006<br />

http://lgl.isnetne.ch/mo<strong>de</strong>lisation-2005<br />

50. <strong>Les</strong> <strong>tables</strong> <strong>de</strong> <strong>décision</strong><br />

20/39<br />

26.11.2007/ P-A. Sunier<br />

http://lgl.isnetne.ch


10.1 Tables ouvertes<br />

La table ouverte est atteinte par un transfert <strong>de</strong> flux sans retour; à la fin du traitement <strong>de</strong> la<br />

table subordonnée, le flux <strong>de</strong> contrôle n’est pas renvoyé à la table maîtresse.<br />

TD 2<br />

TD 1<br />

ALLER TD 2 2 3 4 5<br />

TD3<br />

10.2 Tables fermées<br />

TD 4 TD 5<br />

Figure 24 - Table ouverte / Pas <strong>de</strong> retour <strong>de</strong> flux <strong>de</strong> contrôle<br />

La table fermée est atteinte par un transfert <strong>de</strong> flux avec retour; à la fin du traitement <strong>de</strong> la<br />

table subordonnée, le flux <strong>de</strong> contrôle est renvoyé à la table maîtresse.<br />

TD 1 1 2 3 4 TD 2 1 2 3 4<br />

Action A X X X<br />

TRAITE TD2 X<br />

Action B X X<br />

Action 3 X X<br />

ALLER TD3 X X X X<br />

Cours <strong>de</strong> modélisation 2005/2006<br />

http://lgl.isnetne.ch/mo<strong>de</strong>lisation-2005<br />

TD 3<br />

Figure 25 - Table fermée / RetourFlux avec retour<br />

50. <strong>Les</strong> <strong>tables</strong> <strong>de</strong> <strong>décision</strong><br />

21/39<br />

RETOUR X X X X<br />

26.11.2007/ P-A. Sunier<br />

http://lgl.isnetne.ch


10.3 Exemple <strong>de</strong> décomposition d’une table en plusieurs<br />

TD – R1 R2 R3 R4 R5 R6 R7 R8<br />

C1 Condition 1 O O O O N N N N<br />

C2 Condition 2 O O N N O O N N<br />

C3 Condition 3 O N O N O N O N<br />

A1 Action 1 X X X X<br />

A2 Action 2 X X X X<br />

A3 Action 3 X X X<br />

A4 Action 4 X X X X X<br />

Figure 26 – Exemple <strong>de</strong> table décomposable<br />

En analysant les règles <strong>de</strong> l’exemple <strong>de</strong> la Figure 26, nous pouvons faire les observations et<br />

déductions ci-après par groupes <strong>de</strong> règles et conditions :<br />

1. Pour toutes les règles<br />

A1 est exécutée lorsque C1 est vraie. On peut regrouper la condition C1 et les<br />

A2 est exécutée lorsque C1 est fausse. actions A1 et A2 dan une table maîtresse<br />

TD1<br />

2. Pour les 4 premières règles la condition C2 est indifférente<br />

A3 est exécutée lorsque C3 est vraie. On peut regrouper la condition C3 et les<br />

A4 est exécutée lorsque C3 est fausse. actions A3 et A4 dans une table subordonnée<br />

TD2<br />

3. Pour les 4 <strong>de</strong>rnières règles aucune condition n’est indifférente<br />

A3 et A4 sont exécuté sans qu’un élément<br />

logique puisse être mis en évi<strong>de</strong>nce<br />

Cours <strong>de</strong> modélisation 2005/2006<br />

http://lgl.isnetne.ch/mo<strong>de</strong>lisation-2005<br />

On doit créer une table subordonnée TD3<br />

50. <strong>Les</strong> <strong>tables</strong> <strong>de</strong> <strong>décision</strong><br />

22/39<br />

26.11.2007/ P-A. Sunier<br />

http://lgl.isnetne.ch


TD – 1 R1 R2<br />

C1 Condition 1 O N<br />

A1 Action 1 X<br />

A2 Action 2 X<br />

A5 ALLER TD-2 TD-3<br />

TD – 2 R1 R2<br />

C3 Condition 3 O N<br />

A3 Action 3 X<br />

A4 Action 4 X<br />

Remarque importante:<br />

TD – 3 R1 R2 R3<br />

C2 Condition 2 O O N<br />

C3 Condition 3 O N -<br />

A3 Action 3 X<br />

A4 Action 4 X X<br />

Figure 27 – Décomposition <strong>de</strong> la table <strong>de</strong> la Figure 26<br />

Lorsque l’on décompose une table en plusieurs <strong>tables</strong>, les différentes <strong>tables</strong> subordonnées<br />

n’ont, à priori, pas <strong>de</strong> signification sans le contexte <strong>de</strong> la table maîtresse qui va lui transférer<br />

le flux <strong>de</strong> contrôle.<br />

Dès lors, il s’agit d’utiliser avec la plus gran<strong>de</strong> circonspection la décomposition d’une table <strong>de</strong><br />

<strong>décision</strong>.<br />

11 Consoli<strong>de</strong>r une table <strong>de</strong> <strong>décision</strong><br />

Une table <strong>de</strong> <strong>décision</strong> est dite « consolidée » ou correctement élaborée lorsque :<br />

• <strong>Les</strong> conditions sont sans redondance.<br />

• <strong>Les</strong> actions sont sans redondance.<br />

• <strong>Les</strong> règles sont sans redondance.<br />

• Elle est complète.<br />

• <strong>Les</strong> conditions, actions et règles sont minimisées.<br />

Cours <strong>de</strong> modélisation 2005/2006<br />

http://lgl.isnetne.ch/mo<strong>de</strong>lisation-2005<br />

50. <strong>Les</strong> <strong>tables</strong> <strong>de</strong> <strong>décision</strong><br />

23/39<br />

26.11.2007/ P-A. Sunier<br />

http://lgl.isnetne.ch


12 Recherche et élimination <strong>de</strong>s redondances <strong>de</strong>s actions<br />

Une action est redondante lorsqu’elle n’est utilisée par aucune règle.<br />

Une action redondante doit être éliminée <strong>de</strong> la table <strong>de</strong> <strong>décision</strong>.<br />

TD – R1 R2 R3 R4<br />

C1 Condition 1 O O O N<br />

C2 Condition 2 O O N N<br />

C3 Condition 3 O N - -<br />

A1 Action 1 X X<br />

A2 Action 2 X X<br />

A3 Action 3<br />

A4 Action 4 X<br />

Figure 28 – Action redondante<br />

L’action A3 <strong>de</strong> la table <strong>de</strong> <strong>décision</strong> <strong>de</strong> la Figure 28 doit être éliminée ; l’action A4 <strong>de</strong>vient A3.<br />

Cours <strong>de</strong> modélisation 2005/2006<br />

http://lgl.isnetne.ch/mo<strong>de</strong>lisation-2005<br />

50. <strong>Les</strong> <strong>tables</strong> <strong>de</strong> <strong>décision</strong><br />

24/39<br />

26.11.2007/ P-A. Sunier<br />

http://lgl.isnetne.ch


13 Recherche et élimination <strong>de</strong>s redondances <strong>de</strong>s<br />

conditions<br />

Une condition est redondante lorsqu’elle n’influence pas le choix <strong>de</strong>s actions ; une condition<br />

redondante ne possè<strong>de</strong> que <strong>de</strong>s indicateurs indifférents.<br />

Une condition redondante doit être éliminée <strong>de</strong> la table <strong>de</strong> <strong>décision</strong>.<br />

TD – R1 R2 R3 R4<br />

C1 Condition 1 O O O N<br />

C2 Condition 2 O O N N<br />

C3 Condition 3 O N O -<br />

C4 Condition 4 - - - -<br />

A1 Action 1 X X<br />

A2 Action 2 X X X<br />

A3 Action 3 X<br />

Figure 29 – Condition redondante<br />

La condition C4 <strong>de</strong> la table <strong>de</strong> <strong>décision</strong> <strong>de</strong> la Figure 28 doit être éliminée.<br />

Cours <strong>de</strong> modélisation 2005/2006<br />

http://lgl.isnetne.ch/mo<strong>de</strong>lisation-2005<br />

50. <strong>Les</strong> <strong>tables</strong> <strong>de</strong> <strong>décision</strong><br />

25/39<br />

26.11.2007/ P-A. Sunier<br />

http://lgl.isnetne.ch


14 Recherche <strong>de</strong>s redondances <strong>de</strong> règles<br />

Une règle est redondante lorsqu’elle couvre un cas déjà couvert par une autre règle.<br />

Une telle situation peut représenter une erreur <strong>de</strong> logique ou une situation définie plusieurs<br />

fois.<br />

TD – R1 R2 R3<br />

C1 Condition 1 N N O<br />

C2 Condition 2 O - O<br />

C3 Condition 3 N N -<br />

A1 Action 1 X X<br />

A2 Action 2 X<br />

Figure 30 – Règles redondantes<br />

Il y a redondance entre les règles R1 et R2 <strong>de</strong> la Figure 30; en effet, en décomposant la règle<br />

R2 en <strong>de</strong>ux règles simples R2a et R2b (Figure 31), nous pouvons constater que R1 et R2a sont<br />

i<strong>de</strong>ntiques.<br />

TD – R1<br />

R2a<br />

R2<br />

R2b<br />

C1 Condition 1 N N N O<br />

C2 Condition 2 O O N O<br />

C3 Condition 3 N N N -<br />

Figure 31 – Equivalences <strong>de</strong> règles simples<br />

Toute redondance <strong>de</strong> règles doit impérativement être détectée et corrigée.<br />

<strong>Les</strong> règles redondantes peuvent être détectées à l’ai<strong>de</strong> <strong>de</strong> <strong>tables</strong> standards ou par confrontation<br />

<strong>de</strong> règles.<br />

Cours <strong>de</strong> modélisation 2005/2006<br />

http://lgl.isnetne.ch/mo<strong>de</strong>lisation-2005<br />

50. <strong>Les</strong> <strong>tables</strong> <strong>de</strong> <strong>décision</strong><br />

26/39<br />

R3<br />

26.11.2007/ P-A. Sunier<br />

http://lgl.isnetne.ch


14.1.1 Détection à l’ai<strong>de</strong> <strong>de</strong>s <strong>tables</strong> standards<br />

La table à consoli<strong>de</strong>r est reproduite sous forme d’une table standard ; ensuite, les règles <strong>de</strong> la<br />

table à consoli<strong>de</strong>r sont mises en relation avec l’ensemble <strong>de</strong>s règles <strong>de</strong> la table standard. Il y a<br />

redondance si une règle <strong>de</strong> la table standard correspond à plus d’une règle <strong>de</strong> la table à<br />

consoli<strong>de</strong>r.<br />

TD – R1 R2 R3 R4 R5<br />

C1 Condition 1 O O O N N<br />

C2 Condition 2 O O N O -<br />

C3 Condition 3 - N - - -<br />

C3 Condition 4 - N - - -<br />

A1 Action 1 X X X<br />

A2 Action 2 X X X X<br />

A3 Action 3 X X X X<br />

Cours <strong>de</strong> modélisation 2005/2006<br />

http://lgl.isnetne.ch/mo<strong>de</strong>lisation-2005<br />

Figure 32 – Exemple <strong>de</strong> table à consoli<strong>de</strong>r<br />

TD – R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16<br />

C1 Condition 1 O O O O O O O O N N N N N N N N<br />

C2 Condition 2 O O O O N N N N O O O O N N N N<br />

C3 Condition 3 O O N N O O N N O O N N O O N N<br />

C4 Condition 4 O N O N O N O N O N O N O N O N<br />

Règles<br />

correspondantes<br />

<strong>de</strong> la table à<br />

consoli<strong>de</strong>r<br />

1 1 1 1<br />

2<br />

3 3 3 3 4<br />

5<br />

Figure 33 – Mise en évi<strong>de</strong>nce <strong>de</strong>s règles redondantes<br />

50. <strong>Les</strong> <strong>tables</strong> <strong>de</strong> <strong>décision</strong><br />

27/39<br />

4<br />

5<br />

4<br />

5<br />

4<br />

5<br />

5 5 5 5<br />

Nous pouvons observer dans la Figure 33, qu’il y a redondance entre les règles R1 et R2 ainsi<br />

qu’entre les règles R4 et R5 <strong>de</strong> la table à consoli<strong>de</strong>r <strong>de</strong> la Figure 32.<br />

26.11.2007/ P-A. Sunier<br />

http://lgl.isnetne.ch


14.1.2 Détection par confrontation <strong>de</strong> règles<br />

Chaque couple <strong>de</strong> règles, prises <strong>de</strong>ux à <strong>de</strong>ux, doit avoir au moins un indicateur <strong>de</strong> condition<br />

différent.<br />

Lorsque l’on parle d’indicateur différent, il faut exclure l’indicateur indifférent (-) qui<br />

représente toutes les formes possibles.<br />

TD – R1 R2 R3 R4 R5<br />

C1 Condition 1 O O O N N<br />

C2 Condition 2 O O N O -<br />

C3 Condition 3 - N - - -<br />

C3 Condition 4 - N - - -<br />

Confrontation <strong>de</strong> R1<br />

Confrontation <strong>de</strong> R2<br />

Confrontation <strong>de</strong> R3<br />

Confrontation <strong>de</strong> R4<br />

Figure 34 – Exemple <strong>de</strong> table à consoli<strong>de</strong>r<br />

Comme précé<strong>de</strong>mment, nous trouvons une redondance entre les règles R1 et R2 ainsi qu’entre<br />

les règles R4 et R5.<br />

Cours <strong>de</strong> modélisation 2005/2006<br />

http://lgl.isnetne.ch/mo<strong>de</strong>lisation-2005<br />

R<br />

50. <strong>Les</strong> <strong>tables</strong> <strong>de</strong> <strong>décision</strong><br />

28/39<br />

R<br />

26.11.2007/ P-A. Sunier<br />

http://lgl.isnetne.ch


15 Redondances <strong>de</strong> règles avec ou sans contradiction<br />

Une redondance est dite sans contradiction si les règles qui engendrent la redondance<br />

conduisent au même jeu d’actions.<br />

Une redondance est dite avec contradiction si les règles qui engendrent la redondance ne<br />

conduisent pas au même jeu d’actions.<br />

En cas <strong>de</strong> redondance avec contradiction, il faut reprendre l’étu<strong>de</strong> du problème car, il s’agit<br />

d’une erreur <strong>de</strong> logique; la contradiction doit impérativement être éliminée.<br />

TD – R1 R2 R3 R4 R5 R6 R7 R8 R9<br />

C1 Condition 1 O O O O O O N N N<br />

C2 Condition 2 - O O N N N - O N<br />

C3 Condition 3 O - - O N - O O -<br />

C4 Condition 4 O N N - N O O N -<br />

C5 Condition 5 N N O O - O - - -<br />

A1 Action 1 X X X X X X<br />

A2 Action 2 X X X X<br />

A3 Action 3 X X X<br />

A4 Action 4 X X X X X<br />

Figure 35 – Exemple <strong>de</strong> redondances<br />

1) Il y a redondance avec contradiction entre les règles R4 et R6.<br />

La logique <strong>de</strong> la table ou <strong>de</strong>s règles R4 et R6 doit être corrigée.<br />

2) Il y a redondance sans contradiction entre les règles R7 et R9.<br />

La redondance doit être éliminée.<br />

Cours <strong>de</strong> modélisation 2005/2006<br />

http://lgl.isnetne.ch/mo<strong>de</strong>lisation-2005<br />

50. <strong>Les</strong> <strong>tables</strong> <strong>de</strong> <strong>décision</strong><br />

29/39<br />

1 2<br />

26.11.2007/ P-A. Sunier<br />

http://lgl.isnetne.ch


16 Elimination <strong>de</strong>s redondances <strong>de</strong> règles sans<br />

contradiction<br />

16.1 Inclusion<br />

Une règle est incluse dans une autre lorsque les conditions se différentient seulement par un<br />

ou plusieurs indicateurs d’indifférence (-).<br />

Pour éliminer la redondance, il faut supprimer la règle incluse.<br />

TD – R1 R2 R3 R4<br />

C1 Condition 1 O N N N<br />

C2 Condition 2 - O O N<br />

C3 Condition 3 - - O N<br />

A1 Action 1 X<br />

A2 Action 2 X X<br />

A3 Action 3 X<br />

Figure 36 – Règle incluse dans une autre<br />

TD – R1<br />

R2a<br />

R2<br />

R2b<br />

R3 R4<br />

C1 Condition 1 O N N N N<br />

C2 Condition 2 - O O O N<br />

C3 Condition 3 - O N O N<br />

Figure 37 – Inclusion <strong>de</strong> R3 dans R2 (R3 = R2a)<br />

Cours <strong>de</strong> modélisation 2005/2006<br />

http://lgl.isnetne.ch/mo<strong>de</strong>lisation-2005<br />

La règle R3 <strong>de</strong> la figure 36 est incluse dans la règle<br />

R2; la règle R3 doit donc être éliminée <strong>de</strong> la table.<br />

50. <strong>Les</strong> <strong>tables</strong> <strong>de</strong> <strong>décision</strong><br />

30/39<br />

26.11.2007/ P-A. Sunier<br />

http://lgl.isnetne.ch


Après élimination <strong>de</strong> la redondance, la règle R4 <strong>de</strong> la table <strong>de</strong> <strong>décision</strong> <strong>de</strong> la Figure 36<br />

<strong>de</strong>vient la règle R3 <strong>de</strong> la table sans redondance<br />

TD – R1 R2 R3<br />

C1 Condition 1 O N N<br />

C2 Condition 2 - O N<br />

C3 Condition 3 - - N<br />

A1 Action 1 X<br />

A2 Action 2 X<br />

A3 Action 3 X<br />

Figure 38 – Suppression <strong>de</strong> la redondance <strong>de</strong> la Figure 36<br />

16.2 Intersection<br />

Deux règles complexes sont dans un rapport d’intersection lorsqu’une ou plusieurs règles<br />

simples sont représentées par les <strong>de</strong>ux règles.<br />

Pour éliminer la redondance, il faut supprimer la ou les règles simples qui représentent cette<br />

intersection, Cela conduit, en général, à décomposer une règle complexe en plusieurs règles<br />

simples ou complexes.<br />

TD – R1 R2 R3 R4 R5<br />

C1 Condition 1 N O O O -<br />

C2 Condition 2 - N O N O<br />

C3 Condition 3 - O N N O<br />

A1 Action 1 X X<br />

A2 Action 2 X X<br />

A3 Action 3 X<br />

A4 Action 4 X X<br />

Figure 39 – Rapport d’intersection entre <strong>de</strong>ux règles complexes<br />

Cours <strong>de</strong> modélisation 2005/2006<br />

http://lgl.isnetne.ch/mo<strong>de</strong>lisation-2005<br />

50. <strong>Les</strong> <strong>tables</strong> <strong>de</strong> <strong>décision</strong><br />

31/39<br />

26.11.2007/ P-A. Sunier<br />

http://lgl.isnetne.ch


TD – R1 R2 R3 R4 R5<br />

R1a R1b R1c R1d R5a R5b<br />

C1 Condition 1 N N N N O O O O N<br />

C2 Condition 2 O O N N N O N O O<br />

C3 Condition 3 O N O N O N N O O<br />

Figure 40 – Intersection entre R1 et R5 (R1a = R5b)<br />

<strong>Les</strong> <strong>de</strong>ux règles simples R1a et R5b<br />

représentent l’intersection. Pour éliminer la<br />

redondance, nous supprimons la règle<br />

simple R5b <strong>de</strong> la règle complexe R5 ; en<br />

finalité, la règle R5 est constituée <strong>de</strong> la<br />

seule règle simple R5a.<br />

Après élimination <strong>de</strong> la redondance, la règle complexe R5 <strong>de</strong> la table <strong>de</strong> <strong>décision</strong> <strong>de</strong> la Figure<br />

39 est <strong>de</strong>venue une règle simple <strong>de</strong> la table sans redondance <strong>de</strong> la Figure 41.<br />

TD – R1 R2 R3 R4 R5<br />

C1 Condition 1 N O O O O<br />

C2 Condition 2 - N O N O<br />

C3 Condition 3 - O N N O<br />

A1 Action 1 X X<br />

A2 Action 2 X X<br />

A3 Action 3 X<br />

A4 Action 4 X X<br />

Figure 41 – Suppression <strong>de</strong> la redondance <strong>de</strong> la Figure 39<br />

Cours <strong>de</strong> modélisation 2005/2006<br />

http://lgl.isnetne.ch/mo<strong>de</strong>lisation-2005<br />

50. <strong>Les</strong> <strong>tables</strong> <strong>de</strong> <strong>décision</strong><br />

32/39<br />

26.11.2007/ P-A. Sunier<br />

http://lgl.isnetne.ch


17 Vérification <strong>de</strong> la complétion<br />

Lorsque les redondances <strong>de</strong> conditions, d’actions et <strong>de</strong> règles d’une table <strong>de</strong> <strong>décision</strong> sont<br />

éliminées, il faut encore nous assurer que toutes les règles simples que l’on peut déduire <strong>de</strong>s<br />

conditions soient présentes dans la table.<br />

Ce contrôle <strong>de</strong> complétion peut se faire <strong>de</strong> <strong>de</strong>ux manières :<br />

• en calculant le nombre maximum <strong>de</strong> règles simples à partir <strong>de</strong>s conditions et le<br />

nombre <strong>de</strong> règles simples figurant dans la table;<br />

• par l’intermédiaire d’une table standard; cette solution doit être privilégiée car, elle<br />

fournit immédiatement les règles manquantes.<br />

Remarque: La vérification <strong>de</strong> complétion ne doit se faire que pour autant qu’il n’y ait pas <strong>de</strong><br />

règle ELSE dans la table.<br />

TD – R1 R2 R3 R4<br />

C1 Condition 1 O O O N<br />

C2 Condition 2 O O N -<br />

C3 Condition 3 - N O -<br />

C4 Condition 4 N O - -<br />

A1 Action 1 X X X<br />

A2 Action 2 X X X<br />

A3 Action 3 X X X<br />

Figure 42 – Exemple <strong>de</strong> table pour la vérification <strong>de</strong> complétion<br />

Cours <strong>de</strong> modélisation 2005/2006<br />

http://lgl.isnetne.ch/mo<strong>de</strong>lisation-2005<br />

50. <strong>Les</strong> <strong>tables</strong> <strong>de</strong> <strong>décision</strong><br />

33/39<br />

26.11.2007/ P-A. Sunier<br />

http://lgl.isnetne.ch


17.1 Calcul du nombre <strong>de</strong> règles<br />

Pour rappel (chapitre 7.1), le nombre maximal <strong>de</strong> règles simples déductible <strong>de</strong>s conditions<br />

d’entrée s’obtient par la formule générale:<br />

NbMax = F * F<br />

1 2 * … * Fi * … * Fn<br />

Fi est le nombre d’entrée <strong>de</strong> chacune <strong>de</strong>s conditions<br />

ou par la formule spécifique aux <strong>tables</strong> à entrées limitées :<br />

NbMax = 2 n<br />

Pour rappel (chapitre 7.3), le nombre <strong>de</strong> règles simples figurant dans une table s’obtient par la<br />

formule générale:<br />

NbRS = RS + RS<br />

1 2 + … + RSi + … + RSn<br />

RSi est le nombre <strong>de</strong> règles simples contenues dans chaque règle<br />

Le nombre maximal <strong>de</strong> règles simples déductible <strong>de</strong>s conditions<br />

d’entrée est <strong>de</strong> :<br />

NbMax = 2 4 = 16<br />

Le nombre <strong>de</strong> règle simples figurant dans la table est <strong>de</strong> :<br />

NbRS = RS 1 + RS2<br />

+ RS 3 + RS4<br />

= 2 + 1 + 2 + 8<br />

NbRS =13<br />

La vérification <strong>de</strong> complétion nous montre qu’il manque 3 règles :<br />

Règles manquantes = NbMax – NbRS<br />

= 16 -13<br />

Règles manquantes = 3<br />

Figure 43 – Vérification <strong>de</strong> complétion pour la table <strong>de</strong> la Figure 42<br />

Cours <strong>de</strong> modélisation 2005/2006<br />

http://lgl.isnetne.ch/mo<strong>de</strong>lisation-2005<br />

50. <strong>Les</strong> <strong>tables</strong> <strong>de</strong> <strong>décision</strong><br />

34/39<br />

26.11.2007/ P-A. Sunier<br />

http://lgl.isnetne.ch


17.2 Utilisation d’une table standard<br />

Pour rappel (chapitre 9), une table standard:<br />

• est formellement complète;<br />

• est composée <strong>de</strong> règles simples;<br />

• affiche ses règles <strong>de</strong> manière systématique.<br />

Pour vérifier la complétion d’une table, nous créons une table standard à partir <strong>de</strong>s entrées <strong>de</strong><br />

la table à vérifier; ensuite, nous établissons la correspondance entre les règles <strong>de</strong>ux <strong>tables</strong>.<br />

TD – R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16<br />

C1 Condition 1 O O O O O O O O N N N N N N N N<br />

C2 Condition 2 O O O O N N N N O O O O N N N N<br />

C3 Condition 3 O O N N O O N N O O N N O O N N<br />

C4 Condition 4 O N O N O N O N O N O N O N O N<br />

Règle<br />

correspondante <strong>de</strong><br />

la table à vérifier<br />

1 2 1 3 3 4 4 4 4 4 4 4 4<br />

Figure 44 – Vérification <strong>de</strong> la complétion pour la table <strong>de</strong> la Figure 42<br />

Comme précé<strong>de</strong>mment, nous constatons qu’il manque 3 règles; toutefois, avec cette métho<strong>de</strong>,<br />

nous disposons directement <strong>de</strong> la forme (indicateurs <strong>de</strong> conditions) <strong>de</strong>s règles manquantes.<br />

Cours <strong>de</strong> modélisation 2005/2006<br />

http://lgl.isnetne.ch/mo<strong>de</strong>lisation-2005<br />

50. <strong>Les</strong> <strong>tables</strong> <strong>de</strong> <strong>décision</strong><br />

35/39<br />

26.11.2007/ P-A. Sunier<br />

http://lgl.isnetne.ch


18 Minimisation <strong>de</strong>s <strong>tables</strong> <strong>de</strong> <strong>décision</strong><br />

La minimisation d’une table <strong>de</strong> <strong>décision</strong> consiste, lorsque cela est possible, à :<br />

• réduire le nombre <strong>de</strong> conditions. <strong>Les</strong> conditions limitées sont regroupées au sein <strong>de</strong><br />

conditions étendues;<br />

• réduire le nombre d’actions. <strong>Les</strong> actions limitées sont regroupées au sein d’actions<br />

étendues;<br />

• réduire le nombre <strong>de</strong> règles. <strong>Les</strong> règles simples sont transformées en règles complexes.<br />

18.1 Minimisation <strong>de</strong>s conditions<br />

Pour effectuer cette minimisation, sans altérer la logique <strong>de</strong> la table <strong>de</strong> <strong>décision</strong>, il faut que<br />

chaque règle ne possè<strong>de</strong> qu’une seule fois l’indicateur oui (O) pour l’ensemble <strong>de</strong>s conditions<br />

limitées qui seront regroupées dans une condition étendue.<br />

TD – Avant minimisation R1 R2 R3 R4 R5 R6<br />

C1 Couleur 1 O O N N N N<br />

C2 Couleur 2 N N O O N N<br />

C3 Couleur 3 N N N N O O<br />

C4 Type A O N N N N N<br />

C5 Type B N O N N O N<br />

C6 Type C N N O N N N<br />

C7 Type D N N N O N O<br />

TD – Après minimisation R1 R2 R3 R4 R5 R6<br />

C1 Couleur 1 1 2 2 3 3<br />

C2 Type A B C D B D<br />

Figure 45 – Exemple <strong>de</strong> minimisation <strong>de</strong> conditions<br />

A propos <strong>de</strong> la Figure 45 :<br />

• <strong>Les</strong> conditions limitées C1, C2 et C3 peuvent être regroupées dans une nouvelle<br />

condition étendue Couleur car, chaque règle ne comporte qu’un seul indicateur O<br />

pour ce groupe <strong>de</strong> conditions.<br />

• Il en est <strong>de</strong> même pour C4, C5 , C6 et C7 regroupées dans une nouvelle condition<br />

étendue Type.<br />

Cours <strong>de</strong> modélisation 2005/2006<br />

http://lgl.isnetne.ch/mo<strong>de</strong>lisation-2005<br />

50. <strong>Les</strong> <strong>tables</strong> <strong>de</strong> <strong>décision</strong><br />

36/39<br />

26.11.2007/ P-A. Sunier<br />

http://lgl.isnetne.ch


18.2 Minimisation <strong>de</strong>s actions<br />

Pour effectuer cette minimisation, sans altérer la logique <strong>de</strong> la table <strong>de</strong> <strong>décision</strong>, il faut que<br />

chaque règle ne possè<strong>de</strong> qu’une seule action (X) pour l’ensemble <strong>de</strong>s actions limitées qui<br />

seront regroupées dans une action étendue.<br />

TD – Avant minimisation R1 R2 R3 R4 R5 R6<br />

C1 Condition 1 O O O O O N<br />

C2 Condition 2 O O O O N -<br />

C3 Condition 3 O O N N - -<br />

C4 Condition 4 O N O N - -<br />

A1 Additionner 10 X X<br />

A2 Additionner 20 X<br />

A3 Additionner 30 X X<br />

A4 Additionner 40 X<br />

A5 Aller à TD3 X<br />

A6 Aller à TD4 X X<br />

A7 Aller à TD5 X<br />

A8 Aller à TD6 X X<br />

Actions après minimisation R1 R2 R3 R4 R5 R6<br />

A1 Additionner 10 30 10 30 20 40<br />

A2 Aller à TD 3 4 6 5 4 6<br />

Figure 46 – Exemple <strong>de</strong> minimisation d’actions<br />

A propos <strong>de</strong> la Figure 46 :<br />

• <strong>Les</strong> actions limitées A1, A2, A3 et A4 peuvent être regroupées dans une nouvelle<br />

action étendue Additionner car, chaque règle ne comporte qu’un seul indicateur X<br />

pour ce groupe d’actions.<br />

• Il en est <strong>de</strong> même pour A5, A6, A7 et A8 regroupées dans une nouvelle action<br />

étendue Aller à TD.<br />

Cours <strong>de</strong> modélisation 2005/2006<br />

http://lgl.isnetne.ch/mo<strong>de</strong>lisation-2005<br />

50. <strong>Les</strong> <strong>tables</strong> <strong>de</strong> <strong>décision</strong><br />

37/39<br />

26.11.2007/ P-A. Sunier<br />

http://lgl.isnetne.ch


18.3 Minimisation <strong>de</strong>s règles<br />

Pour effectuer cette minimisation, sans altérer la logique <strong>de</strong> la table <strong>de</strong> <strong>décision</strong>, il faut que les<br />

règles complexes conduisent exactement aux mêmes actions que chacune <strong>de</strong>s règles simples à<br />

partir <strong>de</strong>squelles elles ont été élaborées.<br />

TD – Avant minimisation R1 R2 R3 R4 R5 R6 R7 R8<br />

C1 Condition 1 O O O O N N N N<br />

C2 Condition 2 O O N N O O N N<br />

C3 Condition 3 O N O N O N O N<br />

A1 Action 1 X X X<br />

A2 Action 2 X X X X X X X<br />

Règles complexes R1 R2 R3 R4<br />

TD – Après minimisation R1 R2 R3 R4<br />

C1 Condition 1 O O O N<br />

C2 Condition 2 O N N -<br />

C3 Condition 3 - O N -<br />

A1 Action 1 X X<br />

A2 Action 2 X X X<br />

Cours <strong>de</strong> modélisation 2005/2006<br />

http://lgl.isnetne.ch/mo<strong>de</strong>lisation-2005<br />

Figure 47 – Exemple <strong>de</strong> minimisation <strong>de</strong> règles<br />

50. <strong>Les</strong> <strong>tables</strong> <strong>de</strong> <strong>décision</strong><br />

38/39<br />

26.11.2007/ P-A. Sunier<br />

http://lgl.isnetne.ch


19 Références bibliographiques<br />

Mes remerciements sincères à Michel Kaeser dont j’ai repris intégralement le fil rouge du<br />

chapitre <strong>Les</strong> <strong>tables</strong> <strong>de</strong> <strong>décision</strong> [1] <strong>de</strong> l’excellent cours d’analyse qu’il avait créé en 1985 pour<br />

la formation <strong>de</strong> programmeur au CPLN.<br />

[1] <strong>Les</strong> <strong>tables</strong> <strong>de</strong> <strong>décision</strong><br />

Michel Kaeser, 1985, CPLN<br />

[2] Cours <strong>de</strong> méthodologie HES – 2005<br />

P.-A. Sunier<br />

http://lgl.isnetne.ch/mo<strong>de</strong>lisation-2005<br />

[3] Cours <strong>de</strong> méthodologie HES – 2005<br />

P.-A. Sunier<br />

http://lgl.isnetne.ch/methodologie-2005HES<br />

[4] <strong>Les</strong> <strong>tables</strong> <strong>de</strong> <strong>décision</strong><br />

Jean-Pierre Cap, 2000, ESNIG<br />

[5] [SJB-02]<br />

Analyse et conception <strong>de</strong> systèmes d’information<br />

Satzinger et consorts, Editions Reynald, 2002<br />

http://lgl.isnetne.ch/AnaConSI<br />

[6] Table <strong>de</strong> <strong>décision</strong><br />

http://www.dmi.usherb.ca/~frappier/igl301/TableDeD%E9cision.ppt<br />

Cours <strong>de</strong> modélisation 2005/2006<br />

http://lgl.isnetne.ch/mo<strong>de</strong>lisation-2005<br />

50. <strong>Les</strong> <strong>tables</strong> <strong>de</strong> <strong>décision</strong><br />

39/39<br />

26.11.2007/ P-A. Sunier<br />

http://lgl.isnetne.ch

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!