Vous êtes sur la page 1sur 64

I.N.S.

A de Lyon
Dpartement Informatique

Rapport de D.E.A
(Ingnierie Informatique)
Juillet 1992

Stage effectu au Dpartement Stratgie du Dveloppement


(Equipe Ingnierie de l'Environnement)
Ecole Nationale Suprieure des Mines de Saint-Etienne

Les rseaux de neurones comme outils d'aide la


dcision floue

Professeur responsable : Albert MATHON


Candidat: Kary FRMLING

Jury: Frdrique BIENNIER


Didier GRAILLOT
Albert MATHON
Patrick PREVOT

Prface
Ce travail a t fait dans le cadre du diplme d'tudes approfondies (D.E.A.) du
dpartement d'ingnierie informatique l'Institut National de Sciences Appliques
(I.N.S.A) de Lyon. Le stage pratique a t effectu au dpartement "Stratgie du
Dveloppement" (STRAD) l'Ecole Nationale Suprieure des Mines de SaintEtienne.
Je tiens exprimer mes vifs remerciements tous les membres du dpartement
STRAD, qui ont cr une ambiance trs favorable pour ce travail. Notamment
l'aide et les commentaires de D. Graillot et P. Beaune ont t d'une grande valeur
au cours du travail.
Je remercie galement F. Biennier pour le temps consacr aux discussions
autour de ce travail: elle m'a fait profiter de ses expriences notamment dans le
domaine de rseaux de neurones.
A. Mathon est galement remerci pour accepter le statut de directeur de
recherche de ce travail, aussi bien que P. Prvot pour m'accueillir l'I.N.S.A pour
ce D.E.A.

Saint-Etienne le 2 juillet 1992

Kary Frmling

Rsum
Ce travail de D.E.A. s'intresse l'utilisation des rseaux de neurones dans le
domaine de l'aide la dcision multicritre.
Une mthode pour transformer des systmes d'analyse multicritre traditionnels
qui utilisent des pondrations et des hirarchies de concepts dcomposs
(mronomies) dans un rseau de neurones multicouche de type rtro propagation a
t dveloppe. Le fonctionnement de cette mthode a t vrifi en utilisant le
simulateur de rseaux de neurones dvelopp au cours de ce travail.
Les problmes d'explications en utilisant des rseaux de neurones sont
galement une partie importante du travail. Une approche pour donner des
explications fondes sur l'importance, l'influence et le classement des valeurs des
critres du systme d'aide la dcision est propose pour rsoudre ce problme.

Table de matires
1. Introduction ...................................................................................................................1
1.1. Gnralits......................................................................................................1
1.2. Les buts du travail ..........................................................................................2
1.3. La structure du rapport ...................................................................................3
2. Les mthodes d'aide la dcision multicritre utilisant des pondrations....................4
2.1. La mthode de hirarchisation multicritre....................................................4
2.2. Les mthodes Electre .....................................................................................6
2.2.1. Electre I ...........................................................................................6
3. Les systmes experts base de rgles de production....................................................8
3.1. Les points forts et faibles des systmes experts dans l'aide la
dcision ......................................................................................................................8
4. Les coefficients de certitude et la logique floue ...........................................................10
4.1. Calculs d'incertitude .......................................................................................10
4.1.1. La rgle de Bayes ............................................................................11
4.1.2. Les ensembles flous.........................................................................11
5. L'apprentissage automatique .........................................................................................13
5.1. Apprentissage symbolique automatique.........................................................13
5.2. L'analyse de donnes et le lissage ..................................................................14
6. Les rseaux de neurones................................................................................................15
6.1. Le neurone artificiel .......................................................................................15
6.2. Proprits de rseaux de neurones .................................................................17
6.3. Apprentissage .................................................................................................18
6.3.1. L'apprentissage de Widrow-Hoff ....................................................18
6.4. Les diffrents types de rseaux de neurones ..................................................19
6.5. Le rseau de rtro propagation .......................................................................20
7. Simulateur de rseaux de neurones en C++ ..................................................................23
7.1. La philosophie du simulateur - avantages de l'approche objet.......................23

ii
7.2. Oprations possibles.......................................................................................24
7.3. Les formats de sauvegarde .............................................................................26
7.4. Conclusions ....................................................................................................27
8. Coefficients de certitude et rseaux de neurones ..........................................................28
8.1. Transformation d'un calcul hirarchis dans un rseau de
neurones multicouche ................................................................................................29
8.2. La transformation inverse rseau neuronal vers coefficients de
certitude......................................................................................................................35
9. Explicabilit ..................................................................................................................36
9.1. Explicabilit avec les mthodes d'aide la dcision
multicritre et les systmes experts............................................................................36
9.2. Importance......................................................................................................36
9.2.1. Importance statique .........................................................................37
9.2.2. Importance dynamique ....................................................................38
9.3. Influence.........................................................................................................39
9.4. Classification des valeurs ...............................................................................40
9.5. Combinaison des critres dans des "concepts intermdiaires".......................41
9.5.1. L'importance combine ...................................................................42
9.5.2. L'influence combine.......................................................................42
9.5.3. La classification des valeurs combines..........................................42
10. Exemple: choix d'un site de stockage de dchets........................................................43
10.1. Un exemple d'une hirarchie pondre ........................................................43
10.2. Traduction en rseau de neurones ................................................................44
10.3. Conclusions ..................................................................................................44
11. Dveloppements envisageables...................................................................................46
11.1. Dveloppement des outils ............................................................................46
11.2. Utilisation d'autres types et configurations de rseaux de
neurones .....................................................................................................................46
11.3. Intgration avec un systme d'aide la dcision rel...................................48
12. Conclusions .................................................................................................................49

iii
Bibliographie.....................................................................................................................50
Annexe 1. Les classes du simulateur des RN....................................................................1
Annexe 2. Exemple du format de sauvegarde...................................................................1

1. Introduction
Ce travail s'intresse aux problmes des outils informatiques d'aide la
dcision. Ce domaine est trs grand et il existe une grande gamme de
mthodologies diffrentes, utilisant des rgles, des pondrations, des coefficients
de certitude .... Malheureusement, ces techniques ne sont pas assez puissantes pour
rsoudre tous les problmes.
Pour amliorer les techniques existantes une technique supplmentaire a t
tudie: les rseaux de neurones. Le but de ce travail est ainsi de trouver jusqu'
quel degr il est possible et utile de remplacer les outils existants par des rseaux
de neurones. La possibilit de combiner des outils diffrents est aussi tudie.
1.1. Gnralits
Notre monde qui devient toujours plus complexe donne parfois des problmes
qui dpassent la capacit intellectuelle de l'tre humain et le rend ainsi incapable de
prendre des bonnes dcisions. Ces problmes peuvent se produire dans des
systmes crs par l'humain lui-mme comme les systmes de production. Les
problmes les plus difficiles se posent nanmoins avant tout dans les systmes
naturels, qui ne sont ni crs ni vraiment contrlables par les humains.
Cette insuffisance de l'tre humain et la ncessit de prendre de plus en plus de
dcisions dans ces domaines demandent un dveloppement des outils qui peuvent
aider comprendre ces systmes, aussi bien qu'aider prendre les bonnes
dcisions.
Une approche utilise jusqu' maintenant est le systme expert. Les premiers
vrais systmes experts ont t dvelopps dans les annes soixante-dix dans les
Etats-Unis [Shortliffe, 1976]. Le principe de cette approche est de demander un
(ou plusieurs) experts de donner des rgles qui dcrivent sa faon de prendre ses
dcisions. Les systmes experts ont eu beaucoup de succs, mais sans jamais
atteindre la popularit attendue. Cet effet est avant tout d au fameux goulot
d'tranglement [Beaune, 1992], qui se rsulte de la difficult de l'expert exprimer
sa connaissance.
Une autre approche est celle des outils qui se fondent sur des pondrations des
importances de diffrents critres pour donner une note finale chaque solution
possible [Stemplowski, 1990]. Malheureusement cette approche souffre du mme
problme que les systmes experts (i.e. comment trouver les bonnes pondrations

2
[Rey et al., 1988]) et comment trouver les bons oprateurs qui permettront de
combiner ces pondrations.
La combinaison des systmes experts et des pondrations donne un systme
expert flou, o les pondrations sont normalement appeles coefficients de
certitude. Ces systmes experts flous utilisent une logique appele "logique floue"
[Zadeh, 1975]. La logique floue s'est avre trs puissante dans plusieurs domaines
d'application, notamment le contrle en temps rel [Catherin, 1991].
Toutes ces mthodologies se fondent sur l'ide de trouver un (ou plusieurs)
expert qui est capable de donner les bonnes rgles et pondrations.
Malheureusement, il semble que cette approche n'est pas suffisante pour la plupart
des problmes rels [Dreyfus, 1991]. L'apprentissage symbolique automatique
utilisant avant tout la technique d'induction a t utilise pour rsoudre ce
problme, mais sans vraiment beaucoup de succs industriels encore [Kodratoff &
Michalski, 1990].
1.2. Les buts du travail
Les rseaux de neurones sont une technique qui permet de faire un
apprentissage plutt numrique que symbolique et qui se fonde plutt sur
l'arithmtique que sur la logique (rgles de production). Ils ont t utiliss avant
tout pour les tches de reconnaissance de formes, reconnaissance de parole,
optimisation etc., mais leurs capacits d'apprentissage les rendent intressants dans
le domaine de l'aide la dcision aussi.
La premire tape de ce travail sera de proposer une faon mthodique pour
transformer un calcul des coefficients de certitude dans un rseau de neurones
correspondant. Cette transformation permet d'obtenir un rseau de neurones bien
initialis qui peut faire le mme travail que le systme de dpart, mais qui est
ensuite capable de faire de l'apprentissage partir d'exemples rels, ce qui permet
une adaptation automatique pour obtenir des rgles et des pondrations qui
correspondent mieux la ralit que celles donnes par les experts.
La deuxime tape montre comment produire des explications sur les rsultats
obtenus avec un rseau de neurones. Les rseaux de neurones sont souvent vus
comme des "botes noires", qui produisent des rsultats qui sont impossibles
expliquer. L'approche utilise dans ce travail doit nanmoins tre capable de
donner des explications d'une qualit au moins aussi bonne que les mthodologies
existantes (systmes experts, analyse multicritre).

3
1.3. La structure du rapport
Ce rapport est divis en deux parties principales, la partie thorique et la partie
pratique. La partie thorique inclut les chapitres deux six et prsente les bases des
techniques discutes dans ce travail. La partie pratique inclut les chapitres sept
dix et prsente le travail effectu dans le cadre de ce DEA. Ces deux parties sont
ensuite suivies par le chapitre concernant les dveloppements envisageables. Ce
chapitre tente de donner des ides pour la suite de ce travail.

2. Les mthodes d'aide la dcision multicritre utilisant des


pondrations
Une mthode d'aide la dcision multicritre est dans ce chapitre considre
comme une mthode o il y a des pondrations ou d'autres moyens pour exprimer
l'importance de chaque critre.
La sortie (une ou plusieurs) peut tre une valeur numrique (souvent relle) qui
peut tre considre comme une note pour le jeu de valeurs d'entre. Les valeurs
d'entre sont diffrentes pour les choix possibles, ce qui permet de faire un tri entre
les choix utilisant les notes. Il est ainsi possible de trouver les N meilleurs
solutions. Une autre solution est obtenue avec les mthodes de surclassement, qui
donnent comme sortie un ensemble de choix qui sont considrs les meilleurs
considrant les critres donns, une fois que les autres choix ont t limins.
La mthode la plus facile de ce genre est la somme pondre. La sortie est
simplement la somme des toutes les valeurs (v) des critres multiplis par le poids
(p) du critre (formule 1).
somme _ pondre = p1v1 + p2 v2 +... + p N v N

(1)

Cette mthode est en faite souvent suffisante. Un inconvnient avec cette


mthode est que le poids de chaque critre est compltement indpendant des
valeurs d'autres critres, ce qui n'est pas toujours vrai pour le problmes rels. Un
autre inconvnient avec cette mthode est qu'il est difficile de prendre en compte
des valeurs liminatoires des critres (sauf comme des valeurs ngatives).
Ces insuffisances de la somme pondre ont ncessit le dveloppement d'autres
mthodes qui tentent de rsoudre ces problmes dans des faons diffrentes. Deux
d'entre elles qui ont t tudies sont prsentes dans les chapitres suivants. Une
discussion plus profonde sur le sujet se trouve dans [Rommel, 1989], o il se
trouve d'autres mthodologies possibles aussi.
2.1. La mthode de hirarchisation multicritre
L'hirarchisation multicritre est principalement issue des travaux de T. L.
Saaty [Saaty, 1984].
Cette technique permet de dfinir des arborescences hirarchiques de concepts
pondrs (mronomies, i.e. "part-whole hierarchies") comme dans la figure 1.

5
Voiture
Moteur
Accleration

Confort

Prix

Esthetique

Puissance

Figure 1. Hirarchie des concepts dans une voiture.


Chaque fils a un poids associ sa connexion avec le pre. La somme des
pondrations des fils du mme pre est toujours gal un. La sortie finale est ainsi
toujours entre zro et un.
Le calcul effectu pour obtenir la note finale est en fait une somme pondre,
mais la limitation des poids aux valeurs entre zro et un permet une hirarchisation
de n'importe quelle profondeur. Il est noter que les valeurs des variables sont
aussi comprises entre zro et un.
Un avantage majeur avec la mthodologie propose par Saaty est la faon de
saisir les poids. Les fils d'un mme pre sont pondrs deux deux, par exemple
en utilisant des histogrammes comme en figure 2.

Moteur Confort
Figure 2. Pondration de critres deux deux.
La pondration deux deux ne donne pas ncessairement des poids
compltement cohrents. Il est mme possible d'obtenir des situations o la
condition de transitivit (a<b & b<c => a<c) ne s'applique plus.
Si, par exemple, le poids du confort d'une voiture est plus grand que le poids de
la vitesse maximale et le poids de la couleur est plus grand que pour le confort, il
est nanmoins possible pour l'utilisateur dire que la vitesse maximale est plus
importante que la couleur.
Cette mthode inclut heureusement des mthodes pour calculer les poids
absolus mme si les poids relatifs sont incohrents. Il est aussi possible de calculer

6
une valeur de la cohrence pour indiquer l'utilisateur si ses poids sont cohrents
ou non.
Un outil du march qui utilise cette mthode existe: Descriptor [Grand & Juliot,
1990].
2.2. Les mthodes Electre
Les mthodes Electre sont des mthodes multicritre d'un type appel
agrgation partielle [Rey et al., 1988]. Il existe plusieurs versions d'Electre dont
quatre ont t trouves pendant ce travail (Electre I-IV) [Rommel, 1989;
Stemplowski, 1990].
Toutes les versions utilisent nanmoins en gros le mme principe. Elles n'ont
pas comme but de donner des notes comme sortie, elles comparent plutt les choix
possibles deux deux pour dterminer si l'un surclasse l'autre suffisamment pour
dcider s'il y a une prfrence entre les deux.
Deux calculs sont utiliss pour dterminer les surclassements - celui des indices
de concordance et celui d'indices de discordance. Normalement ils sont calculs en
utilisant les poids des diffrents critres, mais des approches qui n'utilisent pas des
poids ont aussi t proposs [Rommel, 1989]. Ces approches utilisent seulement
des comparaisons de l'importance des critres l'un par rapport l'autre, ce qui
donne un ordre d'importance pour l'ensemble des critres.
Pour dcider si un choix surclasse un autre deux seuils sont utiliss, le seuil de
concordance et le seuil de discordance. Si l'un ou l'autre est dpass par un indice,
le surclassement est accept.
L'avantage principal par rapport la somme pondre est l'utilisation de l'indice
de discordance qui permet d'liminer les choix avec des valeurs trs mauvaises
pour quelques critres. Cela sera montr dans le chapitre suivant pour le cas
d'Electre I.
2.2.1. Electre I
Electre I est une version d'Electre qui utilise des pondrations. La prsentation
de cette mthode ne sera pas trs labore ici, mais elle est bien prsente dans
[Rey et al., 1988].
L'indice de concordance est obtenu en faisant la somme des poids des critres
o choix 1 (C1) est suprieur ou gal au choix 2 (C2). Ainsi C1 surclassera C2 si la

7
somme des poids des critres o C1 C2 gale ou dpasse le seuil de concordance
fix.
Somme des poids des
Indice de concordance C1/ C2 =

critres o C1 C2
Somme des poids

(2)

de tous les critres

L'indice de discordance concerne les critres o C1 est moins bon que C2. On
prend le critre o la diffrence de notes est la plus grande dans le dsaccord et on
divise cette diffrence par la longueur de l'chelle de notes la plus longue pour
obtenir l'indice de discordance.
Maximum des carts pour le
Indice de discordance =

critre le plus discordant


Longueur de l'echelle la

(3)

plus longue

[Rey et al., 1988] prsentent un exemple qui montre l'intrt de l'indice de


discordance. Si on compare un Rolls Royce et une 2 CV, il est vident que la RR
surclasse la 2 CV sur chaque critre au niveau de concordance, sauf pour le prix,
ce qui donne un indice de discordance trs fort. Cette situation implique une
incomparabilit entre les deux choix, c'est dire qu'il n'est pas possible de dire
lequel surclasse l'autre.

3. Les systmes experts base de rgles de production


Un systme expert est un logiciel ou une partie d'un logiciel destin assister
l'homme dans des domaines o est reconnue une expertise humaine. Dans les
systmes experts base de rgles cette connaissance est stocke dans la base de
connaissances, qui est interprte par le moteur d'infrence utilisant la base de
faits pour stocker les donnes propres au problme traiter et les dductions faites
par le systme [Royer, 1990].
Les connaissances sont souvent exprimes sous la forme de clauses de Horn
[Genesereth & Nilsson, 1987]. Ces clauses sont d'habitude appeles des rgles de
production qui contiennent une partie prmisses et une partie actions. Si les
prmisses sont vraies le moteur d'infrence excute les actions.
La puissance d'un systme expert base de rgles dpend de la logique utilise.
La logique utilise le plus souvent jusqu' maintenant est la logique des prdicats.
Un des problmes principaux avec la logique des prdicats est l'explosion
combinatoire qui se produit trs vite quand il existe beaucoup d'entres avec
beaucoup de valeurs possibles. Il devient notamment difficile de s'assurer de la
maintenance de la cohrence et la compltude d'une telle base de connaissances
[Ayel & Rousset, 1990].
D'autres logiques plus volues ont t dveloppes pour combler les
insuffisances de la logique de prdicats. Ce sont des logiques comme la logique
des dfauts, les logiques modales non-monotones, les logiques des conditionnels
etc. [La Somb, 1989].
Des systmes de maintien de la cohrence ont aussi t dvelopps [La Somb,
1989], dont les plus connus sont TMS (Thruth-Maintenance System) [Doyle, 1979]
et ATMS (Assumption-based Thruth-Maintenance System) [De Kleer, 1984,
1986a, b].
3.1. Les points forts et faibles des systmes experts dans l'aide la
dcision
Un avantage avec les rgles de production est qu'il est trs facile d'exprimer des
connaissances certaines et prcises. Il est, par exemple, facile d'exprimer sous la
forme d'une rgle que si la couleur d'une voiture est jaune il est sr qu'elle ne plat
pas. Dans le domaine de l'aide la dcision il semble trs utile de pouvoir exprimer
de telles connaissances notamment pour les valeurs de critres directement
liminatoires pour la dcision finale.

9
Quand il faut prendre plusieurs critres en compte le nombre de rgles
ncessaires pour couvrir toutes les permutations possibles devient trs grand. Il
devient en effet souvent si grand que l'expert qui doit fournir les rgles ne s'en sort
plus. C'est avant tout pour remdier ce problme que la logique floue est utilise
car elle permet de rduire l'explosion combinatoire.

10

4. Les coefficients de certitude et la logique floue


Les systmes experts base de rgles ont t utiliss depuis plus de quinze ans
pour rsoudre des problmes normalement rsolus seulement par un expert du
domaine. Ils sont spcialement bien adapts aux problmes o la rponse est
certaine et prcise. Par contre, quand il existe plusieurs solutions possibles avec
des degrs de certitudes varis la dtermination de ces degrs devient trs difficile.
L'approche souvent choisie est d'utiliser des coefficients de certitude pour les faits
et les rgles qui sont combins utilisant une arithmtique pour trouver une
certitude finale. Un coefficient de certitude est un terme numrique ou symbolique
qui classifie la certitude relative qu'une solution soit vraie (ou fausse).
Ces coefficients de certitude ont t utiliss dj dans un des premiers systmes
experts importants, MYCIN, pendant les annes soixante-dix [Shortliffe, 1976].
MYCIN faisait des analyses mdicales et donnait un degr de vraisemblance
qu'une solution trouve soit correcte.
L'exprience a cependant montr qu'il est trs difficile d'"extraire" la
connaissance d'un expert sous la forme de rgles. L'expert peut normalement
donner les rgles gnrales qu'il est possible de trouver dans les livres sur le
domaine assez facilement, mais les expriences de l'expert, les nuances de son
expertise sont trs difficiles trouver. S'il faut, en plus, extraire des coefficients de
certitude sur des rgles qui sont dj formules plus ou moins difficilement, les
difficults s'aggravent encore. Mme s'il est possible d'extraire ces coefficients
pour les solutions finales, comment les trouver pour chaque rgle qui a contribu
trouver la solution? De plus, comment faire lorsqu'il n'est pas vident de choisir
l'arithmtique approprie? Le chapitre suivant prsentera les calculs les plus
frquemment utiliss.
4.1. Calculs d'incertitude
Plusieurs techniques pour calculer les certitudes combines de faits et des rgles
ont t proposes. Les deux techniques les plus utilises sont le calcul de Bayes
[Genesereth & Nilsson, 1987] et la logique floue [Zadeh, 1975]. Une autre
technique utilis est la thorie de l'vidence de Dempster-Shafer [Rommel, 1989].
Les techniques de propagation utilises dans les mthodes d'aide la dcision
multicritre prsentes dans le chapitre deux sont aussi des exemples de calculs
d'incertitude. Une diffrence majeure entre, par exemple, la technique de
hirarchisation multicritre par rapport aux systmes utilisant des rgles est que

11
l'arbre d'infrence produit par le moteur d'infrence est directement reprsent dans
la hirarchisation multicritre.
4.1.1. La rgle de Bayes
La rgle de Bayes est utilise pour faire des infrences probabilistes. Les faits et
les rgles ont une probabilit qui est propage pour obtenir une probabilit pour les
solutions possibles obtenues. Si par exemple la proposition P est vraie avec une
probabilit p(P), et si Q est vrai (indpendamment de P) avec une probabilit p(Q),
si Q=>P est vraie avec la probabilit p(P|Q), alors la probabilit p(Q|P) que Q est
vrai quand P est vrai est calcul comme p(Q|P)=p(P|Q)*p(Q)/p(P) [Genesereth &
Nilsson, 1987].
La rgle est aussi dfinie pour calculer seulement avec des cotes (odds en
anglais) plutt qu'avec les probabilits. La cote est le ratio entre la probabilit que
P soit vrai et que P soit faux, qui est souvent plus facile exprimer. Dans ce cas
l'expression devient O(Q|P)=(p(P|Q)/p(P|~Q))*O(Q), o O(Q|P) est la cote de "Q
est vrai quand P est vrai", O(Q) est la cote de Q et p(P|Q)/p(P|~Q) est la cote de
Q=>P.
Ce calcul suffit dj pour propager les coefficients de certitude dans l'arbre
d'infrence jusqu'au sommet. La cohrence des probabilits ou odds donns peut
malheureusement poser des problmes, qui heureusement peut tre dtect
automatiquement. Cependant il n'est pas possible de faire les corrections
automatiquement.
4.1.2. Les ensembles flous
La notation des ensembles flous a t introduite par Lotfi A. Zadeh (1965)
[Zadeh, 1965; Zadeh et al., 1975]. Un ensemble flou est un ensemble de valeurs
qui appartiennent une certaine classe avec une certaine certitude. Par exemple un
homme de 1m80 est grand avec une certitude de 80% et moyen avec une certitude
de 40%. a veut dire qu'il appartient la classe "hommes grands" avec une
certitude de 0.80 et la classe "hommes moyens" avec une certitude de 0.40.
"Homme grand" et "homme moyen" sont des ensembles flous dont les limites
dpendent par exemple de l'observateur et du pays concern.

12
Probabilit
1.0
homme moyen

homme grand

1m80

Valeur

Figure 3. Ensembles flous.


Si l'homme pse 95 kg il est aussi "homme lourd" avec une certitude de 0.9 et
"homme moyennement lourd" avec une certitude de 0.15. Est-il alors un "homme
fort", un "homme muscl" ou un "homme maigre"? Il est, par exemple, "homme
fort" avec une certitude de 0.8, "homme muscl" avec une certitude de 0.5 et
"homme maigre" avec une certitude de 0.001. Le calcul logique effectuer est
"homme grand" ET "homme lourd" => "homme fort", aussi bien que "homme
moyen" ET "homme lourd" => "homme fort" ainsi que plusieurs autres dductions
pour "homme muscl" par exemple.
La logique floue est une logique qui permet de propager les coefficients de
certitude dans les oprations logiques, comme les oprations ET, OU et NON.
Dans l'exemple ci-dessus il faut dj utiliser les oprations ET et OU pour trouver
la certitude que l'homme appartient la classe "homme fort".
La faon de propager les facteurs est souvent d'utiliser le minimum pour
l'opration ET et le maximum pour l'opration OU, mais il existe d'autres calculs
qui marchent mieux, dont l'un sera utilise dans un chapitre suivant.
Un des avantages les plus importants de la logique floue est qu'il est souvent
possible de rduire suffisamment le nombre de rgles pour permettre une vitesse
d'infrence plus leve, ce qui permet de l'utiliser dans des systmes de contrle
des ascenseurs, des machines laver etc..
Le problme principal avec la logique floue est de trouver les bons coefficients
et notamment les coefficients intermdiaires une fois que le choix de mthode de
propagation des certitudes a t fait.

13

5. L'apprentissage automatique
L'apprentissage automatique dans le contexte informatique veut dire la capacit
d'un logiciel d'amliorer son comportement sans intervention "directe" de
l'extrieur. Cela peut par exemple signifier la modification de la base de rgles ou
l'apprentissage d'un rseau de neurones pour suivre des changements dans un
systme physique.
Il est souvent avantageux d'essayer d'extraire les rgles utilises par un expert
partir d'exemples de situations de dcision. On donne l'expert un problme
rsoudre et il donne la (les) solution(s) correspondante(s), ventuellement avec un
degr de certitude.
Une autre possibilit est d'utiliser des cas rels dont on connat la solution. Dans
ce cas l'exprience ne passe mme pas par l'expert, mais il est possible de l'entrer
directement dans le systme.
Ces exemples sont alors fournis au systme qui modifie lui-mme ses
connaissances.
5.1. Apprentissage symbolique automatique
Le concept "apprentissage symbolique automatique" dans ce contexte veut dire
un apprentissage d'avantage symbolique, c'est dire apprentissage qui fournit des
rgles que l'on peut exprimer en utilisant la logique de prdicats ou d'autres
logiques prsentes en chapitre trois. Il existe aussi plusieurs mthodes qui
utilisent ou gnrent des probabilits ou coefficients de certitude. Les mthodes
existantes les plus importantes dans ce genre sont prsentes par exemple dans
[Kodratoff & Michalski, 1990].
L'apprentissage symbolique utilise avant tout les mthodes de dduction et
d'induction. Dduction veut dire infrer des faits ou des rgles plus spcifiques
partir de faits ou de rgles gnraux. Induction, par contre, signifie l'infrence de
rgles plus gnrales en utilisant des rgles et faits spcifiques. En apprentissage,
on utilise le plus souvent l'induction.
Un problme avec ces mthodes est l'explosion combinatoire qui se produit de
la mme faon que pour les systmes base de rgles de production, mais le
problme n'est pas aussi grave car les rgles sont gres par l'algorithme
d'apprentissage.

14
Un exemple de la combinaison des mthodes d'aide la dcision multicritre
avec l'apprentissage symbolique est prsent par Rommel [Rommel, 1989].
L'apprentissage symbolique utilis dans son travail permet de trouver des arbres de
dcision pour dterminer la prfrence entre deux choix comme dans la mthode
Electre, ce qui permet de faire un tri entre tous les choix ou qui permet au moins un
classement des choix. L'apprentissage n'enlve nanmoins pas ncessairement le
problme si deux choix sont incomparables (comme pour le problme de la Rolls
Royce et la 2 CV prsent dans le chapitre 2).
Une des mthodes les plus connues qui prend en compte les coefficients de
certitude sont les arbres de dcision probabilistes de Quinlan (ID3) [Kodratoff &
Michalski, 1990].
5.2. L'analyse de donnes et le lissage
Les mthodes d'analyse de donnes et de lissage sont souvent utilises pour
trouver les coefficients de certitude du chapitre prcdent. Plusieurs mthodes
d'analyse de donnes sont prsentes par exemple dans [Devillers & Karcher,
1991].
En plus des outils d'analyse des donnes il existe aussi des outils statistiques et
des outils de lissage, qui sont en effet des variations du mme genre de techniques.
Ils essayent de trouver une fonction (polynme, trigonomtrique etc.) qui modlise
la relation entre les entres et les sorties le mieux possible (utilisant un critre
choisi par l'utilisateur). Ces outils permettent effectivement de trouver les relations
(coefficients) cherches et de les exprimer sous forme arithmtique, mais
seulement au niveau des critres de base. Pour obtenir les coefficients des concepts
intermdiaires dans l'arbre d'infrence il est ncessaire de faire des calculs
supplmentaires (sauf s'il n'est pas ncessaire d'introduire des concepts
intermdiaires, bien sr).
Les outils existants ont aussi des problmes potentiels quand le nombre
d'entres devient grand, car la complexit de l'expression ou la reprsentation
mathmatique qu'il faut trouver s'agrandit. Alors la recherche du bon type de
fonction utiliser aussi bien que le degr des expressions dans le lissage, par
exemple, risque d'tre longue et demande souvent une bonne exprience de la part
de l'utilisateur.

15

6. Les rseaux de neurones


Les rseaux de neurones ont t tudis depuis les annes 40 [Mc Culloch-Pitts,
1943]. Les ides de base de cette technique viennent de la recherche cognitive,
d'o vient le nom "rseau de neurones".
La technique inspirait beaucoup de chercheurs cette poque, mais beaucoup
de l'intrt disparat aprs un article de Minsky et Papert [Minsky & Papert, 1969],
qui montrait l'impossibilit de faire par exemple le OU exclusif avec les rseaux de
neurones existants.
La recherche tait finalement relance au dbut des annes 80 aprs un quasioubli d'une vingtaine d'annes. La cause de l'intrt soudain tait l'apparition de
nouvelles architectures de rseaux de neurones. Entre autres la possibilit de
construire des rseaux en plusieurs couches tait importante, car elle permettait
notamment de rsoudre le problme du OU exclusif.
6.1. Le neurone artificiel
L'lment de base d'un rseau de neurones est, bien entendu, le neurone
artificiel. Un neurone contient deux lments principaux:
un ensemble de poids associs aux connexions du neurone, et
une fonction d'activation (figure 5).

Les valeurs d'entre sont multiplies par leur poids correspondant et


additionnes pour obtenir la somme S.
x1
x2
Entres

w
w2 1
wn

xn

y'

y = f(S)
y

Figure 4. Le neurone artificiel gnrique.


Cette somme devient l'argument de la fonction d'activation, qui est le plus
souvent d'une des formes prsentes ci-dessous. Une fonction d'activation

16
importante est la simple multiplication avec un, c'est dire que la sortie est
simplement une somme pondre.
f(S)

f(S)

f(S)

fonction sigmode

fonction
saturation

fonction
seuil

Figure 5. Fonctions d'activation.


Le choix de la fonction d'activation dpend de l'application. S'il faut avoir des
sorties binaires c'est la premire fonction que l'on choisit habituellement.
Une entre spciale est pratiquement toujours introduite pour chaque neurone.
Cette entre, normalement appele biais (bias en anglais), sert pour dplacer le pas
de la fonction d'activation sur l'axe S. La valeur de cette entre est toujours 1 et le
dplacement dpend alors seulement du poids de cette entre spciale. Dj avec
un neurone utilisant la fonction d'activation seuil et une entre de biais (x0) il est
possible de calculer les fonctions logiques ET et OU (figure 6).
x

y
2

0.5
x

0.5
-0.25

x =1
0

Figure 6. Fonction logique OU et le neurone correspondant.


Si X1 = 0 et X2 = 0, S = -0.25 et f(S) = 0.
Si X1 = 0 et X2 = 1, S = 0.25 et f(S) = 1.
Si X1 = 1 et X2 = 0, S = 0.25 et f(S) = 1.
Si X1 = 1 et X2 = 1, S = 0.75 et f(S) = 1.

17
6.2. Proprits de rseaux de neurones
Un rseau de neurones se compose de neurones qui sont interconnects de faon
ce que la sortie d'un neurone puisse tre l'entre d'un ou plusieurs autres
neurones. Ensuite il y a des entres de l'extrieur et des sorties vers l'extrieur
[Rumelhart et al., 1986].
Rumelhart et al. donnent huit composants principaux d'un rseau de neurones
[Rumelhart et al., 1986]:
Un ensemble de neurones
Un tat d'activation pour chaque neurone (actif, inactif, ...)
Une fonction de sortie pour chaque neurone (f(S))
Un modle de connectivit entre les neurones (chaque neurone est

connect tous les autres, par exemple)


Une rgle de propagation pour propager les valeurs d'entre travers le

rseau vers les sorties


Une rgle d'activation pour combiner les entres d'un neurone (trs

souvent une somme pondre)


Une rgle d'apprentissage
Un environnement d'opration (le systme d'exploitation, par exemple)

Le comportement d'un rseau et les possibilits d'application dpendent


compltement de ces huit facteurs et le changement d'un seul d'entre eux peut
changer le comportement du rseau compltement.
Les rseaux de neurones sont souvent appels des "botes noires" car la fonction
mathmatique qui est reprsente devient vite trop complexe pour l'analyser et la
comprendre directement. Cela est notamment le cas si le rseau dveloppe des
reprsentations distribues [Rumelhart et al., 1986], c'est dire que plusieurs
neurones sont plus ou moins actifs et contribuent une dcision. Une autre
possibilit est d'avoir des reprsentations localises, ce qui permet d'identifier le
rle de chaque neurone plus facilement. Les rseaux de neurones ont quand mme
une tendance produire des reprsentations distribues.

18
6.3. Apprentissage
L'apprentissage d'un rseau de neurones signifie qu'il change son comportement
de faon lui permettre de se rapprocher d'un but dfini. Ce but est normalement
l'approximation d'un ensemble d'exemples ou l'optimisation de l'tat du rseau en
fonction de ses poids pour atteindre l'optimum d'une fonction conomique fixe a
priori.
Il existe trois types d'apprentissages principaux. Ce sont l'apprentissage
supervis, l'apprentissage non-supervis et l'apprentissage par tentative (graded
training en anglais) [Hecht-Nielsen, 1990].
On parle d'apprentissage supervis quand le rseau est aliment avec la bonne
rponse pour les exemples d'entres donns. Le rseau a alors comme but
d'approximer ces exemples aussi bien que possible et de dvelopper la fois la
bonne reprsentation mathmatique qui lui permet de gnraliser ces exemples
pour ensuite traiter des nouvelles situations (qui n'taient pas prsentes dans les
exemples).
Dans le cas de l'apprentissage non-supervis le rseau dcide lui-mme quelles
sont les bonnes sorties. Cette dcision est guide par un but interne au rseau qui
exprime une configuration idale atteindre par rapport aux exemples introduits.
Les cartes auto-organisatrices de Kohonen sont un exemple de ce type de rseau
[Kohonen, 1984].
"Graded learning" est un apprentissage de type essai-erreur o le rseau donne
une solution et est seulement aliment avec une information indiquant si la rponse
tait correcte ou si elle tait au moins meilleure que la dernire fois.
Il existe plusieurs rgles d'apprentissage pour chaque type d'apprentissage.
L'apprentissage supervis est le type d'apprentissage le plus utilis. Pour ce type
d'apprentissage la rgle la plus utilise est celle de Widrow-Hoff. D'autres rgles
d'apprentissage sont par exemple la rgle de Hebb, la rgle du perceptron, la rgle
de Grossberg etc. [Fogelman-Souli, 1988; Rumelhart et al., 1986; Hecht-Nielsen,
1990].
6.3.1. L'apprentissage de Widrow-Hoff
La rgle d'apprentissage de Widrow-Hoff est une rgle qui permet d'ajuster les
poids d'un rseau de neurones pour diminuer chaque tape l'erreur commise par
le rseau de neurones ( condition que le facteur d'apprentissage soit bien choisi).

19
Un poids est modifi en utilisant la formule suivante:
wk+1 = wk + kxk

(4)

o:
wk est le poids l'instant k,
wk+1 le poids l'instant k+1,
est le facteur d'apprentissage,
k caractrise la diffrence entre la sortie attendue et la sortie effective du

neurone l'instant k.
xk la valeur de l'entre avec laquelle le poids w est associ l'instant k.

Ainsi, si k et xk sont positifs tous les deux, alors le poids doit tre augment.
La grandeur du changement dpend avant tout de la grandeur de k mais aussi de
celle de xk. Le coefficient sert diminuer les changements pour viter qu'ils
deviennent trop grands, ce qui peut entraner des oscillations du poids.
Deux versions amliores de cet apprentissage existent, la version "par lots" et
la version "par inertie" (momentum en anglais) [Hecht-Nielsen, 1990], dont l'une
utilise plusieurs exemples pour calculer la moyenne des changements requis avant
de modifier le poids et l'autre empche que le changement du poids au moment k
ne devienne beaucoup plus grand qu'au moment k-1.
6.4. Les diffrents types de rseaux de neurones
Plusieurs types de rseaux de neurones ont t dvelopps qui ont des domaines
d'application souvent trs varis. Notamment trois types de rseaux sont bien
connus:
le rseau de Hopfield (et sa version incluant l'apprentissage, la machine de

Boltzmann),
les cartes auto-organisatrices de Kohonen et
les rseaux multicouches de type rtro propagation.

Le rseau de Hopfield [Hopfield, 1982] est un rseau avec des sorties binaires
o tous les neurones sont interconnects avec des poids symtriques, c'est dire
que le poids du neurone Ni au neurone Nj est gal au poids du neurone Nj au
neurone Ni. Les poids sont donns par l'utilisateur. Une application typique de ce
type de rseau est le problme du voyageur de commerce, o les poids reprsentent
d'une part les distances entre les villes et d'autre part les contraintes qui assurent la

20
visite de chaque ville une fois et une seule. Les poids et les tats des neurones
permettent de dfinir l'"nrgie" du rseau. C'est cette nergie que le rseau tente
de minimiser pour trouver une solution. La machine de Boltzmann est en principe
un rseau de Hopfield, mais qui permet l'apprentissage grce la minimisation de
cette nergie.
Les cartes auto-organisatrices de Kohonen [Kohonen, 1984] sont utilises pour
faire des classifications automatiques des vecteurs d'entre. Une application
typique pour ce type de rseau de neurones est la reconnaissance de parole
[Leinonen et al., 1991].
Les rseaux multicouches de type rtro propagation sont les rseaux les plus
puissants des rseaux de neurones qui utilisent l'apprentissage supervis.
6.5. Le rseau de rtro propagation
Un rseau de type rtro propagation se compose d'une couche d'entre, une
couche de sortie et zro ou plusieurs couches caches [Rumelhart et al., 1986]. Les
connections sont permises seulement d'une couche infrieure (plus proche de la
couche d'entre) vers une couche suprieure (plus proche de la couche de sortie). Il
est aussi interdit d'avoir des connections entre des neurones de la mme couche.
Sorties

Couche de sorties

Couches intermdiaires (0-N)

Couche d'entres

Entres
Figure 7. Rseau de rtro propagation.
La couche d'entre sert distribuer les valeurs d'entre aux neurones des
couches suprieures, ventuellement multiplies ou modifies d'une faon ou d'une
autre.

21
La couche de sortie se compose normalement des neurones linaires qui
calculent seulement une somme pondre de toutes ses entres.
Les couches caches contiennent des neurones avec des fonctions d'activation
non-linaires, normalement la fonction sigmode.
Il a t prouv [Hecht-Nielsen, 1990] qu'il existe toujours un rseau de neurones
de ce type avec trois couches seulement (couche d'entre, couche de sortie et une
couche cache) qui peut approximer une fonction f : [0,1]n Rm avec n'importe
quelle prcision > 0 dsire. Un problme consiste trouver combien de
neurones cachs sont ncessaires pour obtenir cette prcision. Un autre problme
est de s'assurer a priori qu'il est possible d'apprendre cette fonction.
Initialement tous les poids peuvent avoir des valeurs alatoires, qui sont
normalement trs petites avant de commencer l'apprentissage. La procdure
d'apprentissage se dcompose en deux tapes. Pour commencer, les valeurs
d'entres sont fournis la couche d'entre. Le rseau propage ensuite les valeurs
jusqu' la couche de sortie et donne ainsi la rponse du rseau. A la deuxime
tape les bonnes sorties correspondantes sont prsentes aux neurones de la couche
de sortie, qui calculent l'cart, modifient leurs poids et rtro propagent l'erreur
jusqu' la couche d'entre pour permettre aux neurones cachs de modifier leurs
poids de la mme faon. Le principe de modification des poids est normalement
l'apprentissage de Widrow-Hoff.
Un rseau sans couches caches (un rseau de type ADALINE [Rumelhart et
al., 1986]) ralise une rgression linaire.

22
y

Figure 8. Rgression linaire de forme y = f(x) = ax+b.


Mme avec des couches caches, les neurones de sortie, qui ont une fonction
d'activation linaire, essayent d'atteindre ce but. La prsence de neurones avec des
fonctions d'activation non-linaires dans les couches caches permet de "remplir"
les "creux" dans les exemples.
y

Figure 9. Rgression non-linaire de forme y = f(x).


Le fait que l'apprentissage utilise un principe de descente de gradient sur la
surface d'erreur pour modifier les poids, veut malheureusement dire qu'il est
possible de tomber dans des minima locaux, auquel cas le rseau n'apprendra
jamais l'approximation optimale. Heureusement, cela ne semble pas tre un
problme dans la plupart des cas [Rumelhart et al., 1986].

23

7. Simulateur de rseaux de neurones en C++


Un simulateur de rseaux de neurones de type rtro propagation a t dvelopp
pour les besoins de ce travail de recherche. Mme s'il existe des simulateurs sur le
march aussi bien que des simulateurs universitaires, il est utile de dvelopper ce
simulateur pour deux raisons principales:
d'abord pour une meilleure comprhension de ce type de rseau neuronal

qui a t acquise pendant le dveloppement,


la deuxime raison et la plus importante est la ncessit d'avoir un

simulateur qui est facilement modifiable pour correspondre aux besoins de


ce travail.
Notamment les calculs d'explications peuvent ncessiter un accs direct au
simulateur. L'utilisation possible des units Sigma-Pi (cf. 11.2) dans le futur pour
obtenir des poids dynamiques est aussi difficile faire avec les outils existants
(mme si tous les simulateurs existants n'ont pas t tudis).
7.1. La philosophie du simulateur - avantages de l'approche objet
Le simulateur a t dvelopp en utilisant un langage orient objet: C++. Les
avantages des langages OO sont dj reconnus dans le monde informatique grce
au polymorphisme, aux mcanismes d'hritage et d'encapsulation, qui permettent
une gestion plus facile des logiciels de taille importante [Digitalk inc., 1989;
Goldberg & Robson, 1983; Goldberg, 1984; Stroustroup, 1986]. Le langage C++ a
t choisi pour trois raisons principales:
il est disponible sur presque n'importe quel ordinateur,
c'est un langage assez rapide pour programmer les calculs flottants

efficacement (trs important pour un simulateur de rseaux de neurones)


et finalement
les outils de dveloppement (comme Borland C++) sont peu chers.

Il existe d'autres langages OO qui peuvent tre meilleurs que C++, mais pas au
niveau des critres mentionns ci-dessus.
Chaque connexion, neurone, couche et rseau de neurones est un objet. Les
classes principales correspondent cette division logique, mme s'il y a quelques
classes drives comme neurone d'entre et de sortie. Les classes sont montres
dans l'annexe 1. Un rseau de neurones complet est ainsi construit par la cration

24
de ces objets et les connexions entre eux. Cette approche est assez diffrente de
l'approche habituelle, qui utilise des matrices pour reprsenter les connexions et les
poids [Rumelhart et al., 1986; Hecht-Nielsen, 1990].
L'approche matricielle a galement des avantages et des inconvnients. Il est
trs facile de reprsenter toutes les connexions possibles entre des neurones de
n'importe quelle couche. La matrice de connexions est aussi facilement lisible. Par
contre la matrice devient vite norme. Par exemple un rseau de neurones avec
cent neurones donne dj une matrice de 100*100, c'est dire 10.000 cellules ou
poids dont la plupart ont la valeur zro.
Le fait qu'un rseau de neurones est un objet comme n'importe quel objet donne
quelques avantages. Il est par exemple possible de l'intgrer dans n'importe quel
langage de programmation qui supporte la programmation OO. Il est aussi possible
d'avoir plusieurs RN en mmoire en mme temps car il suffit de crer des objets
nouveaux.
Le seul apprentissage possible dans le simulateur pour l'instant est
l'apprentissage de Widrow-Hoff, et notamment la version par lots [Hecht-Nielsen,
1990].
7.2. Oprations possibles
Le simulateur fonctionne pour l'instant compltement sous le systme
d'exploitation DOS sur des micro-ordinateurs compatibles IBM. Le simulateur est
toujours lanc partir de la ligne de commande avec la commande "bp". La
fonction effectuer est spcifie avec des options. L'option "-c" par exemple
signifie la cration d'un rseau. Dans ce cas l'option doit tre suivie par le nom du
rseau crer, le nombre d'entres, le nombre de sorties, le nombre de couches
caches et le nombre de neurones dans chaque couche cache. Les oprations
possibles pour l'instant sont les suivantes:
Cration d'un rseau de la taille dsire avec les poids instancis aux

valeurs alatoires.
Apprentissage sans visualisation. Les paramtres spcifier sur la ligne

de commande sont le nom du rseau de neurones, le facteur


d'apprentissage utiliser, la taille du lot utiliser dans l'apprentissage, le
nom du fichier d'exemples et le nombre d'itrations de l'apprentissage.
Evaluation des sorties avec les valeurs d'entre donnes sur la ligne de

commande.

25
Visualisation de la situation d'approximation d'exemples, o les exemples

sont montrs comme des croix dans un systme de coordonnes et


l'approximation du rseau de neurones comme une courbe qui est dessine
point par point (Figure 10). La visualisation est seulement possible en
deux dimensions pour l'instant, ce qui veut dire qu'il est seulement
possible de voir la relation entre une entre et une sortie avec des valeurs
constantes pour les autres entres.
Apprentissage combin avec la visualisation, ce qui permet l'utilisateur

suivre le progrs de l'apprentissage et l'arrter au moment dsir.


Statistiques sur la prcision d'approximation du RN avec un ensemble

d'exemples dans un fichier. Les rsultats sont la diffrence maximale, la


diffrence moyenne et la variance des erreurs. Cette option est utile
notamment avec plusieurs entres quand l'option de visualisation en deux
dimensions n'est plus ncessairement suffisante pour estimer la prcision.
L'importance calcule (voir chapitre 9.2) d'une entre sur une sortie avec

les valeurs d'entres donnes sur la ligne de commande.


L'influence dynamique calcule (voir chapitre 9.3) d'une entre sur une

sortie avec les valeurs d'entres donnes sur la ligne de commande. La


valeur "neutre" est aussi spcifie sur la ligne de commande.
L'influence relative calcule (voir chapitre 9.4) d'une entre sur une sortie

avec les valeurs d'entres donnes sur la ligne de commande.


L'importance et les influences combines (voir chapitre 9.5) de plusieurs

entres sur une sortie.


Les oprations ci-dessus sont suffisantes pour l'instant, mais il est trs probable
qu'il y aura des besoins supplmentaires dans le futur. Il serait probablement
avantageux aussi de dvelopper une version Windows, ce qui faciliterait
l'utilisation.

26

Figure 10. Visualisation d'une approximation d'exemples.


7.3. Les formats de sauvegarde
L'option de cration du simulateur est normalement utilise pour crer un RN
sous la forme d'un fichier. Le RN est aussi sauvegard si les poids ont t modifis
par apprentissage avant de terminer l'excution du simulateur.
Le RN sauvegard contient les composants suivants:
Le nombre de couches
Le nombre de neurones dans chaque couche
Le type de format de sauvegarde
Une section de description des connections entre les neurones
Une section contenant les poids des connections

Une section commence avec un mot cl entour par des crochets (annexe 2) et
se termine avec "[end]".
Les types de formats possibles pour l'instant sont les suivants:

27
Interconnections compltes entre les couches. Dans ce cas la section des

connections est inutile.


Incrmntal, avec des interconnections compltes entre les couches, mais

avec une possibilit d'ajouter et de supprimer des connections dans la


section des connections.
Toutes les connections sont donnes dans la section des connections.

Un quatrime format qui serait peut-tre utile est le format matriciel prsent
par exemple dans [Rumelhart et al., 1986].
Le format pour ajouter et supprimer des connections est montr dans l'annexe 2.
La raison d'avoir trois formats diffrents est de pouvoir dcrire le rseau aussi
compactement que possible, ce qui premirement facilite la lecture du fichier, mais
qui facilite avant tout la modification et la combinaison des RN directement. Le
fichier peut tre chang n'importe quel moment d'un format un autre par le
simulateur si l'utilisateur veut le faire. Notamment le format incrmntal est utile
pour les oprations dcrites dans le chapitre 8.
Le sauvegarde des RN en fichiers ASCII permet en plus l'utilisation d'outils
comme des tableurs type Microsoft Excel pour faciliter les modifications qui sont
faites directement dans le fichier.
7.4. Conclusions
Le dveloppement d'un simulateur de RN semble avoir t une bonne dcision
grce la libert qu'elle donne pour des essais et des dveloppements futurs
envisageables.
Il est nanmoins vident qu'il est trs difficile de dvelopper un simulateur qui
peut dpasser les simulateurs commercialiss au niveau des capacits et de la
vitesse. Il est ainsi probable qu'il ne sera pas toujours possible de satisfaire tous les
besoins avec le simulateur dvelopp, mais il est aussi pratiquement sr qu'il sera
trs difficile de satisfaire les besoins existants et ceux du futur seulement avec un
simulateur achet.
Le choix de tout reprsenter comme des objets (le rseau de neurones, les
couches, les neurones et les connections) est srement moins rapide au niveau du
temps de calcul qu'une approche matricielle. La facilit de modification et la
dynamique du RN obtenus semblent nanmoins tre plus importants.

28

8. Coefficients de certitude et rseaux de neurones


Les pondrations dans les outils du chapitre 2 sont normalement donnes par les
experts du domaine. Les poids refltent l'importance que les experts donnent
chaque critre retenu. Malheureusement il est souvent trs difficile pour un expert
d'tre sr que les poids qu'il a donn sont corrects.
La mme situation se produit s'il faut donner des rgles de production. Un
exemple qui dcrit ce problme t prsent par H. Dreyfus [Dreyfus, 1991], qui
est un ancien critique de l'Intelligence Artificielle.
Il prsentait la tche de conduire une voiture comme un exemple d'un domaine
o nous sommes tous plus ou moins des experts. En principe nous devrions alors
tre capables de formuler notre connaissance sous la forme des rgles de
production et alors construire un systme expert qui pourrait conduire.
Il semble impossible de faire un systme expert ainsi. Nous pourrions la limite
donner des rgles trs simples, du mme type que celles qu'un novice peut
apprendre d'un livre. Aprs c'est ce novice d'apprendre tout seul pour acqurir la
connaissance ncessaire pour devenir expert.
La situation est identique quand il faut construire un systme d'aide la
dcision. Il sera possible de formuler de rgles et donner des poids qui sont plus ou
moins correctes, mais un systme comme a ne pourra jamais vraiment remplacer
ou peut-tre mme pas aider un expert. La partie qui manque est l'apprentissage qui
vient de l'exprience.
Le but principal de ce chapitre sera de montrer une faon de transformer un
systme d'aide la dcision utilisant des pondrations en un rseau de neurones.
L'avantage que l'on peut obtenir avec cette transformation est que le rsultat sera
un systme qui fera la mme chose que le systme d'aide la dcision transform,
mais qui aurait en plus la capacit d'apprendre partir d'exemples. La figure 11
illustre la procdure correspondante cette amlioration.
La groupe PDP (Parallel Distributed Processing) [Rumelhart et al., 1986] a
aussi montr qu'une fois que le rseau a russi obtenir un certain niveau de
connaissance il est capable de rapprendre beaucoup plus vite mme si des parties
du rseau sont dtruites ou les poids sont changs en utilisant du bruit. Il semble
alors avantageux mme au niveau technique des rseaux de neurones d'essayer de
monter aussi haut que possible sur l'chelle des connaissances ds le dbut (figure
11).

29
Connaissance "complte"

A remplir avec exprience/apprentissag


Niveau de connaissance avec rgles

Aucune connaissance

Figure 11. Comment se rapprocher de la connaissance "complte".


8.1. Transformation d'un calcul hirarchis dans un rseau de neurones
multicouche
La mthode de hirarchie multicritre aussi bien que le calcul avec des
coefficients de certitude utilisent des arbres de concepts hirarchiss de type "partwhole" pour modliser la procdure de dcision.
Il est possible de transformer n'importe quelle hirarchie de ce type dans un
rseau de neurones multicouche dans des conditions de base ncessaires (mais pas
forcement suffisantes):
Le calcul de certitude doit tre possible dcomposer dans des oprations

deux deux. C'est le cas pour tous les calculs de coefficients de certitude
indiqus dans le cadre de ce travail.
Il n'est pas possible de changer la valeur d'un critre en fonction de la

valeur d'un seul sous-critre s'il en existe plus d'un. Si X a les fils A et B il
est ainsi interdit de faire des oprations du type "si A=Valeur1 alors
X=Valeur2".
Dans l'outil de dveloppement de systmes experts Guru [Micro Data Base
Systems, 1990] les coefficients de certitude sont compris entre 0 et 100 (d'autres
limites sont aussi possibles, bien sr). Les certitudes des fils sont combines en
utilisant la formule suivante (un OU flou):
y = x1 + x2

x1 x2
100

(5)

30
o y est la certitude du pre, x1 la certitude du premier fils et x2 la certitude de
l'autre fils. Si le pre a plusieurs fils y doit encore tre combin avec les certitudes
d'autres fils en utilisant la mme formule, o x1 est remplac par y (rsultat
intermdiaire) et x2 par xi pour chaque fils restant d'une faon recursive.
Le rsultat du calcul prcdent est toujours compris entre 0 et 100. Pour
introduire des concepts intermdiaires et obtenir une hirarchie il est ncessaire de
pouvoir normaliser cette valeur pour le calcul du niveau suivant, ce qui peut tre
fait en utilisant le calcul simple ci-dessous:
a=c
b d

(6)

o a est le rsultat recherch dans la nouvelle echelle (b) et c la valeur dans


l'echelle ancienne (d=100). Le calcul progresse alors comme dans la figure 12.
note du pre

pre
combinaison avec
la formule 5
fils1

fils2

filsN
changement d'echelle
avec la formule 6

note de critre 1 (0-100)

note de critre N (0-100)

Figure 12. Calcul de coefficients de certitude.


Chaque fils un poids par rapport son pre, ce qui donne l'echelle des valeurs
possibles pour chaque fils. Les notes des critres, qui sont comprises entre zro et
cent sont transformes dans cette echelle du fils en utilisant la formule 6. En suite,
ces notes transformes sont combines en utilisant la formule 5 recursivement pour
chaque fils. Le rsultat devient une note pour le pre, ce qui sera de nouveau
comprise entre zro et cent.
Plusieurs rseaux neuronaux trois couches (entre, sortie et une couche
cache) ont t utiliss pour apprendre la fonction 5. La variable y tait encore
normalise entre les valeurs -5 et 5 par l'opration y = y/10.0 - 5.0 pour des raisons
de confort et de simplicit de traitement avec le simulateur. L'apprentissage avec

31
un rseau de dix neurones cachs sur dix mille exemples (x1, x2, y) gnrs
donnait une erreur maximale de 0.038 (0.38 %) et une erreur moyenne de 0.0044
(0.044 %). Comme l'erreur maximale est infrieure 0.5 pour-cent, le rseau peut
tre considr assez exact (par exemple la mthode de calcul des coefficients de
certitude de Guru a la mme prcision).

Figure 13. Rseau de neurones pour le calcul des coefficients de certitude avec
dix neurones cachs.
L'tape suivante a t la combinaison de deux rseaux en un seul avec trois
entres. La fonction ralise doit donc tre y = (x1+x2-x1x2/100)+x3-(x1+x2x1x2/100)x3/100. La combinaison donne alors un rseau deux couches nonlinaires (figure 14).

32
y

Rseau 2

y'
Rseau 1

Figure 14. Combinaison des rseaux de neurones.


Il est nanmoins avantageux d'viter l'introduction d'un neurone linaire dans
une couche cache (le neurone de sortie du rseau 1 et l'autre neurone d'entre du
rseau 2). Il s'avre heureusement assez facile de le faire. Le neurone de sortie du
rseau 1 calcule la somme pondre des sorties des neurones cachs. Puis y' est
multipli par un dans le neurone d'entre du rseau 2 et distribu chaque neurone
dans la couche cache du rseau 2, o il est encore multipli par le poids
correspondant. Chaque neurone dans cette couche calcule une somme pondre (S)
de deux entres du rseau 2, qui est en suite pass la fonction d'activation.
L'expression pour S est alors la suivante:
S = w0 + w1 y ' + w2 x3

(7)

ou w0 est le poids du biais et les autres termes les poids des connections avec
les neurones d'entre. Comme y' est simplement la somme pondre des sorties des
neurones cachs du rseau 1, l'expression se transforme en:

S = w0 + ( w1w0ns y0nc + w1w1ns y1nc +... + w1wNns y Nnc ) + w2 x3

(8)

o wnns signifie le poids de la connexion entre le neurone de sortie du rseau 1


et le neurone cach n du rseau 1, et ynnc signifie la sortie du neurone cach n du
rseau 1. Il est alors possible de supprimer le neurone de sortie du rseau 1 aussi
bien qu'un neurone d'entre du rseau 2 si les neurones cachs du rseau 1 sont
directement connects aux neurones cachs du rseau 2, ce qui donne un rseau
comme celui de la figure 15. Toutes les connections n'ont pas t incluses, toutes
les connections sont montres seulement pour le premier et le dernier neurone
cach du rseau 1 et pour le premier neurone cach du rseau 2.

33

Figure 15. Rseau de deux rseaux directement connects.


Les tests effectus avec ce rseau combin donnaient une erreur maximale de
0.034 (0.34 %) et une erreur moyenne de 0.006 (0.060 %), sur un ensemble de dix
mille exemples.
Pour raliser le calcul hirarchis il est possible de procder de la mme faon
que pour ajouter une entre un calcul existant dans le mme niveau de la
hirarchie pre-fils. Pour raliser le calcul de normalisation des critres
intermdiaires il suffit d'inclure le coefficient de normalisation bc/100 (formule 6)
dans l'opration de combinaison. Le facteur de normalisation peut en principe tre
considr comme un facteur dans le neurone d'entre du rseau 2. Le choix
d'utiliser des valeurs comprises entre -5 et 5 ncessite nanmoins quelques
oprations supplmentaires. Le rsultat du premier rseau y' doit alors tre
multipli par le facteur de normalisation (fn), ce qui donne le rsultat yn:
yn = fn ( w0ns + w1ns y1nc +... + wNns y Nnc )

(9)

La combinaison avec le rseau 2 donne ainsi pour chaque connexion le poids


modifi wm o il suffit de faire la mme modification qu'en formule 8, mais encore
multipli par fn:
wm = worig fn * wnns ynnc

(10)

et pour le biais de chaque neurone cach du rseau 2


wm = worig + ( w0ns + 5) fn 5

(11)

pour prendre en compte le facteur biais du neurone de sortie du rseau 1.

34
y

pre-fils

normalisation fn=0.45

normalisation fn=0.3

pre-fils

normalisation fn=1.0

Figure 16. Hirarchie de coefficients de certitude simple.


La transformation de l'arborescence en figure 16 en un mme type de rseaux
qu'avant donne le mme rsultat que pour l'ajout simple d'une troisime entre. La
prcision de ce rseau tait pratiquement la mme que pour les deux rseaux seuls,
mais les essais d'apprentissage ont montr une convergence vers le minimum
global plus rapide que pour le rseau d'origine. Cet effet semble difficile
expliquer. Une raison peut tre l'augmentation significative du nombre de poids. Il
est aussi possible que la configuration avec deux couches caches soit mieux
adapte ce problme.
Le nombre de couches caches aprs une transformation comme celle prsente
est toujours le nombre d'entres moins un (12).
nombre de couches caches = nombre d' entres-1

(12)

Si le nombre de neurones utiliss dans les couches caches est dix comme ici le
nombre de neurones dans les couches caches sera alors dix fois le nombre de
couches caches. Le nombre total des connections peut tre calcul en utilisant la
formule 13.
nconn = (nCC -1) * N 2 + nE * N + N
o
nconn est le nombre de connections,
nCC le nombre de couches caches,

(13)

35
nE le nombre d'entres et
N le nombre de neurones dans la couche cache du RN de base (qui tait

alors dix dans ce cas)


Le fait que certaines entres soient connectes des couches suprieures que les
autres entres peut poser un problme au niveau de l'apprentissage dans des cas
rels, car les modifications des poids du rseau ne seront pas symtriques par
rapport aux entres. Ce phnomne pourrait donner une sensibilit plus leve
l'apprentissage pour certaines entres. Si ce problme se produit, une solution
envisageable serait d'ajouter des connections avec des poids trs faibles pour
obtenir un rseau symtriquement connect entre chaque couche.
Malheureusement, dans le temps rserv ce travail, il n'a pas t possible de
vrifier si ce problme existe, ni si la solution fonctionne.
8.2. La transformation inverse rseau neuronal vers coefficients de
certitude

Dans certaines situations il pourrait tre utile de retransformer les poids du


rseau de neurones en des coefficients de certitude une fois que l'apprentissage est
termin. Malheureusement il ne semble pas facile de faire cette transformation, et
cela reste un problme intressant.

36

9. Explicabilit
L'explicabilit est la capacit d'un systme d'expliquer ses dcisions d'une faon
comprhensible, exhaustive et convaincante, c'est dire capable de convaincre
d'autres systmes de dcision (des humains par exemple) que la dcision propose
est bonne.
Trois concepts de base seront introduits dans ce travail pour dfinir le concept
d'explicabilit et pour fournir des explications. Ce sont les concepts d'importance
d'un critre, d'influence d'un critre et de classification des valeurs d'un critre.
9.1. Explicabilit avec les mthodes d'aide la dcision multicritre et
les systmes experts

Les mthodes d'aide la dcision dcrites dans le chapitre 2 sont capables de


donner trs peu d'explications. La seule explication est souvent de prsenter la
pondration des critres et les valeurs.
Les systmes base de rgles de production ont une autre philosophie pour
donner des explications. Le principe d'explication est de montrer l'utilisateur
l'enchanement logique suivi, c'est dire les rgles dclenches et les faits dduits
(les "HOW" et "WHY" classiques [Micro Data Base Systems Inc, 1990]).
Ces niveaux d'explication sont malheureusement trs pauvres, mais il existe peu
de systmes oprationnels qui peuvent faire mieux [Safar, 1992].
9.2. Importance

Une faon de dfinir l'importance d'une variable ou d'un critre sur une dcision
est la taille du changement de la dcision en changeant les valeurs du critre. Si le
changement de la dcision est plus grand en passant entre les deux valeurs
extrmes pour un critre que pour un autre, le premier critre est plus important
pour la dcision.
Cet effet est illustr par exemple dans le cas d'une somme pondre.
L'importance d'un critre est assez vident en utilisant la dfinition donne, car
l'importance est directement en relation avec le poids du critre. Si chaque critre a
la mme chelle de valeurs, l'importance est alors le poids du critre divis par la
somme des poids.

37
Intervalles de variation pour le produit poids*valeur pour chaque critre
3

Intervalle de variation de la somme pondre = 18


Figure 17. Exemple de la contribution des critres pour obtenir la somme
pondre maximale.
S'il est possible que les intervalles de variations des diffrents critres soient
diffrents cette approche donne la formule suivante:
Importance =

Iv ( critre) * p( critre)
Iv ( somme)

(14)

o Iv(critre) est l'intervalle de variation du critre, p(critre) le poids du critre


et Iv(somme) l'intervalle de variation de la somme pondre.
La situation devient nanmoins plus complexe s'il est possible d'avoir des
valeurs ngatives pour les critres, mais au niveau de la dfinition cela ne change
rien. La dfinition est valable mme pour des poids ngatifs.
Dans le cas d'un systme de calcul linaire il est possible de calculer
l'importance trs facilement, car il suffit de calculer les deux valeurs extrmes pour
connatre l'chelle des variations possibles du rsultat en faisant varier la valeur du
critre.
9.2.1. Importance statique

L'importance d'un critre peut tre considre comme statique si elle ne change
pas en fonction des valeurs d'autres critres.
Avec des calculs linaires comme la somme pondre, l'importance de chaque
critre est toujours statique, car le changement d'un critre entre les valeurs
extrmes cause toujours le mme changement dans le rsultat final,
indpendamment des valeurs d'autres critres.
Le calcul des coefficients de certitude prsent dans le chapitre 8 est nonlinaire. Il est nanmoins possible de trouver une importance plus ou moins
statique, car l'importance peut tre considre relative au poids de chaque critre.
Pour l'arborescence dans la figure 16 du chapitre 8 l'importance d'entre x1 sur la
sortie y est 1.0*0.45=0.45.
Les essais avec le rseau de neurones qui correspond la figure 16 montrent
que le rseau de neurones donne la mme importance pour les entres que le calcul

38
direct avec les pondrations quand les valeurs des autres entres sont zro (ce qui
correspond la valeur -5 pour le RN). La faon d'effectuer ce calcul sera prsente
dans le chapitre suivant.
9.2.2. Importance dynamique

L'importance dynamique est l'importance d'un critre dans une situation o les
autres critres ont des valeurs spcifiques. Cette importance peut changer
dynamiquement en fonction des valeurs des autres critres. Un exemple dans le
domaine du choix de voiture serait par exemple que la valeur "Jaune" du critre
"Couleur" rendrait l'importance du critre "Vitesse Maximale" zro tout
simplement parce que la couleur jaune ne plat pas du tout la personne en
question.
Il est vident qu'un calcul de dcision qui peut donner des rsultats comme
celui-ci n'est pas linaire. Si le calcul n'est pas linaire, il ne suffit pas de changer
la valeur d'un critre entre les valeurs extrmes et tudier le changement dans le
rsultat, car il est possible que la valeur maximale/minimale pour le rsultat soit
obtenue avec d'autres valeurs du critre.
La mthode choisie pour calculer l'importance dynamique est la simulation de
Monte-Carlo, c'est dire donner des valeurs alatoires au critre en question pour
trouver l'intervalle de changement dans le rsultat.
Intervalles de variation en changeant la valeur d'une entre

Valeur minimale
du rsultat

Valeur maximal
du rsultat

Figure 18. Discontinuits dans le rsultat.


Cette mthode fonctionne bien si la simulation est faite en utilisant des valeurs
en nombre suffisant. Un problme peut nanmoins se produire si l'intervalle de
changement du rsultat n'est pas continue. Dans ce cas il est ncessaire d'identifier
les intervalles diffrents en utilisant une autre technique. Une technique
envisageable serait de calculer les distances moyennes entre les diffrents rsultats
et ainsi dtecter les discontinuits, car les "trous" doivent prsenter une diffrence
de rsultat au dessus de la moyenne l'intrieur des intervalles. Cela n'a cependant
pas t fait parce qu'il doit tre assez rare d'avoir de telles discontinuits avec les
calculs utiliss.

39
9.3. Influence

L'influence d'un critre est la mesure du degr avec lequel il supporte ou


s'oppose une dcision. C'est alors une mesure qui dpend de la valeur du critre
(d'autres critres aussi).
L'influence peut tre soit positive soit ngative. Il semble vident qu'un critre
avec influence zro n'a pas d'influence sur la solution (il est neutre). Ceci permet
de dfinir l'influence d'un critre comme la diffrence entre le rsultat avec la
valeur actuelle et le rsultat avec la valeur neutre. Si le rsultat est plus grand
qu'avec la valeur neutre il y a une influence positive, sinon ngative.
Malheureusement il n'existe pas toujours de valeur neutre ou cette valeur n'est
pas toujours connue. Pour un critre "distance" la valeur "moyenne" pourrait par
exemple tre dfinie comme une valeur neutre, mais il n'est pas sr qu'elle est
vraiment neutre pour la dcision.
Dans le calcul des coefficients de certitude cette valeur neutre est zro (ou -5
pour le rseau neuronal correspondant) car chaque valeur au dessus de zro
augmente le coefficient de certitude. La valeur "inconnue" est souvent associe
cette valeur neutre. La dfinition de cette valeur doit nanmoins toujours tre
spcifie par l'utilisateur.
y

y = f(x)

x "neutre"

x
valeur de x actuelle

influence
y actuel

y avec x "neutre"

Figure 19. Influence d'un critre x sur un rsultat y.


L'influence est une fonction d'une part de l'importance et d'autre part de la
valeur d'un critre. Comme on a vu dans le chapitre prcdent, l'importance peut

40
varier en fonction des valeurs d'autres critres. Ainsi il n'est pas possible de
changer les valeurs d'autres critres pour calculer l'influence. Les facteurs de biais
dans le rseau de neurones jouent aussi un rle important dans le rsultat, ce qui
rend assez difficile un calcul de l'influence plus direct en utilisant les poids du RN.
La conclusion est alors la dfinition suivante pour l'influence d'un critre:
Dfinition: L'influence d'un critre sur un rsultat est la diffrence entre le
rsultat avec la valeur actuelle du critre et le rsultat avec la valeur neutre du
critre.
9.4. Classification des valeurs

Une valeur d'un critre peut tre considre comme plus ou moins bonne. Dans
le calcul prsent dans le chapitre 8 il est exprim comme une "note" numrique
pour chaque valeur du critre. Cette note est donne entre la valeur minimale et
maximale des notes possibles et essaye d'exprimer o la valeur se place sur une
chelle relative.
La classification d'une valeur signifie alors l'interprtation d'une valeur relle
(symbolique ou numrique) vers une valeur appele "note", qui exprime si la
valeur est bonne ou mauvaise sur une chelle continue et limite.
La valeur "Verte" pour le critre "Couleur" d'une voiture pourrait par exemple
obtenir la note 65 sur une chelle 0-100, ce qui veut dire qu'elle est "assez bonne".
Si le rsultat obtenu avec une valeur spcifique d'un critre est le maximum
parmi toutes les solutions trouves en faisant varier ce critre, il est vident que
cette valeur est trs bonne. La situation est identique pour le rsultat minimal. Si le
rsultat est la moiti du rsultat possible, il est intuitivement vrai que la valeur est
moyennement bonne.
Rsultat actuel

Rsultat minimal en variant


la valeur du critre

Rsultat maximal en variant


la valeur du critre

Figure 20. Classification de la valeur d'un critre.


Ce raisonnement donne la formule suivante pour calculer la "note" d'une valeur
d'un critre.

41
note =

rsultat
rsultat

act

rsultat

min
rsultat
max
min

(15)

o rsultatact est le rsultat avec la valeur actuelle, rsultatmin le rsultat


minimal pour chaque valeur du critre et rsultatmax le rsultat maximal pour
chaque valeur du critre.
En utilisant ce calcul il est alors possible de revenir l'assignation des notes aux
valeurs aprs un apprentissage. Ceci permet de vrifier si les notes d'origine,
donnes par des experts sont bonnes ou non.
Une autre remarque importante est que la "note" est toujours positive, ce qui
n'est pas le cas pour l'influence. La "note" ne dpend mme pas de l'importance du
critre, et ainsi elle ne dpend pas des valeurs d'autres critres non plus.
Si la notation d'une valeur "neutre" du chapitre 9.3 tait utilise, il serait
possible de donner des notes ngatives aussi.
9.5. Combinaison des critres dans des "concepts intermdiaires"

Un "concept intermdiaire" (ou "critre intermdiaire") est utilis pour grouper


des critres de base ensemble, soit pour faciliter la dfinition d'un outil de dcision,
soit pour mieux comprendre les dcisions prises. Les concepts intermdiaires
donnent aussi la possibilit d'tudier un problme selon diffrents niveaux
d'abstraction.
Un exemple d'un concept intermdiaire est "Critres Techniques" d'une voiture,
qui peut combiner la puissance, la vitesse maximale, la consommation d'essence
etc..
Connatre l'importance et l'influence des concepts intermdiaires peut tre au
moins aussi important que pour les critres de base. Les "critres techniques" pour
une voiture peuvent par exemple tre mauvaises pris dans leur ensemble, mme si
ce n'tait pas visible en tudiant les critres sparment.
Dans les systmes "classiques" les concepts intermdiaires sont dfinis dans une
arborescence fixe, et ils sont ainsi difficilement changeables.
Avec un rseau de neurones il n'est pas ncessaire de fixer les concepts
intermdiaires a priori. Une fois que le rseau a appris les relations entre les
critres de base et les rsultats, il suffit de les combiner pour obtenir les concepts
intermdiaires. Cela est montr dans les chapitres suivants.

42
9.5.1. L'importance combine

L'importance combine est dfinie de la mme faon que l'importance


individuelle, c'est dire la diffrence entre le rsultat maximal et le rsultat
minimal divis par l'chelle de variation du rsultat quand les valeurs des critres
varient alatoirement comme dans la simulation de Monte-Carlo. Il est alors
toujours possible de trouver l'importance d'un concept intermdiaire quelconque
condition qu'il soit une combinaison des critres de base.
Malheureusement il existe un problme pratique difficile pour calculer cette
importance. Ce problme est la possibilit d'avoir une explosion combinatoire du
nombre de combinaisons possibles des valeurs pour les critres concerns. Dj
cinq critres avec cinq valeurs possibles donnent 55 = 3125 combinaisons
possibles. Un RN permet heureusement de faire ce nombre de calcul en quelques
secondes (en fonction de la taille du RN et du simulateur et de l'ordinateur utilis),
mais l'augmentation exponentielle de ce nombre rend nanmoins vite le temps de
calcul impossible.
La simulation de Monte-Carlo peut permettre de rsoudre ce problme, mais il
existe toujours un risque de ne pas trouver une ou plusieurs combinaisons qui
changent beaucoup le rsultat. Actuellement, nous ne savons pas comment
rsoudre ce problme.
9.5.2. L'influence combine

L'influence combine est dfinie de la mme faon que l'influence individuelle,


c'est dire la diffrence entre le rsultat avec les valeurs actuelles et le rsultat
avec les valeurs neutres. Il est alors toujours possible de trouver l'influence d'un
concept intermdiaire quelconque condition qu'il soit une combinaison des
critres de base.
9.5.3. La classification des valeurs combines

La classification des valeurs des concepts intermdiaires est aussi dfinie de la


mme faon que la classification des valeurs individuelles. Il est alors toujours
possible de trouver une classification des valeurs d'un concept intermdiaire
quelconque condition qu'il soit une combinaison des critres de base et que
l'explosion combinatoire voque au chapitre 9.5.1 ne donne pas de problmes.

43

10. Exemple: choix d'un site de stockage de dchets


Une application prvue pour les techniques prsentes dans ce rapport est celle
de l'aide la dcision pour choisir des sites de stockage de dchets industriel.
L'existence d'un cas rel de ce type est trs utile car elle permettra d'effectuer des
tests rels de ces mthodes.
Le choix des sites de stockage de dchets constitue une illustration typique du
problme du goulot d'tranglement de l'acquisition des connaissances. En effet il
est encore pire que d'habitude car il n'existe pas d'expert sur tout le domaine. Il est
ncessaire de combiner plusieurs expertises (techniques, sociales, politiques etc.),
mais personne ne peut donner directement l'importance de chacun de ces diffrents
aspects.
Il est nanmoins possible de trouver quelques rgles et pondrations de base,
qui permettront de construire un systme d'aide la dcision provisoire. Il est
malheureusement peu probable que les pondrations seront bonnes. Ce problme
correspond alors exactement aux conditions o il serait avantageux d'appliquer
l'apprentissage automatique.
10.1. Un exemple d'une hirarchie pondre

Le nombre de critres prendre en considration pour prendre une dcision


dans ce domaine est trs grand, mme si dans l'exemple Suisse [Rey et al., 1988] il
n'y avait que treize critres utiliss. Cette multitude ncessite en pratique une
hirarchisation des critres et une utilisation de critres intermdiaires. Un exemple
d'une partie d'une hirarchie envisage est montr dans la figure 21.
Plusieurs des critres inclus dans cette hirarchie sont dpendants les uns des
autres. Cette dpendance implique que les poids des critres doivent changer en
fonction des valeurs d'autres critres. Il peut nanmoins tre difficile de dfinir
comment les interactions entre les critres fonctionnent sous la forme de rgles ou
en utilisant des systmes d'aide la dcision multicritre. Cette application
prsente alors plusieurs problmes auxquels les RN pourraient apporter une
solution.

44
Site
Facteurs gnraux

Facteurs techniques

Facteurs politiques

Caractristiques du milieu Accessibilit Impact visuelle Contexte agricole et cologique

Caractristiques gologiques Caractristiques hydrographiques Caractristiques climatiques

Superficie Caractristiques du sol Profondeur de la nappe Prsence d'un cours d'eau

Homognit Nature du sol Permabilit

Figure 21. Exemple d'une hirarchie fictive des critres pour le choix de sites de
stockage de dchets industriels.
10.2. Traduction en rseau de neurones

Une hirarchie comme celle-ci (montre dans le chapitre prcdent) pourrait


facilement avoir une quarantaine d'entres, ce qui donnerait un rseau de neurones
de 39 couches caches. Si le nombre de neurones dans chaque couche est dix, le
RN contiendrait 390 neurones dans les couches caches. Le nombre de connections
total serait alors 39*100+40*10+10 = 4310, un nombre qui est dj assez
important, mais pas trs grand vu les capacits normales des simulateurs des RN.
Dans l'application actuelle il ne sera probablement pas ncessaire de
transformer toute la hirarchie directement en un rseau de neurones. Une
possibilit prvue est de transformer seulement les niveaux les plus hauts, pour
lesquels il est le plus difficile de dfinir des rgles et des pondrations. Dans ce cas
la taille du RN serait diminue considrablement, sans quand mme perdre les
avantages de cette approche.
10.3. Conclusions

La possibilit d'utilisation des rseaux de neurones dans un outil d'aide la


dcision pour le problme prsent parat trs intressante. Il sera galement

45
possible de faire une comparaison directe avec d'autres mthodes existantes en
parallle.

Illustration des caracteristiques de l'explicabilit dfinies au chapitre 9:


"Le site a obtenu une trs bonne note car les valeurs
des critres les plus importants sont bonnes, sauf pour
le critre nature du sol, qui a une valeur moyenne.
La valeur pour l'exposition visuelle est mauvaise,
mais dans ce cas il n'est pas un critre trs
important, alors son influence sur le rsultat est
faible."

46

11. Dveloppements envisageables


Ce travail a t effectu dans un temps limit et il y a plusieurs dveloppements
envisageables au niveau des outils et de la recherche. La premire phase constitue
le dveloppement du simulateur et l'intgration dans un vrai systme de dcision
pour obtenir des expriences vraies. Une tude des possibilits d'utilisation ou de
combinaison avec des simulateurs existants sera faite en mme temps. La
deuxime phase sera le dveloppement de la technique des RN employe pour
essayer de faciliter l'utilisation, l'apprentissage et la performance du systme.
Quelques essais planifis dans le cadre de ce D.E.A. n'taient pas possibles
effectuer dans le temps prvu. Le premier essai serait d'tudier comment se
comporte le RN en faisant de l'apprentissage avec peu d'exemples. Un deuxime
essai serait d'utiliser les exemples du choix de sites de stockage de dchets
industriels trouvs dans [Rey et al., 1988] pour tudier les effets de l'apprentissage
en utilisant ces exemples.
11.1. Dveloppement des outils

Le simulateur de RN prsent dans le chapitre 7 demande encore des


amliorations au niveau de tests d'erreurs et de l'interface utilisateur. Il sera
possible d'amliorer les deux la fois en passant sous le systme Windows. Le
changement du systme permettra aussi l'utilisation des DLL (Dynamic Link
Libraries), ce qui rend possible la connexion et l'utilisation du simulateur partir
de tous les logiciels existants sous Windows qui supportent cette facilit.
Il semble aussi ncessaire de dvelopper d'autres formats de sauvegarde des
RN, ou au moins rajouter des fonctionnalits aux formats existants.
Un outil sera ncessaire pour automatiser la connexion des rseaux prsents au
chapitre 8. La combinaison a t faite " la main" jusqu' maintenant en utilisant
un tableur, mais cela donne souvent des erreurs et demande beaucoup de temps.
11.2. Utilisation d'autres types et configurations de rseaux de neurones

Plusieurs pistes de recherche trs intressantes au niveau des RN sont


envisageables.
Une possibilit serait d'utiliser le calcul de coefficients de certitude prsent au
chapitre 8 directement comme la fonction d'activation des neurones (la somme

47
pondre existe par exemple videmment dj). Cela permettrait de remplacer les
RN utiliss pour apprendre ces fonctions avec un seul neurone. Le problme qu'il
faut rsoudre est l'apprentissage, car la rgle de Widrow-Hoff n'est pas directement
applicable.
Les units Sigma-Pi [Rumelhart et al., 1986] qui permettent la sortie d'un
neurone d'agir comme un poids d'une entre peut faciliter l'application des RN
pour des problmes comme celui voqu au chapitre 10. Notamment dans des
situations avec des grands changements dans l'importance dynamique des critres
en fonction des valeurs d'autres critres, il semble que les units Sigma-Pi seraient
utiles.
B
C
w

1A

2A

D
E

Figure 22. Unit Sigma-Pi [Rumelhart et al., 1986]. L'entre de l'unit A est la
somme BC+DE.
La tche d'explications demandera aussi des approches supplmentaires pour
mieux s'approcher de la faon d'expliquer des experts humains. Un niveau
supplmentaire pourrait tre d'expliquer en utilisant des exemples anciens [Safar,
1992]. Pour cela il faut trouver un exemple qui est assez prs du choix expliquer
au niveau des valeurs des critres en utilisant une mesure de distance. Par exemple
les outils d'analyse de donnes offrent des possibilits de mesurer cette distance
[OCDE, 1991]. Les cartes de Kohonen [Kohonen, 1984] sont aussi applicables
pour faire la mme chose.
Les calculs des coefficients de certitude sont en effet un type de logique
"tendue". Il doit alors tre possible de traduire des expressions des logiques
binaires ou des rgles de production directement dans un (ou plusieurs) rseau de

48
neurones en utilisant une technique semblable celle prsente dans ce travail. Un
travail intressant dans ce domaine a t fait par A. Labiad [Labiad, 1989].
Il semble aussi ncessaire de faire une comparaison entre les RN et
l'apprentissage symbolique automatique, qui volue toujours.
11.3. Intgration avec un systme d'aide la dcision rel

L'existence d'un projet rel l'Ecole des Mines de Saint-Etienne pour


dvelopper un outil d'aide la dcision pour le choix de sites de stockage de classe
I (comme dans le rapport [Rey et al., 1988]) permettra d'effectuer des tests sur un
cas rel.
Dans le cadre de ce projet un outil contenant un systme expert et deux
mthodes multicritre est en train d'tre dvelopp. Cet outil inclura tous les
composants d'un logiciel destin un utilisateur final.
Les techniques prsentes dans ce rapport seront intgres dans ce systme en
parallle avec les mthodes existantes, ce qui permettra de comparer directement
les avantages et les inconvnients de chaque approche, mme au niveau de
l'utilisateur final. Cet aspect est important car il permet de faire une valuation
objective de l'utilisateur final, qui est aprs tout le juge le meilleur.

49

12. Conclusions
Ce travail prsente une mthode permettant de traduire des calculs hirarchiss
pondrs des quelques mthodes d'aide la dcision multicritre en un rseau de
neurones correspondant. Le RN obtenu est capable de modifier les pondrations en
utilisant l'apprentissage automatique partir d'exemples. La non-linarit du RN
permet aussi d'apprendre les bons calculs pour combiner les pondrations et les
notes (autres que dans le systme de base).
Les concepts d'importance, d'influence et classification des valeurs d'un critre
proposes rendent possible d'expliquer les dcisions prises par le RN.
Les buts du travail sont ainsi atteints et les rsultats doivent avoir un intrt
gnral hors des limites de ce travail. Les questions et dveloppements
envisageables sont assez nombreux pour donner une motivation pour continuer sur
le chemin choisi.
Notamment les connaissances des rseaux de neurones acquises pendant ce
travail seront importantes au niveau personnel aussi bien qu'au niveau de l'quipe
pour les activits dans le futur.

50

Bibliographie

ABU-SALAMEH Walid, TOLUN Mehmet R. Performance Evaluation of Extended


Backpropagation Rule for Generating Networks of Connectionist Expert Systems.
ICANN-91 proceedings, Vol. 2. Amsterdam: Elsevier, 1991. p. 1363-1366.
ALLENBY Braden R., FULLERTON Ann. Design For Environment - A New Strategy for
Environmental Management. Pollution Prevention Review, Vol. 2, N 1, p. 51-62.
AMALDI E. On the Complexity of Training Perceptrons. ICANN-91 proceedings, Vol.
1. Amsterdam: Elsevier, 1991. p. 55-60.
AYEL M., ROUSSET M.-C. La coherence dans les bases de connaissances. Toulouse:
Cepadues-editions, 1990. 106 p.
BEAUNE, Philippe. Acquisition interactive de la connaissance. Thse d'universit:
U.S.T.L. Montpellier, 1992. 215 p.
BELALA Yacine, PAREY Christine. Prime Numbers: A Way To Distribute Symbolic
Knowledge Over Neural Nets. ICANN-91 proceedings, Vol. 2. Amsterdam: Elsevier,
1991. p. 1379-1382.
BRAUSE R. Approximator Networks and the Principle of Optimal Information
Distribution. ICANN-91 proceedings, Vol. 1. Amsterdam: Elsevier, 1991. p. 43-48.
BULSARI Ablay, SAXEN Henrik. Implementation of Heuristics for Chemical Reactor
Selection in a Feed-Forward Neural Network. ICANN-91 proceedings, Vol. 1.
Amsterdam: Elsevier, 1991. p. 435-440.
BURATTINI Ernesto, TAMBURRINI Guglielmo. A Neural Knowledge Representation for
Diagnostic Expert Systems. ICANN-91 proceedings, Vol. 1. Amsterdam: Elsevier,
1991. p. 453-458.
CARLSON Eero. Kokemuksia hermoverkon kytst kiinteistnarvioinnissa. Finnish
Artificial Intelligence Symposium proceedings. Oulu: Blanco ry, 1990. p. 288-297.
CATHERIN Jean-Yves. Le flou japonais passe aux commandes. Mesures, 1991, N
636, p. XXIV-XXVIII.

51
CROMMELYNCK, Vincent, DUQUESNE, Charles, MINIUSSI, Claude, MERCIER, Michel.
Prvision des consommations d'eau de la banlieue parisienne par la technique
des rseaux de neurones. L'eau, l'industrie, les nuisances, 1992, N 155, p.40-43.
DE CASTELJAU Paul de Faget. Le lissage. Paris: Editions Herms, 1990. 139 p.
DE KLEER, J. Choices without backtracking. Proc.of the Amer. Assoc. for Artificial
Intelligence Conf. (AAAI-84), Austin, 1984. p. 79-85.
DE

KLEER,

J. An

assumption-based thruth maintenance system. Artificial

Intelligence, 1986, N 28. p. 127-162.


DE KLEER, J. Extending the ATMS. Artificial Intelligence, 1986, N 28. p. 163-196.
DE LA MAZA Michael. SPLITnet; Dynamically Adjusting th Number of Hidden Units in
a Neural Network. ICANN-91 proceedings, Vol. 1. Amsterdam: Elsevier, 1991. p.
647-651.
DECAMP, Erik, AMY, Bernard. Neurocalcul et rseaux d'automates. Nanterre: EC2,
1988. 198 p.
DENOEUX T., LENGELLE R., CANU S. Initialization of Weights in a Feedforward Neural
Network Using Prototypes. ICANN-91 proceedings, Vol. 1. Amsterdam: Elsevier,
1991. p. 623-628.
DEVILLERS J., KARCHER W. (Ed.). Applied Multivariate Analysis in SAR and
Environmental Studies. Dordrecht: Kluwer academic publishers, 1991. 530 p.
DIGITALK inc. Smalltalk/V Mac Tutorial and Programming Handbook. Los Angeles:
Digitalk inc., 1989. 555 p.
DREYFUS Hubert L. From Socrates to Expert Systems: The Limits and Dangers of
Calculative Rationality. Arpakannus, N 3. Finnish Artificial Intelligence Society,
1991. p. 17-25.
DOYLE, J. A thruth maintenance system. Artificial Intelligence, 1979, N 12, p. 231272.
ENEVOLDSEN K., GHEORGHE A., MOSEHOLM L., SRENSEN B. The Effect of LowLevel Air Pollution and Weather on Asthma and Chronic Bronchitis Patients,
Studied by Neural Network Methods. ICANN-91 proceedings, Vol. 2. Amsterdam:
Elsevier, 1991. p. 1371-1374.

52
FOGELMAN-SOULIE, Franoise. Mthodes connexionnistes pour l'apprentissage.
Actes des Journes Nationales sur l'Intelligence Artificielle. Paris: Teknea, 1988. p.
275-293.
FRANTZIS I. E.I.A. In the Landfill Sites Selection Process. Sardinia 91 Third
International Landfill Symposium proceedings, Vol. 2. Imola: Grafiche Galeati,
1991. p. 1611-1614.
FRITZKE Bernd, NASAHL Christof. A Neural Network That Learns To Do Hyphenation.
ICANN-91 proceedings, Vol. 2. Amsterdam: Elsevier, 1991. p. 1375-1378.
FOUCH Pierre, CHARLES Anne, BARTHS Jean-Paul, MELIN Christian. Un panorama
de la physique qualitative. Confrence Spcialise: Systmes Experts de Seconde
Gnration. Avignon 1989. p. 89-106.
GENESERETH Michael R., NILSSON Nils J. Logical Foundations of Artificial
Intelligence. Los Altos California: Morgan Kaufmann Publishers Inc., 1987. 401 p.
GOLDBERG, Adele. Smalltalk-80: The Interactive Programming Environment.
Massachusetts: Addison-Wesley Publishing Company, 1984. 516 p.
GOLDBERG,

Adele,

ROBSON,

David.

Smalltalk-80:

The

language

and

its

implementation. Massachusetts: Addison-Wesley Publishing Company, 1983. 714 p.


GRABOT Bernard. Fuzzy Knowledge Modeling in Production Management.
Publications of the Finnish Artificial Intelligence Society,

N 3. Helsinki: Kari

Paatelainen Oy, 1990. p. 46-53.


GRAND, Jean-Michel, JULIOT, Bertrand. Descriptor, manuel d'utilisation de la
version Dos 2.2. Vannes: Intelmark, 1990. 161 p.
HAARIO Heikki, JOKINEN Petri. Increasing the Learning Speed of Backpropagation
Algorithm by Linearization. ICANN-91 proceedings, Vol. 1. Amsterdam: Elsevier,
1991. p. 629-634.
HECHT-NIELSEN Robert. Neurocomputing. Addison-Wesley Publishing Company,
1990. 433 p.
HESKES T., KAPPEN B., GIELEN S. Neural Networks Learning in a Changing
Environment. ICANN-91 proceedings, Vol. 1. Amsterdam: Elsevier, 1991. p. 15-20.

53
HOPFIELD, J. J. Neural Networks and physical systems with emergent collective
computational abilities. Proceedings of the National Academy of Sciences. USA,
1982. Vol. 79, p. 2554-58.
HU D., WANG Z., ZHANG L. The Approximation Precision of Three-Layered
Backpropagation Neural Network with Single Input Single Output. ICANN-91
proceedings, Vol. 1. Amsterdam: Elsevier, 1991. p. 49-54.
JANG Gia-Shuh, LAI Feipei, JIANG Bor-Wei, PAN Chung-Chi. An Intelligent Stock
Portfolio Management System Based on Short-term Trend Prediction Using DualModule Neural Networks. ICANN-91 proceedings, Vol. 1. Amsterdam: Elsevier,
1991. p. 447-452.
JOKINEN, Petri. Continuously Learning Nonlinear Networks with Dynamic Capacity
Allocation. Thse Doct. d'tat: Tampere University of Technology, 1991. 100 p.
KODRATOFF Yves, MICHALSKI Ryszard. Machine Learning Volume III. San Mateo
California: Morgan Kaufmann Publishers, Inc. , 1990. 825 p.
KOHONEN Teuvo. Self-organization and associative memory. Berlin: SpringerVerlag, 1984.
KOZATO F., DE WILDE Ph. How Neural Networks Help Rule-Based Problem Solving.
ICANN-91 proceedings, Vol. 1. Amsterdam: Elsevier, 1991. p. 465-470.
KURFE Franz. Unification on a Connectionist Simulator. ICANN-91 proceedings,
Vol. 1. Amsterdam: Elsevier, 1991. p. 471-476.
LABIAD, Ahmed. Modlisation de l'expertise. Rseaux connexionnistes en
informatique mthodes et applications, 3me universit d't, juillet 3-7, 1989.
Lyon: Universit Lyon I - INSA de Lyon, 1989. p. III-1-19.
LA SOMB. Raisonnements sur des informations incomplets en Intelligence
Artificielle. Toulouse: Teknea, 1989. 221 p.
LEINONEN Lea, KANGAS Jari, JUVAS Anja. Pattern Recognition of Hoarse and
Healthy Voices by the Self-Organizing Map. ICANN-91 proceedings, Vol. 2.
Amsterdam: Elsevier, 1991. p. 1385-1388.
LEMBERG Henri. Les rseaux neuronaux artificiels. INFOPC, 1991, N 2, p. 20-28.

54
McCULLOCH-PITTS. A Logical Calculus ot the Ideas Imminent in Nervous Activity.
Bulletin of math. biophysics, 1943, Vol. 5, p. 115-133.
MICRO DATA BASE SYSTEMS Inc.. Guru v.2.0, manuels d'utilisateur. Lafayette: Micro
Data Base Systems inc., 1990.
MINSKY, M., PAPERT, S. Perceptrons. Massachusetts: MIT Press, 1969.
MURATA N., YOSHIZAWA S., AMARI S. A Criterion for Determining the Number of
Parameters in an Artificial Neural Network. ICANN-91 proceedings, Vol. 1.
Amsterdam: Elsevier, 1991. p. 9-14.
NILSSON, Nils J. Principles of Artificial Intelligence. Palo Alto, California: Tioga
Publishing Company, 1982. 471 p.
OCDE. SEDE-90 Proceedings of an NEA workshop: Heterogeneity of Groundwater
Flow and Site Evaluation. Paris: Lavoisier, 1991. 334 p.
ORPONEN Pekka, FLOREN Patrik, MYLLYMKI Petri, TIRRI Henry. A Neural
Implementation of Bayesian Reasoning. Finnish Artificial Intelligence Symposium
proceedings. Oulu: Blanco ry, 1990. p. 277-287.
PERNOT E., VALLET F. NeuroclassTM: A Software Environment for Classification of
Signals by Neural and Conventional Methods. ICANN-91 proceedings, Vol. 1.
Amsterdam: Elsevier, 1991. p. 557-562.
REY M., SCHMUTZ B., STAMPFLI E. Recherche et dfinition de sites en Suisse
romande. Lausanne: C.E.A.T. (Communaut d'tudes pour l'amenagement du
territoire), 1988. 81 p.
ROMMEL, Yves. Apport de l'intelligence artificielle l'aide la dcision
multicritre. Thse Doct. Ing.: Universit de Paris-Dauphine, 1989. 248 p.
ROYER Jean-Claude. MANDRIN: Un systme d'apprentissage pour l'aide au
reglage d'un instrument. Thse Doct.: Institut National Polytechnique de Grenoble,
1990.
RUMELHART David E., McCLELLAND James L. et al. Parallel Distributed Processing
Vol. 1. Massachusetts: MIT Press, 1988. 547 p.
SAATY Thomas L. Dcider face la complexit. Paris: Entreprise moderne
d'dition, 1984. 225 p.

55
SAFAR, B. (Prs.). Actes des deuximes journes Explication du PRC-GDR-IA du
CNRS, Sophia-Antipolis, 17-19 juin 1992. Sophia-Antipolis: INRIA, 1992. 239 p.
SHORTLIFFE, E. Computer-based Medical Consultations: MYCIN. Amsterdam:
Elsevier, 1976.
STENSMO Magnus, LANSNER Anders, LEVIN Bjrn. A Query-Reply System Based On
a Recurrent Bayesian Neural Network. ICANN-91 proceedings, Vol. 1. Amsterdam:
Elsevier, 1991. p. 459-464.
STEMPLOWSKI, Richard. Application de l'aide la decision multicritre aux
schmas d'amnagement des eaux. Thse de D.E.A.: Universit Paris IX Dauphine,
1990. 131 p.
STROUSTROUP, Bjarne. The C++ programming language. Reading, Massachusetts:
Addison-Wesley, 1986. 327 p.
TAM Kar Yan, KIANG Melody. Predicting Bank Failures: A Neural Network
Approach. Applied Artificial Intelligence, Vol. 4, N 4, p. 265-282.
TRELEAVEN Philip C. PYGMALION Neural Network Programming Environment.
ICANN-91 proceedings, Vol. 1. Amsterdam: Elsevier, 1991. p. 569-578.
WANG Chia-Jiu, WU Chwan-Hwa. Parallel simulation of neural networks. Simulation,
1991, Vol. 56, N 4, p. 223-232.
ZADEH Lotfi A. Fuzzy Sets. Information and control, N 8, 1965. p. 338-353
ZADEH Lotfi A., FU King-Sun, TANAKA Kokichi, SHIMURA Masamichi. Fuzzy Sets and
Their Applications to Cognitive and Decision Processes. New-York: Academic Press
Inc., 1975. 496 p.

Annexe 1. Les classes du simulateur des RN


Le simulateur mme contient seulement quinze classes. Le logiciel complet
contient en plus des classes de visualisation.

Record*
NeuralNet
GenericNeuron
Neuron
InputNeuron
HiddenNeuron
OutputNeuron
Planet
ConnPlanet
InputPlanet
Array*
LayerArray
Layer
InputLayer
HiddenLayer
OutputLayer
PlanetArray

Les noeuds marqus avec un "*" sont des classes Borland "C++" pr dfinies.

Annexe 2. Exemple du format de sauvegarde


Cet exemple de sauvegarde contient les informations suivantes:
le numro 4 qui indique le nombre de couches
le nombre de neurones dans les quatre couches
le format de sauvegarde (1=incrmental)
la section de connections o il y a des suppressions et des ajouts de

connections
la section de poids (o les lignes trop longues ont t coupes, ce qui

explique que seulement quatre poids sont visibles au lieu de onze sur les
lignes coupes)
4
3 10 10 1
1
[connections]
-(0,2)(1,0)
-(0,2)(1,1)
-(0,2)(1,2)
-(0,2)(1,3)
-(0,2)(1,4)
-(0,2)(1,5)
-(0,2)(1,6)
-(0,2)(1,7)
-(0,2)(1,8)
-(0,2)(1,9)
+(0,2)(2,0)
+(0,2)(2,1)
+(0,2)(2,2)
+(0,2)(2,3)
+(0,2)(2,4)
+(0,2)(2,5)
+(0,2)(2,6)
+(0,2)(2,7)
+(0,2)(2,8)
+(0,2)(2,9)
[end]
[weights]
0
0
0
-6.643453
-0.593477
-3.571259
-0.336005
-1.151034
5.324191
3.498224

1
1
1
-0.793633
-0.006878
0.429525
-0.644778
-0.580672
0.601166
0.680397

-0.552656
-0.544168
-0.300196
-0.453074
0.406742
-0.422273
0.479113

2
1.550323
-2.792563
-1.555159
-7.31714742
-0.59931556
-3.2066464
-0.88334028
-1.64395136
5.83450519
4.07579532
2.04509346
-3.20434753
-1.10650193
0.848874
[end]

0.582855
-0.485095
0.528532
3.62178467
0.0313881
-1.96015924
2.94247729
2.64992629
-2.7434517
-3.10502641
-2.65988852
2.21375577
-2.41198274
-4.563551

0.404536
0.343833
0.366275
0.01110848
9.6271E-05
-0.00601206
0.00902496
0.00812767
-0.00841452
-0.00952352
-0.00815822
0.00678987
-0.00739786
-0.013997

-3.16674725
-0.02744453
1.71388679
-2.57278737
-2.31699219
2.39876716
2.71491399
2.32570278
-1.9356217
2.10894363
3.990191