Post on 21-Jun-2022
HAL Id: tel-00480555https://tel.archives-ouvertes.fr/tel-00480555
Submitted on 4 May 2010
HAL is a multi-disciplinary open accessarchive for the deposit and dissemination of sci-entific research documents, whether they are pub-lished or not. The documents may come fromteaching and research institutions in France orabroad, or from public or private research centers.
L’archive ouverte pluridisciplinaire HAL, estdestinée au dépôt et à la diffusion de documentsscientifiques de niveau recherche, publiés ou non,émanant des établissements d’enseignement et derecherche français ou étrangers, des laboratoirespublics ou privés.
Approche de modélisation approximative pour dessystèmes à événements discrets : Application à l’étude
de propagation de feux de forêtPaul-Antoine Bisgambiglia
To cite this version:Paul-Antoine Bisgambiglia. Approche de modélisation approximative pour des systèmes à événementsdiscrets : Application à l’étude de propagation de feux de forêt. Modélisation et simulation. UniversitéPascal Paoli, 2008. Français. tel-00480555
UNIVERSITÉ DE CORSE – PASQUALE PAOLI
U.F.R. SCIENCES ET TECHNIQUES
THÈSEpour obtenir le grade de
DOCTEUR DE L’UNIVERSITÉ DE CORSE
ÉCOLE DOCTORALE ENVIRONNEMENT ET SOCIÉTÉ
Discipline : Sciences pour l’Environnement
Spécialité : Informatique
présentée par
M. Paul-Antoine BISGAMBIGLIA
Approche de modélisation approximativepour des systèmes à événements discrets :
Application à l’étude de propagation de feux de forêt
sous la direction du Professeur
Paul Antoine BISGAMBIGLIA
soutenue publiquement le 05 décembre 2008 devant le jury composé de :
Rapporteurs : M. Denis FLOUTIER, Professeur, Polytech’SavoieM. David R.C. HILL, Professeur, Université Blaise Pascal de Clermont-Ferrand
Examinateurs : M. Gérard CAPOLINO, Professeur, Université de PicardieM. Farhat FNAIECH, Professeur, Ecole Supérieure des S&T de TunisM. Jean-François SANTUCCI, Professeur, Université de CorseM. Paul-Antoine BISGAMBIGLIA, Professeur, Université de CorseMme. Emmanuelle de GENTILI, Maître de conférences, Université de Corse
UNIVERSITÉ DE CORSE – PASQUALE PAOLI
U.F.R. SCIENCES ET TECHNIQUES
THÈSEpour obtenir le grade de
DOCTEUR DE L’UNIVERSITÉ DE CORSE
ÉCOLE DOCTORALE ENVIRONNEMENT ET SOCIÉTÉ
Discipline : Sciences pour l’Environnement
Spécialité : Informatique
présentée par
M. Paul-Antoine BISGAMBIGLIA
Approche de modélisation approximativepour des systèmes à événements discrets :
Application à l’étude de propagation de feux de forêt
sous la direction du Professeur
Paul Antoine BISGAMBIGLIA
soutenue publiquement le 05 décembre 2008 devant le jury composé de :
Rapporteurs : M. Denis FLOUTIER, Professeur, Polytech’SavoieM. David R.C. HILL, Professeur, Université Blaise Pascal de Clermont-Ferrand
Examinateurs : M. Gérard CAPOLINO, Professeur, Université de PicardieM. Farhat FNAIECH, Professeur, Ecole Supérieure des S&T de TunisM. Jean-François SANTUCCI, Professeur, Université de CorseM. Paul-Antoine BISGAMBIGLIA, Professeur, Université de CorseMme. Emmanuelle de GENTILI, Maître de conférences, Université de Corse
Chercher à connaître
n’est souvent qu’apprendre à douter.
DESHOULIER
Remerciements
"J’ai rédigé ce document, mais le plus important dans mon document est ce qui n’est pas écrit1"
Ces travaux de thèse se sont principalement déroulés au sein de l’équipe Informatique de
l’Université de Corse. Cette équipe est intégrée au laboratoire Sciences Pour l’Environnement
(SPE), Unité Mixte de Recherche CNRS 6134 dirigée par Monsieur Paul Antoine Bisgambiglia,
professeur à l’Université de Corse.
J’ai trouvé au sein de cette équipe une ambiance particulièrement favorable pour mener à bien
ce travail, et je remercie vivement Monsieur Jean-François Santucci, Professeur de l’Université
de Corse, qui m’y a accueilli et qui a suivi ces travaux.
Je tiens tout particulièrement à exprimer ma gratitude à Monsieur Paul Antoine Bisgambiglia,
Professeur de l’Université de Corse, pour avoir accepté de diriger ces travaux, pour sa disponibilité
et ses conseils qui m’ont été indispensables tout au long de ces années.
Je tiens également à remercier chaleureusement Madame Emmanuelle de Gentili, Maître de
conférence à l’Université de Corse, pour avoir co-encadré ces travaux depuis mon stage de DEA.
Je souhaite exprimer toute ma gratitude à Monsieur Denis Floutier, Professeur à Polytech’Savoie
et Monsieur David Hill, Professeur de l’Université Blaise Pascal de Clermont-Ferrand, pour l’in-
térêt qu’ils ont porté à ce travail en acceptant de juger ce mémoire avec autant d’attention.
Je voudrais également exprimer toute ma reconnaissance à Monsieur Gérard Capolino, Pro-
fesseur de l’Université de Picardie, et Monsieur Farhat Fnaiech, Professeur de l’Ecolde Supérieure
des S&T de Tunis, qui me font l’honneur de participer à ce jury.
Un grand merci à toutes l’équipe informatique, et tout particulièrement à Monsieur Laurent
Capocchi, Maître de conférence à l’IUT de Corse, et Monsieur Jean-Baptiste Filippi, Chargé de
Recherche au CNRS, pour leur grande gentillesse et pour leur disponibilité.
1Bernard Werber
CHAPITRE 0
J’exprime ici toute mon amitié à mes compagnons de bureau Stéphane Garredu et Jean-
Sébastien Gualtieri, qui ont contribué à rendre ces années toujours joviales.
J’adresse également mes remerciements aux institutions qui ont soutenu techniquement et fi-
nancièrement cette étude : l’Université de Corse et la Collectivité Territoriale de Corse.
Enfin, pour leur soutien sans faille et permanent, je tiens à remercier de tout cœur mes par-
ents, mes beaux-parents, mon frère, et ma femme Virginie, qui a supporté ma mauvaise humeur
pendant les périodes délicates de ma thèse, et qui s’est donnée tant de mal pour traquer les fautes
d’orthographe.
vii
Résumé
Ce n’est pas parce que les choses sont
difficilles que nous ne les faisons pas.
C’est parce ce que nous ne les faisons pas
qu’elles sont difficiles.
Bernard Werber
CE rapport présente les différentes étapes suivies afin de définir une nouvelle approche de
modélisation et de simulation à évènements discrets pour les systèmes à paramètres im-
précis.
Cette étude a débuté avec des travaux sur la formalisation d’un système de production de fro-
mage Corse. Suite à ces recherches, et en particulier, suite à la phase de modélisation du processus,
nous avons pu constater l’influence de paramètres imparfaitement définis. Ces paramètres entrent
en compte au cours des différentes phases de conception, et sont difficiles à représenter et surtout
à manipuler.
Dans le but de les prendre en compte de manière générique, nous nous sommes naturellement
tournés vers l’utilisation de la Logique Floue. En effet, elle permet de représenter des informa-
tions imprécises (théorie des sous ensembles flous), incertaines (théorie des possibilités), et inex-
acte (raisonnement approximatif). Son avantage principal est de fournir un grand nombre d’outils
viii
RESUME
mathématiques afin de manipuler de telles informations sous forme numérique ou linguistique,
c’est-à-dire de manière relativement proche du mode de représentation, et surtout d’expression
utilisé par l’homme. A partir des théories du flou, nous pouvons donc user de concepts mathéma-
tiques complexes tout en conservant un rapport privilégié (lien) entre représentation numérique et
mode de description humain.
Nous avons choisi d’intégrer ces différents outils dans un multi formalisme de modélisation
et de simulation afin de pouvoir spécifier de manière générique n’importe quel type de système à
paramètres imprécis. Le formalisme employé est nommé DEVS (Discrete EVents system Specifi-
cation). Ses principaux avantages sont : sa capacité à être étendu à de nouveaux domaines d’étude,
dans notre cas les systèmes flous ; la séparation des phases de modélisation et de simulation, de
ce fait, lors de la conception d’un modèle DEVS les algorithmes de simulation sont automatique-
ment générés en fonction du modèle ; enfin, il permet de représenter un système sous sa forme
fonctionnelle et structurelle.
Notre but est d’associer le formalisme DEVS et une partie des théories du flou afin de définir
une nouvelle approche de modélisation approximative. Pour cela nous avons suivi plusieurs étapes :
1. étude des méthodes existantes (Fuzzy-DEVS et Min-Max-DEVS), à partir de cela nous
avons choisi de ne prendre en compte que les informations imprécises ;
2. définition d’une librairie objet de représentation et de manipulation d’imprécision (nouveau
type de données IntervalleFlou) ;
3. identification des éléments imprécis dans la phase de modélisation DEVS (modèles) ;
4. proposition d’une méthode de prise en compte (IntervalleFlou) ;
5. identification des éléments imprécis dans la phase de simulation (évènements) ;
6. proposition d’une méthode de prise en compte (défuzzification) ;
7. suite aux étapes 4 et 5, définitions de nouveaux types de modèles appelés iDEVS pour
inaccuracy DEVS (DEVS imprécis) ;
8. application et validation de l’approche iDEVS pour l’étude de propagation de feux de forêt.
ix
RESUME
Ces différentes étapes nous ont conduit à proposer une nouvelle approche DEVS qui associe
modélisation systémique et modélisation approximative. Cette approche appelée iDEVS permet
comme nous le souhaitions de spécifier des systèmes à paramètres imprécis sous forme de mod-
èle DEVS. Les modifications apportées au formalisme DEVS classique sont minimes, il est donc
possible d’utiliser l’approche iDEVS dans n’importe quel environnement DEVS, il suffit pour
cela d’importer la librairie définie, il n’y a pas d’autre changement à effectuer. Cet avantage est la
principale force de cette approche.
Cependant, en arithmétique floue, certaines propriétés mathématiques ne sont plus vérifiées, ce
qui nécessite une grande vigilance de l’utilisateur lors de l’écriture des algorithmes. De plus, il est
souvent difficile d’échapper au grossissement des intervalles, autrement dit à une faible précision
des résultats. Il sera donc intéressant d’ajouter un module d’aide à la décision afin de faciliter
l’interprétation des données.
x
Enigme :
Comment relier neuf points avec quatre traits sans lever le stylo ?
FIG. 1: ENIGME.
Solution page 160
xi
Table des matières
Résumé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viii
Introduction Générale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1 Les Théories du ’FLOU’ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.1 Définitions mathématiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.1.1 Théorie des ensembles . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.1.2 Notion d’appartenance . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.1.3 Arithmétique des intervalles . . . . . . . . . . . . . . . . . . . . . . . . 12
1.2 Théorie des sous ensembles flous . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.2.1 Définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.2.2 Opérations de base sur les sous-ensembles flous. . . . . . . . . . . . . . 16
1.2.3 Principe d’extension . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.2.4 Quantité floue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.2.5 Arithmétique floue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.2.5.1 Opérations arithmétiques sur les quantités floues . . . . . . . . 20
1.2.5.2 Intervalle flou . . . . . . . . . . . . . . . . . . . . . . . . . . 22
xii
Table des Matières
1.3 Théorie des possibilités . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
1.3.1 La théorie des ensembles flous comme base de celle des possibilités . . . 26
1.3.2 Mesure de possibilité et de nécessité . . . . . . . . . . . . . . . . . . . . 26
1.3.3 Distribution de possibilité, mesure de possibilité et ensemble flou . . . . 27
1.4 Raisonnement approximatif . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
1.4.1 Système flou . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
1.4.2 SIF : système d’inférence floue . . . . . . . . . . . . . . . . . . . . . . . 29
1.4.3 Fuzzification et défuzzification . . . . . . . . . . . . . . . . . . . . . . . 30
1.5 Conclusion de chapitre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2 Modélisation et Simulation de Systèmes . . . . . . . . . . . . . . . . . . . . . . . . 33
2.1 Approches de modélisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.2 Théorie Systémique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
2.2.1 Systèmes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
2.2.2 Modélisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
2.2.3 Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
2.2.4 Paradigme de Modélisation et de Simulation . . . . . . . . . . . . . . . 45
2.3 Modélisation à évènement discret . . . . . . . . . . . . . . . . . . . . . . . . . 46
2.3.1 Modélisation DEVS . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
2.3.1.1 Modèle Atomique . . . . . . . . . . . . . . . . . . . . . . . . 48
2.3.1.2 Modèle Couplé . . . . . . . . . . . . . . . . . . . . . . . . . 51
2.3.2 Simulation DEVS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
2.4 Modélisation approximative . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
2.4.1 Fuzzy-DEVS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
2.4.2 Min-Max-DEVS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
2.5 Conclusion du Chapitre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
3 Approche de Modélisation et de Simulation iDEVS . . . . . . . . . . . . . . . . . 63
3.1 inaccuracy Discrete EVent system Specification . . . . . . . . . . . . . . . . . . 64
xiii
Table des Matières
3.1.1 Pourquoi iDEVS ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
3.1.2 Imprécisions sur les paramètres . . . . . . . . . . . . . . . . . . . . . . 66
3.2 Modélisation iDEVS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
3.2.1 Représentation des données . . . . . . . . . . . . . . . . . . . . . . . . 68
3.2.2 Manipulation des données . . . . . . . . . . . . . . . . . . . . . . . . . 71
3.3 Simulation iDEVS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
3.3.1 Exemple de méthodes de défuzzification . . . . . . . . . . . . . . . . . . 80
3.3.1.1 Noyau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
3.3.1.2 Milieu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
3.3.1.3 Intégrale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
3.3.1.4 Date prévue d’exécution : EEM (Expected Existence Measure) 84
3.3.1.5 Changement de domaine . . . . . . . . . . . . . . . . . . . . 86
3.3.2 Proposition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
3.4 Modèles iDEVS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
3.4.1 Modèle atomique iDEVS . . . . . . . . . . . . . . . . . . . . . . . . . . 90
3.4.2 Modèle couplé iDEVS . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
3.5 Réalisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
3.5.1 Bibliothèque de modèles iDEVS . . . . . . . . . . . . . . . . . . . . . . 94
3.5.2 Modèles powerDEVS . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
3.5.3 Modèles pythonDEVS . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
3.6 Conclusion du Chapitre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
4 Application : Propagation de feux de forêts . . . . . . . . . . . . . . . . . . . . . . 103
4.1 Identification des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
4.1.1 Mécanismes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
4.1.2 Le Terrain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
4.1.3 Les conditions météorologiques . . . . . . . . . . . . . . . . . . . . . . 110
4.1.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
4.2 Premier exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
xiv
Table des Matières
4.2.1 Modèle de base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
4.2.2 Modèles flous . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
4.2.3 Résultats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
4.3 Second exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
4.3.1 Modélisation des paramètres . . . . . . . . . . . . . . . . . . . . . . . . 120
4.3.2 Système . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
4.3.3 Modèles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
4.3.4 Résultats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
4.4 Conclusion du Chapitre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
Conclusion Générale et Perspectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
Bibliographie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
Liste des publications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
Liste des figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
Liste des tableaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
Liste des algorithmes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
Acronymes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
Annexe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
xv
Introduction Générale
L’important n’est pas de convaincre, mais
de donner à réfléchir...
Bernard Werber
LA compréhension des phénomènes naturels, artificiels, sociaux, etc., du monde d’aujour-
d’hui devient fondamentale pour nos décideurs politiques et économiques. Ainsi, des do-
maines transdisciplinaires comme les sciences de la complexité connaissent un développement
croissant, tant du point de vue des méthodes que de la formalisation et des outils de modélisa-
tion. Cet intérêt est motivé en particulier par des enjeux globaux et planétaires : écologie, santé
publique, etc. Les sciences de la complexité requièrent la maîtrise d’outils mathématiques et infor-
matiques sophistiqués ainsi qu’une compréhension des thématiques spécifiques auxquelles elles
s’appliquent. Ainsi, l’analyse d’un phénomène se caractérise, après les phases d’étude et d’obser-
vation, par la définition d’un modèle et d’une application thématique telle que l’aide à la décision,
la gestion de crises, etc.
Ces thématiques peuvent être mieux appréhendées grâce à l’utilisation d’hypothèses et de
règles qui permettent d’approcher le fonctionnement ou le comportement du phénomène étudié,
ces notions sont appelées paradigmes de modélisation et de simulation. Ceux-ci rendent compte
de phénomènes passés, présents ou futurs, donnant accès à des informations inobservables via une
1
INTRODUCTION GENERALE
analyse classique. Ils constituent une représentation approximative des phénomènes étudiés, et
permettent d’en tirer des informations pertinentes et d’aider à leur compréhension, en fournissant
des outils génériques et adaptés à un grand nombre de situations.
Conscients de leurs atouts, des besoins, et des solutions qu’ils peuvent apporter, nous leur
avons porté un intérêt grandissant et en avons fait, aujourd’hui, un outil essentiel et transver-
sal pour l’étude de systèmes naturels complexes. Ainsi, l’équipe informatique de l’Université de
Corse, rattachée à l’unité mixte de recherche du CNRS 6134, étudie l’évolution dans le temps des
systèmes dynamiques complexes, naturels ou mécaniques, à partir d’une approche à événements
discrets basée sur le formalisme DEVS (Discrete EVent system Specification).
Le formalisme DEVS introduit par le professeur B.P. Zeigler [Zei76] est développé et porté
depuis plus de trente ans par une communauté internationale de chercheurs [SZ99, KGJ00, Hil00,
ACG+00, FBD02, Van01, JW02, HGF06]. Ces travaux reposent sur le développement d’une ar-
chitecture logicielle permettant d’une part de faciliter les phases de modélisation, de simulation et
de validation, d’autre part, d’utiliser le même environnement de multi modélisation pour analyser
des systèmes issus de domaines différents, et de générer automatiquement les algorithmes de sim-
ulation.
Une des problématiques récemment mises en avant lors d’applications développées dans le
cadre de nos recherches, est le besoin de représenter l’imperfection des informations, et la néces-
sité de prendre en compte en modélisation et en simulation des paramètres imparfaits. L’observa-
tion et la compréhension du monde qui nous entoure passent par la prise en compte de paramètres
difficiles à cerner, à représenter, à analyser. L’Homme de par sa nature complexe a toujours eu
des dispositions pour raisonner sur de telles données. Cependant, quand il s’agit de les traduire en
modèle, et de les transmettre à un ordinateur, des difficultés peuvent survenir, l’ordinateur n’ayant
pas nos capacités d’abstraction et de raisonnement.
La modélisation de systèmes naturels engendre le traitement et l’analyse de ce type d’informa-
tions ou de données, pour lesquelles les valeurs sont souvent imprécises, incertaines, ou incom-
plètes. Les approches classiques consistent généralement à approximer les valeurs des variables
2
INTRODUCTION GENERALE
imparfaites, ou à négliger leur impacts sur les résultats, ce qui au final peut engendrer lors de la
simulation des résultats totalement erronés.
Depuis toujours l’être humain a cherché à maîtriser les imperfections inhérentes au monde
qui l’entoure. La première manifestation de prise en compte des connaissances incertaines fut le
développement de la théorie des probabilités à partir du XVIIème siècle. Mais les probabilités ne
peuvent maîtriser les incertitudes psychologiques et linguistiques. On a donc assisté, dans les an-
nées 50, au développement des théories de probabilité subjective puis, dans les années 60 à celle
de l’évidence. Enfin, la Logique Floue est apparue en 1965 [Zad65, Zad88] à Berkeley dans le
laboratoire du Professeur L.A. Zadeh, avec la théorie des sous ensembles flous [Zad65] puis en
1978 la théorie des possibilités [Zad78]. Ces deux théories constituent aujourd’hui ce que l’on
appelle la Logique Floue. La Logique Floue permet la formalisation des imperfections dues aux
connaissances inexactes d’un système et à la description du comportement du système par des
mots [Zad72, BDP93]. Elle permet donc la description d’un système et le traitement de données
aussi bien numériques que linguistiques.
Le problème qui nous intéresse ici est celui de la gestion des imperfections sur des informa-
tions qui peuvent être numériques ou symboliques, notre objectif principal est d’intégrer dans le
formalisme DEVS des données imprécises. La logique floue est l’outil que nous avons privilégié
dans pour cette étude.
Cette thèse s’inscrit dans la lignée des travaux déjà effectués [Aie97, Del97, Ber02, dG02,
Fil03, Muz04, Cap05], et tout au long de ce rapport nous nous attacherons à décrire les différentes
étapes suivies dans le but de réaliser une nouvelle méthode de modélisation et de simulation de
systèmes complexes à paramètres imparfaits.
Objectifs et propositions
Nos objectifs sont multiples. Nous souhaitons, tout d’abord, nous appuyer sur le formalisme
DEVS et la théorie des sous ensembles flous, et proposer une nouvelle méthode de modélisation
3
INTRODUCTION GENERALE
et de simulation. Cette méthode doit permettre de représenter le comportement de systèmes à
paramètres imprécis. Ensuite, en nous basant sur la logique floue et les outils qu’elle propose, nous
souhaitons développer une nouvelle approche d’aide à la décision, qui, de par sa proximité avec
le mode de représentation humain, permet de décrire un système et d’interpréter ses résultats sous
forme linguistique. Ce mode de représentation est plus facile à appréhender pour l’être humain, et
la logique floue fournit tout un ensemble d’outils pour permettre sa représentation et son utilisation
sur ordinateur.
Dans cette optique, nous proposons d’intégrer dans le formalisme DEVS des outils, issus
des théories du flou, permettant la représentation, la manipulation, et le traitement de données
numériques ou linguistiques imparfaites. L’approche que nous allons présenter au travers de cette
étude est basée sur l’arithmétique des intervalles, il s’agit de calcul par quantités floues, pour
lequel toute proposition est représentée par un label linguistique la caractérisant et un ensemble
de couples : valeur / degré d’appartenance. Dans cette approche tout calcul fournit un intervalle
qui encadre le résultat cherché, mais certaines propriétés mathématiques ne sont plus vérifiées, ce
qui nécessite une grande vigilance de l’utilisateur lors de l’écriture des algorithmes. De plus, il est
souvent difficile d’échapper au grossissement des intervalles, autrement dit à une faible précision
des résultats.
Notre objectif final est de fournir une nouvelle méthode de modélisation et de simulation basée
sur le formalisme DEVS et sur les théories mathématiques associées à la logique floue.
Ce rapport présente le cheminement scientifique qui nous a conduit à proposer cette nouvelle
méthode de modélisation DEVS, et les différentes étapes suivies en vu de sa réalisation. Afin de
prouver sa pertinence et de la valider, nous avons choisi de l’appliquer dans les domaines de la
propagation des feux de forêt. En effet, ce domaine, de par l’influence de nombreux paramètres
naturels, est constamment soumis à l’imprécision. De plus, nos rapports avec les pompiers nous
ont permis de tester la corrélation entre représentation numérique et linguistique des paramètres.
D’ailleurs les modèles de propagation utilisés sont directement issus du dialogue engagé avec
les pompiers, c’est donc une transcription numérique, sous forme de modèles, d’informations et
4
INTRODUCTION GENERALE
d’expériences de terrain décrites de manière linguistique.
Organisation du document
Dans le premier chapitre, nous décrivons les différentes théories du flou. Celles-ci permettent
de définir et de manipuler des informations représentées de manière imparfaites. Une information
est considérée comme imparfaite, soit parce qu’elle est imprécise, soit parce qu’elle est incertaine,
soit parce qu’elle est inexacte. Dans la première partie, après avoir donné un certains nombre de
définitions mathématiques, nous revenons sur la théorie des ensembles et l’arithmétique des in-
tervalles à la base de la théorie des sous ensembles flous. La théorie des sous ensembles flous
présentée dans la seconde partie a été définie dans le but de représenter et manipuler des impréci-
sions. Pour les incertitudes, il est possible d’utiliser la théorie des possibilités, qui est l’équivalent
de la théorie des probabilités. Imprécision et incertitude sont très liées, une information à la fois
imprécise et incertaine peut être représentée en utilisant la théorie des possibilités sur un sous en-
semble flou. Pour le dernier type d’imperfection, nous pouvons utiliser le raisonnement en logique
flou et des systèmes flous comme les systèmes d’inférences flous.
Dans le second chapitre, nous présentons les concepts à la base de la modélisation et de la
simulation. En premier lieu, nous décrivons les différentes approches de modélisation. Nous nous
intéressons plus particulièrement à la modélisation systémique. Celle-ci a pour origine la théorie
générale des systèmes. Après avoir défini ses concepts de base : notion de système, modélisa-
tion, simulation, nous donnons la définition de paradigme de modélisation et de simulation. Cette
définition est essentielle, car elle est au centre des mécanismes appliqués dans le formalisme de
modélisation et de simulation que nous avons choisi d’utiliser, à savoir DEVS. Par la suite, nous
présentons en deux parties le formalisme DEVS. Chacune de ces parties traite d’un des aspects
fondamentaux du formalisme, car celui-ci fait clairement la distinction entre la phase de modéli-
sation et la phase de simulation. Enfin, en conclusion, nous revenons sur toutes ces définitions,
sur les principaux atouts du formalisme DEVS (séparation des phases de modélisation et de sim-
5
INTRODUCTION GENERALE
ulation, capacité d’ouverture, etc.) et nous élargissons notre étude aux approches de modélisation
approximative.
Dans le troisième chapitre, nous détaillons les différentes étapes qui nous ont conduit jusqu’à
la définition d’une nouvelle approche de modélisation et de simulation de systèmes à paramètres
imprécis associant le formalisme DEVS à la théorie des sous ensembles flous et plus généralement
aux outils liés aux théories du flou et à la logique floue. Après avoir étudié les travaux déjà réalisés
dans ces domaines, nous avons choisi de nous limiter à la prise en compte de paramètres imprécis ;
dans cette optique, nous proposons une nouvelle approche appelée iDEVS, pour inaccuray DEVS.
Afin de définir celle-ci, il a été nécessaire de faire évoluer le formalisme DEVS, et d’apporter des
modifications aux phases de modélisation et de simulation. Ces transformations nous ont conduit
à proposer des nouveaux types de modèles atomiques et couplés. Avant de conclure, nous présen-
tons certains modèles réalisés pendant ces travaux.
Dans le quatrième chapitre, nous proposons l’application de la méthode iDEVS pour l’étude
de la propagation de feux de forêt. En effet, dans un tel domaine, les paramètres à prendre en
compte sont souvent changeants, difficiles à décrire ou à représenter, l’utilisation d’une méth-
ode de modélisation imprécise est donc toute indiquée. Notre problématique est la définition de
modèles de propagation à haut niveau. Ils doivent permettre de prévoir les différents scénarii d’-
expansion du front de flamme. Pour cela, après avoir identifié les paramètres à prendre en compte
avec les pompiers, nous proposons l’étude de deux types de modèles iDEVS.
Enfin, en conclusion nous revenons sur les différentes étapes de ces travaux, et présentons
plusieurs perspectives de recherches, comme par exemple la possibilité de transformer des mod-
èles atomiques iDEVS en modèles d’inférence floue. En effet, il pourrait être intéressant de définir
une extension de DEVS (DEVFIS) pour les systèmes d’inférences floues, ceci permettrait de spé-
cifier des modèles DEVS à paramètres imprécis et approximatifs voire inexacts. Cette démarche
s’inscrit dans le cadre de travaux visant à étendre le multi formalisme DEVS vers des approches
6
INTRODUCTION GENERALE
de modélisations approximatives afin de fournir un environnement de modélisation adapté à un
grand nombre d’applications.
7
CHAPITRE 1
Les Théories du ’FLOU’
La Théorie, c’est quand ça ne marche pas
mais que l’on sait pourquoi !
Edmond Wells
LÉTUDE des systèmes complexes et la prise en compte de données floues ont suscité un en-
gouement important de la part de la communauté scientifique, mais aussi des industriels
pour les méthodes de modélisation approximative et en particulier les théories du "FLOU". Etudier
des phénomènes naturels complexes nous a conduit, nous aussi, à utiliser ces approches de mod-
élisation.
Dans le cadre de la logique classique, une proposition est soit vraie, soit fausse, soit indéter-
minée. Or, dans son raisonnement, l’être humain s’appuie sur des informations floues et des don-
nées imparfaites (imprécises, incertaines, incomplètes). Néanmoins, son raisonnement peut être
cohérent et aboutir à des résultats corrects.
Les théories du "FLOU" sont tout un ensemble de théories généralisant des concepts mathé-
matiques prouvés et éprouvés ; un cadre formel permettant la modélisation et l’interprétation de
connaissances floues (propositions) et de données imparfaites.
8
LES THEORIES DU FLOU
Une proposition comme "demain il y aura beaucoup de vent" est à la fois imprécise et incer-
taine voire incomplète :
- imprécise, car comment quantifier "beaucoup de vent" ? Une imprécision est une difficulté à
exprimer clairement un fait, c’est ce qui est relatif à son contenu "environ 20 Km/h", on ne donne
pas de valeur précise mais un intervalle. Elle se manifeste généralement lorsque la donnée est
exprimée sous forme linguistique "beaucoup" ;
- incertaine, car comment être sûr que "demain il y aura vraiment beaucoup de vent", une
incertitude représente un doute sur la validité d’un fait. Elle fait référence à la véracité de l’infor-
mation, c’est un coefficient apporté au fait qu’une proposition soit vraie ou fausse ;
- incomplète, car à partir de cette proposition nous n’avons pas exactement la vitesse du vent à
une heure fixée. Les incomplétudes sont des absences de connaissances ou des connaissances par-
tielles sur certaines caractéristiques du système. Elles peuvent être dues à l’impossibilité d’obtenir
certains renseignements ou à un problème au moment de l’acquisition des connaissances. L’in-
complétude peut être considérée comme un cas particulier de l’imprécision.
Ces trois types d’imperfections ne sont pas indépendants les uns des autres, bien que na-
turellement manipulés par l’être humain, les transcrire de manière informatique et numérique sur
ordinateurs peut s’avérer compliqué, les ordinateurs n’ayant pas nos capacités d’abstraction et de
compréhension.
Historiquement la science n’a pas porté le même intérêt à toutes ces imperfections ; en ce qui
concerne l’incertain, il a été abordé par la notion de probabilité dès le XVIIème siècle par B.
Pascal et P. Fermat et formalisé par D. Bernouilli [Ber13].
La notion de probabilité n’est cependant pas adaptée à la représentation d’incertitudes liées
à la fiabilité d’un informateur. F. Ramsey en 1931 a introduit les notions de probabilité subjec-
tive [Ram31], puis A.P. Dempster et G. Shafer ont introduit la théorie de l’évidence [Dem67,
Sha76], qui permet de manipuler les degrés de confiance qu’un observateur attribue à la valid-
ité de certains faits. Cependant, celle-ci ne permet pas de traiter des croyances subjectives, ni de
résoudre le problème posé par les connaissances imprécises.
Les imprécisions n’ont été prises en considération qu’à partir de 1965 par L.A. Zadeh [Zad65]
9
LES THEORIES DU FLOU
qui introduit la notion de sous ensemble flou (SEF), à partir de l’idée d’appartenance partielle à un
ensemble aux limites imprécises. Les développements de cette notion fournissent des moyens de
représenter et de manipuler des connaissances décrites de manière imprécise et qui établissent une
interface entre des données décrites ou linguistiques (mots) et des données numériques (chiffres).
La Logique Floue s’appuie sur des notions mathématiques comme la théorie des ensembles,
la notion d’appartenance, la notion d’intervalle, etc. que nous présenterons dans la première partie
de ce chapitre.
La Logique Floue intègre la théorie des sous ensembles flous, la théorie des possibilités, le
raisonnement approximatif, etc., ces notions permettent de représenter et de prendre en compte
imprécisions, incertitudes, incomplétudes.
La théorie des sous ensembles flous [Zad65] (fuzzy sets) est la pierre angulaire de la Logique
Floue, elle permet de traiter les imprécisions, nous la décrirons dans la seconde partie.
Bien que nos travaux consistent à intégrer dans une approche de modélisation à évènements
discrets la prise en compte d’imprécisions dans les connaissances, nous présenterons la théorie des
possibilités, également introduite par L.A Zadeh [Zad78], et le raisonnement en logique floue [Zad88]
dans les parties trois et quatre. En effet ces trois types d’imperfections dans les connaissances sont
intimement liées, et la prise en compte d’imprécisions entraîne souvent l’utilisation de la logique
floue dans sa globalité.
1.1 Définitions mathématiques
Dans cette partie nous donnons les définitions de la théorie des ensembles, de la notion d’ap-
partenance et les bases de l’arithmétique des intervalles. Ces notions mathématiques sont en partie
à la base de la logique floue.
1.1.1 Théorie des ensembles
La logique mathématique, l’informatique théorique, et une partie des mathématiques mod-
ernes sont basés sur la théorie des ensembles. Un ensemble est vu comme une collection d’objets,
10
LES THEORIES DU FLOU
appelés les éléments ou membres d’un ensemble. En mathématiques, tout objet, y compris un
ensemble, peut être élément d’un ensemble.
Il n’y a pas vraiment de définition précise d’un ensemble, nous nous accordons à dire qu’il
s’agit d’une collection d’objets que l’on sait différencier, comme par exemple les lettres de l’al-
phabet.
FIG. 1.1: Fonction caractéristique µA d’un ensemble réel
1.1.2 Notion d’appartenance
Cette notion permet de savoir si un élément x appartient ou n’appartient pas à un ensemble A.
On utilise, pour indiquer cette appartenance, une fonction caractéristique : µA(x) dont la valeur
indique si, oui (1) ou non (0), x appartient à A : µA(x) = 1, six ∈ Aet µA(x) = 0, six /∈ A.
La notion d’appartenance est généralement représentée sous forme de fonction (figure 1.1).
La figure 1.1 fait apparaître trois notions utilisées dans la théorie des sous ensembles flous :
1. le support regroupe toutes les valeurs appartenant à l’ensemble A ;
2. le noyau est confondu avec le support dans le cas des ensembles réels ;
3. la hauteur indique le degré d’appartenance de l’élément x à l’ensemble.
Un élément x est soit dans A soit exclu, il ne peut pas appartenir partiellement à l’ensemble.
11
LES THEORIES DU FLOU
1.1.3 Arithmétique des intervalles
Dans cette section, nous donnons les définitions de base de l’arithmétique des intervalles
[Moo77], nécessaires par la suite pour la compréhension de l’arithmétique floue. L’arithmétique
par intervalle permet de retourner un encadrement contenant à coup sûr le résultat d’un calcul. Son
principe fondamental consiste à remplacer tout nombre imprécis par un intervalle le contenant et à
effectuer toutes les opérations sur ces intervalles. Le résultat obtenu est un intervalle ou un ensem-
ble d’intervalles contenant forcément le résultat du calcul exact. L’intérêt est de pouvoir prendre
en compte des mesures imprécises et de les manipuler sur ordinateur sans avoir à les tronquer
aléatoirement, par exemple la valeur Π peut être définie par l’intervalle [3.14;3.15].
Un intervalle noté [a,b] avec a ≤ b est l’ensemble des valeurs réelles comprises entre a et
b. L’arithmétique des intervalles est une extension de l’arithmétique sur les réels, elle définit les
opérations ×, +, −, et / de la manière suivante :
– [a,b]+ [c,d] = [a+ c,b+d]
– [a,b]− [c,d] = [a−d,b− c]
– [a,b]× [c,d] = [min(ac,ad,bc,bd), max(ac,a,d,bc,bd)]
– 1[a,b] = [1
b , 1a ] si [a,b] 6= 0
– [a,b]/[c,d] = [min( ac ,
ad , b
c ,bd ), max( a
c ,ad , b
c ,bd )]
La commutativité et l’associativité est respectée pour l’addition et la multiplication mais pas la
distributivité dans le cas général.
On peut étendre cette arithmétique aux fonctions mathématiques classiques telles que : l’-
exponentielle, le logarithme, la puissance, la racine, etc., mais le résultat de l’application d’une
fonction à un intervalle n’est pas toujours un intervalle.
Lorsque la fonction est continue et monotone sur l’intervalle le résultat est un intervalle,
lorsque la fonction n’est pas monotone sur un intervalle, il faut décomposer l’intervalle en in-
tervalles sur lesquels la fonction est monotone.
La règle de base de l’arithmétique des intervalles est que si x ∈ [a,b] alors la fonction f (x) ∈F([a,b]), avec F extension de f aux intervalles.
12
LES THEORIES DU FLOU
1.2 Théorie des sous ensembles flous
La théorie des sous ensembles flous (SEF) est une théorie mathématique du domaine de l’al-
gèbre abstraite. Elle a été introduite par L.A. Zadeh en 1965 [Zad65], nous pouvons déduire d’une
telle théorie une nouvelle logique qui s’affranchit du principe d’élément exclu contrairement aux
notions d’appartenance classiques. La logique floue [Zad88] est basée sur le concept de sous
ensembles flous1. La définition d’un sous ensemble flou répond au besoin de représenter des con-
naissances imprécises ou imparfaites, soit parce qu’elles sont exprimées en langage naturel par un
observateur qui donne peu de précisions ou qui est peu fiable, soit parce qu’elles sont obtenues
à l’aide d’instruments d’observation qui produisent des erreurs ou qui sont peu précis. Pour un
élément d’information donné la théorie des SEF donne la possibilité d’appartenir à un ensemble,
à un niveau d’appartenance allant de 0, pas du tout, à 1, totalement.
La notion de sous ensembles flous permet de traiter :
– des catégories aux limites mal définies ;
– des situations intermédiaires entre le tout et le rien ;
– le passage progressif d’une propriété à une autre ;
– des valeurs approximatives ;
– des classes en évitant l’utilisation arbitraire de limites rigides.
Le concept de SEF constitue un assouplissement de la notion d’appartenance [BM95].
Dans la première section de cette partie nous donnons la définition d’un sous ensemble flou
(SEF), dans les deux sections suivantes nous décrivons les principales méthodes de manipulation.
Enfin, dans les deux dernières sections nous présentons une forme simplifiée des SEF, les quantités
floues, et leurs méthodes de manipulation, l’arithmétique floue.
1.2.1 Définition
Les SEF ont été introduits afin de modéliser la représentation humaine des connaissances, et
ainsi améliorer les performances des systèmes décisionnels utilisant la modélisation.
1Traduction de l’anglais "fuzzy sets"
13
LES THEORIES DU FLOU
Dans un ensemble de référence E, un sous ensemble flou A de ce référentiel est caractérisé
par une fonction d’appartenance µ de A, qui associe à chaque élément x de E, le degré µA(x),
compris entre 0 et 1, pour lequel x appartient à A. Cette fonction est l’extension de la fonction
caractéristique d’un sous ensemble classique [Zad65, Kau73] (voir figures 1.1). Elle peut être
représentée sous forme de fonction triangulaire, trapézoïdale ou parabolique. Dans un souci de
clarté et afin de faciliter les calculs, nous n’utiliserons par la suite que les deux premières formes.
La notion de SEF a pour but de permettre des gradations dans l’appartenance d’un élément x
à une classe A, c’est-à-dire d’autoriser un élément à appartenir plus ou moins fortement à cette
classe.
Un sous ensemble flou A sur le domaine de variation E de x est défini par le triplet (A,a,µA),
où :
– A est un sous-ensemble de E ;
– a, un label linguistique, caractérisant qualitativement une partie des valeurs de x ;
– et µA, la fonction qui donne le degré d’appartenance d’une observation de x au sous-ensemble
flou A. Cette fonction µA est appelée "fonction d’appartenance" de A. Elle associe à chaque
élément x de E, le degré µA(x) compris entre [0;1].
FIG. 1.2: Fonction d’appartenance pour un SEF A
Dans le cas des sous ensembles flous, la fonction d’appartenance peut être définie sous forme
trapézoïdale comme le montre la figure 1.2. A partir de cette représentation, nous pouvons identi-
fier :
14
LES THEORIES DU FLOU
– le noyau comme l’ensemble des éléments "vraiment" dans le SEF A, ∀x ∈ E, µA(x) = 1 ;
– le support comme l’ensemble des éléments dans A à des degrés divers, ∀x∈E, µA(x) 6= 0 ;
– la hauteur comme l’élément ou l’ensemble des éléments le plus dans A, ∀x ∈ E, hauteur =
supµA(x) ;
– l’alpha couple d’un ensemble flou A est le sous ensemble classique des éléments ayant un
degré d’appartenance supérieur ou égal à α , ∀x ∈ E, µA(x)≥ αSi le noyau et le support sont confondus, la fonction caractéristique µ n’admet que 0 ou 1 pour
valeur, nous retrouvons le cas classique présenté partie 1.1.2, figure 1.1.
Par exemple, pour définir la puissance d’un vent à partir d’un sous ensemble flou A, nous
devons définir les différentes valeurs de référence de A, puis un label linguistique qui caractérise
chaque partie de ces valeurs et sa fonction d’appartenance.
Dans cet exemple le label linguistique a pourrait être associé à un des termes suivants f aible,
modérée, rapide, violente, les figures 1.3 et 1.4 décrivent cette association. On remarque que
la vitesse du vent X peut être considérée comme appartenant à plusieurs domaines différents par
exemple : faible et modérée, et que si l’ensemble des valeurs de référence le permet, nous pouvons
regrouper toutes les fonctions d’appartenance sur la même fonction figure 1.4.
FIG. 1.3: Description linguistique de la vitesse du vent
Le label linguistique caractérise le support de la fonction d’appartenance, celle-ci peut être
décrite par un ensemble de couples (x,µA(x)), ou plusieurs équations. Pour une vitesse de vent
qualifiée de "modérée" les couples suivants (10|0),(13|0.5),(15|1),(19|1),(22|0) peuvent décrire
la fonction d’appartenance présentée figure 1.5.
15
LES THEORIES DU FLOU
FIG. 1.4: Fonctions d’appartenance décrites à partir de labels linguistiques
FIG. 1.5: Fonction d’appartenance décrite à partir de couple x,µA(x)
1.2.2 Opérations de base sur les sous-ensembles flous.
La théorie mathématique à la base des sous ensembles flous définit de nombreuses opérations
sur ces sous ensembles et sur les fonctions d’appartenance qui rendent les notions (union, inter-
section, etc.) utilisables.
On peut définir le complément d’un sous ensemble flou A comme le complément à un de sa
fonction d’appartenance ; l’union et l’intersection de deux sous ensembles flous A et B, comme
respectivement le plus petit sous ensemble flou contenant A et B, et le plus grand sous ensemble
flou contenu dans A et dans B. En d’autres termes, si A et B sont deux sous ensembles flous et µA
et µB leurs fonctions d’appartenance, on a :
– A, le complémentaire de A, défini par la fonction d’appartenance µA = 1−µA ;
– A∩B, le sous ensemble représentant l’intersection de A et de B, défini par la fonction d’ap-
partenance : µ(A∩B) = min(µA,µB) ;
– A∪B, le sous ensemble représentant l’union de A et de B, défini par la fonction d’apparte-
nance : µ(A∪B) = max(µA,µB) ;
16
LES THEORIES DU FLOU
FIG. 1.6: Complément, Intersection et Union d’un SEF
Ces définitions sont celles les plus communément utilisées mais, dans certains cas, d’autres
sont plus appropriées. Par exemple l’intersection peut être définie par le produit des fonctions
d’appartenance et l’union par la moyenne arithmétique des fonctions d’appartenance. Ces dif-
férentes techniques de calcul engendrent une énorme capacité d’adaptation des raisonnements
flous. Cependant les résultats peuvent varier d’une méthode à l’autre, il incombe à l’utilisateur de
choisir la méthode la plus avantageuse pour résoudre sa problématique. En ce qui nous concerne
nous avons choisi d’utiliser le principe d’extension.
1.2.3 Principe d’extension
Le principe d’extension (eq.1.1), proposé initialement par Zadeh [Zad65], est un des outils
fondamentaux de la théorie des sous ensembles flous ; il est à l’origine de beaucoup de définitions.
Pour toute relation exacte φ entre deux sous ensembles A et B, ce principe permet la généralisation
au flou d’un certain nombre de concepts.
En particulier l’image par φ (opération / relation) d’un sous ensemble flou A est un sous
ensemble flou C défini par la formule suivante µC(z) = φ(µA(x)). Dans le cas où φ est injec-
tive, et si plusieurs éléments de l’ensemble de départ E admettent la même image alors µC(z) =
supµA(x) |φ(x) = z, ce qui signifie que pour toutes valeurs de z de l’ensemble d’arrivée son de-
gré d’appartenance par φ est le meilleur des degrés d’appartenance de tous les x tel que φ(x) = z.
Dans le cas général le principe d’extension permet d’obtenir l’image C de deux sous ensembles
flous A et B par la fonction φ . Le résultat C = µφ(A,B) par φ de A et B est défini par l’équation 1.1 :
µφ(A,B)(z) = supmin(µA(x),µB(y)) |φ(x,y) = z (1.1)
Sur R, on définit donc conformément au principe d’extension une somme (φ = +) par :
17
LES THEORIES DU FLOU
µA+B(z) = supmin(µA(x),µB(y)) |x+ y = z (1.2)
Chaque fois que z est obtenu comme somme, son degré d’appartenance est le meilleur parmi
les décompositions.
Exemple :
Pour deux sous ensembles flous A et B, tel que :
A = (2 | 0.2),(4 | 0.6),(6 | 1),(8 | 0.4) et, B = (3 | 0.6),(5 | 0.3),(7 | 0.7),(9 | 1),la valeur z = 11 image de x ∈ A et y ∈ B tel que x + y = 11 est obtenue à partir des couples
suivants : (2+9);(4+7);(6+5);(8+3).Le principe d’extension (équation 1.1) permet d’obtenir le degré d’appartenance de z pour
l’opération φ = +.
A partir de l’équation 1.2 définie conformément au principe d’extension nous avons :
µA+B(z = 11)= sup(min(µA(2),µB(9)),min(µA(4),µB(7)),min(µA(6),µB(5)),min(µA(8),µB(3)))
µA+B(z = 11) = sup(min(0.2,1),min(0.6,0.7),min(1,0.3),min(0.4,0,6))
µA+B(z = 11) = sup(0.2,0.6,0.3,0.4)
µA+B(z = 11) = 0.6
Le principe d’extension permet d’étendre un grand nombre des relations fonctionnelles clas-
siques aux quantités floues, mais pour des opérations complexes, manipuler des sous ensembles
flous à partir de ce principe peut devenir compliqué, nous avons donc choisi de nous restreindre à
l’étude de sous ensembles flous ayant des propriétés particulières.
1.2.4 Quantité floue
Concrètement, une proportion importante des sous ensembles flous représentent des proposi-
tions prenant leurs valeurs dans l’ensemble des nombres réels. Pour manipuler ces SEF dans R on
utilise des fonctions d’appartenance simplifiées, celles que l’on construit généralement de manière
intuitive : forme triangulaire ou trapézoïdale. Ces fonctions permettent de représenter des valeurs
18
LES THEORIES DU FLOU
réelles (vitesse, longueur, taille, prix) décrites à partir de termes approximatifs, "environ", "à peu
près", "entre", etc.
On désigne par Quantité floue Q, un sous ensemble flou sur les réels, l’application définie par
µQ : R→ [0,1]. Cette application est supposée normalisée sauf indication contraire. On désigne
par valeur modale de Q, tout nombre réel m appartenant au noyau de Q (µQ(m) = 1).
Un intervalle flou I est une quantité floue convexe, c’est-à-dire que pour deux points m,n ∈I, le segment [m,n] qui joint les deux points est entièrement contenu dans I.
DÉFINITION : une quantité floue est convexe si sa fonction d’appartenance est quasi con-
cave [DP88, BM95] :
∀u,v,w ∈ [u,v], µQ(w)≥ min(µQ(u),µQ(v)) (1.3)
La formule peut également s’écrire sous la forme plus connue de la convexité :
∀u,v,∀λ ∈ [0,1], µQ(λ ×u+(1−λ )v)≥ min(µQ(u),µQ(v)) (1.4)
Autrement dit, une quantité floue est convexe si et seulement si ses α−couples sont convexes
(eq.1.4), c’est-à-dire que ses α−couples sont des intervalles.
Les intervalles fermés sont généralisés par des intervalles flous dont la fonction d’appartenance
est semi-continue supérieurement, c’est-à-dire dont les α−couples sont des intervalles fermés.
Les sous ensembles compacts de R (fermés ou bornés) sont généralisés par les quantités floues
semi-continues supérieurement, à support compact.
On appellera nombre flou un intervalle semi-continu supérieurement, à support compact et
de valeur modale unique. Si X est un nombre flou de valeur modale x, X est une représentation
possible de environ x.
EXEMPLE : la proposition "x = 20 environ" peut être modélisée par l’intervalle X = [15;25],
ce nombre flou est représenté par une fonction d’appartenance triangulaire qui n’a qu’une valeur
modale 20.
L’intervalle flou permet d’avoir une bonne représentation des quantités imprécises ; on choisira
19
LES THEORIES DU FLOU
le support de façon à être sûr que la quantité cernée n’en sorte pas, et le noyau contiendra les
valeurs les plus plausibles. Par conséquent, la détermination d’une fonction d’appartenance peut
être définie par rapport aux quantités floues à représenter.
EXEMPLE : la proposition "entre 12 et 16" peut être représentée par l’intervalle [10;18], cet
intervalle flou est caractérisé par une fonction d’appartenance trapézoïdale qui a comme valeurs
modales toutes les valeurs comprises entre 12 et 16.
En résumé, une quantité floue est un sous-ensemble flou normalisé Q de R.
Un intervalle flou I est une quantité floue convexe, il correspond à un intervalle de l’ensemble
des réels dont les limites sont imprécises. Une fonction d’appartenance de type trapézoïdale peut
décrire un intervalle flou.
Un nombre flou N correspond à une valeur réelle connue imprécisément, c’est un intervalle
flou de fonction d’appartenance semi-continue supérieurement et de support borné, admettant une
unique valeur modale. Une fonction d’appartenance de type triangulaire peut décrire un nombre
flou.
1.2.5 Arithmétique floue
Les opérations mathématiques classiques (+,−,×,/,√
, ...) peuvent aussi être utilisées pour
traiter des quantités floues, en effet il est souvent nécessaire d’effectuer des opérations sur des
valeurs imprécises, comme par exemple, calculer une distance à partir d’une vitesse de vent impré-
cise. Plusieurs méthodes de manipulation existent, basées soit sur l’arithmétique des intervalles,
soit sur le principe d’extension.
1.2.5.1 Opérations arithmétiques sur les quantités floues
Dans cette sous section nous donnons certaines fonctions mathématiques applicables aux
quantités floues [BM95]. Il est à noter que suivant les méthodes employées : principe d’exten-
sion ou arithmétique des intervalles, les formules utilisées et par conséquent les résultats obtenus
peuvent être de nature différente. Au final, c’est toujours au concepteur (expert) de choisir la forme
ou les méthodes a employer. Nous donnons ici quelques exemples possibles d’opérations sur les
20
LES THEORIES DU FLOU
quantités floues.
FIG. 1.7: Exemple d’opérations sur les nombres flous
DÉFINITION : soit Q une quantité floue et ∀x ∈ R : µQ(x) sa fonction d’appartenance, soit φ
une opération unaire définie surR, une opération unaire floue φ fait correspondre à toute quantité
floue Q, une autre quantité floue φQ de fonction d’appartenance :
∀z ∈ R+ µφQ(z) = sup(µQ(x) |x/z = φx) (1.5)
Par exemple, pour une quantité floue Q donnée les opérations unaires les plus classiques sont
définies dans [DP80, BM95] à partir de la formule 1.5 :
– l’opposé de Q noté −Q, la quantité floue de fonction d’appartenance définie par : µ−Q(z) =
µQ(−z) ;
– l’inverse de Q, noté 1/Q, définie par ∀z 6= 0 µ1/Q(z) = µQ(1/z) (voir figure 1.7) ;
– l’exponentielle de Q, noté exp(Q), la quantité floue telle que, ∀z∈R+ µexp(Q)(z)= µQ(ln(z)) ;
– le produit par un scalaire non nul λ , noté λQ, la quantité floue µλQ(z) = µQ(z/λ ) ;
– la puissance r-ième de Q, notée Qr, pour r > 0, µQr(z) = µQ(z(1/r)).
DÉFINITION : soit Q et Q′ deux quantités floues et ∀x,y ∈ R : µQ(x) et µQ′(y) leurs fonctions
d’appartenance, soit φ une opération binaire définie sur R, une opération binaire floue φ fait
correspondre à deux quantités floues Q et Q′, une autre quantité floue QφQ′ de fonction d’appar-
tenance :
∀z ∈ R µQφQ′(z) = sup(min(µQ(x),µQ′(y)) |xφy = z) (1.6)
Par exemple on définit :
21
LES THEORIES DU FLOU
– l’addition par µQ+Q′(z) = supmin(µQ(x),µQ′(y)) |x+ y = z) ;
– la soustraction par µQ−Q′(z) = supmin(µQ(x),µQ′(y)) |x− y = z) ;
– la multiplication par µQ×Q′(z) = supmin(µQ(x),µQ′(y)) |x× y = z) ;
– le maximum par µmax(Q,Q′)(z) = sup(min(µQ(x),µQ′(y)) |(x,y)/z = max(x,y) ;
Pour les autres fonctions / opérations, en utilisant les équations 1.5, 1.6 ou le principe d’extension
il est possible d’obtenir leurs fonctions d’appartenance. Nous présenterons par la suite certaines
de ces fonctions.
1.2.5.2 Intervalle flou
FIG. 1.8: Intervalle flou I
Les opérations floues que nous venons de définir peuvent être relativement difficiles à ap-
pliquer, pour cela, nous nous intéressons à des types de quantités floues de formes particulières
conduisant à la simplification des calculs. Les fonctions d’appartenance de forme trapézoïdale et
triangulaire en font partie, de plus elles permettent respectivement de décrire un intervalle et un
nombre flou. Ceux-ci peuvent être représentés à partir d’un quadruplet [a,b,α,β ], avec a < b, [a,b]
comme valeurs modales et (a−α), (b+β ) respectivement les limites inférieure et supérieure de
l’intervalle flou (voir figure 1.8).
Cette notation permet de représenter uniformément un nombre réel, un intervalle classique, un
nombre flou et un intervalle flou.
– un nombre réel par [a,a,0,0] ;
– un intervalle classique [a,b] par [a,b,0,0] ;
22
LES THEORIES DU FLOU
– un nombre flou X par [a,a,α,β ] ;
– un intervalle flou X par [a,b,α,β ].
De plus, on peut généraliser les opérations suivantes aux intervalles flous [RB03].
Soit M et N deux intervalles flous définis par un quadruplet [a,b,α,β ] :
– M +N = [aM +aN ,bM +bN ,αM +αN ,βM +βN ]
– λ ×M = [λ ×aM,λ ×bM,λ ×αM,λ ×βM]
– M−N = [aM−bN ,bM−aN ,αM +βN ,βM +αN ]
– M×N ≈ [min(S),max(S),abs(min(S′)−min(S)),abs(max(S′)−max(S))] avec
– S = (aM×aN ,aM×bN ,bM×aN ,bM×bN) et
– S′ = ((aM −αM)× (aN −αN),(aM −αM)× (bN + βN),(bM + βM)× (aN −αN),(bM +
βM)× (bN +βN))
– M/N ≈ [min(S),max(S),abs(min(S′)−min(S)),abs(max(S′)−max(S))] avec
– S = (aM÷aN ,aM÷bN ,bM÷aN ,bM÷bN) et
– S′ = ((aM −αM)÷ (aN −αN),(aM −αM)÷ (bN + βN),(bM + βM)÷ (aN −αN),(bM +
βM)÷ (bN +βN))
Ces formules sont plus rapides et plus faciles à utiliser, elles s’appliquent uniquement sur les
bornes et le noyau de l’intervalle, c’est-à-dire sur le quadruplet [a,b,α ,β ], contrairement aux
opérations sur les quantités floues qui s’appliquent sur tout le support. Pour simplifier nos calculs,
c’est généralement sous cette forme que seront utilisées les opérations de bases (+,−,/,×,etc.).
Pour les fonctions plus complexes comme (√,exp(), ln(),sin(),etc.) il est nécessaire d’utiliser le
principe d’extension qui reste la seule méthode permettant d’obtenir les résultats escomptés.
Cas particulier : intervalles et nombres flous de type "L-R"
Pour certaines formes de fonctions d’appartenance, il est simple d’effectuer des opérations.
C’est le cas pour les intervalles flous de type "L-R", c’est-à-dire dont les fonctions d’appartenance
sont construites à partir du quadruplet [a,b,α,β ], et deux fonctions de forme L (left) et R (right),
définies sur l’ensemble des réels positifs R+, à valeurs dans [0,1], semi-continues supérieurement,
non croissantes, telles que L(0) = R(0) = 1, L(1) = R(1) = 0 ou L(w) > 0∀w avec limw→∞L(w) =
23
LES THEORIES DU FLOU
0 et R(w) > 0∀w avec limw→∞R(w) = 0 [BM95].
Ce type particulier d’intervalle permet de représenter la fonction d’appartenance sous forme
de deux équations notées :
µA(x) =
L(a−xα )six≤ a
1sia < x < b
R(x−bβ )six≥ b
on note I = [a,b,α ,β ]LR un intervalle flou de type L-R, et si a = b
alors I est un nombre flou de type L-R (figure 1.8).
Les calculs sur ce type d’intervalle sont simplifiés (exemple +,−), mais l’image d’un in-
tervalle de type L−R n’est pas forcément un intervalle de même type (exemple ×,/). Dans la
littérature on trouve différentes notations L−R ou µ−,µ+, par la suite nous utiliserons plus sou-
vent la seconde notation. De plus, les équations décrivant ces modes de représentation peuvent être
fonction de x ∈R→ [0,1] , équation standard de type µ(x) = ax+b ou fonction de λ ∈ [0,1]→R, elles sont alors appelées front ou profil. Un front doit pouvoir représenter la partie gauche ou
droite d’un intervalle flou, ainsi que le résultat d’opérations effectuées sur ces derniers. C’est une
fonction de [0;1] dans R définie pour un intervalle flou A par [A−;A+].
A+ représentant l’équation de la demi-droite (b,β ) définie par l’équation A+(λ ) =−β ×λ +
(β +b) ;
A− représentant l’équation de la demi-droite (α ,a) définie par l’équation A−(λ ) = α ×λ +
(a−α).
Pour les intervalles flous de type L-R les opérations d’addition, de soustraction et de multipli-
cation à partir de la méthode des fronts [DFF04, FDF04] sont définies de la manière suivante :
soit A et B deux intervalles flous définis par [A−,A+] et [B−,B+] (figure 1.8) :
– A+B = [A+ +B+,A−+B−]
– A−B = [A−−B+,A+−B−]
– A×B = [min(A−×B−,A+×B−,A−×B+,A+×B+),max(A−×B−,A+×B−,A−×B+,A+×B+)]
La méthode des fronts permet d’obtenir des résultats exacts, non linéaires pour la multiplication
et la division. Il est montré dans [DFF04, FDF04] que le résultat d’une multiplication est une
fonction définie par quatre fronts. Dans notre cas nous utiliserons la représentation d’intervalles
24
LES THEORIES DU FLOU
à partir de deux fronts car celle-ci est intuitive et simple à visualiser, mais nous ne distinguerons
pas intervalle flou et intervalle flou de type L-R. Les formules utilisées pour effectuer des calculs
seront plutôt celles présentées au début de la partie 1.2.5.2.
La théorie des sous ensembles flous présente au moins deux intérêts : d’abord, elle permet de
modéliser des connaissances imprécises ou vagues, ce que très peu d’autres méthodologies au-
torisent. Ensuite, elle est le seul moyen de traiter dans un même cadre des connaissances fournies
numériquement, par des instruments de mesure, et des connaissances exprimées symboliquement,
par un expert humain.
Elle ne permet cependant pas de manipuler dans un même formalisme des imprécisions et des
incertitudes. Or ces deux types d’imperfections dans les connaissances sont intimement liés.
La théorie des possibilités qui a aussi été introduite par L.A. Zadeh en 1978, constitue un
cadre permettant de traiter des concepts d’incertitude de nature non probabiliste. Lorsqu’elle est
considérée à partir de la notion d’ensemble flou, la théorie des possibilités constitue un cadre
permettant d’exploiter, dans un même formalisme, imprécisions et incertitudes [BM95].
1.3 Théorie des possibilités
Cette théorie est le second volet de la Logique Floue. Elle est basée sur les fonctions de possi-
bilités comme la théorie des sous ensembles flous l’est sur les fonctions d’appartenance.
La théorie des possibilités a été introduite en 1978 par L.A. Zadeh, en liaison avec la théorie
des SEF, pour permettre de raisonner sur des connaissances imprécises, en introduisant un moyen
de prendre en compte des incertitudes sur les connaissances.
La fonction de possibilité Π associe à chaque évènement d’un univers Ω une valeur entre 0 et
1 qui définit le degré de possibilité de l’évènement : Π : u ∈Ω→Π(u) ∈ [0;1]
Il ne faut pas confondre possibilité et probabilité car, même si les deux notions traitent des
incertitudes évènementielles, certaines différences très importantes séparent ces deux concepts.
25
LES THEORIES DU FLOU
Par exemple, si A est l’évènement contraire de A, on a P(A) = 1−P(A) mais il n’y a aucune
raison que Π(A) soit égal à 1−Π(A). Ou encore, la somme des probabilités des évènements d’un
univers est égale à 1 mais celle des possibilités est presque toujours supérieure à 1.
Dans cette partie nous décrivons succinctement la théorie des possibilités qui permet de pren-
dre en compte les incertitudes ("demain il y aura vraiment beaucoup de vent"). Dans certain cas,
celles-ci peuvent être transformées en imprécisions (contraites sur une fonction d’appartenance)
et traitées avec la théorie des SEF.
Dans la première section, nous présentons la méthode à employer pour prendre en compte à
partir de la théorie des SEF des données à la fois imprécises et incertaines. Dans les sections suiv-
antes, nous donnons un certain nombre de définitions nécessaires aux traitement des possibilités.
1.3.1 La théorie des ensembles flous comme base de celle des possibilités
La théorie des SEF fournit une base naturelle à la théorie des possibilités [Zad78]. Une con-
trainte floue sur les valeurs que peut prendre une variable x induit une distribution de possibilités
sur les valeurs de x. On associe à une variable dont les valeurs sont floues une distribution de pos-
sibilité, de la même manière qu’on associe à une variable aléatoire une distribution de probabilité.
Exemple : soit la proposition "demain il y aura beaucoup de vent", la théorie des possibilités
permet de définir un degré de confiance, entre 0 et 1, pour la réalisation de l’évènement.
Toute distribution de possibilité peut être interprétée comme une restriction floue sur les
valeurs que peut prendre une variable. La distribution de possibilité devient alors une fonction
d’appartenance d’un sous ensemble flou représentant cette contrainte.
1.3.2 Mesure de possibilité et de nécessité
La théorie des possibilités a été initialement prévue pour tenir compte des informations incom-
plètes à propos de propositions booléennes. Le degré de possibilité n’est donc en rien un degré de
vérité mais plutôt un degré de préférence alors que la nécessite mesurera plutôt une priorité.
Pour une proposition donnée, si l’on a plusieurs incertitudes la caractérisant, la mesure de
possibilité est la solution la plus pessimiste ou la plus prudente : Π(∪iAi) = maxi(Π(Ai)).
26
LES THEORIES DU FLOU
Une mesure de nécessité est une mesure de confiance vérifiant N(∩iAi) = mini(N(Ai)) sans
qu’il ne soit question d’aucune notion d’indépendance. Chaque fois qu’une mesure de possibilités
Π est définie, alors la nouvelle mesure définie par N(A) = 1−Π(A) est une nécessité, et récipro-
quement ; si N est une mesure de nécessité, alors Π est définie par Π(A) = 1−N(A) qui est à son
tour une possibilité.
1.3.3 Distribution de possibilité, mesure de possibilité et ensemble flou
Une distribution de possibilité sur un intervalle U est une application π de U dans l’intervalle
[0;1] qui est normalisée, c’est-à-dire vérifiant sup(π) = 1.
Le rapport évident avec les possibilités sur U , est que toute distribution de possibilité permet de
définir une mesure de possibilité pour les parties de U simplement par Π(A) = supπ(x)/x ∈ A,de plus N(A) = in f1−π(x)/x /∈ A définit la nécessité duale.
Si la logique floue intervient dans le cas où les degrés de vérité des propositions sont intermé-
diaires entre 0 et 1, la logique possibiliste concerne des degrés d’incertitude sur les propositions.
Elle sont donc de natures différentes, même si la logique floue possède la capacité de manipuler
également des degrés d’incertitude.
1.4 Raisonnement approximatif
La logique floue est une extension de la logique classique. Elle a été présentée par Zadeh
[Zad75] comme un cadre pour le raisonnement approximatif, une théorie mathématique ayant
pour objet l’étude des méthodes d’inférence et des systèmes flous.
Le raisonnement approximatif et la prise en compte de faits imprécis et incertains sont tout à
fait naturels pour l’être humain. Pour raisonner sur de telles connaissances, la modélisation clas-
sique ne suffit pas, en effet dans ce cas, les approximations sur les variables génèrent au final des
erreurs relativement importantes. En modélisation floue, on prend en compte les valeurs impré-
cises dès le départ, ce qui permet au final d’obtenir une plage de valeurs (imprécises) plus étendue
mais plus juste. Selon Zadeh [Zad83] la modélisation floue fournit des moyens approximatifs mais
27
LES THEORIES DU FLOU
efficaces pour décrire le comportement des systèmes qui sont trop complexes ou trop mal définis
pour admettre l’utilisation d’une analyse mathématique précise. Le résultat de cette modélisation
n’est plus une valeur unique mais un intervalle de valeurs, il y a donc plus de chances qu’il soit
cohérent avec les objectifs et contraintes de départ. Pour son interprétation, on peut utiliser des
critères de décidabilité afin de proposer une solution en adéquation avec le domaine étudié.
L’étude de ces systèmes passe par la prise en compte d’imprécisions, d’incertitudes mais aussi
par un raisonnement pertinent et performant sur le système dans sa globalité (variables d’entrées,
de sorties, comportement). Les systèmes flous possèdent de variables d’entrée floues et fournissent
des résultats sur des variables de sortie elles-mêmes floues, ces notions de base sont présentées
dans la première section. Le comportement d’un système flou est basé sur un ensemble de règles
permettant de fournir des résultats à partir d’un comportement partiellement connu (incomplé-
tude). La prise en compte du flou dans la démarche de modélisation est décrite dans les deux
dernières sections.
1.4.1 Système flou
Les systèmes flous utilisent une représentation des connaissances sous forme de règles floues,
une manière normale d’expliquer des procédés de décision. Ils expriment des concepts en terme
(variable) linguistique, près de la représentation humaine, par exemple, "vent rapide" au lieu de
"vent supérieur à 40km/h". Il y a une correspondance entre les variables linguistiques et des valeurs
numériques associées.
Une variable linguistique [Zad76] est une variable prenant ses valeurs dans un ensemble de
"mots" symboliques, définissant certaines catégories d’un ensemble de référence.
0n appelle variable linguistique un triplet (V,X ,Tv), tel que :
– V : une variable symbolique définie sur X ;
– X : un ensemble de référence ;
– Tv : Tv = A1,A2, ... un ensemble fini ou dénombrable de sous ensembles flous normalisés,
utilisés pour caractériser V .
Si l’on reprend notre exemple (partie 1.2.1), la variable linguistique est définie par une variable
28
LES THEORIES DU FLOU
symbolique V : "la vitesse du vent", par un ensemble de référence X = R+, et un ensemble de
SEF caractérisant les vitesses du vent Tv = f aible, moderee, rapide, violente.Une proposition floue est définie à partir d’une variable linguistique (V,X ,Tv) par la qualifi-
cation "V est A", exemple : "la vitesse du vent est rapide".
On appelle modificateur linguistique M un opérateur qui permet à partir de toute carac-
térisation floue A de V , de produire une nouvelle caractérisation où A ∈ M(Tv), ce dernier étant
l’ensemble des caractérisations obtenues en appliquant un modificateur linguistique M. Le résul-
tat de cette opération n’est pas forcément dans Tv. Par exemple un modificateur linguistique peut
caractériser la vitesse du vent comme étant "très violente"
Une règle floue est une proposition floue de la forme "Si p alors q" utilisant une implication
entre deux propositions floues quelconques p et q. Ces règles permettent de décrire le comporte-
ment d’un système flou à partir de la combinaison d’une ou plusieurs propositions floues. Par
exemple, "si la vitesse du vent est rapide et la végétation est sèche alors les risques d’incendie
sont importants".
Les systèmes flous sont adaptés à la modélisation de systèmes à comportement complexe, ils
peuvent approcher n’importe quel comportement numérique avec le niveau désiré de précision et
un coût d’expression linguistique réduit [Zad73].
1.4.2 SIF : système d’inférence floue
Nous avons vu que les imprécisions et les incertitudes pouvaient être prises en compte avec les
théories des sous ensembles flous et des possibilités, ces deux imperfections sur les connaissances
sont souvent liées, dans ce cas, il est nécessaire d’utiliser la théorie des possibilités sur un sous
ensemble flou.
Pour les systèmes dont le comportement n’est pas précisément connu (incomplet) des outils
comme le raisonnement approximatif et les systèmes d’inférence floue permettent à la fois de
décrire son comportement mais aussi d’en exploiter les résultats.
Les systèmes d’inférence floue (SIF) sont composés d’une collection de règles floues qui ont
la forme générale : "Si p alors q".
29
LES THEORIES DU FLOU
La conception des SIF s’appuie en général sur des connaissances expertes pour la définition
des termes linguistiques correspondant à chaque variable (ensemble de fonctions d’appartenance)
d’une part, et sur des algorithmes d’apprentissage pour la génération des règles d’autre part. Par
exemple, les termes linguistiques associés à la vitesse du vent (faible, modérée, rapide, violente)
correspondent à des vitesses définies dans l’échelle de Beaufort.
Les SIF sont à utiliser quand : (1) il existe une expertise humaine que l’on veut exploiter et
introduire dans un système automatique, (2) on veut extraire des connaissance à partir de données
numériques, en les exprimant dans un langage proche du langage naturel, (3) on veut réaliser
une interface homme-machine, donner des explications ou établir des diagnostics immédiatement
interprétables.
FIG. 1.9: Système d’inférence floue schématisé
La réalisation d’un système d’inférence passe par plusieurs étapes (figure 1.9 [Glo99, PR02]),
la fuzzification et la défuzzification des variables d’entrées et de sorties, et la réalisation d’un
moteur d’inférence.
1.4.3 Fuzzification et défuzzification
L’opération qui consiste à transformer un ensemble réel en ensemble flou est appelée "fuzzification",
et l’opération inverse est appelée "défuzzification". La fuzzification est l’étape qui consiste à
quantifier à l’aide de termes linguistiques ou de valeurs floues les valeurs réelles d’une variable.
Fuzzifier des variables est une phase délicate du processus mis en oeuvre par la logique floue,
30
LES THEORIES DU FLOU
car il faut connaître toutes les variations possibles de la variable, sa ou ses fonctions d’apparte-
nance.
La défuzzification est une phase décisionnelle, qui permet de transformer une valeur floue
d’une variable en une valeur réelle.
Il existe de nombreuses méthodes de défuzzification :
– méthode des hauteurs ;
– méthode du centre de gravité (dite de Mamdani [MA75, Mam76, Mam77]), elle consiste
à prendre pour valeur finale, en sortie, l’abscisse du centre de gravité de l’ensemble flou
agrégeant les conclusions ;
– méthode des moyennes des maxima ;
– méthode des aires (dite de Sugeno [Sug77, Sug85]), elle consiste à prendre la médiane qui
fait le partage de l’aire en deux.
1.5 Conclusion de chapitre
Dans ce chapitre, nous avons présenté plusieurs théories permettant la description et la manip-
ulation d’informations imparfaitement définies. La théorie des sous ensembles flous et la théorie
des possibilités constituent aujourd’hui ce que l’on appelle la Logique Floue. La Logique Floue
permet la formalisation des imperfections dues aux connaissances inexactes d’un système et à
la description du comportement du système par des mots. Elle permet donc la description d’un
système et le traitement de données aussi bien numériques que linguistiques.
La logique floue a été formalisée et des théorèmes permettent de faire le pont entre logique
classique et logique floue. Il a été prouvé que dans le cas particulier où les propositions traitées ne
sont pas floues, la logique floue se réduit à la logique classique.
Nous avons axé notre présentation sur la théorie des sous ensembles flous, car elle offre une
palette d’outils pour formaliser les processus de raisonnement humain. C’est un moyen efficace de
prendre en compte l’imprécision dans des connaissances. A la différence de l’incertitude inhérente
à une information qui donne le degré avec lequel on peut être certain qu’un évènement se produira,
31
LES THEORIES DU FLOU
l’imprécision d’une connaissance est liée à la mesure qui en est faite. Ainsi, la théorie des sous
ensembles flous ne préjuge pas de l’occurrence d’un évènement mais plutôt de la manière dont
des éléments sont perçus ou connus. Manipuler les imprécisions est une capacité humaine par
excellence. Le mode de raisonnement humain est capable d’appréhender des données imprécises
et d’arriver à en déduire des conclusions adéquates. La théorie des sous ensembles flous formalise
et prend en compte cette capacité. Elle permet de s’approcher, pour les systèmes à comportement
ou paramètres flous, des modes de raisonnement humain [Zad83].
Pour ces différentes raisons, nous souhaitons l’utiliser en l’associant à un formalisme de mod-
élisation et de simulation. Il sera ainsi possible d’étudier des systèmes à paramètres imprécis. De
plus, cette association permettra une meilleure liaison entre l’étape d’acquisition des données en
vu de sa description sous forme linguistique et l’étape de modélisation. Dans le chapitre suivant,
nous présentons le second pan de nos travaux de recherche, à savoir les bases théoriques de la
modélisation et la simulation de systèmes et plus précisément le formalisme DEVS.
32
CHAPITRE 2
Modélisation et Simulation de Systèmes
La Pratique c’est quand ça marche mais
que l’on ne sait pas pourquoi !
Edmond Wells
LETRE humain n’a de cesse de chercher à comprendre le monde qui l’entoure. Les différentes
phases d’étude nécessaires à cette compréhension ont toujours évolué de pair avec la tech-
nologie : observation, constatation, hypothèse, preuve, explication, acquisition, modélisation, etc.
L’avènement de l’informatique et l’apparition de nouveaux formalismes de traitement ont
écourté ou fait disparaître certaines de ces phases ; les progrès des méthodes numériques et l’aug-
mentation des performances des ordinateurs permettent aujourd’hui, grâce à des simulations de
plus en plus rapides et détaillées, de prédire le comportement de systèmes complexes. La phase
qui consiste à décrire le comportement d’un système est appelée la modélisation. La théorie de la
modélisation et de la simulation est basée en grande partie sur la théorie générale des systèmes. La
théorie générale des systèmes est un principe selon lequel tout est système, on parle aujourd’hui
de Théorie Systémique.
Les travaux présentés dans ce chapitre, et plus généralement dans cette thèse, concernent la
33
MODELISATION ET SIMULATION DE SYSTEMES
modélisation et la simulation informatique de systèmes complexes. Notre réflexion et les développe-
ments associés se réfèrent aux notions de système, de modèle, de modélisation, et de simulation.
Ces notions sont dépendantes des techniques et du domaine d’application choisis. Toutes ces en-
tités interviennent dans le processus de modélisation et de simulation. La figure 2.1 présente ces
différents éléments.
FIG. 2.1: Etapes du processus de modélisation et de simulation
Le système est l’élément à la base de l’étude, c’est de là que les données nécessaires à l’élab-
oration du modèle puis à sa validation sont issues. Il est lié au modèle par une relation appelée la
relation de modélisation qui décrit le système dans un environnement choisi.
Le modèle est une représentation du système réel dans un certain environnement. Les modèles
sont associés à une structure de contrôle appelée simulateur. Il reproduit le comportement du
système sous certaines conditions et génère les résultats issus de la simulation du modèle. Ce
processus est appelé simulation.
Le simulateur permet de faire évoluer le modèle dans le temps. Les résultats de ce processus
sont comparés aux données du système réel afin de vérifier la conformité du modèle, cette relation
entre le simulateur et le système est appelée la relation de validation. Dans ce chapitre nous
revenons en détail sur toutes ces notions.
Dans la première partie nous décrivons succinctement différentes approches de modélisation :
systémique, empirique mécaniste et approximative.
Dans le seconde partie nous présentons de manière générale l’approche de modélisation sys-
témique. Elle est à la base du formalisme de modélisation utilisé. De plus, nous présentons la
théorie systémique, et donnons les définitions de système, de modèle, de modélisation et de sim-
ulation.
34
MODELISATION ET SIMULATION DE SYSTEMES
Avant de conclure, dans la troisième partie, nous décrivons le formalisme de modélisation et
de simulation à la base de nos travaux, à savoir le formalisme DEVS (Discrete EVent system
Specification), introduit par le professeur B.P. Zeigler [Zei76].
2.1 Approches de modélisation
D’une façon générale, nous pouvons distinguer plusieurs approches de modélisation : sys-
témique, empirique, mécaniste, approximative. Les approches de modélisation prédictive, que l’on
peut qualifier de "non approximatives" font opposition aux méthodes dites approximatives.
L’approche systémique se base sur une description mathématique ou physique de plusieurs
processus simultanés et de leurs interactions pour définir des modèles. L’objectif de ce type de
modèle est de prendre en compte l’ensemble des variables clés et leurs interactions.
L’approche empirique est déduite des tendances observées à l’intérieur d’un ensemble de
données, elle part du postulat que ces tendances ne vont pas changer dans le temps. Les représen-
tations logiques structurent certaines de ces approches empiriques. Trois types de raisonnements
logiques peuvent être distingués :
1. le raisonnement déductif, qui permet à partir de connaissances sur un phénomène quel-
conque de déduire des conclusions ;
2. le raisonnement inductif au contraire part des conclusions pour déterminer les prémisses de
règle ;
3. le raisonnement abductif qui cherche à attacher des causes plausibles à un ensemble de
prémisses.
L’approche mécaniste est basée sur la connaissance du fonctionnement d’un système. Les dif-
férents processus qui composent le système sont modélisés indépendamment à l’aide de formules
qui décrivent une loi ou une règle. Les modèles issus de cette approche comprennent trois parties :
1. Une base de fait, mémoire de travail qui contient les données initiales et les hypothèses
émises décrivant le problème à traiter ;
35
MODELISATION ET SIMULATION DE SYSTEMES
2. Une base de règles constituant la connaissance permanente ;
3. Un moteur d’inférence, mécanisme ou algorithme, qui exploite les règles. Les moteurs d’in-
férence fonctionnent selon deux mécanismes :
(a) par chaînage avant, ils partent de la base de faits pour aboutir à des conclusions : "si Y
alors X" ;
(b) par chaînage arrière ils prennent la procédure dans le sens inverse, des conclusions aux
conditions initiales. Ces deux mécanismes peuvent aussi être combinés.
Ce genre d’approche se prête bien à la modélisation de processus complexes qui requièrent l’-
expertise de spécialistes. Le savoir faire de ces derniers aide à l’élaboration des bases de règles
pour la modélisation des processus. Ces modèles sont en revanche peu appropriés pour décrire un
système dans sa totalité quand les bases de règles à mettre en oeuvre ne peuvent pas prendre en
compte l’ensemble des paramètres du phénomène.
L’approche approximative : dans le cadre des modes de raisonnement présentés, un prédicat
est soit vrai soit faux. Cependant, le raisonnement et la mise en place de modèles reposent souvent
sur des connaissances et des bases de données imparfaites. La mise en place de procédures visant
à établir des scénarii prédictifs fiables doit permettre de prendre en compte les données incertaines
et / ou imprécises des modèles. Concevoir de telles procédures implique de sortir des approches
classiques de la logique. Cela exige aussi de définir une représentation de l’incertitude et de l’im-
précision, de choisir des procédures de raisonnement qui prennent en compte ces aspects tout en
les propageant au cours des étapes du raisonnement afin de pouvoir les qualifier et les quantifier
dans les résultats.
Dans la partie suivante nous revenons en détail sur l’approche systémique, en effet le formal-
isme de modélisation utilisé est basé sur cette approche.
2.2 Théorie Systémique
Notre étude s’inscrit dans un courant de pensée qui propose une certaine vision du monde, la
systémique. De cette vision découle une pratique particulière de l’activité scientifique. La partie
36
MODELISATION ET SIMULATION DE SYSTEMES
proprement opératoire de l’analyse systémique est née des travaux de L. von Bertalanffy [Ber68] ;
elle met l’accent sur la notion du système comme faisant partie d’un tout. Jusque là, l’approche
scientifique était résolument réductionniste, c’est-à-dire qu’elle procédait par décomposition du
réel pour en isoler une partie qui devenait l’objet d’étude. Cette approche a trouvé ses limites dans
des perspectives d’explications plus globales où les mécanismes décrits au niveau individuel ne
suffisent pas à expliquer le comportement de l’ensemble.
Le mot "système" apparaît dès le XVIIIème siècle, il est à l’origine des concepts fondateurs
de la systémique ou de la science des systèmes. Il sera repris en 1950 par le biologiste théoricien
V. Bertalanffy qui voulait pouvoir décrire dans le même langage les systèmes artificiels et les sys-
tèmes naturels, à l’époque les systèmes fermés ou statiques et les systèmes ouverts ou dynamiques.
Un système permet de représenter un phénomène perçu comme complexe, il peut être déter-
miné à partir de quatre questions intrinsèquement liées :
Ces questions sont résumées par la figure 2.2 :
1. il fait quoi ?→ fonction ;
2. dans quoi ?→ environnement ;
3. pour quoi ?→ finalités ;
4. devenant quoi ?→ transformation.
Autrement dit en interrogeant les interrelations qui le constituent, interrelations avec ses sous
systèmes et avec son environnement, il est possible de décrire un système.
FIG. 2.2: Interrelation qui consituent un Système
37
MODELISATION ET SIMULATION DE SYSTEMES
Le concept moderne de système date des années 50. Un système est décrit sous deux aspects :
structurel et fonctionnel (comportemental) [Zei00].
Sous son aspect structurel un système comprend quatre composants :
1. les éléments constitutifs. Nous pouvons en évaluer le nombre et la nature ;
2. une limite, ou une frontière, qui sépare la totalité des éléments de son environnement avec
le milieu extérieur. La limite d’un système peut être floue, ou mouvante, comme dans le cas
d’un feu de forêt avec son front de flamme ;
3. des réseaux de relations (liens). Les éléments sont en effet interreliés ou connectés pour
pouvoir communiquer et s’échanger des informations ;
4. des stocks (lieu de stockage) où sont gardés les informations qui doivent être transmises ou
réceptionnées.
L’aspect structurel est la représentation de la structure potentielle d’un système.
Sous son aspect fonctionnel un système est aussi décrit par quatre éléments :
1. des flux d’informations, qui empruntent les réseaux de relations et transitent par les stocks.
Ils fonctionnent par entrées / sorties avec l’environnement ;
2. des centres de décision qui organisent les réseaux de relations, ils coordonnent les flux et
gèrent les stocks ;
3. des boucles de rétroaction, elles servent à informer les centres de décision sur l’état général
du système ;
4. des ajustements réalisés par les centres de décision en fonction des boucles de rétroaction.
L’aspect fonctionnel est la représentation du comportement du système.
Dans cette partie nous donnons plusieurs définitions. Dans la première section nous décrivons
la notion de système. Dans les sections deux, trois et quatre nous apportons les notions de mod-
élisation, simulation et paradigme de modélisation et de simulation.
38
MODELISATION ET SIMULATION DE SYSTEMES
2.2.1 Systèmes
Nous pouvons définir un système comme étant un ensemble hiérarchique d’éléments matériels
ou immatériels (êtres vivants, machines, méthodes, règles, etc.) en interaction, transformant par
un processus des éléments d’entrée en éléments de sortie. Par exemple, une éolienne transforme
le vent en électricité. C’est une organisation hiérarchique de sous systèmes, considérés eux-
mêmes comme des systèmes à part entière (le système "éolienne" est composé de sous systèmes
"palles", "moteur", etc.). Nous parlons de systèmes physiques, biologiques ou sociaux, systèmes
qui relèvent de la systémique. Nous voyons ici que la systémique se veut transdisciplinaire et / ou
pluridisciplinaire en essayant de trouver des lois générales indépendantes des contextes d’appli-
cation. Cette transdisciplinarité nous intéresse tout particulièrement.
La systémique distingue l’aspect structurel et fonctionnel des systèmes, elle définit aussi les
systèmes comme causaux, les sorties sont la conséquence d’une entrée, ou déterministes, à une
entrée donnée ne peut correspondre qu’une seule sortie. Cette définition est à la base de nombreux
formalismes tels les équations différentielles, les automates à états finis, les réseaux de Pétri, etc.
Plus généralement, un système A peut être défini par la formule :
A =< τ,X ,Ω,S,Y,δ ,λ > (2.1)
avec :
– τ : base de temps ;
– X : ensemble des états d’entrée ;
– Ω : τ → X : états d’entrée courants ;
– S : ensemble des états du modèle ;
– δ : Ω×S→ S : fonction de transition, elle fait évoluer l’état du modèle en fonction des états
d’entrées (activations) ;
– Y : ensemble des états de sortie ;
– λ : S→ Y : fonction de sortie.
Dans l’équation 2.1, la base de temps τ représente la variable de temps ou l’écoulement d’une
39
MODELISATION ET SIMULATION DE SYSTEMES
durée. L’ensemble des états d’entrée X constitue toutes les activations d’entrées possibles pour le
système. S représente l’ensemble des états que peut prendre le système. Etymologiquement, un
état est une matière d’être à un moment donné.
La dynamique du système est décrite par la fonction de transition δ , elle applique les états
d’entrée Ω à l’état courant S pour transiter vers un nouvel état. Le système génère une sortie en
appliquant la fonction λ à partir de l’état courant. Les fonctions de transition et de sortie sont
activées pour faire évoluer le système dans le temps.
2.2.2 Modélisation
Selon le domaine historique et la discipline étudiée, la définition de modèle et de modéli-
sation peut varier notablement. Il y a une relation forte entre contexte et définition. D’après P.
Fishwich [Fis95] "modéliser c’est décrire une réalité sous la forme d’un système dynamique, à
l’aide d’un langage de description, à un certain niveau d’abstraction". Toujours d’après P. Fish-
wich [Fis95] la modélisation est représentée par la symbiose entre le formalisme et les techniques
de modélisation qui poursuivent le même objectif : "dégager les meilleures métaphores et analo-
gies permettant de mieux comprendre un phénomène quelconque".
Selon C. Oussalah [Ous88] "la modélisation est un épimorphisme entre un système réel et un
modèle dont la finalité est de donner une représentation simplifiée et observable de la structure et
du comportement du système réel".
Ceci nous conduit à définir, dans notre contexte, la modélisation comme un processus d’iden-
tification d’un phénomène et l’opération par laquelle on établit son modèle, afin d’en proposer
une représentation interprétable, reproductible et simulable. C’est une technique qui consiste à
restituer, sous une forme compréhensible par l’ordinateur, un objet ou un phénomène quelconque.
Ce modèle, ainsi constitué, permet d’approcher le fonctionnement ou le comportement du sys-
tème par l’intermédiaire d’un certain nombre d’hypothèses et de règles qui composent ce que l’on
appelle un formalisme de modélisation.
La modélisation et la simulation sont des domaines scientifiques faisant un grand usage de
l’informatique, et leur mise en œuvre s’effectue au sein de logiciels appelés environnements de
40
MODELISATION ET SIMULATION DE SYSTEMES
FIG. 2.3: Cycle de vie d’un modèle.
modélisation et de simulation.
La modélisation systémique caractérise une des grandes méthodes de modélisation contempo-
raine. Elle veille à expliciter "les points de vue" de l’observateur-concepteur qui la met en œuvre,
et à proposer une des formes de compréhension intelligible du système sans prétendre l’expliquer.
La modélisation systémique est fondée sur deux hypothèses :
1. rendre compte des fonctions et fonctionnements du système ;
2. expliciter les finalités attribuées au phénomène modélisé en veillant à les différencier ex-
plicitement des finalités de l’observateur-concepteur.
En considérant un système de manière globale, par abstraction de certaines contraintes, nous pou-
vons associer à un système complexe une représentation simplifiée de sa structure et de son fonc-
tionnement. Cette représentation, plus simple à décrire et utiliser s’appelle un modèle.
L’usage de l’ordinateur et des modèles numériques ouvre, grâce à la modélisation et à la sim-
ulation, un champ scientifique nouveau avec sa méthodologie propre de validation expérimentale
du modèle (figure 2.3) et l’usage de celui-ci pour prédire des comportements inaccessibles à la
mesure car situés dans le futur lointain ou à des échelles trop grandes ou trop petites pour être
instrumentées.
41
MODELISATION ET SIMULATION DE SYSTEMES
2.2.3 Simulation
La simulation est rapidement devenue incontournable pour la modélisation des systèmes com-
plexes. Elle permet de gérer des modèles afin de produire des données comportementales, c’est-à-
dire de faire évoluer les états du modèle dans le temps.
Le temps peut être vu de manière continue ou discrete. Selon que les états du système soient
spécifiés de manière dénombrable ou non dans un modèle on parle de simulation discrète ou
continue. Parmi ces systèmes, les ondes en général, ou la quantité d’oxygène dans l’air, constituent
des systèmes à états continus car leurs valeurs changent continuellement. Un système représentant
un guichet automatique de banque peut être vu au contraire comme un système à états discrets car
l’arrivée d’un client est un évènement subi et dont les quantités sont dénombrables.
FIG. 2.4: Simulation continue.
Figure 2.4 : Un système continu est un système mettant en jeu des signaux continus. Ils ont
les mêmes propriétés qu’une fonction continue. Dans le cadre de simulation continue, une
fonction continue est à la base de l’évolution du modèle dans le temps. Ces simulations né-
cessitent une description de type mathématique analytique du modèle car il doit être possible
de donner l’état du système en tout temps. La complexité de tels modèles grandit toutefois
avec le nombre de paramètres et il devient rapidement impossible de modéliser des systèmes
complexes de manière purement analytique. Il est alors nécessaire de décrire ces systèmes
avec d’autres approches de simulation.
42
MODELISATION ET SIMULATION DE SYSTEMES
FIG. 2.5: Simulation discrète dirigée par horloge.
Figure 2.5 : Un système discret est un système qui met en jeu des informations qui ne sont prises
en compte qu’à des moments précis. En général ces instants sont espacés d’une durée con-
stante appelée période d’échantillonnage (δt). On parle de systèmes discrets par opposition
aux systèmes continus. Le terme discret vient des mathématiques.
Dans une approche de simulation discrète, l’état futur du modèle dépend de son état actuel. Les
méthodes de simulation discrète correspondent aux méthodes de résolution d’équations différen-
tielles. La simulation de ce type de modèles implique que les changements d’états s’effectuent de
manière discrète dans le temps. Il existe deux façons de gérer le temps en simulation discrète. La
simulation est :
– dirigée par une horloge, lorsque l’état du modèle est réévalué à intervalles réguliers. Dans
la figure 2.5, un intervalle δt sépare deux transitions d’états.
– dirigée par les évènements, lorsque l’état du modèle est réévalué en fonction de l’arrivée
d’évènement. Dans ce cas la simulation est dite à évènements discrets (figure 2.6).
Les méthodologies de simulation à évènements discrets présentent de nombreux avantages sur
la simulation dirigée par horloge. En effet, il est possible de simuler un modèle en temps dis-
cret grâce aux évènements discrets en programmant des évènements d’activation à intervalles
réguliers. L’intérêt de l’utilisation de la simulation à évènements discrets apparaît lorsque le
phénomène simulé utilise des échelles de temps très différentes, de l’ordre de la seconde pour
une partie du modèle et de l’année pour une autre ; dans ce cas, si la simulation est dirigée par une
horloge, la règle veut que le pas de temps utilisé soit celui du modèle utilisant la plus petite échelle
43
MODELISATION ET SIMULATION DE SYSTEMES
FIG. 2.6: Simulation discrète dirigée par évènements.
de temps, même si le sous modèle n’est actif que pendant une petite partie du temps complet de la
simulation. Les simulations dirigées par évènements discrets permettent de ne pas réévaluer l’état
du modèle lorsque ce n’est pas jugé nécessaire.
Dans notre contexte, nous pouvons définir la simulation comme un procédé informatique
visant à faire évoluer un système afin de prédire son comportement. Ceci dit, il ne faut pas oublier
que les résultats obtenus par simulation dépendent des hypothèses retenues pour construire les
modèles (figure 2.3) ; et qu’il ne faut évidemment pas confondre résultat de simulation et résultat
réel. La simulation ne doit pas être utilisée sans prise de recul ; la vérification de la validité des
modèles (figure 2.3), et si nécessaire leurs améliorations sont des phases importantes afin de ne
pas prendre de risque inconsidéré dans les décisions.
Nous l’avons vu, la modélisation peut être représentée par la symbiose entre le formalisme et
les techniques de modélisation ; en fonction du système à étudier ou du domaine d’application,
il peut être nécessaire d’utiliser différentes techniques de modélisation. Celles-ci peuvent être
regroupées au sein d’un paradigme de modélisation et de simulation.
44
MODELISATION ET SIMULATION DE SYSTEMES
2.2.4 Paradigme de Modélisation et de Simulation
Un paradigme est un modèle exemplaire d’une chose ou d’une réalité. En sciences le paradigme
désigne une vision du monde ou un mythe fondateur d’une communauté scientifique particulière.
Nous pouvons alors parler d’un paradigme de modélisation et de simulation comme étant l’ensem-
ble des définitions et formalismes, des méthodes, des outils et techniques qui caractérisent une ac-
tivité de modélisation. Par exemple, nous parlons du paradigme objet, caractérisé par les notions
d’encapsulation, d’héritage et de polymorphisme.
Il existe beaucoup de paradigmes de modélisation. Parmi les plus connus, nous pouvons
citer les modèles stochastiques, les algorithmes évolutionnaires ou les techniques d’apprentissage
comme les réseaux de neurones.
L’augmentation de la puissance de calcul des ordinateurs nous autorise aujourd’hui à être plus
pointus dans nos représentations des systèmes. La question n’est pas de savoir si leurs états sont
dénombrables ou indénombrables, mais plutôt de faire cohabiter plusieurs représentations au sein
d’un même modèle. Il semble assez évident que la complexité et la diversité des systèmes soient
mieux appréhendées par une diversité des modèles. L’hétérogénéité des modèles nous amène donc
à la construction de multi-modèles. Un multi-modèle rassemble plusieurs paradigmes et / ou for-
malismes dans sa réalisation - nous parlons alors de multi-modélisation. Ce terme a été introduit
par T.I. Oren en 1989 [Ore89] et s’est fait connaître par les travaux de P. Fishwick et B.P. Zei-
gler [FZ92]. Il existe aussi le terme de modélisation multi-paradigmes ; H. Vangheluwe [VdLM02]
le définit comme s’adressant à trois axes de recherches orthogonaux :
1. à la modélisation liée au multi-formalisme (donc à la multi-modélisation), c’est-à-dire au
couplage de modèles spécifiés dans différents formalismes ;
2. au problème de changement de niveau d’abstraction dans les modèles ;
3. à la méta-modélisation, c’est-à-dire la construction de modèles de modèles.
Pour intégrer différents paradigmes, nous considérons les travaux effectués par B.P. Zeigler depuis
le début des années 1970 [Zei76]. Ces travaux se basent sur les mathématiques discrètes et plus
particulièrement sur la théorie générale des systèmes. Dans ce contexte, des travaux formels ont
45
MODELISATION ET SIMULATION DE SYSTEMES
été menés pour développer les fondements théoriques de la modélisation et de la simulation des
systèmes dynamiques [ZKP00]. Ces travaux ont notamment donné naissance au formalisme DEVS
(Discrete EVent system Specification) pour la spécification des systèmes à évènements discrets.
Nous avons choisi comme paradigme de modélisation et de simulation le multi formalisme
DEVS [Zei76]. Il offre la possibilité d’encapsuler, pour un même système, des modèles décrits
à partir de différents formalismes tels que les équations différentielles [ZKP00] ou les réseaux
de Pétri [JW02], etc. De plus, il permet d’appréhender la complexité des systèmes étudiés, et il
s’abstrait totalement de la mise en œuvre des simulateurs associés aux modèles. Il existe également
plusieurs extensions du formalisme DEVS adaptées à domaines précis mais nous y reviendrons
par la suite.
2.3 Modélisation à évènement discret
Depuis les années 1970, des travaux formels ont été menés pour développer les fondements
théoriques de la modélisation et de la simulation des systèmes dynamiques à évènements discrets.
Le formalisme DEVS, de l’anglais Discrete EVent system Specification, a été introduit par le pro-
fesseur B.P. Zeigler [Zei76] comme un formalisme abstrait pour la modélisation à évènements
discrets.
Le formalisme DEVS est une approche de modélisation basée sur la théorie générale des
systèmes. Plus précisément, c’est un formalisme modulaire et hiérarchique pour la modélisation,
centré sur la notion d’état. Un système est représenté, pour sa forme structurelle, par deux types
de modèles.
La modélisation consite à interconnecter ces différents types de modèles afin de former un
nouveau modèle décrivant le comportement du système étudié, c’est l’aspect fonctionnel.
Les modèles atomiques sont les composants de base du formalisme, ils décrivent le com-
portement du système. Leur fonctionnement est proche de celui des "states machine" (machines
d’états).
Pour décrire un système plus complexe nous interconnectons plusieurs modèles atomiques
46
MODELISATION ET SIMULATION DE SYSTEMES
pour former un modèle couplé. Ce nouveau modèle peut être utilisé comme modèle de base dans
une description de plus haut niveau, c’est l’aspect hiérarchique du formalisme.
Au niveau de la structure du système, cette approche peut sembler statique ; le formalisme
DEVS dans sa forme basique ne tient pas compte de l’évolution potentielle de la structure du
système, seul les états peuvent évoluer. Toutefois le formalisme a été étendu pour permettre ces
changements de structure, et il en est, ou peut en être de même pour d’autres aspects.
Le formalisme DEVS peut être vu comme un environnement de multi-modélisation regroupant
de manière cohérente d’autres formalismes de modélisation basés eux aussi sur la théorie générale
des systèmes et centrés sur les états. Sa capacité d’ouverture, au sens informatique, en fait un
formalisme adapté à un grand nombre de domaines d’application [Bar95][Uhr01][NZ02, TW03].
Au niveau de la simulation, il permet l’analyse de systèmes complexes à évènements discrets
décrits par des fonctions de transitions d’états, et des systèmes continus décrits par des équations
différentielles [ZKP00]. A ce niveau, le principal avantage de l’approche tient au fait que, pour un
modèle décrit suivant les spécifications du formalisme, les algorithmes de simulations sont générés
automatiquement. Cela permet de s’abstraire totalement de l’implémentation des simulateurs lors
de la phase de modélisation, ce qui conduit à une séparation explicite entre la modélisation et la
simulation.
Les deux types de modèles (atomique et couplé) du formalisme sont décrits dans la première
section, dédiée à la phase de modélisation, et dans la seconde section, nous présentons les aspects
de simulation.
2.3.1 Modélisation DEVS
Le formalisme DEVS repose sur la définition de deux types de modèles : les modèles atom-
iques et les modèles couplés. Les modèles atomiques permettent de représenter le comportement
de base du système. Les modèles couplés, quant à eux, sont définis par un ensemble de sous mod-
èles atomiques et / ou couplés. Ils permettent de représenter la structure interne du système grâce
à la définition de couplages entre modèles.
47
MODELISATION ET SIMULATION DE SYSTEMES
2.3.1.1 Modèle Atomique
Le modèle atomique peut être vu comme un machine d’états basé sur le temps. Il permet de
décire l’aspect fonctionnel ou comportemental du système.
Le modèle atomique fournit une description autonome du comportement du système, défini
par des états et des fonctions d’entrées / sorties et de transitions internes du modèle. L’évolution
du modèle se fait par changement d’état en fonction de stimuli externes (via une entrée) ou internes
(via une fonction de transition). Ces changements d’états ont pour but de déterminer la réponse
comportementale du système à ces stimuli.
Dans le formalisme DEVS (classique) la notion de couple (numéro de port, valeur) est intro-
duite pour chaque entrée, ou sortie d’un modèle atomique. Une entrée correspond à la réception
d’une ou plusieurs valeur(s) sur un numéro de port. Une sortie correspond à l’émission d’une ou
plusieurs valeur(s) sur un numéro de port.
Le modèle atomique, figure 2.7, est caractérisé par la formule suivante (équation.2.2) :
FIG. 2.7: Description d’un modèle atomique DEVS
MA =< X , Y, S, ta, δext , δint , λ > (2.2)
Avec
– X = (pIN ,v) | pIN ∈ Portsd′entree, v∈ XpIN : la liste des entrées du modèle, chaque entrée
étant caractérisée par un couple (numéro du port / valeur) ;
– Y = (pOUT ,v) | pOUT ∈ Portsdesortie, v ∈ YpOUT : la liste des sorties du modèle, chaque
sortie étant caractérisée par un couple (numéro du port / valeur) ;
– S : l’ensemble des états ou des variables d’états du système ;
48
MODELISATION ET SIMULATION DE SYSTEMES
– ta : S→ R+ : la fonction d’avancement du temps, ou le temps de vie de l’état S ;
– δext : Q×X → S : la fonction de transition externe, où :
– Q = (Si,e) |Si ∈ S,0≤ e≤ ta(Si) : l’ensemble des états S1,2,...,n ;
– e : est le temps écoulé depuis la dernière transition ; La fonction de transition externe
spécifie comment le modèle atomique change d’état (passage de l’état S1 à l’état S2 (fig-
ure 2.8)) quand une entrée survient (évènement externe) avant que ta(S1) ne soit écoulé ;
– δint : S→ S : la fonction de transition interne. Elle permet de passer d’un état S2 à l’instant
t1, à un état S1 à l’instant t2 lorsqu’aucun évènement externe n’arrive durant le temps de vie
de l’état ta(S2) (figure 2.8) ;
– λ : S→ Y : la fonction de sortie.
FIG. 2.8: Description de l’évolution des éléments d’un modèle atomique
Les modèles atomiques réagissent à deux types d’évènements (stimuli) externes ou internes.
Un évènement externe provient d’un autre modèle, il déclenche la fonction de transition externe
(δext) et met à jour le temps de vie de l’état (ta(Si)). Un évènement interne entraîne un changement
49
MODELISATION ET SIMULATION DE SYSTEMES
d’état du modèle. Il déclenche les fonctions de transition interne (δint) et de sortie (λ ). Le mod-
èle calcule ensuite avec la fonction d’avancement du temps (ta) la date du prochain évènement
interne. Ces enchaînements d’actions et la description du comportement du modèle sont présentés
figure 2.7.
La figure 2.8 présente l’évolution des états d’un modèle. Xi=1,2 représente les entrées, Si=1,2,3
les états du modèle, e l’écoulement du temps, il est remis à zéro à chaque changement d’état. ta
représente la durée de vie d’un état, elle est mise à jour après chaque changement d’état, si elle est
égale à zéro la fonction de transition interne est déclenchée. Y représente les sorties du modèle.
A chaque instant le modèle est dans un état (Si=1,2,3). Si un évènement externe Xi=1,2 ∈ X
est détecté avant que e = ta(Si), le système change d’état grâce à la fonction de transiton externe
(δext(Si,e,Xi)).
Dans la figure 2.8, nous passons de l’état S1 à l’état S2 lorsque l’entrée X1 est détectée, puis de
l’état S1 à l’état S3 lorsque X2 est détectée à son tour.
Si aucun évènement externe (Xi=1,2) n’est détecté, le modèle reste dans le même état pendant
un temps donné par la fonction ta(Si). Lorsque le temps du vie de l’état est écoulé, c’est-à-dire
lorsque e = ta(Si) le système active sa fonction de sortie (λ (Si)) (envoie de Y0 sur la figure 2.8). De
plus, l’état du système est aussi mis à jour grâce à l’exécution de la fonction de transition interne
(δint(Si)). Dans les deux cas, le système est dans un nouvel état (figure 2.8 : S1 avec δint et S2 et
S3 avec δext), avec un nouveau temps de vie et ainsi de suite.
En fonction de son temps de vie, l’état d’un modèle peut être défini comme transitoire ou
passif.
Si ta(S) = 0 alors la durée de vie de l’état est tellement courte qu’aucun évènement externe ne
peut intervenir avant l’arrivée du prochain changement d’état, le système est dans un état transi-
toire.
Si ta(S) = ∞ le système restera dans le même état tant qu’aucun évènement externe n’est
détecté, il est dans un état passif.
A partir de modèles atomiques nous pouvons représenter un grand nombre de systèmes en les
interconnectant au sein d’un modèle couplé de plus haut niveau.
50
MODELISATION ET SIMULATION DE SYSTEMES
2.3.1.2 Modèle Couplé
Le formalisme DEVS utilise la notion de hiérarchie de description qui permet la construction
de modèles dits "couplés" à partir d’un ensemble de modèles atomiques et / ou couplés, et de trois
relations de couplage :
– une relation de couplage interne (IC) pour le couplage des ports des sous-modèles qui com-
posent le modèle couplé (en bleu sur la figure 2.9) ;
– une relation de couplage des entrées externes (EIC) pour le couplage des ports d’entrée du
modèle couplé avec les ports d’entrées de ses sous-modèles (en noir sur la figure 2.9) ;
– une relation de couplage des sorties externes (EOC) pour le couplage des ports de sortie du
modèle couplé avec les ports de sortie de ses sous-modèles (en rouge sur la figure 2.9).
FIG. 2.9: Description d’un modèle couplé DEVS
Le modèle couplé (équation 2.3 et figure 2.9) est une composition de modèles atomiques et
/ ou de modèles couplés. Il présente un exemple de hiérarchie entre modèles, il est composé de
deux modèles couplés (A et B) et cinq modèles atomiques (1,2,3,4 et 5).
Le modèle de plus haut niveau, qui contient tous les autres modèles est le modèle couplé A. Le
second modèle couplé B est composé des modèles atomiques (3,4,5). La figure 2.9 présente un
modèle couplé A avec 2 entrées "IN" et une sortie "OUT ". Il contient 2 modèles atomiques (1) et
(2) et un modèle couplé B.
Un modèle couplé DEVS est modulaire et présente une structure hiérarchique, ce qui permet
la création de modèles complexes à partir de modèles atomiques et / ou couplés. Il est décrit par
51
MODELISATION ET SIMULATION DE SYSTEMES
la formule :
MC =< X , Y, D, Mi, Ii, Zi, j, L > (2.3)
Avec
– X = (pIN ,v) | pIN ∈ Portsd′entree, v∈ XpIN : la liste des entrées du modèle, chaque entrée
étant caractérisée par un couple (numéro du port / valeur) ;
– Y = (pOUT ,v) | pOUT ∈ Portsdesortie, v ∈ YpOUT : la liste des sorties du modèle, chaque
sortie étant caractérisée par un couple (numéro du port / valeur) ;
– D : la liste des modèles composant le modèle couplé MC ;
– Mi =< Xi,Yi,Si,δexti,δinti ,λi, tai > : un modèle atomique ;
– Pour chaque modèle i ∈ D∪MC, Ii est l’ensemble des modèles qui influence i ;
– Zi, j est la fonction de transition des sorties du modèle i vers le modèle j, telle que :
– ZMC, j : XMC→ X j est la fonction de couplage des entrées externes (EIC) ;
– Zi,MC : Yi→ XMC est la fonction de couplage des sorties externes (EOC) ;
– Zi, j : Yi→ X j est la fonction de couplage interne (IC) ;
– L : la liste des priorités entre modèles.
La structure d’un modèle couplé doit répondre à des contraintes telles que, ∀ i ∈ D :
1. Mi doit être un modèle atomique ;
2. Une seule fonction Zi, j peut contenir l’ensemble des informations sur le couplage du modèle
couplé ;
3. Ii est un sous ensemble de D∪MC et i /∈ Ii.
La cohérence et la conservation des propriétés du système entre ces niveaux de hiérarchie est
résumée par la propriété de "fermeture sous composition1". En effet dans le formalisme DEVS,
chaque modèle est indépendant et peut être considéré comme une entité à part entière ou comme
le modèle d’un système plus grand. Il a été montré dans [Zei84] que le formalisme DEVS est
fermé sous composition, c’est à dire que pour chaque modèle couplé DEVS, représenté par le
1traduction de l’anglais "closed under coupling"
52
MODELISATION ET SIMULATION DE SYSTEMES
couplage d’un ensemble de sous modèles, il est possible de construire un modèle atomique DEVS
équivalent.
2.3.2 Simulation DEVS
Nous définissons la simulation comme un procédé informatique visant à faire évoluer un sys-
tème afin de prédire son comportement. Etablir une simulation exige donc la définition précise du
comportement ainsi que la description des interactions qui existent entre les modèles.
FIG. 2.10: Arbre de Classe du simulateur DEVS
L’une des propriétés importantes du formalisme DEVS est qu’il fournit automatiquement un
processeur pour chacun des modèles. Le formalisme DEVS établit une distinction entre la mod-
élisation et la simulation (figure 2.10) d’un système telle que n’importe quel modèle DEVS puisse
être simulé sans qu’il soit nécessaire d’implémenter un processeur spécifique.
La figure 2.10 montre comment sont organisés les processeurs (figure 2.11, root, coordina-
teur, simulateur) dans le cas du modèle couplé présenté dans la partie modélisation (cf. 2.3.1.2,
53
MODELISATION ET SIMULATION DE SYSTEMES
figure 2.9).
Chaque modèle atomique est associé à un Simulateur (figures 2.10 et 2.11) chargé de gérer le
comportement du modèle, et chaque modèle couplé est associé à un Coordinateur chargé de la
synchronisation temporelle des modèles sous jacents. L’ensemble de ces modèles est géré par un
processeur spécifique appelé Root [Zei84, Van01].
FIG. 2.11: Hiérarchie de Classe d’un environnement DEVS
Comme nous l’avons vu, le formalisme DEVS est basé, pour la modélisation, sur deux types de
modèles : les modèles couplés et atomiques. Ces modèles possèdent des ports d’entrée, des ports
de sortie et des variables d’état. Chaque modèle communique grâce à l’envoi et à la réception de
plusieurs types de messages. Le principe est décrit dans [Zei84, Van01]. Chaque message génère
des évènements qui sont stockés dans un échéancier, qui est une structure de données composée
d’évènements classés suivant un ordre chronologique, la tête de l’échéancier représentant le futur
immédiat, et la queue le futur plus lointain. La simulation consiste à faire évoluer les états des
modèles dans le temps en fonction d’évènements. Nous distinguons deux types d’évènements :
les évènements externes et les évènements internes :
– Un évènement externe, prévu à l’instant t sur un port d’entrée donné du modèle représente
une modification d’un des états du modèle ;
– Un évènement interne, prévu à l’instant t, correspond à une modification d’un des états du
modèle et provoque l’émission d’une valeur de sortie via la fonction (λ ) sur un des ports de
54
MODELISATION ET SIMULATION DE SYSTEMES
sortie du modèle.
Un évènement interne ou externe DEVS peut être caractérisé de la façon suivante (eq.2.4) :
E = (temps, port, valeur) (2.4)
Le premier champ représente la date d’occurrence de l’évènement, le second désigne le port
sur lequel l’évènement intervient, il n’est pas renseigné pour les évènements internes, et le troisième
symbolise la valeur de l’évènement.
Il a été défini dans le formalisme DEVS [ZV93], dans le cas où plusieurs évènements sont pro-
grammés au même instant t, que le choix de l’évènement à exécuter en premier se fait en fonction
de la liste de priorité.
Après avoir détaillé les mécanismes de fonctionnement du formalisme DEVS, dans la partie
suivante, nous nous intéressons à deux extensions du formalisme DEVS qui permettent de faire
de la modélisation approximative.
2.4 Modélisation approximative
On peut intégrer dans le multi-formalisme DEVS de nombreux autres formalismes ou méth-
odes de modélisation. Dans cette partie nous nous intéressons aux extensions de DEVS qui per-
mettent de prendre en compte imprécision et incertitude sur les événements ou sur les états. L’in-
certitude intervient au niveau des changements d’états, alors que l’imprécision intervient sur le
temps ou les variables des événements. Dans les deux cas, ces changements modifient la structure
des modèles et les algorithmes de simulation.
Le formalisme Fuzzy-DEVS [KPJK96] permet de traiter des données incertaines, cette in-
certitude intervient uniquement au niveau des changements d’états du système. Une méthode de
défuzzification permet de transformer les incertitudes sur le temps des évènements en valeurs
réelles, et effectue l’opération inverse pour fournir un temps de sortie floue. Le formalisme Min-
Max-DEVS [GG01, HGF06] permet de prendre en compte uniquement une imprécision sur le
55
MODELISATION ET SIMULATION DE SYSTEMES
temps d’un événement pour des systèmes électroniques. Ces deux formalismes sont détaillés dans
cette partie.
2.4.1 Fuzzy-DEVS
Le formalisme Fuzzy-DEVS introduit par Y. Kwon dans [KPJK96], dérive du formalisme
DEVS tout en conservant sa sémantique, une partie de ses concepts et sa modularité. Il est basé
sur la logique floue, une règle "max-min" définie dans [KPJK96] et les méthodes de fuzzification
et de défuzzification pour prendre en compte les incertitudes sur le temps des évènements. Pour
permettre la simulation, les incertitudes sur le temps doivent être transformées en valeurs réelles
(défuzzification) ; pour pouvoir être exploités, les temps de sortie sont de nouveau transformés en
données incertaines (fuzzification).
La structure du modèle atomique flou décrite dans [KPJK96] est la suivante :
˜AMF =< X , Y, S, δint , δext , λ , ta > (2.5)
avec :
– X ,Y , l’ensemble des ports d’entrée et de sortie non flous ;
– S , l’ensemble des états séquentiels non flous ;
– δint : S×S→ [0, 1], fonction floue de transition interne ;
– δext : Q×X×S→ [0, 1], fonction floue de transition externe, avec :
– Q = (s, e) | s ∈ S,0≤ e ≤ ta(s), ou
– ta(s) est la valeur de défuzzification de ta(s) ;
– λ : S×Y → [0, 1], fonction floue de sortie ;
– ta : S× N→ [0, 1], fonction floue d’avancement du temps, où N est l’ensemble des nombres
flous appartenant à R[0,∞[.
Tel qu’il est décrit, le modèle atomique Fuzzy-DEVS ne permet de prendre en compte que les dif-
férentes possibilités de transition ( ˜δint , ˜δext) entre état. Les entrées et les sorties du modèle ne sont
d’ailleurs pas représentées comme imprécises. De plus, le modèle atomique flou de Fuzzy-DEVS,
56
MODELISATION ET SIMULATION DE SYSTEMES
contrairement au modèle atomique DEVS, est non déterministe, c’est-à-dire qu’il ne répond pas
aux deux conditions suivantes :
1. la fonction de transition interne est exécutée (δint(si) = si+1) quand la durée de vie de l’état
est écoulée (ta = 0 ou ta = e) et la fonction de transition externe (δext(si,Xi) = si+1) est
exécutée lorsqu’un évènement externe arrive ;
2. la fonction de sortie (λ (si) = Yi) est exécutée quand la durée de vie d’un état est finie
(ta = 0).
Dans le formalisme Fuzzy-DEVS, l’état suivant du système si+1 n’est pas déterminé avec δint et
δext mais avec la règle "max-min" ; elle détermine, suivant un algorithme, l’état qui a le plus de
chances d’être mis à jour. Les différentes possibilités de changement d’état sont représentées par
des matrices, et l’évolution du modèle par des arbres de possibilités [KPJK96, ACG+00].
Fuzzy-DEVS ne traite pas les valeurs imprécises d’un modèle, mais propose une méthode qui
fournit un arbre de possibilités représentant l’évolution des états du système, les feuilles sont les
états et les branches la possibilité associée à un état.
FIG. 2.12: Arbre de simulation Fuzzy-DEVS
57
MODELISATION ET SIMULATION DE SYSTEMES
La figure 2.12 présente l’évolution d’un système en fonction des possibilités µs de transition
entre états. Le système est défini par deux entrées X = x1,x2, deux sorties Y = y1,y2 et trois
états S = s1,s2,s3.L’évolution du système se fait non pas en fonction de δint et δext comme dans le formalisme
DEVS classique, mais en fonction de matrices représentant les relations (R) entre fonctions de
transition et états.
Relation interne :
s1 s2 s3
s1
s2
s3
0.8 0.2 0.1
0.6 0.1 0.3
0.9 0.1 0.2
Rint
;
Relation de sortie :
y1 y2
s1
s2
s3
0.7 0.5
0.6 0.9
0.7 0.2
Rout
;
Relations externes :
s1 s2 s3
s1
s2
s3
0.5 0.8 0.2
0.7 0.4 0.2
0.2 0.7 0.6
Rext(x1)
, et
s1 s2 s3
s1
s2
s3
0.4 0.6 0.7
0.5 0.7 0.3
0.1 0.4 0.8
Rext(x2)L’état suivant du système si+1 est choisi en fonction de la règle "max-min" définie, pour les
transitions :
– interne par : µSi+1(si+1) = max(min(µSi
(si), δint(si,si+1))) ;
– externe par : µSi+1(si+1) = max(min(µSi
(si), δext(si,xi,si+1))).
L’état suivant du système (figure 2.12), après détection d’une entrée (x1) et déclenchement de
la fonction de transition externe, sera choisi en fonction du degré de possibilité défini par :
max(min(0.5,0.8), min(0.5,0.2)) = 0.5, nous restons donc dans l’état s1→ s1.
58
MODELISATION ET SIMULATION DE SYSTEMES
Après une transition interne max(min(0.8,0.2), min(0.8,0.1)) = 0.2, nous passons dans l’état
s1→ s2.
Nous pouvons remarquer que comme dans le formalisme DEVS classique, avant une transition
interne, la fonction de sortie est déclenchée.
Fuzzy-DEVS est un formalisme théorique toujours en phase de recherche [KPJK96, ACG+00].
L’idée de base est très intéressante, mais est limitée à l’étude de systèmes à états finis. De plus,
ce formalisme ne nous paraît pas totalement cohérent avec le formalisme DEVS, mais il fournit
de bonnes pistes de travail, comme la possibilité de définir le temps de vie d’un modèle ta à l’aide
d’un label linguistique [KPJK96]. Pour autant il ne permet pas de répondre à notre probléma-
tique, à savoir la définition d’une méthode de prise en compte d’imprécision au niveau de tous
les paramètres du modèle (X ,Y,S,λ , ta,δext ,δint) et pas seulement au niveau des transitions entre
états.
2.4.2 Min-Max-DEVS
Le formalisme Min-Max-DEVS [GG01, HGF06] introduit par N. Giambiasi fait suite au
travaux de M. Smaili [Sma94] sur la modélisation et la simulation de circuits logiques à retard
flou. Le but de Min-Max-DEVS est de permettre de modéliser et de simuler des systèmes réels
pour lesquels les valeurs des retards ne sont pas connues avec exactitude. Ce formalisme a été pro-
posé pour modéliser les systèmes dans lesquels la durée de vie des états transitoires est représentée
par des intervalles de temps et non par les valeurs moyennes comme dans le formalisme DEVS
classique.
Les modèles atomiques Min-Max-DEVS et DEVS classique sont quasiment identiques, le seul
changement est la représentation de la fonction d’avancement du temps ta. Dans Min-Max-DEVS
elle est définie comme suit :
– ta(si) : S→R+×R+ ;
– ta(si) = (dmin,dmax) ;
où
– dmin est le temps minimum pendant lequel le modèle reste dans le même état si, dmin
59
MODELISATION ET SIMULATION DE SYSTEMES
représente l’évolution la plus rapide du système ;
– dmax est le temps maximum pendant lequel le modèle reste dans le même état si, dmax
représente l’évolution la plus lente du système.
Cette modification entraîne deux changements importants par rapport au formalisme DEVS clas-
sique. Le premier intervient au niveau de l’évolution du modèle ; dans Min-Max-DEVS les évène-
ments externes sont choisis en fonction du temps minimum ; si il n’y a pas d’évènement externe
détecté, un évènement interne est déclenché au temps maximum. Le second changement touche
les algorithmes de simulation, la fonction ta ayant été modifiée, il faut en tenir compte de niveau
de la simulation. Chaque évènement est déclenché en fonction du temps, et tous les temps des
évènements internes sont fixés par la fonction ta. Pour cela deux nouvelles variables de temps ont
été définies, ts représentant le temps maximum avant le prochain évènement et t f représentant le
temps minimum avant le prochain évènement. Ces évolutions ont engendré une modification des
algorithmes de simulation, ils sont présentés dans [GG01].
Ces travaux fournissent des pistes intéressantes pour la représentation et prise en compte des
imprécisions au niveau du temps de vie de l’état ta, mais sont essentiellement applicables dans les
domaines de la détection de fautes ou de la prise en compte de retards flous dans la définition de
circuits digitaux. Notre approche se veut totalement indépendante de toutes applications données,
et doit aussi permettre de prendre en compte les imprécisions sur les entrées des modèles.
2.5 Conclusion du Chapitre
Nous avons présenté dans ce chapitre les notions théoriques de la modélisation et de la simula-
tion de système, et en particulier nous avons détaillé le formalisme développé par B.P Zeigler. Ce
formalisme présente plusieurs avantages en ce qui concerne les objectifs que nous nous sommes
fixés, à savoir la modélisation de systèmes naturels complexes à paramètres imparfaits.
En effet, le formalisme DEVS peut être défini comme une méthodologie universelle et générale
qui fournit des outils pour modéliser et simuler des systèmes dont le comportement repose sur
la notion d’évènements. Ce formalisme est basé sur la théorie générale des systèmes, la notion
60
MODELISATION ET SIMULATION DE SYSTEMES
de modèle, et permet la spécification de systèmes complexes à évènements discrets sous forme
modulaire et hiérarchique. Nous pouvons aussi définir le formalisme DEVS comme un outil de
multi-modélisation regroupant plusieurs formalismes de modélisation de manière cohérente, de
fait, lorsqu’il est replacé dans le contexte spécifique d’un domaine d’application, si aucune ap-
proche de modélisation ne permet de traiter le domaine, il doit être adapté et étendu.
Dans le langage courant, les termes exprimant le raisonnement approximatif sont variés "à
peu près, environ, approximativement, etc.". Seuls quelques-uns sont liés à des théories mathé-
matiques. Dans le chapitre suivant nous présentons certaines de ces théories. L’intérêt au final est
de pouvoir associer plusieurs de ces approches et notamment l’approche systémique, à la base du
formalisme DEVS, et une approche de modélisation approximative. Le but étant évidemment de
pouvoir modéliser des systèmes à paramètres imparfaits à partir du formalisme DEVS classique.
Les formalismes de modélisation sont des outils d’analyse et de prédiction indispensables pour
nous renseigner sur les conséquences des actions humaines ou sur les changements naturels, mais
il est important d’évaluer et de prendre en compte correctement le système étudié. Tout ce qui
touche à l’homme ou à son environnement est difficile à décrire précisément, et pour cela, prendre
en compte, dans des modèles, le caractère imparfait de notre environnement ne peut s’avérer que
positif. La prise en compte des imprécisions des paramètres des modèles permet de fournir une
fourchette de valeurs et non une valeur unique comme résultat de simulation. Le résultat est plus
imprécis, certes, mais a de grandes chances d’être juste.
Deux approches basées sur le formalisme DEVS permettent de prendre en compte des im-
perfections sur les paramètres des modèles. Min-Max-DEVS est trop spécifique à un domaine
d’application, et ne traite que les retards sur le temps de déclenchement des évènements, et Fuzzy-
DEVS ne traite que les incertitudes au niveau des transitions entre états.
Bien que ces deux formalismes ne répondent pas à notre problématique, ils nous ont servi de
base de réflexion pour définir une partie des spécifications d’une nouvelle méthode de prise en
compte des imprécisions au niveau de tous les paramètres des modèles DEVS. Dans le chapitre
suivant nous présentons cette nouvelle méthodologie de modélisation et de simulation de systèmes
61
MODELISATION ET SIMULATION DE SYSTEMES
à paramètres imprécis appelée iDEVS. Elle est basé sur la théorie des sous ensembles flous et sur
le formalisme DEVS, et plus précisement, elle associe ces deux approches.
62
CHAPITRE 3
Approche de Modélisation et de Simulation iDEVS
Quand la théorie rejoint la pratique, ça ne
marche pas et on ne sait pas pourquoi.
Edmond Wells
CE travail de thèse s’inscrit dans le cadre des recherches développées au sein de notre lab-
oratoire [Aie97, Del97, Ber02, dG02, Fil03, Muz04, Cap05], autour de la modélisation
et de la simulation à événements discrets de systèmes complexes. Comme nous l’avons vu dans
le chapitre précédent, le formalisme DEVS peut être considéré comme un multi-formalisme re-
groupant de manière cohérente plusieurs méthodes de modélisation, c’est à partir de cette ap-
proche que nous allons proposer une nouvelle méthode de modélisation approximative basée sur
la théorie des sous ensembles flous.
Lors de l’étude de systèmes naturels complexes, il est fréquent qu’un certain nombre de
paramètres soient imparfaitement définis. A partir de la théorie des sous ensembles flous, qui
permet de représenter et de manipuler des variables imprécises, nous avons défini une nouvelle
méthode pour la modélisation et la simulation de systèmes à paramètres imprécis. Cette nouvelle
méthode a plusieurs objectifs, le premier est bien évidemment de permettre la modélisation et la
63
APPROCHE DE MODELISATION ET DE SIMULATION iDEVS
simulation de systèmes flous, et d’étendre ainsi le champ d’action du formalisme DEVS classique ;
le second est de fournir plusieurs modèles de base afin de faciliter le rôle du concepteur ; enfin, le
troisième est de rendre plus souple la spécification des modèles grâce à l’utilisation de variables
linguistiques. Ces modèles doivent respecter les contraintes du formalisme DEVS, afin de rester
cohérents avec ses concepts et permettre d’exploiter pleinement la possibilité de connecter entre
eux des modèles hétérogènes, c’est-à-dire des modèles provenants de méthodes de modélisation
différentes.
L’enjeu de ce chapitre est de présenter cette nouvelle méthodologie de modélisation et de sim-
ulation basée sur l’utilisation d’outils liés à la logique floue, ainsi que les méthodes développées
pour permettre leur intégration dans le formalisme DEVS.
Dans la première partie, nous présentons en détail notre problématique ainsi que les solutions
envisagées, et nous revenons sur la notion d’évènement DEVS, abordée dans le chapitre 2 ; à partir
de cette forme nous avons identifié les paramètres pouvant être imprécis.
Nous présentons dans la seconde partie notre approche de modélisation. Elle est axée sur une
librairie de fonctions et sur une bibliothèque de modèles pré-programmés. La librairie est con-
struite à partir d’une structure de données permettant de représenter les imprécisions, et propose
plusieurs méthodes afin d’effectuer des opérations.
Notre approche de simulation est décrite dans la partie suivante. Celle-ci est basée sur une
fonction de défuzzification qui complète notre librairie.
Dans la quatrième partie nous présentons le modèle atomique iDEVS sous sa forme générale.
Avant de conclure, dans la dernière partie nous détaillons certains des modèles réalisés.
3.1 inaccuracy Discrete EVent system Specification
Dans cette partie, nous présentons le cheminement scientifique initié dans [BdGSB06] qui
nous a conduit jusqu’à la définition d’une nouvelle méthode de modélisation. A partir des formal-
ismes existants, nous avons défini plusieurs contraintes, et avons posé les bases d’une nouvelle
méthode de modélisation approximative. La première étape, semblable à la définition d’un cahier
64
APPROCHE DE MODELISATION ET DE SIMULATION iDEVS
des charges, est rapportée dans la première section.
Dans le seconde section, nous revenons sur la notion d’évènement DEVS ; cette notion est très
importante car centrale dans le formalisme DEVS, elle nous permet d’identifier les paramètres
pouvant être imprécis.
3.1.1 Pourquoi iDEVS ?
Fuzzy-DEVS et Min-Max-DEVS nous ont non seulement servi pour définir les bases de
notre approche, mais également largement inspiré, notamment pour le mode de représentation
des paramètres, la possibilité de décrire de manière linguistique le temps de vie des états ou en-
core les techniques de simulation floue. A partir de leur étude (cf. 2.4) nous pouvons constater
que les fonctions d’évolution des états des modèles sont modifiées et qu’il faut pour cela adapter
les algorithmes de simulation. Si l’on souhaite intégrer dans un système décrit suivant le formal-
isme DEVS classique, un ou plusieurs modèles définis à partir d’une de ces deux approches, il est
nécessaire de réécrire les algorithmes de simulation. Un de nos objectifs est de pouvoir intégrer
dans un système DEVS classique des modèles imprécis sans avoir à modifier la partie simulation.
De plus le formalisme Fuzzy-DEVS ne permet de prendre en compte que les incertitudes liées
aux transitions entre états (incertitude → théorie des possibilités), et Min-Max-DEVS ne traite
que l’imprécision sur le temps de vie des états (imprécision→ théorie des sous ensembles flous).
Comme nous l’avons vu, l’imprécision est relative à la valeur d’un évènement, et l’incertitude
est relative à sa réalisation. A partir de ces deux notions, et pour fournir une méthode complémen-
taire à celles déjà existantes, nous proposons la création d’une nouvelle approche de modélisation
qui va prendre en compte les paramètres imprécis des modèles DEVS : cette méthode est appelée
iDEVS pour inaccuracy DEVS ou DEVS imprécis.
Nous nous sommes volontairement limités aux imprécisions, car comme nous l’avons rappelé,
les incertitudes sont relatives à la réalisation d’un fait ; donc, dans le formalisme DEVS elles ne
peuvent intervenir qu’à deux niveaux :
1. les transitions entre états ;
2. les évènements.
65
APPROCHE DE MODELISATION ET DE SIMULATION iDEVS
Dans le premier cas, Fuzzy-DEVS nous paraît assez pertinent, et répond à la problématique bien
qu’il soit toujours en phase de développement.
Dans le second cas, définir un degré de possibilité sur les évènements entraîne, comme dans
Fuzzy-DEVS, de profondes modifications au niveau de la simulation, ce qui ne nous permet pas
de conserver les algorithmes de simulation du formalisme DEVS classique.
Nous avons donc choisi de ne pas traiter l’incertitude, d’ailleurs, la prise en compte d’impréci-
sions est plus révélatrice des besoins rencontrés sur le terrain. En effet, les spécialistes qui ont des
difficultés à retranscrire clairement un paramètre approximatif, ont plutôt tendance à le décrire à
partir de termes linguistiques. C’est pour cela que nous avons choisi d’intégrer dans le formalisme
DEVS des modèles imprécis basés sur la théorie des sous ensembles flous.
Notre approche se veut donc plus proche de Min-Max-DEVS que de Fuzzy-DEVS, mais nous
la voulons cependant plus générique. Elle doit permettre la prise en compte d’imprécisions au
niveau de tous les paramètres des modèles.
3.1.2 Imprécisions sur les paramètres
Notre réflexion s’est d’abord portée sur l’identification des paramètres pouvant être imprécis.
Au niveau des modèles atomiques, tous les paramètres peuvent être imprécis, entrées X , sorties Y ,
états S, fonctions de transition δ , fonction de sortie λ , fonction d’avancement du temps ta.
En fait, les fonctions ne sont pas réellement imprécises, leur réalisation peut être incertaine,
c’est-à-dire qu’elles peuvent être exécutées ou non, mais elles ne sont pas imprécises. Par la suite
nous les considérons comme imprécises car elles manipulent des données imprécises.
Les paramètres les plus sujets aux imprécisions sont les variables d’états, le temps de vie des
états, et les valeurs d’entrées et de sorties des modèles. Les variables d’état n’interviennent qu’au
niveau des modèles, le temps de vie des états et les valeurs d’entrées et de sorties sont : soit à
l’origine des évènements ; soit directement manipulées par les évènements.
Nous nous sommes donc logiquement tournés vers la notion d’évènement pour prendre en
compte les imprécisions dans le formalisme DEVS. Celle-ci est essentielle, les évènements diri-
gent toute la simulation, ils distribuent les informations aux modèles.
66
APPROCHE DE MODELISATION ET DE SIMULATION iDEVS
Dans un évènement, l’imprécision peut intervenir au niveau du temps et/ou de la valeur.
Dans l’approche proposée, l’imprécision sur une valeur peut être traitée sans avoir à modifier
la partie simulation du formalisme DEVS. Un évènement à valeur imprécise peut être inséré dans
l’échéancier de DEVS (cf. 2.3.2) comme un évènement standard ; seul le type des données change.
Une imprécision sur la valeur induit un problème de modélisation, c’est-à-dire qu’il incombe au
concepteur du modèle de définir ses données dans un type approprié, mais il n’y a pas de change-
ment à apporter au formalisme DEVS classique. En fait, nous donnons la possibilité au concepteur
de spécifier ses données de manière imprécise. Au niveau du temps, une imprécision sur une date
induit des problèmes au niveau de la modélisation et de la simulation. Un évènement est envoyé et
placé dans l’échéancier de simulation à une date donnée ; si l’on ne connaît pas cette date précisé-
ment, l’évènement ne peut avoir lieu et donc ne peut être pris en compte dans l’échéancier DEVS
classique. Nous reviendrons sur cette problématique dans la partie 3.3 consacrée à la simulation.
Au niveau des modèles la prise en compte d’imprécision induit une évolution comportemen-
tale et non structurelle, elle est traitée par les différentes fonctions caractéristiques des modèles
DEVS (δint ,δext ,λ , ta). Nous laissons au concepteur la possibilité de décrire le comportement des
modèles à partir d’une librairie de fonctions prés programmées (+,−,×,/,sin,cos,etc.) ou en
réutilisant des modèles iDEVS prédéfinis et stockés dans une bibliothèque.
L’identification des paramètres a été une étape importante, elle pose les bases de l’approche
iDEVS. L’étape suivante doit permettre la représentation de ces paramètres imprécis, pour cela il
est nécessaire de choisir un type de données approprié.
3.2 Modélisation iDEVS
Le choix de la représentation des paramètres imprécis est une étape importante, car elle con-
ditionne toute la partie de modélisation et en particulier les différentes méthodes de manipulation
que nous pouvons utiliser. Dans la première section, nous définissons la structure de représentation
des données. Dans la seconde section, nous décrivons les méthodes de manipulations employées,
leurs intégrations dans une librairie, et nous donnons des exemples de fonctions. Dans notre con-
67
APPROCHE DE MODELISATION ET DE SIMULATION iDEVS
texte, nous définissons une librairie comme un ensemble de fonctions utilitaires, regroupées et
mises à disposition afin de pouvoir être employées sans avoir à les réécrire. Les fonctions sont
regroupées selon leur appartenance à un même domaine conceptuel (traitement des imprécisions).
L’intérêt principal d’une librairie est qu’elle contient du code, utile, que l’on ne désire pas avoir à
réécrire à chaque fois.
Pour permettre à un expert de définir des modèles iDEVS, une première méthode consiste
à utiliser la librairie pour décrire les différentes fonctions caractéristiques des modèles DEVS
[BdGBS07]. La seconde méthode [BCdGB07] consiste a utiliser des modèles iDEVS déjà pro-
grammés et stockés dans une bibliothèque de composants.
3.2.1 Représentation des données
Pour décrire les paramètres, il est important de choisir un mode de représentation adapté, nous
nous sommes basés sur la théorie des sous ensembles flous et la description de paramètres sous
forme de quantité floue. Une quantité floue permet de modéliser un intervalle ou un nombre flou
(nous utiliserons pour simplifier le terme intervalle).
Comme nous l’avons vu dans le chapitre (cf 1.2.4), ce mode de représentation est adapté au
dialogue avec les spécialistes concepteurs. De plus, il permet de tenir compte de l’imprécision
de la proposition, et grâce aux fonctions d’appartenance, de coupler représentations numérique et
linguistique.
FIG. 3.1: Différents types de fonctions
Notre réflexion s’est plus particulièrement portée sur la façon de décrire l’intervalle. Faut-il
laisser au spécialiste le choix du nombre de valeurs le définissant ou restreindre ce choix ?
En résumé, allons-nous utiliser une représentation triangulaire (a), trapézoïdale (b), un ensem-
ble de points (c), ou une courbe parabolique (d) (figure 3.1) ?
68
APPROCHE DE MODELISATION ET DE SIMULATION iDEVS
Nous avons testé ces différentes représentations : plus il y a de points, plus les calculs sont
longs et complexes. Une représentation avec un nombre de points élevé est peu conforme aux
attentes des spécialistes, qui veulent pouvoir décrire leurs paramètres le plus simplement possible.
En outre, plus il y a de points, plus nous ajoutons de la précision dans l’imprécision. Cette dose de
précision influence peu les résultats finaux. C’est pourquoi, conformément à la théorie des sous
ensembles flous, nous avons choisi de représenter les paramètres sous forme trapézoïdale. Cette
forme est simple à utiliser, visuelle, et permet aussi bien de représenter un intervalle flou décrit
par une fonction trapézoïdale qu’un nombre flou décrit par une fonction triangulaire.
FIG. 3.2: Intervalle flou
Pour décrire un intervalle flou, et afin de fournir des outils de représentation adaptés aux spé-
cialistes et à leurs domaines d’étude, nous proposons deux méthodes de construction.
La première méthode permet de décrire rapidement et simplement une imprécision. Elle est
basée sur une description de l’intervalle à partir de points références, c’est-à-dire quatre cou-
ples : valeur-degré d’appartenance, de type [(a,1);(b,1);(ψ,0);(ω,0)]. Ils sont présentés sur la
figure 3.2 :
– a et b sont les sommets de la fonction d’appartenance ;
– ψ = a−α est la limite inférieure de l’intervalle ;
– ω = b+β est la limite supérieure de l’intervalle ;
La seconde méthode permet de représenter l’intervalle sous forme d’équation. Ce style est pra-
tique, simple, intuitif, et permet de traduire rapidement une imprécision sous forme graphique.
L’utilisation d’une description visuelle est facile à appréhender et à assimiler. Deux formes d’équa-
tions sont présentées, fonction de λ (axe des ordonnées) ou fonction de x (axe des abscisses). Selon
les opérations à appliquer sur les intervalles, il peut être nécessaire et pertinent de passer de l’une
69
APPROCHE DE MODELISATION ET DE SIMULATION iDEVS
à l’autre.
– fonction de λ , selon les opérations à appliquer, utiliser cette forme peut être avantageux,
comme par exemple pour faire une intégration, car le domaine de variation λ est connu,
borné entre 0 et 1.
– f−(λ ) = α×λ +(a−α) avec λ ∈ [0;1], le front gauche de la courbe ;
– f +(λ ) =−β ×λ +(β +b) , le front droit de la courbe ;
– fonction de x, équation standard de type Y = A×X +B :
– µ−(x) = x−ψa−ψ avec x ∈ R, l’équation de la partie gauche de la fonction ;
– µ+(x) = x−ωb−ω , l’équation de la partie droite de la fonction.
Ces modes de description permettent de modéliser différentes propositions, par exemple :
P1 : "le vent souffle à 20 kilomètres par heure à plus ou moins 10%"
La proposition P1 peut être représentée par les couples [a = 20,b = 20,ψ = 18,ω = 22] et les
équations :
f onctiondeλ f onctiondex
f−(λ ) = 18+2×λ µ−(x) = (x−18)/2
f +(λ ) = 22−2×λ µ+(x) =−(x−22)/2
Ou encore
P2 : "la vent souffle entre 20 et 30 km par heure"
Si on fuzzifie la proposition P2 avec une précision de 20%, elle peut être alors représentée par
les couples [a = 20,b = 30,ψ = 16,ω = 36] et les équations :
f onctiondeλ f onctiondex
f−(λ ) = 16+4×λ µ−(x) = (x−16)/4
f +(λ ) = 36−6×λ µ+(x) =−(x−36)/6
Cette méthode permet aussi de représenter un nombre entier :
70
APPROCHE DE MODELISATION ET DE SIMULATION iDEVS
P3 : "A = constante"
par l’intervalle [a = b = constante,α = β = 0].
Cette représentation est une généralisation du concept d’intervalle classique. Le principe fon-
damental est de remplacer tout nombre imprécis par un intervalle le contenant et d’effectuer les
calculs sur des intervalles, tout intervalle calculé contient le résultat du calcul exact. Ces notions
sont reprises dans la théorie des sous ensembles flous, avec en plus l’ajout d’un degré d’apparte-
nance. Grâce au principe d’extension (cf. 1.1) il a été prouvé qu’une grande partie des opérations
définies pour les intervalles classiques sont utilisables pour les intervalles flous.
3.2.2 Manipulation des données
Une fois le mode de représentation choisi, le but étant de simuler des données, il faut pouvoir
effectuer des opérations et les manipuler.
Les intervalles flous sont couramment utilisés dans les domaines du raisonnement approxi-
matif, il existe donc un grand nombre de travaux de recherche visant à étendre les opérations de
base.
Nous classons ces opérations en plusieurs catégories, les opérations classiques (+,−,×,/,etc.),
les fonctions monotones, fonctions dont le sens de variation ne change pas sur l’intervalle (√,expo,
ln,etc.), et les fonctions non monotones (sin,cos, tan,etc.).
Chacun de ces cas demande l’utilisation de méthodes spécifiques, issues soit du principe d’ex-
tension, soit du calcul d’intervalles classiques, soit des travaux de D. Dubois [DFF04, FDF04],
présentés dans la partie 1.2.5.2.
Ces différentes méthodes permettent d’effectuer des opérations sur les intervalles flous comme
s’il s’agissait d’intervalles classiques.
La forme des données, intervalle ou équation, n’est pas importante dans le choix des fonctions
de manipulation. Selon les besoins nous basculons de l’une à l’autre.
Par exemple, pour le principe d’extension, la représentation sous forme intervalle est plus
appropriée mais les deux formes sont utilisées.
71
APPROCHE DE MODELISATION ET DE SIMULATION iDEVS
Pour la méthode des fronts, la représentation sous forme d’équation est incontournable ; de
plus, elle permet d’effectuer des opérations comme les intégrations.
Nous utilisons, en fonction des opérations à effectuer, les méthodes qui nous semblent les plus
adaptées, et les plus intuitives. Le but est de favoriser la compréhension des opérations.
La méthode des fronts est utilisée pour les opérations simples (+,−), le calcul d’intervalles et
le principe d’extension pour les opérations plus complexes (×,/,√
,expo,ln,sin,cos,tan,∫,etc.).
Il est à noter que l’on peut aussi utiliser une approximation du résultat donné par la méthode
des fronts pour effectuer des divisions et des multiplications. Comme il a été montré dans [FDF04]
le résultat d’une multiplication avec cette méthode est une fonction linéaire par morceaux, non
représentable à partir de la forme de notre structure de données définie par quatre points. La méth-
ode des fronts donne un résultat exact, nous utilisons le plus souvent une représentation approchée
des résultats.
Une grande partie de ces méthodes et la structure de données sont intégrées dans une librairie
pour permettre la définition et la manipulation de données de type intervalle flou.
Dans l’algorithme 1 nous présentons cette librairie de fonctions sous forme d’une classe, ap-
pelée IntervalleFlou.
Il est possible de créer une instance de la classe à partir des valeurs a,b,ψ,ω auquelles ont
peut ajouter un label linguistique caractérisant l’intervalle.
Dans cette librairie nous avons implémenté les différentes opérations classiques de manipula-
tion des quantités floues et avons choisi d’utiliser les méthodes les plus appropriées pour répondre
à nos objectifs. Par exemple pour l’opération +, nous travaillons sur les bornes de l’intervalle. Un
utilisateur souhaitant tester d’autres méthodes devra surcharger nos fonctions. Si pour une grande
partie des opérateurs classiques les différentes méthodes donnent les mêmes résultats, une sur-
charge n’est alors pas d’un grand intérêt, pour les autres fonctions, qui ont été programmées de
manière spécifique pour nos besoins, leur utilisation peut donner des résultats imprévus. Dans ce
cas, il est conseillé de les adapter au contexte.
72
APPROCHE DE MODELISATION ET DE SIMULATION iDEVS
Algorithme 1 Classe IntervalleFlou en pseudo langageliste fonction = ln,expo,
√,sin,cos, tan,etc.
liste opérateur = +,−,×,/,etc.class IntervalleFlou// Structure de donnéesréel λ ∈ [0,1] // valeur en ordonnéecaractère label // label linguistique caractérisant l’intervalleréel a,b // sommets des fonctions d’appartenanceréel ψ ,ω // limites inférieure et supérieureréel α = a−ψ , β = ω−b
// Fonctions caractéristiquesfunction f rontGauche(λ ) = α×λ +(a−α) // représentation du front gauche de la courbefunction f rontDroit(λ ) =−β ×λ +(β +b) // représentation du front droit de la courbefunction partieGauche(x) = x−ψ
a−ψ // représentation de la partie gauche de µ(x)function partieDroite(x) = x−ω
b−ω // représentation de la partie droite de µ(x)// Constructeurs d’intervalle flou, avec comme paramètres pour un intervalle classique (a,b),pour un nombre réel (a), pour un nombre flou (a,ψ,ω), et pour un intervalle flou (a,b,ψ,ω)IntervalleFlou(a,b = a,ψ = a,ω = b, label =′ I′)
// Surcharges d’opérateurs entre intervalleIntervalleFlou operator× (IntervalleFlou) // fonction multiplicationIntervalleFlou operator = (IntervalleFlou) // fonction d’affectationIntervalleFlou operator +(IntervalleFlou) // fonction d’additionIntervalleFlou operator/(IntervalleFlou) // fonction division
// Surcharges d’opérateurs entre intervalle et réelIntervalleFlou operator = (réel) // fonction d’affectationIntervalleFlou operator +(réel) // fonction d’additionIntervalleFlou operator− (réel) // fonction de soustractionIntervalleFlou operator/(réel) // fonction division
// Fonctions de manipulationIntervalleFlou supMin(IntervalleFlou,operateur) // principe d’extension pour les opérateursIntervalleFlou supMin(IntervalleFlou, f onction) // principe d’extension pour les fonctions
...// Fonctions d’affichageIntervalleFlou operator > (IntervalleFlou) // fonction d’entréeIntervalleFlou operator < (IntervalleFlou) // fonction de sortieIntervalleFlou operator > (réel) // fonction d’entréeIntervalleFlou operator < (réel) // fonction de sortie// Autres fonctionsIntervalleFlou sin(IntervalleFlou) // fonction sinus pour les intervalles flousIntervalleFlou cos(IntervalleFlou) // fonction cosinus pour les intervalles flous...
Dans la classe IntervalleFlou, les principales fonctions de manipulation sont décrites à partir
d’un prototype (Type_de_donnee_renvoyee Nom_De_La_Fonction(type_argument1, type_argument2,
73
APPROCHE DE MODELISATION ET DE SIMULATION iDEVS
...) ;). Sous sa forme finale, la classe propose beaucoup plus de fonctions que celles présentées dans
l’algorithme 1.
Dans les algorithmes 2, 3, 4 et 5 nous allons détailler quelques unes des fonctions présentées
dans la classe. La personne intéressée par l’ensemble du code peut se référer à l’annexe page 159.
Dans l’algorithme 2, nous présentons la fonction qui permet d’additionner deux intervalles
flous. Cette fonction est issue de l’arithmétique floue, nous aurions tout aussi bien pu utiliser la
méthode des fronts ou le principe d’extension, mais comme nous l’avons déjà précisé, dans le cas
de l’addition ces trois méthodes donnent les mêmes résultats.
Algorithme 2 Addition floue// Définition des variablesIntervalleFlou m, n// surcharge d’opérateurfunction : IntervalleFlou operateur +(IntervalleFlou n) // fonction d’addition IntervalleFlou r // résultatψr← ψm +ψnωr← ωm +ωnar← am +anbr← bm +bnreturn r
La classe IntervalleFlou permet de manipuler des intervalles décris à partir d’équations. Bien
qu’en réalité la fonction de soustraction ait été implémentée en utilisant l’arithmétique floue, il
est possible de réécrire l’algorithme de cette opération (algorithme 3) en utilisant la méthode des
fronts [FDF04].
Algorithme 3 Soustraction floue// Définition des variablesIntervalleFlou m, n// surcharge d’opérateurfunction : IntervalleFlou operateur− (IntervalleFlou n) // fonction de soustractionIntervalleFlou r // résultatf rontGaucher(λ )← f rontGauchem(λ )− f rontDroitn(λ )f rontDroitr(λ )← f rontDroitm(λ )− f rontGauchen(λ )return r
Comme nous venons de la voir au travers des algorithmes 2 et 3, il est possible d’utiliser
74
APPROCHE DE MODELISATION ET DE SIMULATION iDEVS
indifféremment la méthode des fronts ou l’arithmétique floue pour décrire les fonctions de ma-
nipulation. La classe IntervalleFloue fournit également une fonction générique de manipulation
basée sur le principe d’extension. Par exemple, les opérations précédentes peuvent faire appel à la
fonction supMin (algorithme 4) avec pour argument le type de l’opération (+,−).
Dans l’algorithme 4 les calculs sont effectués sur le support de l’intervalle, son parcours peut
être fixé par l’utilisateur (pas = 0, 1, 0.1, 0.01, etc.) et est défini par défaut comme une fraction du
support. Il est à noter que plus le pas est petit et plus les temps de calcul augmentent. L’algorithme
peut être simplifié en ne calculant les résultats que pour les bornes de l’intervalle (a,b,ψ et ω), ce
cas particulier est pris en compte si l’utilisateur entre un pas égal à zéro (pas = 0).
Algorithme 4 Fonction décrivant le principe d’extension pour les opérateurs// Définition des variablesIntervalleFlou m, noperateur = +, -, /, %, ×, etc.// principe d’extension pour les opérateursfunction : IntervalleFlou supMin(IntervalleFlou n, operateur O, reel pas) Tableau min // tableau qui contient le plus petit degré d’appartenanceIntervalleFlou r // résultatréel x, y, z, paspour z←ψm Oψn à ωm Oωn // parcours de toutes les valeurs prises par l’intervalle résultat en
fonction de l’opération O et du paspour x← ψm à ωm // parcours des valeurs de l’intervalle m avec un pas fixé
pour y← ψn à ωn // parcours des valeurs de l’intervalle n avec un pas fixési xOy = z alors min←Min(µm(x),µn(y)) // sélection du plus petit degré d’appartenance
µr(z)←Max(min) // sélection du plus grand degré d’appartenance parmi les plus petitsreturn r
Pour les opérations de type fonction, il faut distinguer plusieurs cas :
1. la fonction est monotone et croissante, ou l’intervalle est sur une partie croissante de la
fonction. Dans ce premier cas nous pouvons simplement appliquer le principe d’extension
sur les fonctions ou calculer les images des points a,b,ψ et ω de l’intervalle I tel que
l’intervalle résultat R = F(I), avec F la fonction.
2. la fonction est monotone et décroissante, ou l’intervalle est sur une partie décroissante de
75
APPROCHE DE MODELISATION ET DE SIMULATION iDEVS
la fonction. Ici, nous pouvons aussi utiliser le principe d’extension mais il faut permuter a
avec b et ψ avec ω . L’image de a sera F(b), etc.
3. la fonction n’est pas monotone et l’intervalle est à cheval sur plusieurs zones de variation
différentes. Dans ce cas, il existe plusieurs méthodes pour calculer l’image de l’intervalle.
L’une d’elle consiste à découper l’intervalle en zones sur lesquelles la fonction est monotone
croissante ou décroissante, d’appliquer le principe d’extension sur chacune des zones et
enfin de trier les valeurs résultats pour reconstruire un intervalle image cohérent.
Nous avons choisi d’utiliser une autre méthode qui consite dans un premier temps à calculer les
images du noyau (a,b) et à les inverser si F(b) < F(a), à calculer ensuite, les images par F des
bornes (ψ,ω). Si F(ψ) ou F(ω) est inférieur à F(a) et F(b) et que F(ψ) ou F(ω) est supérieur
à F(a) et F(b) alors il est possible de trier les images par F de a,b,ψ,ω et ainsi de reconstruire
l’intervalle résultat R = F(I).
Dans le cas où la condition n’est pas valide, on obtient un intervalle résultat à partir de la for-
mule suivante ψr =(min(F(a),F(b)−|F(α)|), ωr =(max(F(a),F(b)+ |F(β )|), ar = min(F(a),F(b))
et br = max(F(a),F(b)).
Comme nous l’avons précisé précédemment, il est à noter que pour certaines fonctions (fonc-
tions trigonométriques, fonctions non continues, etc.) les résultats peuvent être incohérents suivant
l’intervalle sur lequel elles sont appliquées. L’expert concepteur doit veiller à utiliser ou définir
des algorithmes adaptés aux fonctions qu’il souhaite employer.
L’algorithme 5 met en œuvre cette proposition de traitement dans le cas de la fonction carré
F = I2.
Il est à noter, qu’en arithmétique d’intervalle, le carré de l’intervalle n’est pas égal au produit
par lui-même.
La fonction carré est décroissante sur ]−∞;0] et croissante sur [0;+∞[, il faut donc tester si
l’intervalle sur lequel on souhaite effectuer l’opération se situe sur R−, R+ ou entre les deux. Si
il est sur R+ nous appliquons le cas 1 (fonction monotone et croissante) ; si il est sur R−, il faut
utiliser le cas 2 (fonction monotone et décroissante) ; sinon nous devons appliquer le cas 3.
Par exemple, soit I un intervalle, et R son image par la fonction F = I2 :
76
APPROCHE DE MODELISATION ET DE SIMULATION iDEVS
Algorithme 5 Carré d’un intervalle flou// Définition des variablesIntervalleFlou m// Fonction carré d’un intervalle floufunction : IntervalleFlou carre(IntervalleFlou m) IntervalleFlou r // résultat
// cas 1 et 2si ψm ≥ 0 ou ωm ≤ 0 alors // partie croissante ou décroissante
ψr← min(ψm×ψm,ωm×ωm)ωr← max(ψm×ψm,ωm×ωm)ar← min(am×am,bm×bm)br← max(am×am,bm×bm)
// cas 3sinon // intervalle à cheval sur une partie décroissante et une partie croissante
ar← min(am×am,bm×bm)br← max(am×am,bm×bm)si (ψm×ψm ≤ ar et ωm×ωm ≥ br) alorsψr = ψm×ψmωr = ωm×ωm
si (ωm×ωm ≤ ar et ψm×ψm ≥ br) alorsωr = ψm×ψmψr = ωm×ωm
sinonψr = ar−αm×αmωr = br +βm×βm
return r
Si l’intervalle I est situé sur une partie croissante du domaine de variation de la fonction, le
résultat R est un intervalle.
I F :→ I2 R
aI = 1 → aR = 1
bI = 2 → bR = 4
ψI = 0 → ψR = 0
ωI = 3 → ωR = 9
Si l’intervalle I est situé sur une partie décroissante du domaine de variation de la fonction, le
résultat R n’est pas correct il faut inverser a avec b, et ψ avec ω .
77
APPROCHE DE MODELISATION ET DE SIMULATION iDEVS
I F :→ I2 R′
aI =−2 → aR′ = 4
bI =−1 → bR′ = 1
ψI =−3 → ψR′ = 9
ωI = 0 → ωR′ = 0
résultat :
R
aR = 1
bR = 4
ψR = 0
ωR = 9
Si l’intervalle I chevauche deux domaines de variation, le résultat R n’est pas correct, il faut
inverser a et b, mais même dans ce cas le résultat n’est toujours pas satisfaisant car a = 1 < ψ = 4.
I F :→ I2 R′
aI =−2 → aR′ = 4
bI = 1 → bR′ = 1
ψI =−3 → ψR′ = 9
ωI = 2 → ωR′ = 4
αI = 1 → αR′ = 1
βI = 1 → βR′ = 1
résultat :
R
aR = 1
bR = 4
ψR = aR−αR′ = 0
ωR = bR +βR′ = 5
Pour construire un nouvel intervalle, nous utilisons les rayons α et β de l’intervalle. α = 1 et
β = 1 l’intervalle résultat R vaut [a = 1,b = 4,ψ = a−α2 = 0,ω = b+β 2 = 5].
En fait, il est nécessaire de programmer une méthode spécifique pour chaque fonction non
monotone.
Pour permettre la prise en compte de paramètres imprécis, nous avons défini un nouveau type
de données et plusieurs fonctions de manipulation, puis nous les avons regroupé dans une librairie.
Cette librairie implémente la plupart des fonctions classiques de l’arithmétique et fournit les outils
pour surcharger ou définir de nouvelles fonctions en utilisant la méthodologie la plus appropriée
au contexte (méthode des fronts, arithmétique floue, principe d’extension). Avec cette approche,
un concepteur a la possibilité d’utiliser dans ces modèles des variables imprécises pour décrire
le comportement d’un système, il lui suffit de les définir à partir du type IntervalleFlou. Les
algorithmes de simulation sont générés automatiquement, conformément au formalisme DEVS,
les modifications apportées pour conserver cette propriété sont présentées dans la partie suivante.
78
APPROCHE DE MODELISATION ET DE SIMULATION iDEVS
3.3 Simulation iDEVS
Une simulation informatique désigne un procédé selon lequel on exécute un programme infor-
matique sur un ordinateur en vue de le simuler. Ce procédé permet de voir l’évolution du modèle
dans le temps, la notion de temps est donc centrale. Dans le formalisme DEVS classique, l’exé-
cution des fonctions comportementales (δext , ta,λ ,δint) est géré par les processeurs (cf.2.3.2), ils
peuvent recevoir ou émettre quatre types de messages :
1. un message d’initialisation (i, t) : il permet à tous les acteurs d’effectuer une synchronisation
temporelle initiale ;
2. un message de transition interne (∗, t) : il permet la gestion des évènements internes avec
l’exécution des fonctions δint ,λ ;
3. un message de sortie (y, t) : il permet l’envoi des sorties, données par λ , aux éléments parents
et résulte de la réception d’un message (∗, t) ;
4. un message de transition externe (x, t) : il permet la gestion des évènements externes avec
l’exécution de la fonction δext .
De plus, les processeurs de type root et simulateur sont à la base de la dynamique de simulation
et de la gestion du temps. Pour cela ils utilisent deux variables temporelles, tl qui correspond
au temps de simulation du dernier évènement (last time), et tn qui est le temps d’apparition du
prochain évènement (next time). A partir de la définition de la fonction d’avancement du temps ta,
nous avons :
tn = tl + ta
Si le temps de simulation t est connu, les processeurs peuvent calculer, à partir de cette vari-
able, le temps écoulé depuis le dernier évènement,
e = t− tl
ainsi que le temps restant avant l’apparition du prochain évènement,
79
APPROCHE DE MODELISATION ET DE SIMULATION iDEVS
σ = tn− t = ta− e
Le temps ta est envoyé au processeur parent pour lui permettre d’effectuer une bonne synchro-
nisation des évènements.
Dans notre cas, toutes ces variables de temps peuvent être imprécises, il serait donc impossible
de définir le temps du prochain évènement, et la simulation ne progresserait jamais.
Pour résoudre ce problème, nous avons étudié deux solutions. La première consiste, un peu
comme dans Min-Max-DEVS [HGF06], à modifier les algorithmes de simulation en ajoutant une
fonction de classement floue [LLL04, TD02, ZML05]. Le but est d’évaluer et de ranger les dif-
férents temps imprécis en fonction de leur date d’exécution, ainsi il est possible de choisir quel
évènement déclencher. L’inconvénient de cette solution est qu’elle implique des modifications sur
les algorithmes de simulation ce qui nous conduirait à modifier la partie simulation du formalisme
DEVS classique, or nous nous sommes fixé comme objectif prioritaire de pouvoir utiliser l’ap-
proche iDEVS dans n’importe quel environnement DEVS sans avoir à apporter de modifications
importantes sur la partie simulation.
La seconde solution est l’utilisation d’une fonction de défuzzification (cf.1.4.3). Cette méthode
nous paraît plus adaptée à notre problématique.
Dans cette partie, nous allons présenter sa mise en place dans le formalisme DEVS.
Dans la première section, nous proposons l’étude de plusieurs méthodes de défuzzification à
partir d’un exemple simple.
Dans la seconde section nous présentons l’intégration de la méthode choisie dans le formal-
isme iDEVS.
3.3.1 Exemple de méthodes de défuzzification
Les imprécisions sur le temps peuvent intervenir au niveau de la fonction d’avancement du temps
(ta), et sur la date de déclenchement des évènements.
Pour résoudre le problème de simulation à dates imprécises, nous proposons l’étude de plusieurs
80
APPROCHE DE MODELISATION ET DE SIMULATION iDEVS
techniques. Elles passent toutes par une phase de défuzzification.
La défuzzification a pour but de passer d’une valeur imprécise à une valeur précise ; plusieurs
techniques peuvent être employées, on se propose d’en comparer cinq, afin de choisir celle qui
nous parait la plus appropriée. Pour cela, nous allons étudier deux propositions floues :
1. C1: la valeur x1 est envoyée aux environs du temps t = 4. Nous choisissons de représen-
ter cette proposition avec un support compris entre 2 et 8, elle est donc modélisée par
l’intervalle [4,4,2,8] et sous forme d’équation :
(a) fonction de λ (ordonnée),
i. C−1 (λ ) = 2+2×λ ;
ii. C+1 (λ ) = 8−4×λ ;
(b) et fonction du temps (abscisse),
i. C−1 (t) = (t−2)/2 ;
ii. C+1 (t) =−(t−8)/4 .
2. C2 : la valeur x2 est envoyée entre les temps 3 < t < 5. Nous choisissons de représenter
cette seconde proposition avec un support compris entre 1 et 8, elle est donc décrite par
l’intervalle [3,5,1,8], et sous forme d’équation :
(a) fonction de λ ,
i. C−2 (λ ) = 1+2×λ ;
ii. C+2 (λ ) = 8−3×λ ;
(b) et fonction du temps
i. C−2 (t) = (t−1)/ 2;
ii. C+2 (t) =−(t−8)/3.
81
APPROCHE DE MODELISATION ET DE SIMULATION iDEVS
3.3.1.1 Noyau
Cette méthode consiste à choisir comme temps celui qui a le meilleur degré d’appartenance, c’est-
à-dire le temps correspondant à la condition d’exécution de l’évènement la plus valide (λ = 1).
Si (a = b) Noy(Cn) = a et si (a 6= b) Noy(Cn) = (a+b)/2 algorithme 6.
Algorithme 6 Fonction qui renvoie le noyau d’un intervalle// Définition des variablesIntervalleFlou m// fonction qui renvoie la valeur la plus plausiblefunction : réel noyau() réel r // résultatr← (am+bm)
2return r
Dans l’exemple, Noy(C1) = 4 et Noy(C2) = 5+32 = 4.
C1 :
t = 4
λ = 1
C2 :
t = 4
λ = 1Cette méthode ne donne pas la possibilité de refuzzifier le résultat, c’est-à-dire de revenir à un
temps représenté par un intervalle, nous perdons donc de l’information sur l’axe des abscisses. Le
seul moyen pour refuzzifier est de lancer plusieurs simulations avec comme paramètres les bornes
ψ et ω (2 et 8 dans C1) et le noyau a, b (4 dans C1). Après plusieurs simulations (3 ou 4) il est
alors possible de recomposer le résultat.
Nous cherchons une méthode pertinente, qui fournit après son application la possibilité de
reconstituer un résultat sous forme d’intervalle, tout en gardant le degré d’appartenance. La méth-
ode du noyau ne le permet pas ; de plus, en choisissant toujours le temps avec le meilleur degré
d’appartenance, nous perdons de l’information sur les deux axes.
3.3.1.2 Milieu
Cette méthode consiste à calculer le temps moyen auquel pourrait se déclencher l’évènement,
milieu = ω+ψ2 pour C1, milieu = 5, et pour C2, milieu = 4.5.
82
APPROCHE DE MODELISATION ET DE SIMULATION iDEVS
Algorithme 7 Fonction qui renvoie le point milieu d’un intervalle// Définition des variablesIntervalleFlou m// fonction qui renvoie le milieu de l’intervallefunction : réel milieu() réel r // résultatr← ωm+ψm
2return r
C1 :
t = 5
λ = 0.75
C2 :
t = 4.5
λ = 1C’est une méthode simple et qui, comme la méthode du noyau, fait perdre de l’information
au niveau des abscisses. Nous pouvons tout de même conserver le degré d’appartenance ou de
validité de la condition, c’est-à-dire de l’information sur l’axe des ordonnées λ .
Avec cette méthode, nous pouvons conserver dans une variable la moyenne des λ défuzzifiés,
et ainsi définir le degré de validité du résultat final. C’est un avantage par rapport à la méthode du
noyau car nous conservons une information de validité sur l’axe des ordonnées.
3.3.1.3 Intégrale
Cette méthode consiste à calculer la moyenne de l’intégrale de la fonction IM =∫ max
min A++∫ max
min A−2 .
Nous pouvons calculer le résultat à partir des deux représentations (fonction de λ ou du temps),
mais l’intégrale en fonction de λ permet d’avoir des bornes de calcul connues [0,1] et toujours
fixes.
83
APPROCHE DE MODELISATION ET DE SIMULATION iDEVS
Algorithme 8 Fonction qui renvoie l’intégrale d’un intervalle// Définition des variablesIntervalleFlou m// fonction qui renvoie le résultat de l’intégrale d’un l’intervallefunction : réel integraleL() // fonction de λréel r, rGauche, rDroit // résultatréel rGauche // résultat de la partie gauche de la fonctionréel rGauche // résultat de la partie droite de la fonctionrGauche← ψ +(a−ψ
2 ) // intégrale du f rontGauche() entre [0,1]rDroit← ω− (ω−b
2 ) // intégrale du f rontDroit() entre [0,1]return r← rGauche+rDroit
2// fonction qui renvoie le résultat de l’intégrale d’un l’intervalle// par défaut m = ψ et n = ω les bornes inférieure et supérieure de l’intervallefunction : réel integraleX(réel m = ψ, réel n = ω) // fonction de xréel r, rGauche, rDroit // résultatréel rGauche // résultat de la partie gauche de la fonctionréel rGauche // résultat de la partie droite de la fonctionrGauche← ∫ a
m(x−ψ)/(a−ψ)dx // intégrale de la partieGauche() entre [ψ,a]rDroit← ∫ n
b (x−ω)/(b−ω)dx // intégrale de la partieDroite() entre [b,ω]return r← rGauche+rDroit
2
Résultat de l’algorithme 8 :
IM(C1) = (∫ 1
0 (2+2λ )dλ +∫ 1
0 (8−4λ )dλ )/2 = 4.5.
C1 :
t = 4.5
λ = 0.87
C2 :
t = 4.25
λ = 1Avec cette méthode nous perdons aussi toute possibilité de refuzzification, mais le degré
de validité λ de la condition est conservé. C’est une méthode semblable à la méthode du mi-
lieu bien qu’elle donne un meilleur résultat, car elle prend en compte la forme de la fonction
d’appartenance.
3.3.1.4 Date prévue d’exécution : EEM (Expected Existence Measure)
Cette méthode permet de calculer la date prévue d’exécution de l’évènement, elle a été présentée
par A. Anglani dans [AGN+00]. Elle s’effectue en deux étapes :
84
APPROCHE DE MODELISATION ET DE SIMULATION iDEVS
(a) C1 (b) C2
Figure 3.3: Fonctions d’appartenances de C1, C2 et fonctions EEM
1. d’abord nous calculons un rapport d’intégrales entre la fonction représentant l’intervalle
[ψ, t] avec ψ ≥ t ≥ ω :∫ t
ψ et l’intervalle [ψ,ω] :∫ ω
ψ (fonction intégraleEEM algorithme 9).
Ce rapport d’intégrale∫ t
ψ (Cn)∫ ωψ (Cn)
est représenté pour l’exemple C1 et C2 par la courbe EEM
figures 3.3 (a) et (b). Ce rapport représente le temps prévu d’exécution de l’évènement
EEM (expected existence measure).
2. la seconde étape est la définition d’un coefficient de confiance compris entre 0 et 1, fonction
coefEEM algorithme 9. 0 l’évènement n’a pas encore eu lieu, 1 il s’est produit. Nous
cherchons la valeur de l’intervalle tel que EEM = coe f . Par défaut le coefficient est fixé à
0.5.
Pour notre exemple, et avec la valeur par défaut du coefficient, l’algorithme 9 donne pour
résultat suivant :
C1 :
t = 5.5
λ = 0.62(voir figure 3.3 (a))
C2 :
t = 4.9
λ = 1(voir figure 3.3 (b))
Cette méthode permet d’ajouter à une technique de défuzzification un coefficient d’aide à la
décision. S’il est défini très petit, cela veut dire que nous cherchons à déclencher l’évènement
tôt, si nous voulons être sûrs que l’évènement ait bien eu lieu, nous pouvons fixer un coefficient
élevé. En effet, plus le coefficient se rapproche de 1 et plus on a de chance que l’évènement se
soit produit. Cette méthode ne permet pas d’effectuer de refuzzification, mais comme les autres
85
APPROCHE DE MODELISATION ET DE SIMULATION iDEVS
Algorithme 9 Fonctions qui renvoient la date prévue d’exécution EEM// Définition des variablesIntervalleFlou m// fonction qui renvoie le résultat de l’intégrale EEMfunction : réel integraleEEM(réel t) // fonction EEMréel r // résultatréel rNum // résultat du numérateur
∫ tψ
réel rDen // résultat du dénominateur∫ ω
ψrNum← integraleX(ψ, t) // intégrale entre [ψ , t]rDen← integraleX() // intégrale entre [ψ,ω]return r← rNum
rDen// fonction qui renvoie le résultat tel que intégraleEEM = coeffunction : réel coe f EEM(réel coe f = 0.5) // fonction coefEEMréel r // résultatréel d // la décimale de recherche d = 1,0.1,0.01,0.001,etc.r← ψtant que r ≤ ω
si integraleEEM(r) = coe freturn r
si nonr← r +d
return 0
on peut conserver le degré de validité de la condition λ .
3.3.1.5 Changement de domaine
Le changement de domaine consiste à transformer la fonction en transférant l’imprécision sur le
temps en imprécision sur la valeur de l’évènement [BdGSB06]. Par exemple, pour C1, la valeur
de l’évènement x1 est envoyé au temps [4,4,2,8] :
• aux conditions les plus favorables (max), l’évènement x1 se produit à t = 2, donc à t = 4 il
aurait pour valeur le double 2x1 ;
• aux conditions les moins favorables (min), l’évènement x1 se produit au temps t = 8 donc à
t = 4 il aurait eu pour valeur x12 ;
Au final nous obtenons un nouvel intervalle ; l’évènement x1 qui a pour valeur entre 0.5×x1 et
2×x1 va se produire au temps t = 4. Cette nouvelle fonction C1 est présentée sur la figure (3.4.a).
86
APPROCHE DE MODELISATION ET DE SIMULATION iDEVS
Figure 3.4: Fonctions C1 et C2 (a et b) après l’application d’une fonction de changement dedomaine
C1 : x1 à [4,4,2,8]→C1 : 4 à [x1,x1,x12 ,2x1]
La figure 3.4.b représente l’évènement C2 après changement de domaine.
Ces fonctions sont dépendantes du domaine d’étude, c’est donc aux scientifiques concepteurs
de les définir. Elles ne peuvent ainsi intervenir que dans notre approche de conception de modèles
à partir de la librairie, car le concepteur doit lui même coder sa fonction. De plus elles posent
certains problèmes, notamment si la valeur de l’évènement est déjà représenté par un intervalle ;
dans ce cas il est difficile d’effectuer le changement.
3.3.2 Proposition
Pour valider nos choix, nous avons implémenté les différentes méthodes présentées dans la classe
IntervalleFlou (algo. 10) et les avons testé sur différents modèles iDEVS, les résultats ont fait
l’objet de deux publications [BdGBS08c, BdGBS08a]. La méthode qui, selon nous, présente
le plus d’avantages est la méthode EEM [AGN+00], elle permet d’ajouter un support d’aide à
la décision ; en définissant un coefficient de confiance, l’utilisateur peut choisir à quel moment
transformer les imprécisions sur le temps. Au final, nous perdons de l’information sur l’axe des
abscisses mais nous gardons le coefficient de validité λ de la proposition.
Nous pensons qu’il peut être utile, en plus d’avoir la moyenne des coefficients de validité dé-
fuzzifiés, de fournir en résultat l’intervalle final du temps de simulation. Cet intervalle représente
tous les temps auxquels la simulation aurait pu prendre fin. Il est calculé grâce à une variable d’état
de type IntervalleFlou qui s’incrémente de la variable imprécise de temps (avant défuzzification)
à chaque exécution de la fonction.
87
APPROCHE DE MODELISATION ET DE SIMULATION iDEVS
Algorithme 10 Suite de la classe IntervalleFlou en pseudo langageliste fonction = ln,expo,
√,sin,cos, tan,etc.
liste opérateur = +,−,×,/,etc.class IntervalleFlou// Structure de donnéesréel λ ∈ [0,1] // valeur en ordonnéecaractère label // label linguistique caractérisant l’intervalleréel a,b // sommets des fonctions d’appartenanceréel ψ ,ω // limites inférieure et supérieureréel α = a−ψ , β = ω−b
// Fonctions caractéristiques...// Constructeurs...// Intégrales et Simulation
réel integraleL() // renvoie la valeur de l’intégrale entre 0 et 1 en fonction de λréel integraleX(réel m = ψ, réel n = ω) // valeur de l’intégrale entre m et n, fonction de xréel integraleEEM(réel) // valeur de l’intégrale EEM en fonction d’un réelréel coe f EEM(réel) // valeur de l’intégrale tel que integraleEEM(reel) = coe f EEM(reel)réel noyau() // renvoie le noyau de l’intervalle a+b
2réel milieu() // renvoie le milieu de l’intervalle ψ+ω
2// Fonctions d’affichage...
Une fois la méthode choisie et ajoutée dans notre classe (algorithme 10), il ne reste plus qu’à
l’inclure dans DEVS et modifier le modèle atomique de base afin de prendre en compte nos mod-
ifications. Cette étape nous fait passer de DEVS à iDEVS, car le modèle atomique DEVS de base
doit évoluer. Cette évolution permet de gérer tous les problèmes de temps au niveau de la modéli-
sation. Il n’est pas nécessaire de changer les algorithmes de simulation, nos contraintes de départ
sont donc respectées.
Le problème étant lié au temps, nous avons modifié la fonction time advance (ta) du modèle
atomique pour qu’elle ne retourne que des temps précis. Ainsi nous n’avons plus de problème
de temps de simulation imprécis, il est réglé au niveau de la conception du modèle et donc de la
modélisation.
Au niveau comportemental (à l’intérieur du modèle), le temps peut être défini comme imprécis
mais il sera défuzzifié avant d’être envoyé au simulateur. La fonction ta a été modifiée pour tester
si le temps à retourner est précis ou imprécis ; dans le second cas, le temps est transformé.
88
APPROCHE DE MODELISATION ET DE SIMULATION iDEVS
Nous ne considérons pas la fonction ta simplement comme une fonction qui définit le temps
de vie d’un état, mais comme une fonction qui permet de définir les temps d’exécution des évène-
ments internes.
Si les évènements proviennent d’un générateur, donc d’un modèle atomique, on gère avec la
fonction ta les valeurs imprécises sur le temps d’exécution des évènements ; cette gestion passe
par la définition d’un modèle atomique flou ; la différence entre la fonction ta du modèle DEVS
classique et la fonction ta du modèle iDEVS reste imperceptible pour l’utilisateur final.
Il est important de noter que le premier message envoyé au simulateur, message d’initialisation
(i-message qui initialise les temps de simulation), ne doit pas contenir de temps imprécis. Générale-
ment, dans le formalisme DEVS, tous les évènements ont pour source un modèle. Cette remarque
n’est à prendre en compte que dans le cas particulier où un évènement aurait une source extérieure
au système.
Dans le modèle atomique iDEVS, nous appliquons avec la fonction ta une fonction de défuzzi-
fication (EEM), et nous conservons le degré de validité de la condition (ordonnée de la fonction
d’appartenance de l’intervalle : λ ) sous forme de coefficient, moyenne des λ défuzzifiés. Cette
nouvelle variable peut être stockée en tant qu’état du système S ou ajoutée en tant que variable de
classe dans la classe modèle atomique ; il en est de même pour l’intervalle représentant le temps
à la fin de la simulation. Ces différentes modifications sont présentées dans la partie suivante.
3.4 Modèles iDEVS
Nous avons présenté tout le cheminement scientifique qui nous a conduit à proposer une nou-
velle méthode de modélisation et de simulation de système à paramètre imprécis, méthode ap-
pelée iDEVS. Pour prendre en compte les imprécisions, les modèles iDEVS doivent dériver ou
instancier la classe IntervalleFlou. Le but est de fournir au concepteur les moyens de définir
des modèles ’imprécis’ indépendamment d’une plateforme ou d’une application données, juste
en important la classe dans l’environnement de modélisation. Le concepteur peut ainsi modéliser
son système imprécis à partir de la combinaison de modèles dérivés de la classe IntervalleFlou
89
APPROCHE DE MODELISATION ET DE SIMULATION iDEVS
et de modèles atomiques DEVS classiques. Il est a noter que le modèle couplé résultant d’une
combinaison de modèles ’imprécis’ et de modèles classiques est automatiquement un modèle
qui retourne des résultats imprécis. Tous les modèles iDEVS manipulent des données imprécises
(données de type IntervalleFlou), ils ont donc la possibilité d’utiliser les fonctions définies dans
la classe IntervalleFlou. Dans cette partie, nous décrivons les évolutions apportées aux modèles
DEVS pour permettre la prise en compte d’imprécisions.
3.4.1 Modèle atomique iDEVS
Un modèle atomique iDEVS, équation 3.1 et figure 3.5, est semblable au modèle atomique
DEVS. Sa particularité est qu’il peut manipuler des variables précises ou imprécises. Son rôle
est de décrire l’aspect comportemental d’une partie d’un système à paramètres imprécis. Si tous
les paramètres du modèle iDEVS sont précis, il a le même comportement qu’un modèle DEVS
classique.
FIG. 3.5: Modèle atomique iDEVS
Au niveau des modèles atomiques DEVS et iDEVS, le comportement des fonctions de tran-
sitions interne et externe (δint ,δext) est strictement identique. Par contre, pour la manipulation
de variables imprécises, nous utilisons les fonctions surchargées dans la classe IntervalleFlou
(+,−,/,cos,etc.). Pour décrire δint et δext , l’utilisateur n’a qu’à indiquer quelles sont les vari-
ables imprécises, l’emploi des fonctions appropriées se fait automatiquement.
Pour les fonctions d’avancement du temps et de sortie, des modifications structurelles ont été
introduites, mais elles restent imperceptibles pour l’utilisateur final.
La fonction d’avancement du temps, comme nous l’avons indiqué au paragraphe 3.3.2, doit re-
90
APPROCHE DE MODELISATION ET DE SIMULATION iDEVS
tourner une valeur précise afin que l’évènement correspondant puisse être inséré dans l’échéancier.
Pour cela nous avons ajouté une fonction de défuzzification qui est présentée dans l’algorithme 11.
Cette fonction est automatiquement déclenchée et l’utilisateur final n’a pas à se soucier de son
fonctionnement. Un utilisateur averti peut modifier l’implémentation de cette fonction à partir de
la classe IntervalleFlou.
Une autre modification structurelle apparaît au niveau de la fonction de sortie λ , en fin de
simulation elle renvoie le résultat plus deux variables de classe qui permettent de connaître le
coefficient de validité du résultat et l’intervalle de temps de simulation.
Les données manipulées par un modèle atomique flou sont représentées par un quadruplet
[a,b,ψ,ω], défini dans la classe appelée IntervalleFlou. Si a = b et α = β = 0 le modèle iDEVS
devient un modèle DEVS classique (non flou) manipulant des données précises [ ˜AMiDEV S ⊂AMDEV S].
L’équation 3.1 présente en détail le modèle atomique iDEVS général. Le "tilde" () sur un
paramètre signifie qu’il est imprécis, ou qu’il manipule des variables imprécises. Les valeurs d’en-
trée peuvent être imprécises X ; à la réception d’une valeur en entrée, la fonction floue de transition
externe δext est déclenchée ; elle met à jour l’état du système S et sa durée de vie σ en fonction
des spécifications définies par le concepteur. Si aucune entrée n’est détectée avant l’expiration de
la durée de vie, les fonctions floues de transition interne ˜δint et de sortie λ sont déclenchées. ˜δint
met à jour l’état du système en fonction des spécifications définies par le concepteur et λ génère
les sorties sur Y .
MA =< X , Y , S, ta, ˜δext , ˜δint , λ > (3.1)
avec :
– X = (p, v) | p ∈ Portsd entree, v ∈ Xp : la liste des ports d’entrée, chaque port étant carac-
térisé par un couple (numéro du port / valeur), où la valeur peut être définie comme précise
ou imprécise ;
– Y = (p, v) | p ∈ Portsdesortie, v ∈ Yp : la liste des ports de sortie, chaque port étant car-
actérisé par un couple (numéro du port / valeur), où la valeur est précise ou imprécise en
91
APPROCHE DE MODELISATION ET DE SIMULATION iDEVS
fonction du comportement du modèle ;
– S : l’ensemble des états ou des variables d’états précises S ou imprécises S du système S∈ S ;
– ta(S)→ R+ : la fonction d’avancement du temps, l’algorithme 11 décrit la fonction ta ;
Algorithme 11 Fonction d’avancement du temps imprécise ta// déclaration des variables de classeIntervalleFlou τ = [0,0,0,0] // l’intervalle représentant le temps de fin de simulationréel Λ // la somme des degrés d’appartenance λ défuzzifiéréel nbrDe f uz← 1 // variable qui compte le nombre de défuzzificationsréel moyΛ = Λ
nbrDe f uz // variable qui conserve la moyenne des λ , elle est renvoyée à la fin de lasimulation par chaque modèle// Fonction d’avancement du temps imprécisefonction réel ta( état S)soit σ le temps de vie de l’état Ssi σ est précis // la nature de σ est testé, si σ est précis la fonction ta a un comportement classique
ta← στ ← τ +σ // l’intervalle τ est incrémenté de σ , en fin de simulation il va fournir un intervalle
de tempssinon
ta ← σ .coe f EEM() // σ est une instance de la classe IntervalleFlou nous appliquons laméthode coe f EEM() algorithme 9
Λ← Λ + µ(σ .coe f EEM()) // Λ est la somme des λ défuzzifiés, la fonction µ(x) renvoie lavaleur de λ pour x
nbrDe f uz← nbrDe f uz+1τ ← τ +σ // nous ajoutons à l’intervalle τ l’intervalle σ
retourner ta
– δext : Q× X → S : la fonction de transition externe, où :
– Q = (Si,e) | Si ∈ S,0≤ e≤ ta(Si) : l’ensemble des états précis ou imprécis S1,2,...,n ;
– e : est le temps écoulé depuis la dernière transition ; la fonction de transition externe
spécifie comment le modèle atomique change d’état (passage de l’état S1 à l’état S2 quand
une entrée précise ou imprécise survient (évènement externe) avant que ta(S1) ne soit
écoulé ;
– δint : S→ S : la fonction de transition interne. Elle permet de passer d’un état S2 à l’instant
t1, à un état S1 à l’instant t2 lorsqu’aucun évènement externe n’arrive durant le temps de vie
de l’état ta(S2) ;
– λ : S→ Y : la fonction de sortie, elle renvoie les sorties du modèle et aussi les variables de
92
APPROCHE DE MODELISATION ET DE SIMULATION iDEVS
classe τ et moyΛ.
3.4.2 Modèle couplé iDEVS
Le modèle couplé iDEVS a la même forme que le modèle couplé DEVS, ils sont tous deux
décrits de la même façon. La seule différence est que le modèle couplé iDEVS peut être composé
de modèles DEVS classiques ou de modèles iDEVS. Par conséquent les variables d’entrée et de
sortie sont définies comme imprécises. Une donnée imprécise inclut une donnée précise.
Dans l’équation 3.2 nous décrivons en détail les différents aspects du modèle couplé iDEVS.
CM =< X , Y , D, Mi, Ii, Zi, j, L > (3.2)
avec :
– X = (p, v) | p ∈ Portsd′entree, v ∈ Xp : la liste des ports d’entrée, chaque port étant car-
actérisé par un couple (numéro du port / valeur) ;
– Y = (p, v) | p ∈ Portsdesortie, v ∈ Yp : la liste des ports de sortie, chaque port étant car-
actérisé par un couple (numéro du port / valeur) ;
– D : la liste des modèles composant le modèle couplé CM ;
– Mi =< Xi,Yi,Si,δexti,δinti ,λi, tai> : un modèle atomique imprécis Mi ⊂Mi ;
– Pour chaque modèle i ∈ D∪CM, Ii est l’ensemble des modèles qui influencent i ;
– Zi, j est la fonction de transition des sorties du modèle i vers le modèle j, telle que :
– ZCM, j : XCM→ X j est la fonction de couplage des entrées externes (EIC) ;
– Zi,CM : Yi→ XCM est la fonction de couplage des sorties externes (EOC) ;
– Z ˜i, j : Yi→ X j est la fonction de couplage interne (IC) ;
– L : la liste des priorités entre modèles.
L’intérêt de la méthode iDEVS est la prise en compte des imprécisions en définissant les paramètres
des modèles sous forme d’intervalles. Les intervalles peuvent être décrits à partir de valeurs
numériques ou linguistiques. Ces modèles peuvent être utilisés pour la description de systèmes
spécifiques, c’est-à-dire que le concepteur doit lui-même coder son modèle pour représenter le
93
APPROCHE DE MODELISATION ET DE SIMULATION iDEVS
système à simuler. Après avoir présenté les formes générales des modèles iDEVS, dans la partie
suivante, nous décrivons certains de ces modèles dans leur contexte d’application.
3.5 Réalisation
Il existe de nombreux environnements de modélisation qui intègrent la méthodologie DEVS.
Nous avons choisi de travailler avec deux environnements différents afin de prouver la généricité
de l’approche iDEVS. Les différents modèles développés ont été stockés dans une bibliothèque
conformement aux standards de l’environnement, ceci afin de permettre leur réutilisation.
Le premier environnement est powerDEVS [KLP03]. powerDEVS est un outil pour la mod-
élisation et la simulation de systèmes hybrides, basé sur le formalisme DEVS. Il est libre et inclut
le compilateur GCC1 de GNU2. Il permet de définir ses propres modèles, librairies C++ et fournit
une interface graphique pour la conception des modèles et la simulation.
Le second environnement est une extension de pythonDEVS3 développé pendant la thèse de
L. Capocchi [Cap05] à l’Université de Corse. Initialement créé pour le test de circuits digitaux,
il peut tout aussi bien être utilisé dans d’autres domaines. Il est basé sur un simulateur codé en
langage Python.
La méthode à employer pour associer DEVS à notre approche est décrite en détail en annexe
page 159.
3.5.1 Bibliothèque de modèles iDEVS
Une bibliothèque de modèles peut être définie comme une collection organisée de modèles.
C’est un dépôt accessible et ouvert, où nous regroupons divers modèles en fonction de leur do-
maine d’application (opération de base, circuit, etc.).
Notre bibliothèque contient un ensemble de modèles utiles à la modélisation de systèmes à
paramètres imprécis. Le but principal est de permettre au concepteur de créer des modèles à partir
1GCC : GNU Compiler Collection est le compilateur C de GNU2GNU est un système d’exploitation compatible UNIX et totalement libre3http ://moncs.cs.mcgill.ca/MSDL/research/projects/DEVS/PythonDEVS/PythonDEVS.pdf
94
APPROCHE DE MODELISATION ET DE SIMULATION iDEVS
de sous modèles existants, et ainsi ne pas à avoir à programmer. Cette approche est restreinte à
l’utilisation de modèles pré-conçus, et donc limitée dans ses domaines d’application, mais elle est
aussi plus accessible au non spécialiste de DEVS.
Pour étendre l’intérêt de cette approche, il est nécessaire de définir un grand nombre de mod-
èles.
Le septuplet représenté par la formule 3.3 propose un exemple de modèle atomique iDEVS
qui reproduit le comportement des fonctions de la classe IntervalleFlou (algorithme 1). C’est un
modèle de base, qui, par exemple, peut permettre de faire une opération binaire entre deux valeurs
d’entrée imprécises. Ce modèle suppose que les deux opérandes de la fonction sont accessibles,
dans le cas où l’un des deux ne l’est pas, ce modèle peut renvoyer un résultat erroné.
˜AMiDEV S :< X ,Y , S, ta, ˜δint , ˜δext , λ > (3.3)
avec
• X : f I1, f I2, les ports d’entrée qui reçoivent les données de type IntervalleFlou ;
• Y : f IR, le port de sortie qui renvoie le résultat de la fonction F ;
• S : Status,σ ,R,x, où :
– Status, le statut du modèle, ACT IV E/INACT IV E/BUZZY1/BUZZY2, son état ini-
tial est : INACT IV E ;
– σ , le temps de vie de l’état ;
– R, le résultat de la fonction F appliqué à l’état et aux entrées ;
– x stocke les valeurs d’entrées.
• ta(S) :→ renvoieσ , la fonction d’avancement du temps ;
95
APPROCHE DE MODELISATION ET DE SIMULATION iDEVS
• ˜δext :
si Status = INACT IV E x← f Isi f I1 Satuts← BUZZY2sinon Satuts← BUZZY1
sinon
si BUZZY2 et f I2 ou BUZZY1 et f I1
R = xop f I, Statuts← ACT IV E, σ ← 0
sinon x = f I
’op’ une opération binaire quel-
conque +,−,/,etc..
• ˜δint :
Status← INACT IV E
σ ← in f inie;
• λ :→ send(R).
Cette approche permet de concevoir rapidement un modèle imprécis sans avoir à écrire de code,
simplement en interconnectant plusieurs sous modèles déjà conçus. Un exemple d’application
est présenté dans [BCdGB07]. Dans les deux sections suivantes nous décrivons deux modèles en
fonctions de l’environnement utilisé.
3.5.2 Modèles powerDEVS
La première étape a été de coder la librairie présentée section 3.2.1 dans le langage C++ pour
pouvoir l’utiliser dans l’environnement powerDEVS. Ensuite nous avons développé plusieurs
modèles iDEVS, additions, soustraction, multiplication, division, intégration, etc., afin de com-
poser notre bibliothèque. Certains modèles sont présentés dans [BCdGB07, BdGBS07, BdGBS08c].
L’inconvénient du langage C++ est qu’il ne permet pas de définir de lamdba fonction, les
lambda calculs sont à l’origine des langages de programmation fonctionnels comme Lisp. Le
lambda calcul est apparenté à la logique combinatoire et permet de remplacer une variable par un
terme. Grâce à ce mécanisme, nous pouvons interpréter l’expression sans avoir à calculer le terme.
96
APPROCHE DE MODELISATION ET DE SIMULATION iDEVS
Algorithme 12 Exemple de modèle powerDEVS#include "FuzzyTimeModel.h"// la librairie "FuzzyInterval.h" est inclue dans "FuzzyTimeModel.h"void FuzzyTimeModel : :init(double t, ...)//The ’parameters’ variable contains the parameters transferred from the editor.va_list parameters ;va_start(parameters,t) ;//To get a parameter : %Name% = va_arg(parameters,%Type%)//where :// %Name% is the parameter name// %Type% is the parameter typeS[0] = va_arg( parameters, double) ; // état du systèmeLambda = 0 ; // somme des degrés d’appartenance defuzzifiésnbrDefuz = 1 ; //Compteur de defuzzificationSigma = 0 ; // temps de vie de l’étatfor(int i=1 ;i<11 ;i++)S[i] = random() ; ; // initialisation des états//initialisation du temps imprécisFuzzyInterval fuzzySigma(0,0,0) ; // création d’un Sigma flouFuzzyInterval tpsSim(0,0,0) ; // intervalle du temps de simulationdouble FuzzyTimeModel : :ta(double t)//This function returns a double.Sigma = fuzzySigma.coefEEM(0.5) ; // defuzzyfication de fuzzySigmaLambda += t_mu(fuzzySigma.coefEEM(0.5)) ; // lambda après defuzzificationtpsSim += fuzzySigma ; // intervalle de temps de fin de simulationnbrDefuz++ ; // nombre de defuzzificationreturn Sigma ;void FuzzyTimeModel : :dint(double t)fuzzySigma(4,2,5) ; // pas de temps de déclenchement des évènementsvoid FuzzyTimeModel : :dext(Event x, double t)//The input event is in the ’x’ variable.//where :// ’x.value’ is the value (pointer to void)// ’x.port’ is the port numberEvent FuzzyTimeModel : :lambda(double t)//This function returns an Event :// Event(%&Value%, %NroPort%)//where :// %&Value% points to the variable which contains the value.// %NroPort% is the port number (from 0 to n-1)return Event(&S[0],0,Lambda/nbrDefuz,1,tpsSim,2) ; // sorties
97
APPROCHE DE MODELISATION ET DE SIMULATION iDEVS
Il faut donc, en fonction des méthodes définies dans la classe IntervalleFlou, changer les
types de données pour s’adapter au langage de programmation utilisé. Dans ce cas, nous pouvons
déclarer les fonctions comme des tableaux.
L’algorithme 12 donne un exemple de modèle atomique iDEVS codé sous powerDEVS. Ce
modèle est un générateur de valeurs aléatoires à temps imprécis. Il renvoie une valeur comprise
entre 0 et 199 à pas de temps compris dans l’intervalle [4,4,2,5]. Après chaque évènement in-
terne (fonction dint()) l’intervalle de temps est défuzzifié dans le fonction ta(), et les valeurs
de sortie sont envoyées. Dans ce modèle nous renvoyons la moyenne des degrés d’appartenance
(Lambda/nbrDe f uz) et le temps de fin de simulation t psSim avec la fonction de sortie lambda
sur des ports différents.
Ce modèle fait parti de la bibliothèque de modèles développés en C++ pour l’environnement
powerDEVS.
Nous pouvons remarquer que lors de la phase d’implémentation des modèles, il est possible,
voire même nécessaire, de ne pas toujours respecter les prérogatives définies dans l’approche
théorique. Le concepteur a la possibilité d’interpréter et de retranscrire à sa manière ces diverses
prérogatives.
3.5.3 Modèles pythonDEVS
pythonDEVS est un environnement de modélisation et de simulation DEVS développé pour
l’enseignement et la recherche. Python est un langage de programmation interprété, multi-paradigme
qui favorise la programmation impérative structurée, et orientée objet. Il permet la définition de
lambda fonctions, et leur utilisation comme arguments dans des expressions fonctionnelles. Par
exemple : f ilter(lambdax : x < 5,uneliste) retournera une liste constituée des éléments de uneliste
inférieurs à 5.
Comme pour les modèles powerDEVS, la première étape a été de développer la librairie en
python.
Dans l’algorithme 13, nous décrivons un modèle atomique iDEVS codé sous l’environnement
pythonDEVS. Ce modèle permet d’effectuer une opération d’incrémentation. Il a été développé
98
APPROCHE DE MODELISATION ET DE SIMULATION iDEVS
Algorithme 13 Exemple de modèle pythonDEVSclass AI_Compte(AtomiciDEVS) :
”’ Modèle atomique###def __init__(self) :
”’ ConstructeurAtomiciDEVS.__init__(self)# Déclaration des variables d’état.self.state = ’status’ : ’INACTIF’, ’sigma’ : INFINITY , ’cb’ : [ 0 for i in range(3)]# Déclaration des ports de sortieself.IN = self.addInPort()self.OUT = self.addOutPort()###
def extTransition(self) :print ’\x1B[1 ;33 ;40m %s extTransition \x1B[0 ;37 ;40m’%self.__str__()# Récupération du message sur le port d’entréeself.msg = self.peek(self.IN)if self.msg.operation == "add" :cb=self.state[’cb’]for i in range(len(self.msg.value)) :
cb[i]+=self.msg.value[i]# Changement d’état (status = ACTIF, sigma = 0, cb =cb)self.state = self.changeState(’ACTIF’,0, cb)return self.state
###def intTransition(self) :
print ’\x1B[1 ;34 ;40m %s intTrans \x1B[0 ;37 ;40m’%self.__str__()self.state = self.changeState(cb=self.state[’cb’])return self.state
###def outputFnc(self) :
print ’\x1B[1 ;34 ;40m %s outputFnc \x1B[0 ;37 ;40m’%self.__str__()# Envoi du message par un port de sortieself.poke(self.OUT, self.state[’cb’])
###def timeAdvance(self) :
print ’\x1B[1 ;34 ;40m %s ta \x1B[0 ;37 ;40m’%self.__str__()return self.state[’sigma’]
###def changeState( self, status = ’INACTIF’,sigma = INFINITY , cb=0) :
return ’status’ :status, ’sigma’ :sigma, ’cb’ : cb ###def __str__(self) :
return "AI COMPTE"
99
APPROCHE DE MODELISATION ET DE SIMULATION iDEVS
dans le but de résoudre une équation différentielle imprécise du première ordre, l’application est
présentée dans [BCdGB07].
A la réception d’un message d’entrée la fonction de transition externe est déclenchée (ext-
Transition(self )). Elle teste le type d’opération a effectuer (if self.msg.operation == "add"). Les
variables d’état du modèle (status,sigma,cb) sont mises à jour, la valeur de cb (de type Inter-
valleFlou) est recalculée en fonction des valeurs du message d’entrée (self.msg.value), le modèle
devient actif (status = ACTIVE), et sigma est fixé à zéro ce qui a pour conséquence d’activer les
fonctions de sortie (outputFnc(self) :) et de transition interne (intTransition(self)).
La fonction de sortie envoie la valeur de la variable d’état cb via un port de sortie (self.poke(self.OUT,
self.state[’cb’])).
La fonction de transition interne met à jour les variables d’état du modèle via la fonction
(changeState()). Le statut passe à inactif et le modèle est désactivé jusqu’à la détection du prochain
message d’entrée.
Ce modèle a été ajouté à la bibliothèque de modèles iDEVS codé en python afin de permettre
sa réutilisation.
3.6 Conclusion du Chapitre
Dans ce chapitre nous avons présenté une nouvelle méthode de modélisation et de simulation
de système à évènements discrets qui permet la spécification de systèmes à paramètres flous. Un
système peut être considéré comme flou, si son comportement est partiellement connu (incom-
plet), si ses paramètres sont connus de manière non précise (imprécis), si la réalisation de ses
paramètres n’est pas sûre (incertain).
Cette nouvelle approche appelée iDEVS a été développée pour être complémentaire avec les
formalismes Fuzzy-DEVS et Min-Max-DEVS. A partir de l’étude de ces deux méthodes nous
avons défini des contraintes et des objectifs à respecter.
iDEVS est basé sur la théorie des sous ensembles flous pour la représentation et la manip-
ulation de quantités floues, une quantité floue est un intervalle ou un nombre défini de manière
100
APPROCHE DE MODELISATION ET DE SIMULATION iDEVS
imprécise. Grâce à l’arithmétique floue, extension d’une partie des fonctions de manipulation
des intervalles aux quantités floues, nous pouvons modéliser au format DEVS des systèmes à
paramètre imprécis.
Pour faire le lien entre le formalisme DEVS et la théorie des sous ensembles flous, nous avons
créé une librairie (classe objet) qui permet de construire des objets représentant des variables
imprécises. Cette librairie a ensuite été intégrée dans le formalisme DEVS.
La structure de données choisie, soit un intervalle soit un nombre flou, peut être définie par
quatre points ou deux fronts. Un front représente la partie gauche ou droite de la fonction d’appar-
tenance de l’intervalle, mais ne permet pas de décrire exactement le résultat de toutes les opéra-
tions. Effectivement, lorsqu’on applique certaines fonctions sur un intervalle flou, sa forme peut
évoluer, l’image d’un intervalle par une fonction n’est pas toujours un intervalle. L’intervalle ré-
sultat peut être défini par plusieurs fronts. Nous avons délibérément choisi de décrire les résultats
en utilisant une représentation approchée définie à partir de quatre points de références [a,b,ψ,ω].
Au niveau du formalisme DEVS nous avons identifié comme imprécis plusieurs éléments, no-
tamment les valeurs et les temps des évènements. Pour prendre en compte toutes les imprécisions
des modèles, sans avoir à modifier les algorithmes de simulation comme dans Fuzzy-DEVS ou
Min-Max-DEVS, nous avons défini de nouveaux modèles atomiques et couplés. Nous les avons
conçus de telle façon que leur modification reste imperceptible pour l’utilisateur final, sauf si
celui-ci veut lui même coder son modèle.
Cette nouvelle approche ne permet pas de prendre en compte imprécision, incertitude et in-
complétude. Seules les imprécisions des paramètres sont traitées. Nous réfléchissons à l’intégra-
tion dans DEVS d’un modèle d’inférence floue, ainsi qu’à l’amélioration du formalisme Fuzzy-
DEVS. Fuzzy-DEVS permet déjà de prendre en compte les incertitudes liées au comportement
d’un système mais ses algorithmes de simulation ne sont pas très performants.
Le calcul d’intervalle est plus coûteux en temps que le calcul de réels, mais la puissance des
ordinateurs actuels permet tout de même de ne pas faire la différence.
L’interprétation des résultats peut être problématique, en fonction du domaine d’application il
faut pouvoir comprendre et utiliser les résultats. Pour les phénomènes de propagation, la représen-
101
APPROCHE DE MODELISATION ET DE SIMULATION iDEVS
tation graphique de toutes les propagations peut rendre les résultats impossibles à interpréter. Il
faut choisir une partie des résultats.
La partie suivante présente l’application de cette méthode pour l’étude de la propagation des
feux de forêt.
102
CHAPITRE 4
Application : Propagation de feux de forêts
Ce n’est pas le but de la promenade qui
est important mais les petits pas qui y
mènent.
Proverbe Chinois
CES dernières années nous ont rappelé avec force que la lutte contre les incendies de forêt
n’est pas un combat gagné d’avance. On parle d’incendie de forêt lorsque le feu concerne
une surface minimale d’un hectare d’un seul tenant, et qu’une partie au moins des étages arbus-
tifs et/ou arborés (parties hautes de la végétation) est détruite. Un incendie est un phénomène
qui échappe au contrôle de l’homme, tant en durée qu’en étendue. Lorsqu’un feu éclate, il n’est
pas nécessairement dangereux, car son impact va dépendre de son intensité et de sa surface d’ex-
tension. La propagation d’incendie est le plus souvent déterminée par des facteurs naturels : les
conditions météorologiques et les caractéristiques du terrain conditionnent le développement des
incendies, les premières pouvant avoir une influence non négligeable sur les secondes. Dans cer-
taines situations, par exemple vents puissants, la topographie du site peut également favoriser
le développement des incendies. D’autres facteurs peuvent aussi intervenir, comme les facteurs
103
APPLICATION : PROPAGATION DE FEUX DE FORETS
anthropiques, la structure, la composition de la végétation, le vent et le relief.
Il existe plusieurs méthodes pour l’étude de la propagation des feux de forêt. Certaines s’em-
ploient à décrire de manière plus ou moins pointue tous les mécanismes mis en œuvre, à l’aide
d’équations physiques ou mathématiques [McA66, Rot72, Web91, Gri97]. D’autres, plus proches
d’un raisonnement à l’échelle du terrain, considèrent qu’un grand nombre de paramètres peuvent
ne pas être pris en compte [IPL01, Ili05, BFdG06, BdGBS08b].
Nous avons axé nos travaux sur deux aspects : la lutte et la prévention ; dans ces deux do-
maines, nous souhaitons contribuer à l’élaboration d’outils d’aide à la décision. Devant l’ampleur
du travail, il est nécessaire de faire le pari de l’efficacité des actions engagées en fonction des
objectifs fixés. Cela implique d’ajuster en permanence la stratégie de prévention et de lutte en
fonction des moyens disponibles. Dans cette optique, et afin d’être cohérent avec les réalités de
terrain, nous avons engagé une collaboration avec le SDIS1 de Haute-Corse. Plusieurs pistes de
travail ont émergé de cette collaboration, celles-ci restent très proches de leurs besoins et de leurs
préoccupations.
Le modèle présenté dans cette partie retranscrit de manière informatique le raisonnement em-
pirique des pompiers du SDIS1 effectué sur le terrain. Leurs informations, présentées sous forme
linguistique, ont été traduites en modèles dont l’objectif est la réalisation d’un système en temps
réel.
Dans la première partie, nous abordons à la fois la problématique liée à la propagation de
feux de forêt, et nous décrivons les paramètres identifiés comme ayant une influence sur une
propagation d’incendie. Les parties deux et trois sont consacrées à la présentation de nos modèles
de propagation. Enfin, dans la dernière section, les données issues de la simulation de nos modèles
sont exposées.
1Service Départemental d’Incendie et de Secours
104
APPLICATION : PROPAGATION DE FEUX DE FORETS
4.1 Identification des paramètres
Lors de nos entretiens, l’une des problématiques mise en avant par le SDIS1 a été de prévoir
rapidement les évolutions possibles des feux, afin de mettre en place une politique de lutte adéquate.
Pour un problème aussi complexe que l’étude de la propagation des feux de forêt, de nombreux
paramètres entrent en ligne de compte. Ces paramètres sont difficiles à identifier, à quantifier, et à
modéliser.
Avec l’aide de ces spécialistes, nous avons identifié et regroupé ces paramètres en trois groupes :
le terrain, les conditions météorologiques et les facteurs humains. Ces groupes peuvent être encore
découpés, avec par exemple :
– pour le terrain : la topologie, le niveau d’entretien, et la végétation ;
– pour la météo, le vent, le degré d’humidité de l’air, ou encore la température ;
– enfin, pour les facteurs humains : le degré de risque et la densité de population ;
FIG. 4.1: Paramètres à prendre en compte pour l’étude de feux de forêt
Dans la première section, nous détaillons les mécanismes à prendre en compte afin de choisir
et d’adapter au mieux la politique d’intervention, les outils à utiliser, et les caractéristiques des
105
APPLICATION : PROPAGATION DE FEUX DE FORETS
modèles. Dans les sections suivantes, nous allons décrire avec précision, les paramètres présentés
figure 4.1 en fonction du niveau de détail souhaité. Dans la dernière section, nous présentons les
hypothèses émises en vue de la réalisation de modèles.
4.1.1 Mécanismes
Dans un premier temps, pour répondre aux préoccupations des pompiers, nous avons orienté
nos travaux sur la définition d’un modèle de propagation à l’échelle du terrain.
La lutte contre les feux de forêt (FdF) présente plusieurs difficultés : dans les régions méditer-
ranéennes, l’approche d’un foyer est rendue difficile en raison des terrains accidentés et de la
végétation ; les foyers peuvent également être très étendus, voire multiples dans le cas d’incendies
criminels ; durant les périodes estivales, les feux progressent très vite sous l’influence combinée
des vents et de la sécheresse. Des feux de cette ampleur sont difficilement maitrisables, les pom-
piers privilégient généralement une méthode d’intervention dite HBE (Hommes, Bâtiments, Envi-
ronnement) : lors de l’intervention, la priorité est donnée aux êtres humains, puis aux habitations,
et enfin à l’environnement. Pour cela il est nécessaire de fournir très rapidement (en temps réel)
une estimation des différents scénarii de propagation afin d’adapter la méthode d’intervention.
Lorsqu’il est impossible d’éteindre un feu de forêt avec seulement des moyens hydrauliques,
la technique de lutte habituellement utilisée consiste à attaquer les fronts gauche et droit pour
resserrer la tête et canaliser la propagation, c’est pourquoi il est important d’estimer l’évolution
du front de flamme. Cette technique fait intervenir des avions ou des hélicoptères bombardiers
d’eau qui effectuent des largages d’eau additionnée de "retardant" sur la végétation voisine du feu
pour éviter l’extension du sinistre et resserrer sa tête. Dans ce cas, les modèles de propagations
doivent pouvoir prendre en compte ces évolutions et utiliser différentes vitesses de propagation en
fonction de l’état de la zone.
Il existe différents mécanismes de propagation des incendies :
1. par le bas, propagation au travers de végétaux de taille basse ou moyenne, et au travers des
débris organiques exposés sur le sol ;
2. par les cimes, végétation haute ;
106
APPLICATION : PROPAGATION DE FEUX DE FORETS
3. par éléments enflammés emportés par le vent. Le feu peut ainsi sauter une zone incom-
bustible comme une route ou un coupe feu.
Dans notre cas et conformément au mode de raisonnement de terrain des pompiers, nous avons
choisi de traiter tous les incendies comme étant de la première catégorie (par le bas), avec un
coefficient lié à la hauteur de la végétation. Les sauts de feux sont très difficiles à estimer et
aucune des méthodes d’étude ne les prend en compte.
Sur les terrains du Sud de la France et avec une végétation homogène, un feu se propage sous
forme d’ellipse, dans l’axe du vent. On estime cette propagation à environ 3 à 8 % de la vitesse du
vent selon les caractéristiques du terrain (pente, densité et nature de la végétation).
Au niveau de la prévention, les pompiers pratiquent généralement des brûlages contrôlés :
ce sont des feux maîtrisés destinés à faire des "allées" dans la forêt, ou à nettoyer le sous bois.
Nos modèles peuvent permettre d’identifier les zones à risques sur lesquelles il est souhaitable de
pratiquer ces brûlages.
4.1.2 Le Terrain
Le terrain est la zone géographique où le feu va débuter et se propager. Il est caractérisé par sa
topographie, son niveau d’entretien, et la végétation qui le constitue.
La topographie est la description et la représentation sur cartes des caractéristiques physiques
de la surface de la Terre (montagnes, rivières, lacs, etc.). De cette description, nous distinguons la
pente, ou degré d’inclinaison, et la topologie.
La pente est définie comme l’inclinaison horizontale du terrain entre deux points. Elle condi-
tionne l’inclinaison des flammes par rapport au sol. Les feux brûlent plus rapidement sur les fortes
pentes ascendantes. La vitesse de propagation du feu s’en trouve accrue. Des études expérimen-
tales sur le comportement du feu ont montré que la vitesse de propagation double sur une pente
de 10° à 15° et quadruple sur une pente de 20°.
La topologie est la description détaillée d’un lieu particulier, dans notre cas il s’agit de définir
les conditions orographiques. Dans une zone sans relief, un départ de feu est facilement soumis
à l’accélération du vent. En zone de relief irrégulier, la progression du feu est accélérée dans
107
APPLICATION : PROPAGATION DE FEUX DE FORETS
les montées et ralentie dans les descentes. La topologie décrit la configuration sur le papier d’un
terrain avec tous les accidents qu’offre sa surface.
L’exposition a également un rôle indirect sur la progression du feu, car elle conditionne le
type de végétation, l’influence des vents et l’ensoleillement. Généralement, les versants sud et
sud-ouest présentent les conditions les plus favorables pour une inflammation rapide et pour la
propagation des flammes.
L’entretien d’un terrain a une influence qui peut être non négligeable sur la vitesse de prop-
agation, il représente les travaux exécutés régulièrement ou périodiquement afin qu’il conserve un
état de propreté correcte. Plus un terrain est sale, plus son accès est délicat, de plus, la propagation
d’un incendie est plus rapide sur un terrain n’ayant jamais été déboisé ou entretenu, les matériaux
laissés à l’abandon lui servant de combustible.
La prédisposition de la végétation aux incendies est souvent liée à sa teneur en eau, elle-
même déterminée par les conditions météorologiques. L’état général de la zone forestière, c’est-
à-dire les conditions de peuplement de la forêt (disposition des strates, état d’entretien, densité,
essences présentes, passage récent d’un incendie) et la composition chimique de la végétation
(teneur en essences volatiles ou en résines), jouent également un rôle déterminant dans l’éclosion
des incendies.
L’importante diversité des zones forestières françaises constituées de 136 essences d’arbres
différentes rend le territoire plus vulnérable aux incendies. Certaines espèces favorisent le développe-
ment des incendies du fait de leur composition : résine, faible teneur en ligneux hauts, essences.
Ces particularités sont présentes dans le pin sylvestre, la bruyère ou le ciste. D’autres espèces
comme la bruyère arborescente, le pin d’Alep, le chêne vert, le châtaigner ou le chêne liège sont
capables quant à eux de résister aux incendies. Les différentes espèces de végétation sont réper-
toriées afin de définir leur influence sur les feux.
L’inflammabilité des végétaux est leur propriété à s’enflammer lorsqu’ils sont exposés à
une source de chaleur. Elle varie fortement en fonction de la période de l’année, des conditions
108
APPLICATION : PROPAGATION DE FEUX DE FORETS
climatiques, de l’état de la végétation et de l’intervention humaine. Le terme de combustibilité
caractérise l’aptitude de la végétation à propager le feu en se consumant. Lors de la combustion
(décomposition d’un objet par l’action du feu), des quantités de chaleur plus ou moins importantes
vont être libérées, selon la structure de la forêt et des essences végétales présentes.
La densité de la végétation est le nombre d’espèces végétales présentes sur une zone donnée.
Elle influe sur la propagation d’un incendie, son développement est plus lent dans une végétation
dense comme le maquis - strate des ligneux bas - que dans une végétation plutôt ouverte comme
la garrigue.
FIG. 4.2: Niveaux de végétation
Les niveaux de végétation ou hauteur, sont la description verticale de la forêt (figure 4.2), on
distingue quatre niveaux :
1. Niveau un, la litière : très inflammable, elle est à l’origine d’un grand nombre de départs de
feux, difficiles à détecter, car se consumant lentement ;
2. Niveau deux, la strate herbacée : d’une grande inflammabilité, le vent peut y propager le feu
sur de grandes superficies ;
109
APPLICATION : PROPAGATION DE FEUX DE FORETS
3. Niveau trois, la strate des ligneux bas (maquis, garrigue) : d’inflammabilité moyenne, elle
transmet rapidement le feu aux strates supérieures ;
4. Niveau quatre, les ligneux hauts : rarement à l’origine d’un feu, elle permet cependant la
propagation des flammes lorsqu’elle est atteinte, ce sont les feux de cimes.
4.1.3 Les conditions météorologiques
Les périodes de sécheresse et de vents forts sont favorables à l’éclosion des incendies. Ainsi
le vent accélère le dessèchement des sols et des végétaux et augmente les risques de mise à feu,
par la dispersion d’éléments incandescents et d’arcs électriques. La chaleur dessèche les végétaux
par évaporation et provoque, lors des périodes les plus chaudes, la libération d’essences volatiles
à l’origine de la propagation des flammes.
On distingue trois facteurs influents liés aux conditions météorologiques, le vent, l’humidité
de l’air et la température.
Le vent est de l’air qui se déplace des anticyclones (hautes pressions) vers les dépressions
(basses pressions) ; comme une rivière dévalerait la pente d’une montagne, le vent "coule" entre
hautes et basses pressions ; plus la différence de pression est grande, plus le vent souffle fort.
Le vent agit de plusieurs manières : il apporte de l’oxygène, activant ainsi la combustion, il
rabat les flammes sur la végétation (phénomène amplifié avec la pente), il modifie la direction du
feu et il transporte des particules incandescentes (sautes de feu). On le caractérise en fonction de
sa direction et de sa puissance.
L’échelle de Beaufort décrite par le tableau 4.1 permet d’estimer la vitesse du vent selon ses
effets sur l’environnement. La direction du vent est toujours donnée par la direction d’origine. On
parlera par exemple d’un vent du nord lorsque le vent souffle du nord vers le sud.
L’humidité de l’air et la température influent aussi bien sur la sécheresse des sols que sur les
départs d’incendies en augmentant le facteur risque (surtout l’été). Un vent chaud, sec et puissant,
associé à un terrain asséché et incliné favorise énormément la propagation d’un incendie.
Le degré d’humidité de l’air est calculé grâce aux centrales météorologiques. Pour la façade
110
APPLICATION : PROPAGATION DE FEUX DE FORETS
Degré Appellation Effets produits par le vent vitesse (km/h)0 Calme Calme, la fumée s’élève verticalement. 0 à 11 Brise très légère La direction du vent est révélée. 1 à 52 Brise légère Les feuilles bougent. 5 à 113 Petite brise Feuilles et petites branches agitées. 11 à 194 Jolie brise Petites branches constamment en mouvement. 19 à 285 Bonne brise Les arbustes en feuilles balancent. 28 à 386 Vent frais Les grandes branches bougent. 38 à 507 Grand vent Les arbres sont agités. 50 à 618 Coup de vent Brise les petites branches. 62 à 749 Fort coup de vent Légers dommages aux constructions. 75 à 88
10 Tempête Arbres déracinés. 89 à 10211 Violente tempête Ravages étendus. 103 à 11712 Ouragan Destructions considérables. 118 et plus
TAB. 4.1: Echelle de Beaufort
méditerranéenne française nous disposons des données du satellite NOAA-AVHRR2 qui traite les
données en temps quasi réel. Le principe consiste à mesurer la réflexion par la couverture du sol
des radiations solaires et à en déduire divers paramètres dont la température de surface. Toutefois
l’utilisation de ces données en routine se heurte à plusieurs inconvénients : la résolution pratique
de 4 kilomètres carrés est insuffisante pour tenir compte de l’hétérogénéité des couverts forestiers
méditerranéens, le relief crée des zones ’d’ombre’, le satellite ne ’voit’ la strate arbustive qu’en
zone en plein découvert végétal et sans couverture nuageuse.
4.1.4 Conclusion
Avant une intervention, pour prendre en compte les facteurs humains, les pompiers doivent
acquérir un certain nombre d’informations sur la zone de l’incendie. Leurs décisions sont forte-
ment influencées par la présence d’êtres humains. Le degré de risque correspond au danger en-
couru par la population et la densité de population est le nombre total de personnes vivant dans
la zone concernée par l’incendie.
Tous ces paramètres identifiés ont une influence sur le déroulement d’un incendie, ou sur
le mode opératoire choisi par les pompiers. Cependant, l’impact de certains est beaucoup plus
2National oceanic and atmospheric administration - Advanced very high resolution radiometer.
111
APPLICATION : PROPAGATION DE FEUX DE FORETS
important, par exemple le vent donne la direction et la vitesse de propagation. Nous pouvons aussi
constater que tous ces paramètres sont liés les uns aux autres, de plus, la plupart sont entachés
d’imprécision. L’utilisation de la logique floue est donc un bon moyen de les représenter et les
prendre en compte.
Dans la partie suivante, nous présentons un premier exemple d’application pour la propagation
de feux de forêt. Dans cet exemple, tous les paramètres ne sont pas forcément pris en compte. De
plus la simulation est dirigée par horloge.
Dans le second exemple, présenté dans la partie suivante, nous proposons aussi l’étude de la
propagation de feux de forêt, mais la simulation est dirigée par évènement et la prise en compte
des paramètres est plus pointue.
4.2 Premier exemple
Pour définir un modèle de haut niveau, simulable en temps réel, et prenant en compte les
paramètres les plus influents, il est nécessaire de faire quelques simplifications. Par hypothèse,
et suite aux différents entretiens avec les pompiers qui utilisent comme vitesse approximative de
propagation un pourcentage de la vitesse du vent, nous considérons qu’à l’échelle du terrain, seul
le vent a une véritable influence sur la propagation. Les paramètres de terrain sont représentés par
un coefficient.
Dans cette partie nous présentons nos modèles de propagation de feux de forêt basés sur les
paramètres identifiés dans la partie précédente. Afin de prendre en compte l’influence des impré-
cisions des paramètres, nous avons défini deux types de modèles :
1. un modèle de base sans paramètres imprécis ;
2. deux modèles flous ;
(a) pour le premier modèle flou nous avons considéré comme imprécis le pourcentage de
la vitesse du vent choisi par les pompiers pour représenter la vitesse de propagation du
front de flamme ;
112
APPLICATION : PROPAGATION DE FEUX DE FORETS
(b) pour le second modèle flou, les paramètres imprécis sont le pourcentage de la vitesse
du vent, le coefficient de végétation et la vitesse du vent.
4.2.1 Modèle de base
Nous avons défini le modèle de base à partir des hypothèses suivantes :
FIG. 4.3: Modèle sous powerDEVS
– la vitesse de propagation est considérée comme constante entre deux évènements. Pour son
calcul, nous supposons qu’elle est égale à 3% de la vitesse du vent, ce pourcentage est
communément utilisé par les pompiers du SDIS1 dans leurs modèles de propagation. Nous
ne prenons pas en compte la largeur et la hauteur du front de flamme ;
– le front de flamme est schématisé par une droite. Pour représenter son évolution, nous cal-
culons les coordonnées du point d’intersection entre le centre de cette droite et un segment
perpendiculaire représentant le sens du vent. Le front de flamme évolue en fonction du sens
du vent ;
– l’évolution du front de flamme est calculée avec un pas de temps fixé, nous avons choisi de
recalculer son évolution toutes les 1800 secondes ;
– les facteurs dépendants du terrain sont représentés par un coefficient fixé à 1. Ce facteur
peut avoir une influence directe sur la propagation du front de flamme, si la valeur est fixée
à 1, il n’a pas d’influence, si la valeur est supérieure (ou inférieure) à 1, alors il correspond
113
APPLICATION : PROPAGATION DE FEUX DE FORETS
à une zone propice (ou non) à la propagation du feu.
FIG. 4.4: Comportement du modèle PowerDEVS
Le modèle de la figure 4.3 est un modèle couplé PowerDEVS qui décrit le modèle de propa-
gation.
Le modèle (1), figures 4.3 et 4.4, est un modèle couplé à cinq sorties, qui génère les paramètres
du terrain : coordonnées (x,y) du point représentant le front de flamme, coefficient de terrain,
puissance et sens du vent.
Les modèles (2) et (3), figures 4.3 et 4.4, permettent d’afficher dans un fichier les paramètres
de sortie des modèles (1) et (4).
Le modèle (4), figures 4.3 et 4.4, décrit le modèle de propagation et calcule la distance par-
courue par le feu. Il prend en entrée les paramètres du modèle (1) :
Entrée : Xinput :→Xc,Yc,Coe fvege,Sv,Pv
Algorithme 14 δext : fonction de transition externefunction δext(Xc,Yc,Pv,Sv,Coe fvege)Coor[Xc]← Xc ; // coordonnée en abscisseCoor[Yc]← Yc ; // coordonnée en ordonnéeVent[Pv]← Pv ; // puissance du vent en mètre par secondeVent[Sv]← Sv ; // sens du vent en degréCoe fvege←Coe fvege ; // coefficient de végétationta = 0;
Le comportement du modèle général est décrit par la figure 4.4.
A la réception d’une entrée, il met à jour ses variables d’état en lançant la fonction δext (algo.14).
114
APPLICATION : PROPAGATION DE FEUX DE FORETS
Variables d’état : S :→ doubleCoor[Xc,Yc],Vent[Sv,Pv],Coe fvege
La fonction δext met aussi le temps de vie de l’état à 0 (ta = 0), ce qui, suivant la démarche
DEVS, exécute la fonction de transition interne δint (fig. 4.4).
La fonction δint (algo.15) calcule les nouvelles coordonnées Coor[Xc,Yc] et lance la fonction
de sortie λ qui envoie les coordonnées Coor[Xc,Yc] vers le modèle (3).
Algorithme 15 δint : fonction de transition internefunction δint()double prC← 0.03 ; // pourcentage (3%)double angle←Π/180 ; // valeur de l’angle en degrédouble distance← time×Vent[Pv]× prC×Coe fvege ;Coor[Xc]←Coor[Xc]+distance× cos(Vent[Sv]×angle) ;Coor[Yc]←Coor[Yc]+distance× sin(Vent[Sv]×angle) ;ta = time; // temps avant un nouveau calcul time = 1800
4.2.2 Modèles flous
Comme nous l’avons vu (cf. chapitre 3), notre approche permet de traiter des modèles flous
comme des modèles DEVS classiques. Nous pouvons définir le même comportement et les mêmes
fonctions, seul le type des données change.
Les deux modèles flous ont le même comportement que le modèle de base. Les seuls change-
ments apportés sont le type des données traitées. Le modèle simple utilise des ’double’ alors que
le modèle flou utilise des objets de type ’FuzzyInterval’ (cf. 3.1).
Pour permettre d’effectuer les différents types d’opérations, il a été nécessaire dans la classe
FuzzyInteral de surcharger un grand nombre d’opérateurs, tels que (+,−,/,×,=, ...) (cf. 1).
Pour le modèle flou 2.a, nous avons considéré que la proposition "3% de la vitesse du vent"
était une proposition imprécise. Elle a donc été modélisée à l’aide d’un intervalle ( ˜prC = [0.03,0.03,0.026,0.034])
présenté figure 4.5. Nous considérons que cette proposition est imprécise à plus ou moins 0.004.
Ce choix est totalement arbitraire, nous fuzzifions la condition "3% de la vitesse du vent" car c’est
une constatation de terrain fondée sur l’expérience de pompiers. Les autres paramètres du modèle,
vent-coordonnée-coefficient de végétation, restent inchangés.
115
APPLICATION : PROPAGATION DE FEUX DE FORETS
(a) (b)
FIG. 4.5: Fonctions d’appartenance représentant le proposition 3% de la vitesse du vent (a) et lecoefficient de terrain (b).
Pour le modèle flou 2.b, nous avons défini comme paramètres imprécis : le coefficient de
terrain, le pourcentage et la vitesse du vent. Ils ont pour valeurs respectives :
– coefficient de terrain ˜Coe fv← [1,1,0.6,1.4], est présenté figure 4.5.b ;
– pourcentage de la vitesse du vent ˜prC← [0.03,0.03,0.026,0.034], est modélisé par la fonc-
tion d’appartenance de la figure 4.5.a ;
– vitesse du vent Pv← [2.7,2.7,2.5,2.9], est représenté sur la figure 4.6.
Les autres paramètres, coordonnées et sens du vent, sont les mêmes que pour les autres modèles.
Algorithme 16 Fonction de transition interne ˜δint
function ˜δint()FuzzyInterval ˜prC← [0.03,0.03,0.026,0.034] ; // +
−3%double angle←Π/180 ; // valeur de l’angle en degréFuzzyInterval distance← Pv× ˜Coe fv× time× ˜prC ;Xc← Xc +distance× cos(Sv×angle) ;Yc← Yc +distance× sin(Sv×angle) ;ta = time; // temps avant un nouveau calcul time = 1800
L’algorithme 16 présente la fonction δint qui permet de calculer les nouvelles coordonnées du
front de flamme pour les deux modèles.
116
APPLICATION : PROPAGATION DE FEUX DE FORETS
FIG. 4.6: Fonction d’appartenance représentant la vitesse du vent.
4.2.3 Résultats
Les résultats sont issus de la simulation des modèles sous l’environnement PowerDEVS.
Temps Vegetation Pvent Svent X Y0 1 2.7 10 4 4
(a) Entrées__________________________________________
Temps X Y0 4 4
1800 147.5 29.33600 291.1 54.65000 434.7 79.9
(b) Sorties
TAB. 4.2: Données d’entrée et de sortie du modèle simple
Temps Vegetation Pvent SVent X Y0 1 2.7 10 4 4
(a)________________________________________________
Temps X Y0 [4, ,4,4] [4, ,4,4]
1800 [147.6, ,128.4,166.7] [29.3, ,25.9,32.7]3600 [291.2, ,252.9,329.5] [54.6, ,47.9,61.4]5000 [434.7, ,377.3,492.2] [79.9, ,69.8,90.1]
(b)
TAB. 4.3: Données d’entrée et de sortie du modèle avec un paramètre imprécis
Les tableaux3 4.2, 4.3 et 4.4 (a) sont tirés du modèle (2) figure 4.3. Ils présentent les données
d’entrée des différents modèles.3Pour des raisons de lisibilité nous n’avons pas affiché la valeur de b dans les tableaux 4.3 et 4.4, les fonctions
utilisées sont triangulaires a=b.
117
APPLICATION : PROPAGATION DE FEUX DE FORETS
Temps Vegetation Pvent SVent X Y0 [1, ,0.6,1.4] [2.7, ,2.5,2.9] 10 4 4
(a)______________________________________________Temps X Y
0 [4, ,4,4] [4, ,4,4]1800 [147.6, ,78.7,231.8] [29.3, ,17.1,44.1]3600 [291.2, ,153.3,459.6] [54.6, ,30.3,84.3]5000 [434.7, ,227.9,687.4] [79.9, ,43.4,124.5]
(b)
TAB. 4.4: Données d’entrée et de sortie du modèle avec 3 paramètres imprécis
Les données d’entrée du tableau (4.3) sont précises et les données de sortie sont représentées
sous forme d’intervalle, ceci vient de l’application d’une condition imprécise dans le modèle flou.
On remarque, pour le tableau (4.4), que les données sont saisies sous forme d’intervalle [a,b =
a,ψ,ω], et que les paramètres imprécis d’entrée sont le coefficient de végétation et la puissance
du vent. Les données de sortie sont représentées sous forme d’intervalle.
Les tableaux 4.2, 4.3 et 4.4 (b) présentent les résultats de la simulation du modèle (4) figure 4.3.
Nous constatons que les sorties des modèles flous sont des nombres flous, que pour les valeurs
représentant la meilleure condition (a,b) tous les résultats sont identiques, et que plus on ajoute
de paramètres imprécis plus l’intervalle d’arrivée (l’éventail de valeurs) est grand. Dès que l’on
ajoute un paramètre imprécis, le résultat de la simulation devient imprécis.
FIG. 4.7: Exemple d’interprétation des résultats de la simulation floue
A partir des coordonnées obtenues, nous pouvons reconstituer la propagation du front de
118
APPLICATION : PROPAGATION DE FEUX DE FORETS
flamme comme le montre la figure 4.7. Au temps (t = 3600) le front de flamme devrait être entre
les points jaunes symbolisés par un triangle sur la figure 4.7. A partir de la figure 4.7 nous pouvons
dire que si les paramètres de terrain sont maîtrisés, le front de flamme devrait être schématisé par
la courbe du milieu. Si les paramètres sont favorables à la propagation (végétation sèche, rafale
de vent) le front de flamme devrait être schématisé par la courbe la plus grande. La courbe la
plus petite représente la partie du terrain qui a déjà brûlé. Avec ces résultats les pompiers peuvent
prévoir une stratégie de lutte adaptée au terrain et à la propagation de l’incendie.
Ces résultats sont à replacer dans leur contexte, à savoir : prévoir et anticiper les différents
scénarii de propagation d’un front de flamme, il pourrait être intéressant de les coupler à un outil
d’aide à la décision afin d’optimiser leur interprétation ; nous pouvons tout de même constater que,
contrairement aux modèles standards, la prise en compte des imprécisions permet d’exploiter la
problématique de manière globale, c’est-à-dire que nous n’avons pas à ignorer certains paramètres
difficiles à modéliser, les résultats obtenus, bien qu’imprécis, ont donc plus de chances de contenir
les coordonnées réelles du front de flamme.
4.3 Second exemple
Dans cet exemple, nous présentons aussi un modèle de propagation de feux de forêt, mais cette
fois les paramètres ne sont pas simplement fuzzifiés. Nous avons mis en place une méthode plus
didactique et élaborée, pour prendre en compte un maximum de paramètres de manière cohérente
et adaptable.
Ce modèle a été développé sous powerDEVS, il permet de représenter l’évolution du front
de flammes en fonction de zones (propagation vectorielle [BFdG06, BdGFB06]). Le terrain est
modélisé en fonction des caractéristiques présentées dans la partie 4.1, et de leur influence sur
l’incendie. Le terrain est découpé en zones, chaque zone possède des caractéristiques propres.
Nous ne calculons pas la propagation du feu en fonction du temps, mais en fonction des change-
ments de zone. Sur une zone donnée nous considérons que les paramètres influençant l’incendie
sont invariants.
119
APPLICATION : PROPAGATION DE FEUX DE FORETS
Le but de ce modèle est de fournir aux pompiers la possibilité de prévoir les différents scénarii
de propagation, et de pouvoir prendre en compte des modifications structurelles ou comporte-
mentales sur les zones comme par exemple le largage d’un retardant. L’évolution du modèle se
déroule en trois étapes : on calcule dans un premier temps les points d’intersection entre le front
de flammes et les prochaines zones touchées ; on évalue ensuite les distances parcourues par l’in-
cendie ; enfin, on calcule le temps probable avant que la prochaine zone ne soit atteinte.
Dans cette partie, nous présentons les résultats obtenus à partir de ce modèle. Dans la pre-
mière section, nous décrivons l’étape de modélisation des paramètres, afin d’être le plus pointu
possible nous avons utilisé un système d’inférence floue. Dans la section suivante, nous détail-
lons le système, et notamment la représentation du terrain sous forme de zones. Dans la troisième
section, nous décrivons le comportement du modèle powerDEVS, et donnons les algorithmes des
fonctions de transition. Enfin, les résultats de la simulation sont présentés dans la dernière section.
4.3.1 Modélisation des paramètres
Comme souvent, avant de définir un modèle, il est nécessaire d’identifier les paramètres à
prendre en compte. Dans la partie 4.1, nous avons listé les différents éléments ayant plus ou moins
d’influence sur la propagation d’un incendie.
Dans le premier exemple, nous avons utilisé comme paramètres les coordonnées de départ, un
coefficient de terrain, le pourcentage, la direction, et la vitesse du vent. Pour ce nouveau modèle,
les paramètres pris en compte sont les mêmes, mais ils ont été modélisés avec plus de finesse.
Les coordonnées de départ sont fixées par l’utilisateur.
Le coefficient de terrain est remplacé par un coefficient de propagation qui décrit l’influence
de plusieurs paramètres. Pour cela nous avons utilisé un système d’inférence floue.
Les SIF ont été présentés dans la partie 1.4.2. Un SIF est formé de trois blocs : fuzzification,
moteur d’inférence, et défuzzification.
– La fuzzification transforme une valeur d’entrée numérique en sous ensembles flous ;
– L’inférence produit l’image des sous ensembles flous issus de la fuzzification par une rela-
tion floue construite à partir de règles ;
120
APPLICATION : PROPAGATION DE FEUX DE FORETS
– La défuzzification transforme l’image issue de l’inférence en valeur numérique de sortie.
Nous avons utilisé le logiciel FisPro4 qui permet de créer des systèmes d’inférence floue, et de
les utiliser à des fins de raisonnement, en particulier pour la simulation de systèmes physiques ou
biologiques.
FIG. 4.8: Représentation du niveau de stress des végétaux
Le taux d’humidité des végétaux et la température ambiante contrôlent le degré de sécheresse
de la végétation, une faible humidité et de hautes températures peuvent induire une perte d’eau
chez les végétaux, la dégradation de leur état sanitaire, leur dessèchement, et un stress. Une sécher-
esse persistante de la végétation associée à un temps sec et très chaud peut créer des conditions4Fuzzy Inference System Professional - http ://www.inra.fr/internet/Departements/MIA/M//fispro/
121
APPLICATION : PROPAGATION DE FEUX DE FORETS
favorables à l’éclosion des incendies. L’évaluation de l’intensité et de la durée du stress subi par
la végétation est donc un bon indicateur du risque incendie.
Le stress de la végétation est calculé à partir d’un outil pour l’évaluation de la sécheresse,
basé sur les données AVHRR [Kog97, Kog99]. Cet outil combine l’indice de végétation à dif-
férence normalisée (Normalised Difference Vegetation Index, NDVI) et les données thermiques,
pour obtenir des indices évaluant l’état sanitaire de la végétation par des valeurs numériques. Les
valeurs sont échelonnées d’un stress extrême (zéro) à favorable (100) sur la base des données col-
lectées par l’AVHRR pendant 14 ans. Des indices inférieurs à 35 indiquent le début d’un stress
environnemental, manifesté par une détérioration de la végétation qui perd de sa verdeur et de sa
vigueur. Un stress de végétation continu et intense est un bon indicateur de danger d’incendie.
A partir de plusieurs paramètres d’entrée comme le stress de la végétation (décrit comme
l’inflammabilité figure 4.8), ou encore les paramètres présentés section 4.1, comme la hauteur de la
végétation (figure 4.9), la vitesse du vent (modélisée à partir de l’échelle de Beaufort tableau 4.1),
la pente du terrain, la densité de végétation, et le niveau d’entretien, nous définissons plusieurs
règles.
Chaque règle, de type :
"Si le vent est fort et le niveau de stress de la végétation est élevé et etc. alors le coefficient de
propagation est élevé"
permet d’obtenir une valeur à la fois numérique et linguistique du coefficient de propagation.
La sortie du SIF qui décrit le coefficient de propagation est présentée figure 4.10.
Ce mécanisme est très utile pour définir un coefficient de propagation liant valeur numérique
et représentation linguistique. La valeur numérique est fixée en fonction des paramètres de la zone
(éléments d’entrée du SIF) touchée par l’incendie.
Le pourcentage du vent est décrit par un intervalle [0.045,0.045,0.030,0.080] (entre 3% et
8%), conformément à ce que nous avons présenté dans la section 4.1.1.
Le vent est toujours défini par sa vitesse et sa direction. Pour rendre l’utilisation du modèle
122
APPLICATION : PROPAGATION DE FEUX DE FORETS
FIG. 4.9: Représentation de la hauteur de la végétation
123
APPLICATION : PROPAGATION DE FEUX DE FORETS
FIG. 4.10: Représentation du coefficient de propagation
124
APPLICATION : PROPAGATION DE FEUX DE FORETS
plus simple, et pour permettre d’adapter les paramètres à notre région, nous avons identifié et
modélisé la direction des vents qui soufflent en Corse.
Nous en distinguons plusieurs :
– u Maestale (le Mistral), vent de la vallée du Rhône de direction Nord-Ouest, il est brusque
et violent, sec en été et humide en hiver ;
– a Tramuntana (la Tramontane), c’est le grand vent hivernal du Nord, froid et souvent violent
en longues rafales ;
– u Grecale, grand vent tyrhénien de Nord-Est, il sévit à l’automne et au printemps, déclen-
chant des tempêtes et arrosant la façade orientale de l’île ;
– u Levante (le levant), vent d’Est pouvant s’il est soutenu franchir les sommets de la Corse
et toucher la côte occidentale ;
– u Sciroccu (le sirocco), vent de Sud qui est très chaud et humide, chargé de sable du Sahara ;
– u Libecciu, vent corse par excellence, de direction Sud-Ouest au sud de la Corse et d’ouest
en Balagne et sur le cap Corse. Il est sec l’été, mais est chargé d’humidité l’hiver, apportant
des précipitations sur les versants occidentaux ;
– u Punente, vent d’Ouest très proche du Libecciu.
FIG. 4.11: Direction du vent en Corse
Chacun de ces vents est représenté en fonction de sa direction, un vent de nord souffle du nord
vers le sud (180°). En utilisant plusieurs sous ensembles flous, nous avons modélisé ces vents
locaux en associant leurs noms et un angle. La figure 4.11 donne la direction, le nord est fixé à 0
125
APPLICATION : PROPAGATION DE FEUX DE FORETS
ou 360 degrés. La figure 4.12 donne pour chaque vent, sa direction et l’angle associé.
FIG. 4.12: Représentation des vents locaux
La vitesse du vent, comme pour le SIF, est modélisée à partir des vitesses (km/h) définies par
l’échelle de Beaufort, tableau 4.1.
4.3.2 Système
Le système est basé sur tous ces paramètres, l’incendie débute aux coordonnées (10,10) fixées
par l’utilisateur. Le terrain est découpé en trois zones :
1. la première zone représente un rectangle. Elle est décrite à partir des coordonnées [(0,0) ;(80,200)],
la pente est de 28° (monté), le degré d’inflammabilité est fixé à 0.7 (très), la hauteur de la
végétation est de 1.60m (ligneux bas), le terrain est sale (entretien = 1.6), et le vent vient du
126
APPLICATION : PROPAGATION DE FEUX DE FORETS
sud ouest (Lebecciu), il souffle entre 50 et 70km/h (grand vent). A partir de ces paramètres,
le coefficient de propagation retourné par le SIF est égal à 1.8 (élevé) ;
2. la seconde zone a pour coordonnées [(80,200) ;(140,200)]. Le terrain est plat (0°), l’in-
flammabilité et la densité normales (0.5), le sol est recouvert d’herbe (hauteur 0.4m), l’en-
tretient est normal (1), et le vent (Lebecciu 310-320°) souffle entre 18 et 22km/h (jolie
brise). A partir de ces paramètres le coefficient de propagation retourné par le SIF est égal à
1 (moyen) ;
3. de la même manière, sur la troisième zone le coefficient de propagation est égal à 1.4 (élevé).
Le vent souffle entre 30 et 50km/h de direction sud (Sciroccu).
4.3.3 Modèles
Les modèles reposent sur tous les paramètres présentés dans les deux sections précédentes
(cf. 4.3.1 et 4.3.2).
Afin de représenter le système nous avons défini quatre modèles atomiques powerDEVS.
FIG. 4.13: Modèle couplé PowerDEVS
Le premier modèle (modèle 1, figure 4.13) contient les paramètres de terrain. Il renvoie les
coordonnées de départ du feu et les paramètres de la zone touchée en début de simulation, et
lorsqu’il reçoit un message du modèle 3 (changement de zone).
Le second modèle (modèle 2, figure 4.13) est un générateur qui transmet les données météorologiques,
sens et puissance du vent.
127
APPLICATION : PROPAGATION DE FEUX DE FORETS
Le troisième modèle (modèle 3, figure 4.13) calcule les points d’intersection entre une zone et
le front de flamme.
Le dernier modèle (modèle 4, figure 4.13) affiche les résultats.
Le modèle 3 est le plus important, les algorithmes 17,18 et 19 décrivent son comportement.
L’algorithme 17 représente la fonction de transition externe δext . Elle permet de mettre à jour
les données du modèle (puissance et direction du vent, coordonnées de départ de l’incendie, coef-
ficient de propagation et coordonnées de la zone).
Algorithme 17 Fonction de transition externe δext .void Propagation : :dext(Event x, double t)//The input event is in the ’x’ variable.//where :// ’x.value’ is the value (pointer to void)// ’x.port’ is the port numberif (x.port == 1) // Port du modèle 1ventPui = new FuzzyInterval(&x.value[0]) ; // Puissance du ventventDir = new FuzzyInterval(&x.value[1]) ; // Direction du ventcoorD = new FuzzyInterval(&x.value[2]) ; // Coordonnées de départ du feuelsecoefProp = x.value[0] ; // Coefficient de propagation de la zonezone = &x.value[1] ; // Tableau de coordonnées de la zonesigma = 0 ; // Déclanchement de dint
L’algorithme 18 décrit la fonction de transition interne δint . Elle permet de calculer les points
d’intersection, la distance parcourue, et le temps avant la prochaine collision.
L’algorithme 19 détaille la fonction d’avancement du temps ta. Elle fixe le temps de change-
ment de zone (défuzzification de sigma en fonction du coefficient de décision EEM cf. 3.3.1.4), et
définit la date du message envoyé au modèle 1 pour avoir les paramètres de la nouvelle zone.
4.3.4 Résultats
Tous les résultats sont issus du modèle 4 de la figure 4.13. Les courbes 4.14, 4.15 et 4.16
représentent les fonctions d’appartenance du temps mis par l’incendie pour atteindre une nouvelle
zone (2,3 et 4).
128
APPLICATION : PROPAGATION DE FEUX DE FORETS
FIG. 4.14: Fonction d’appartenance du temps d’impact avec la zone 2
FIG. 4.15: Fonction d’appartenance du temps d’impact avec la zone 3
FIG. 4.16: Fonction d’appartenance du temps d’impact avec la zone 4
129
APPLICATION : PROPAGATION DE FEUX DE FORETS
Algorithme 18 Fonction de transition interne δint .void Propagation : :dint(double t)// Angle en degré orienté en fonction de xangle = new FuzzyInterval(360 - (ventDir*PI)/180) ;// recherche du point d’intersectioninter.x = (inter.b - zone.b)/( inter.a - zone.a) // En xinter.y = inter.a * inter.x + inter.b // En Y// calcul de la distancedistance = (inter.x - coorD.x) / angle.cosf() ;// calcule du temps t = d / vtemps = distance / (pcTv*ventPui*coefProp) ;sigma = temps ;
Algorithme 19 Fonction d’avancement du temps ta.double FuzzyTimeModel : :ta(double t)//This function returns a double.// test si sigma est flouif (sigma.isoccur(FuzzyInterval))sigma2 = sigma.coefEEM(0.2) ; // defuzzyfication de sigmalambda += t_mu(sigma.coefEEM(0.2)) ; // degré d’appartenance après defuzzificationtpsSim += sigma ; // intervalle de temps de fin de simulationnbrDefuz++ ; // nombre de defuzzificationsigma2 = sigma ;return sigma2 ;
Le temps a été défuzzifié à partir d’un coefficient de décidabilité fixé à 0.2 (algorithme 11).
Nous avons choisi un coefficient petit, car dans le cas d’incendie où la vie de pompiers est en dan-
ger, il vaut mieux prévoir au plus rapide. Pour cela nous déclenchons volontairement nos évène-
ments très tôt.
Le tableau 4.5 présente les données obtenues. Nous avons pour chaque zone les coordonnées,
la distance parcourue, le temps avant et après défuzzification et le degré de validité du temps
défuzzifié (figures 4.14, 4.15 et 4.16). Nous pouvons constater que les résultats obtenus sont rela-
tivement bons, le degré d’appartenance est toujours supérieur à 0.5.
A partir de ces données nous avons reconstitué la propagation de l’incendie figure 4.17. Sur
cette figure les quatre zones sont visibles, ainsi que les coordonnées de départ de l’incendie (10,10)
130
APPLICATION : PROPAGATION DE FEUX DE FORETS
X Y Distance Temps Temps précis Degré de validitéZone 80 93.4 108.9 40.3
80 80.0 98.9 20.3 17.1 0.71 80 68.7 91.3 9.1
Zone 140 164.9 93.3 172.8140 140 84.8 94.2 75.5 0.6
2 140 119.1 78.3 44.5
Zone 200 175.5 60.9 48.3200 145.2 60.2 23.9 21.2 0.8
3 200 119.1 60.0 10.7
TAB. 4.5: Résultats de la simulation.
FIG. 4.17: Propagation par zones
131
APPLICATION : PROPAGATION DE FEUX DE FORETS
et les différents points d’intersection. Nous pouvons constater que plus la simulation est longue
plus l’intervalle d’intersection s’agrandit. En effet plus nous ajoutons d’imprécision, plus elle
augmente.
L’angle aussi joue un grand rôle, il est facile de remarquer la variation du sens de propagation
entre les deux premières zones et la troisième.
A partir de ces données de simulation, nous pouvons conclure que le front de flamme devrait
atteindre la zone 4 en 21 heures avec une certitude supérieure à 0.6. Le feu aura alors parcouru
environ 244 kilomètres en 21 heures.
Ces résultats peuvent fournir aux pompiers une bonne base de données afin de positionner leurs
hommes sur le terrain bien avant que l’incendie n’arrive. Ainsi, sans craindre la mise en danger
d’hommes, il est possible de préparer le terrain afin de ralentir au mieux le front de flamme.
4.4 Conclusion du Chapitre
Dans ce chapitre, nous avons présenté une application de l’approche iDEVS pour la modéli-
sation et la simulation de propagation de feux de forêt à haut niveau d’abstraction. Le but de cette
application est double : valider la méthodologie iDEVS, et fournir une base expérimentale pour la
lutte et la prévention de feux de forêt.
Dans ce sens, les exemples présentés ont été élaborés en étroite collaboration avec les pompiers
de SDIS1.
L’étude de la propagation d’incendie est un sujet très vaste, qui peut aussi bien être traité en
physique-chimie pour définir les équations d’inflammabilité de la végétation, qu’en informatique
pour fournir des outils de simulation. Afin de proposer un outil de prédiction en temps réel, nous
avons volontairement choisi d’aborder le problème en suivant la démarche des professionnels,
c’est-à-dire en utilisant des équations de propagation simplifiées. On peut noter dès à présent que
cet outil répond correctement aux besoins des pompiers aussi bien pour la prévention que pour la
lutte, et permet de valider leurs "intuitions".
Deux types de modèles, dont le but est de prévoir rapidement la propagation du feu, ont été
132
APPLICATION : PROPAGATION DE FEUX DE FORETS
étudiés.
Dans le premier exemple (partie 4.2), nous proposons la propagation d’un feu en fonction du
temps, le front de flamme est décrit par plusieurs points afin de pouvoir être reconstitué à chaque
pas de temps. De nombreux paramètres imprécis entrent en ligne de compte, ce qui donne au final
plusieurs propagations possibles.
Dans le second exemple (partie 4.3), le modèle est basé sur la prise en compte de nombreux
paramètres grâce à l’utilisation d’un système d’inférence floue. Le but du modèle est de proposer
une propagation vectorielle, ou propagation par zone. Les paramètres du modèle sont mis à jour
après le changement de zone.
A partir de ces deux modèles, les pompiers peuvent adapter leur stratégie de prévention ou
de lutte. Grâce à l’utilisation des SIF, il est aussi possible de définir un degré de risque pour la
population, ou un degré de risque de départ d’incendie. Des travaux similaires ont déjà été conduits
en Grèce [IPL01, Ili05]. La prise en compte du facteur humain est primordiale pour les pompiers,
il fait d’ailleurs partie des paramètres identifiés dans la section 4.1. La mise en place d’un système
d’inférence floue couplé à une centrale météorologique et un logiciel de cartographie permettrait
aux pompiers d’avoir localement, pour chaque zone, et en temps réel, un niveau d’alerte optimisé.
De plus, en associant ce dispositif et nos modèles, ils auraient à leur disposition des outils de
prévention rapides, souples et adaptés à l’environnement local.
Au travers de ces deux exemples nous avons montré qu’il était possible d’utiliser notre ap-
proche pour modéliser le raisonnement intuitif des professionnels et de le mettre en œuvre sim-
plement en utilisant un outil adapté.
133
Conclusion Générale et Perspectives
Dans les sciences, le chemin est plus
important que le but. Les sciences n’ont
pas de fin.
Erwin Chargaff
L’OBJECTIF de nos travaux était la définition d’une nouvelle méthode de modélisation et
de simulation de systèmes à paramètres flous. Pour cela nous nous sommes basés sur le
formalisme de modélisation et de simulation DEVS et sur la théorie des sous ensembles flous.
Le multi formalisme DEVS est un formalisme de modélisation et de simulation qui regroupe
de manière cohérente plusieurs méthodologies de modélisation. Il permet de réduire la complexité
inhérente à la modélisation d’un système. De plus il fait une distinction entre la partie modélisa-
tion et la partie simulation au niveau de la conception des modèles et de la génération des algo-
rithmes de simulation. La phase de simulation est automatisée, en effet pour un modèle respectant
les propriétés fondamentales du formalisme, les algorithmes de simulation sont automatiquement
générés. Enfin, à partir du formalisme DEVS il est possible d’effectuer des simulations discrètes
en évènement ou en temps.
La théorie des sous ensembles flous (fuzzy sets) a été définie pour permettre la prise en compte
de données imprécises. Elle est basée sur le concept de fonction d’appartenance, qui donne le de-
134
CONCLUSION GENERALE ET PERSPECTIVES
gré de validité d’une proposition. En outre, elle permet de faire un lien entre données numériques
et linguistiques, ce qui est un avantage fondamental dans le dialogue avec des spécialistes non in-
formaticiens. En résumé, c’est une théorie qui ajoute beaucoup de souplesse pour la représentation
des systèmes flous.
Nos travaux sont basés en grande partie sur ces deux concepts. Notre problématique a été de
définir une méthode qui permette de les associer de manière cohérente et pertinente.
FIG. 4.18: Résumé du cheminement scientifique à la base de la méthode iDEVS
135
CONCLUSION GENERALE ET PERSPECTIVES
Bilan des travaux
L’intégration de la théorie des SEF dans DEVS s’est déroulée en plusieurs étapes :
– nous avons tout d’abord dû choisir le type de paramètre flou à prendre en compte. Un
paramètre est flou soit parce qu’il est décrit de manière imprécise, ou parce que sa réalisation
est incertaine, ou encore parce qu’il est inexact. Au travers de nos recherches nous avons axé
notre méthode sur la prise en compte de paramètres imprécis, et cela pour plusieurs raisons.
Cette forme d’imperfection est la plus rencontrée sur le terrain, l’attente des spécialistes est
donc importante. De plus, c’est un des aspects qui n’avait pas été totalement traité par le
formalisme DEVS, contrairement aux paramètres incertains (Fuzzy-DEVS) ;
– nous avons identifié les éléments pouvant être imprécis dans le formalisme DEVS, nous
pouvons citer le temps et la valeur des évènements, ou encore l’état, les valeurs d’entrée et
de sortie des modèles. Cette phase nous a conduit à proposer des approches de traitement
en fonction des éléments identifiés ;
– l’étape suivante a consisté à définir une structure de données adaptées à l’approche DEVS
et pouvant traiter des paramètres imprécis. Pour permettre une bonne représentation des
paramètres imprécis, nous avons choisi de les décrire sous deux formes : intervalle ou équa-
tion. Ce choix est lié à la théorie des SEF, et à la transcription de paramètres flous sous
forme de quantités floues. Une quantité floue permet de décrire de manière simple une im-
précision sous forme d’intervalle ou de nombre flou. De plus, utiliser les quantités floues
permet d’avoir accès à un grand nombre de fonctions de manipulation ;
– nous avons regroupé la structure de données et un grand nombre de fonctions de manipula-
tion dans une librairie. Elle permet la définition et la manipulation de données imprécises.
Cette librairie a été ajoutée au formalisme DEVS pour permettre la définition de modèles à
paramètres imprécis (modèles iDEVS) ;
– suite à cela, il a été nécessaire de modifier les modèles atomiques DEVS pour prendre en
compte l’imprécision au niveau des dates de déclenchement des évènements. En effet, une
fois la date définie de manière imprécise, il n’était plus possible de poursuivre la simulation.
Pour régler ce problème nous avons dû modifier la fonction d’avancement du temps (ta) des
136
CONCLUSION GENERALE ET PERSPECTIVES
modèles atomiques DEVS. Deux possibilités s’offraient à nous : modifier les algorithmes
de simulation comme dans Min-Max-DEVS ou Fuzzy-DEVS, ou modifier les modèles pour
traiter le problème coté modélisation. Notre choix s’est porté vers la seconde solution, car
une de nos contraintes de base était d’apporter le moins de modifications possibles au for-
malisme DEVS dans le but de fournir une méthode facilement utilisable ;
– nous avons donc proposé des modèles atomiques et couplés iDEVS. Ces modèles pren-
nent en compte toutes les étapes précédentes pour permettre la modélisation de systèmes
à paramètres imprécis. Les modèles iDEVS ont le même comportement que les modèles
DEVS, mais ils permettent la manipulation de données imprécises. Si toutes les données
sont définies de manière précises, les résultats de la simulation sont les mêmes que pour un
modèle DEVS classique ;
– enfin, la méthodologie définie a été appliquée pour l’étude de la propagation de feux de
forêt. Nous avons présenté deux exemples d’utilisation de modèles imprécis. Dans de tels
domaines, il est essentiel de pouvoir correctement modéliser les paramètres qui entrent en
jeu, de ce fait la prise en compte de leur imprécision est un avantage. Avec cette application
nous avons pu prouver la souplesse et la pertinence de cette nouvelle approche, et ainsi la
valider.
Dans ce document nous avons donc proposé, en nous appuyant sur le formalisme DEVS et sur une
partie des théories de la logique floue, une nouvelle approche de modélisation et de simulation de
systèmes à paramètres imprécis. Cette approche permet de représenter les données approxima-
tives sous forme linguistique, proche du mode de représentation de l’être humain, ou numérique,
à travers l’utilisation de quantités dénombrables imprécises. La prise en compte des imprécisions
au niveau des modèles DEVS s’est traduite par la définition de nouveaux modèles atomiques et
couplés. L’utilisation de ces modèles est indépendante de la plate forme utilisée, en effet la méth-
ode iDEVS ne modifie par les algorithmes de simulation du formalisme DEVS classique, de ce
fait elle peut être importée dans n’importe quel environnement de multi-modélisation sans avoir à
effectuer de changement au préalable. Les modèles iDEVS peuvent donc être inter-connectés avec
n’importe quels autres modèles DEVS, mais comme ils manipulent des imprécisions, les résultats
137
CONCLUSION GENERALE ET PERSPECTIVES
retournés seront forcement de type imprécis. Du point de vu de son mode d’utilisation, l’approche
iDEVS, est donc très générique.
L’arbre présenté figure 4.18 propose une vue globale de nos travaux de recherche. Les racines
représentent le socle théorique de l’approche. Le tronc de l’arbre liste les méthodologies DEVS
ayant les mêmes bases. L’étude des formalismes Min-Max-DEVS et Fuzzy-DEVS nous a guidé
pour la définition de l’approche iDEVS. Les feuilles proposent une vision de l’après iDEVS, les
perspectives de recherche qui ont émergé pendant son développement.
Perspectives de recherche
Nos perspectives sont multiples. Tout d’abord, à court terme, nous pensons améliorer l’ap-
proche iDEVS en complétant la librairie, et en ajoutant plus de fonctions de manipulation. Dans
la même optique, nous souhaitons développer plus de modèles iDEVS, et ainsi les mettre à dispo-
sition via la bibliothèque de modèles. Ensuite, nous voudrions appliquer cette approche à d’autres
domaines afin de prouver sa généricité.
Toujours à court terme, nous travaillons sur l’utilisation de la logique floue pour la définition
d’un langage de spécification de modèle DEVS à haut niveau [GBVS07].
Comme nous pouvons le voir sur la figure 4.18, à moyen terme nous désirons travailler sur
deux nouvelles approches de modélisation floue.
La première DEVFISS (Discret EVent Fuzzy Inference System Specification) a pour but de
définir des modèles d’inférence floue DEVS. Nous pensons que l’ajout de ce type de modèle peut
être un plus dans l’optique de développer un véritable environnement de multi modélisation fondé
sur le formalisme DEVS.
La seconde Fuzz-iDEVS doit regrouper, à partir de iDEVS, plusieurs méthodes de modélisa-
tion floue, comme DEVFISS, ou encore une version améliorée de Fuzzy-DEVS, qui ne traiterait
pas seulement les incertitudes sur les changements d’états, mais directement sur les évènements.
Concernant notre application, à plus long terme, il sera nécessaire de voir comment les pom-
138
BIBLIOGRAPHIE
piers pourront utiliser la méthode sur le terrain. Nous travaillons d’ailleurs sur un projet pluridisci-
plinaire dans les domaines de l’informatique, qui vise à intégrer le formalisme DEVS et plusieurs
autres techniques de modélisation comme SMA5, les SIG6, et les WEB services, dans le but de
valider un environnement logiciel de modélisation et de simulation de systèmes complexes (dy-
namiques et/ou flous) spatialisés.
5Systèmes Multi-Agents6Système d’information Géographique
139
Bibliographie
[ACG+00] A. Anglani, P. Caricato, A. Grieco, F. Nucci, A. Matta, G. Semeraro, and
T. Tolio. Evaluation of capacity expansion by means of fuzzy-devs. cite-
seer.ist.psu.edu/499458.html, May 2000. 14th European Simulation MultiConfer-
ence. Ghent, Belgium.
[AGN+00] A. Anglani, A. Grieco, F. Nucci, G. Semeraro, and T. Tolio. A new algorithm to
rank temporal fuzzy sets in fuzzy discrete event simulation. Fuzzy Systems, 2000.
FUZZ IEEE 2000. The Ninth IEEE International Conference on, 2 :923–928, 2000.
[Aie97] A. Aiello. Environnement Orienté Objet de Modélisation et de Simulation à Evène-
ments Discrets de Systèmes Complexes. PhD thesis, Université de Corse, 1997.
[Bar95] F. Barros. Dynamic structure discrete event system specification : a new formalism
for dynamic structure modelling and simulation. In Proceedings of Winter Simula-
tion Conference 1995, 1995.
[BCdGB07] P.-A. Bisgambiglia, L. Capocchi, E. de Gentili, and P.A. Bisgambiglia. Manipu-
lation of incomplete or fuzzy data for DEVS-based systems. In SCS, editor, Pro-
ceedings of the International Modeling and Simulation Multiconference (IMSM) -
Conceptual Modeling Simulation (CMS), pages 87–92, 2 2007.
140
BIBLIOGRAPHIE
[BdGBS07] P.-A. Bisgambiglia, E. de Gentili, P.A. Bisgambiglia, and J.F. Santucci. Modélisa-
tion floue basée sur le formalisme DEVS et sur la méthode des fronts. Cépaduès
editions edition, 11 2007.
[BdGBS08a] P.-A. Bisgambiglia, E. de Gentili, P.A. Bisgambiglia, and J.F. Santucci. Discrete
events system simulation-based defuzzification method. In Proceedings of The 14th
IEEE Mediterranean Electrotechnical Conference (MELECON), pages 132–138,
05 2008.
[BdGBS08b] P.-A. Bisgambiglia, E. de Gentili, P.A. Bisgambiglia, and J.F. Santucci. Fuzzy mod-
eling for discrete events systems. In Proceedings of The 14th IEEE Mediterranean
Electrotechnical Conference (MELECON), pages 151–157, 05 2008.
[BdGBS08c] P.-A. Bisgambiglia, E. de Gentili, P.A. Bisgambiglia, and J.F. Santucci. Fuzzy simu-
lation for discrete events systems. In Proceedings of the 2008 IEEE World Congress
on Computational Intelligence (WCCI 2008) - IEEE International Conference on
Fuzzy Systems (FUZZ-IEEE), pages 688–694, 06 2008.
[BdGFB06] P.-A. Bisgambiglia, E. de Gentili, J.B. Filippi, and P.A. Bisgambiglia. DEVS-Flou :
a discrete events and fuzzy logic-based new method of modelling. SIMULATION
SERIES, VOL 38, PART 4, pages 83–90, 7 2006.
[BdGSB06] P.-A. Bisgambiglia, E. de Gentili, J.F. Santucci, and P.A. Bisgambiglia. DEVS-
Flou : a discrete events and fuzzy sets theory-based modeling environment. In
IEEE, editor, Proceedings of the Systems and Control in Aerospace and Astronau-
tics, (ISSCAA), pages 95–100, 1 2006.
[BDP93] P. Bosc, D. Dubois, and H. Prade. An introduction to fuzzy sets and possibility
theory based approaches to the treatment of uncertainty and imprecision in database
management systems. 2nd Workshop on Uncertainty Management in Information
Systems : From needs to solutions, 1993.
[Ber13] J. Bernouilli. Ars Conjectandi. 1713.
[Ber68] L.V. Bertalanffy. Théories générale des Systèmes. 1968.
141
BIBLIOGRAPHIE
[Ber02] F. Bernardi. Conception de bibliothèques hiérarchisées de modèles réutilisables
selon une approche orientée objet. PhD thesis, Université de Corse, 2002.
[BFdG06] P.-A. Bisgambiglia, J.B. Filippi, and E. de Gentili. A fuzzy approach of modeling
evolutionary interfaces systems. In IEEE, editor, Proceedings of the ISEIM 2006,
Corte (France), pages 98–103, 6 2006.
[BM95] B. Bouchon-Meunier. Logique floue et ses applications. Addison-Wesley, 1995.
[Cap05] L. Capocchi. Simulation concurrente de fautes comportementales pour des sys-
tèmes à évènements discrets : Application aux circuits digitaux. PhD thesis, Uni-
versité de Corse, 2005.
[Del97] M. Delhom. Modélisation et Simulation Orientées Objet, Contribution à l’Etude du
Comportement Hydrologique d’un bassin Versant. PhD thesis, Université de Corse,
1997.
[Dem67] A.P. Dempster. Upper and lower probabilities induced by a multivalued mapping.
Annals of Mathematical Statistics, (38) :325–339, 1967.
[DFF04] D. Dubois, H. Fargier, and J. Fortin. A generalized vertex method for computing
with fuzzy intervals. In IEEE, editor, Proc. of the International Conference on
Fuzzy Systems, pages 541–546. IEEE, July 2004. Budapest, Hungary.
[dG02] E. de Gentili. Contribution au développement d’une méthode de validation d’ar-
chitecture logicielle de télécommunication à l’aide de la modélisation et de la sim-
ulation à évènements discrets. PhD thesis, Université de Corse, 2002.
[DP80] D. Dubois and H. Prade. Fuzzy sets and systems. 1980.
[DP88] D. Dubois and H. Prade. Representation and combination of uncertainty with belief
functions and possibility measures. Comput. Intell, (4) :244–264, 1988.
[FBD02] J.-B. Filippi, F. Bernardi, and M. Delhom. The JDEVS environmental modeling
and simulation environment. IEMSS, Integrated Assessment and Decision Support,
Lugano Suisse, pages 283–288, 2002.
142
BIBLIOGRAPHIE
[FDF04] Jérôme Fortin, Didier Dubois, and Hélène Fargier. Le calcul des intervalles flous
par la méthode des fronts. Fuzzy interval analysis using the method of profiles.
Cépaduès editions edition, 2004.
[Fil03] J.B. Filippi. Une architecture logicielle pour la multi-modélisation et la simulation
à évènement discrets de systèmes naturels complexes. PhD thesis, Université de
Corse, 2003.
[Fis95] P. Fishwick. Simulation Model Design and Execution : Building Digital Worlds,
1995.
[FZ92] P. Fishwich and B.P. Zeigler. A multi-model methodology for qualitative model
engineering. ACM transaction on Modeling and Simulation, vol. 2, (1) :52–81,
1992.
[GBVS07] S. Garredu, P.-A. Bisgambiglia, E. Vittori, and J.F. Santucci. Toward the definition
of an intuitive specification language. In SCS, editor, Proceedings of the Interna-
tional Modeling and Simulation Multiconference (IMSM) - Conceptula Modeling
Simulation (CMS), pages 187–192, 2 2007.
[GG01] N. Giambiasi and S. Ghosh. Min-Max-DEVS : A new formalism for the specifica-
tion of discrete event models with min-max delays. pages 616–621. 13th European
Simulation Symposium, 2001.
[Glo99] P.Y. Glorennec. Algorithmes d’apprentissage pour systèmes d’inférence floue. Her-
mès Science, 1999.
[Gri97] A.M. Grishin. Mathematical modelling of forest fires and new methods of fighting
them. House of the Tomsk State University, 1997.
[HGF06] A. Hamri, N. Giambiasi, and C. Frydman. Min-Max DEVS modeling and sim-
ulation. Simulation Modelling Practice and Theory (SIMPAT), 14(7) :909–929,
October 2006. Ed. Elsevier, ISSN 1569–190X.
[Hil00] D. R. Hild. Discrete Event System Specification Distributed Object Computing
Modeling and Simulation. PhD thesis, 2000.
143
BIBLIOGRAPHIE
[Ili05] L.S. Iliadis. A decision support system applying an integrated fuzzy model for long-
term forest fire risk estimation. ELSEVIER, Environmental Modelling and Software
20 (2005), pages 613–621, 2005.
[IPL01] L.S. Iliadis, A.K. Papastavrou, and D. Lefakis. A computer-system that classifies
the prefectures of Greece in forest fire risk zones using fuzzy sets. ELSEVIER,
Forest Policy and Economics 4 (2002), pages 43–54, 2001.
[JW02] C. Jacques and G.A. Wainer. Using the cd++ DEVS tookit to develop petrinets. In
SCS, editor, Proceedings of the SCS Conference, 2002.
[Kau73] A. Kaufmann. Introduction à la théorie des sous-ensemble flous. Number 1. Mas-
son edition, 1973.
[KGJ00] E. Kofman, N. Giambiasi, and S. Junco. Fdevs : A general DEVS based formalism
for fault modeling and simulation. European Simulation Symposium, volume 1.
Hamburg (2000), pages 77–82, 2000.
[KLP03] E. Kofman, M. Lapadula, and E. Pagliero. PowerDEVS : A DEVS-based en-
vironment for hybrid system modeling and simulation. Technical report, 2003.
LSD0306, Rosario National University.
[Kog97] F.N. Kogan. Global drought watch from space. Bull. Amer. Meteor. Society,
(4) :621–636, 1997.
[Kog99] F.N. Kogan. Global monitoring fire potential from operational satellites. 1999.
[KPJK96] Y. Kwon, H. Park, S. Jung, and T. Kim. Fuzzy-DEVS Formalisme : Concepts,
Realization and Application. Proceedings AIS 1996, pages 227–234, 1996.
[LLL04] Seungsoo Lee, Kwang H. Lee, and Doheon Lee. Ranking the sequences of fuzzy
values. Inf. Sci. Inf. Comput. Sci., 160(1-4) :41–52, 2004.
[MA75] E.H. Mamdani and S. Assilian. An experiment in linguistic synthesis with a fuzzy
logic controller. International Journal of Man-Machine Studies, (7) :1–13, 1975.
[Mam76] E.H. Mamdani. Advances in the linguistic synthesis of fuzzy controllers. Interna-
tional Journal of Man-Machine Studies, (8) :669–678, 1976.
144
BIBLIOGRAPHIE
[Mam77] E.H. Mamdani. Applications of fuzzy logic to approximate reasoning using lin-
guistic synthesis. IEEE Transactions on Computers, (26) :1182–1191, 1977.
[McA66] A.G. McArthur. Weather and grassland fire behaviour. the Forest and Timber
Bureau, 1966.
[Moo77] R. Moore. Interval analysis. 1977.
[Muz04] A. Muzy. Elaboration de modèles déterministes pour la simulation de systèmes
spaciaux complexes : appliquion à la propagation des feux de forêt. PhD thesis,
Université de Corse, 2004.
[NZ02] Lewis Ntaimo and Bernard P. Zeigler. Expressing a forest cell model in parallel
DEVS and timed cell-DEVS formalisms. Proceedings of the 2004 Summer Com-
puter Simulation Conference, 2002.
[Ore89] T.I. Oren. Knowledge-Based Simulation : Methodology and Application. chap.
Dynamics Templates and Semantic Rules for Simulation Advisters and Certifiers,
1989.
[Ous88] C. Oussalah. Modèles hiérachisés multi-vues pour le support de raisonnement dans
les domaines techniques. Technical report, 1988.
[PR02] Pena-Reyes. Fuzzy modeling. PhD thesis, 2002.
[Ram31] F.P. Ramsey. Truth and probability. The Foundations of Mathematics and other
Logical Essays, 1931.
[RB03] D. Rocacher and P. Bosc. Sur la définition des nombres rationnels flous. Cépaduès
editions edition, 11 2003.
[Rot72] R. C. Rothermel. A mathematical model for predicting fire spread in wildland
fuels. Research Paper INT- 115, Ogden, UT : U.S. Department of Agriculture,
Forest Service, Intermountain Forest and Range Experiment Station. :40p, 1972.
[Sha76] G. Shafer. A Mathematical Theory of Evidence. 1976.
[Sma94] Mohamed Smaili. Modélisation à retards flous de circuits logiques en vue de leur
simulation. PhD thesis, 1994.
145
BIBLIOGRAPHIE
[Sug77] M. Sugeno. Fuzzy measures and fuzzy integrals : a survey. Fuzzy Automata and
Decision Processes, pages 89–102, 1977.
[Sug85] M. Sugeno. Industrial applications of fuzzy control. Elsevier Science Pub. Co,
1985.
[SZ99] Hessam S. Sarjoughian and Bernard P. Zeigler. The role of collaborative devs mod-
eler in federation development. In Proceedings of the 99 System Interoperability
Workshop, 1999.
[TD02] Liem Tran and Lucien Duckstein. Comparison of fuzzy numbers using a fuzzy
distance measure. Fuzzy Sets Syst., 130(3) :331–341, 2002.
[TW03] Alejandro Troccoli and Gabriel Wainer. Implementing parallel cell-DEVS. In
IEEE, editor, Proceedings of the 36th Annual Simulation Symposium, 2003.
[Uhr01] A. Uhrmarcher. Dynamic Structures in Modeling and Simulation : A Reflective
Approach. ACM Transactions on Modeling and Computer Simulation vol. 11 2001,
pages 206–232, 2001.
[Van01] H. Vangheluwe. The Discrete EVent System specification DEVS Formalism. Tech-
nical report, 2001. http ://moncs.cs.mcgill.ca/.
[VdLM02] H. Vangheluwe, J de Lara, and P.J. Mosterman. An introduction to multi-paradigm
modelling and simulation. In SCS Editions, editor, Inproceedins of AIS 2002, 2002.
[Web91] R.O. Weber. Modeling fire spread through fuel beds. Prog. Energy Combust. Sci,
vol. 11, pages 67–82, 1991.
[Zad65] L.A. Zadeh. Fuzzy sets. Information Control, 8 :338–353, 1965.
[Zad72] L.A. Zadeh. A fuzzy-set theoretic interpretation of linguistic hedges, 1972.
[Zad73] L.A. Zadeh. Outline of a new approach to the analysis of complex systems and
decision process. IEEE Trans. Systems, Man and Cybernetics, (3) :28–44, 1973.
[Zad75] L.A. Zadeh. The concept of a linguistic variable and its application to approximate
reasoning, 1975. parts 1 and 2.
146
BIBLIOGRAPHIE
[Zad76] L.A. Zadeh. The concept of a linguistic variable and its application to approximate
reasoning. Information Sciences, (9) :43–80, 1976.
[Zad78] L.A. Zadeh. Fuzzy sets as a basics for a theroy of possibility. Fuzzy Sets and
Systems, pages 3–28, 1978.
[Zad83] L.A. Zadeh. The role of fuzzy logic in the management of uncertainty in expert
systems. Fuzzy Sets and Systems, pages 199–227, 1983.
[Zad88] Lofti A. Zadeh. Fuzzy logic. Computer, 21(4) :83–93, 1988.
[Zei76] Bernard P. Zeigler. Theory of Modeling and Simulation. Academic Press, 1976.
[Zei84] B.P. Zeigler. Multifaceted modelling and discrete event simulation. Academic
Press, 1984.
[Zei00] Bernard P. Zeigler. A theory-based conceptual terminology for M and S, 2000.
[ZKP00] Bernard P. Zeigler, Tag Gon Kim, and Herbert Praehofer. Theory of Modeling and
Simulation. Academic Press, Inc., Orlando, FL, USA, 2000.
[ZML05] Hong Zhang, Tam C. M., and Heng Li. Modeling uncertain activity duration by
fuzzy number and discrete-event simulation. European journal of operational re-
search, 164(3) :573–695, 2005.
[ZV93] Bernard P. Zeigler and S. Vahie. DEVS formalism and methodology - unity of
conception diversity of application. In SCS Editions, editor, Proceedings of the
1993 Winter Simulation Conference, pages 573–579, 1993.
147
Liste des publications
- ISSCAA06 IEEE - International Symposium on Systems and Control in Aeronautics and
Astronautics – Harbin (Chine)
DEVS-Flou : a discrete events and fuzzy sets theory-based modeling environment
Bisgambiglia, P.-A. ; De Gentili, E. ; Santucci, J.-F. ; Bisgambiglia, P.A.
Page(s) : 95-100, Date : 19-21 Jan. 2006
Digital Object Identifier 10.1109 / ISSCAA.2006.1627710
- SCSC’06 - Summer Computer Simulation Conference - Calgary (Canada)
DEVS-Flou : a discrete events and fuzzy logic-based new method of modelling
P.-A. Bisgambiglia, E. de Gentili, J. Filippi, and P. Bisgambiglia
Page(s) : 83 – 90 Date : 31 Juillet – 02 Août 2006 ISBN 1565553071
Journal title : SIMULATION SERIES, VOL 38, PART 4
Publisher Society for Computer Simulation
- ISEIM06 IEEE – International Symposium on Environment Identities and Mediterranean
Area – Corte (France)
A fuzzy approach of modeling evolutionary interfaces systems
P.-A. Bisgambiglia, J.B. Filippi, E. De Gentili
IEEE Cat. Number : 06EX1329C ISBN : 1-4244-0232-8
148
PUBLICATIONS
Dates : 10-13 juin 2006
- IMSM07 SCS - International Modeling and Simulation Multiconference - Conceptual Mod-
eling Simulation (CMS) – Buenos Aires (Argentine)
Manipulation of incomplete or fuzzy data for DEVS-based systems
P.-A. Bisgambiglia, L. Capocchi, E. de Gentili, and P. Bisgambiglia
Page(s) : 87-92 Date : 8-10 Février 2007.
- IMSM07 SCS - International Modeling and Simulation Multiconference - Conceptual Mod-
eling Simulation (CMS) – Buenos Aires (Argentine)
Towardsthe definition of an intuitive specification language
S. Garredu, P.-A. Bisgambiglia, E. Vittori and J.F. Santucci
Date : 8-10 Février 2007
- LFA07 – Rencontres Francophones sur la Logique Floue et ses Application – Nîmes (France)
Modélisation floue basée sur le formalisme DEVS et sur la méthode des fronts
P.-A. Bisgambiglia, E. de Gentili, Pr. P.A. Bisgambiglia, J.-F. Santucci
Page(s) : 293-300 Date : 22-23 Novembre 2007 ISBN : 978.2.85428.798.1 Edition : Cépaduès
- WCCI 2008 - 2008 IEEE World Congress on Computational Intelligence - IEEE Interna-
tional Conference on Fuzzy Systems (FUZZ-IEEE) - Hong Kong
Fuzzy Simulation for Discrete Events Systems
P.-A. Bisgambiglia, E. de Gentili, Pr. P.A. Bisgambiglia, J.-F. Santucci
Date : 1-6 juin 2008
ISBN : 978-1-4244-1819-0 IEEE catalog Number :CFP08FUZ-CDR
- MELECON 2008 – The 14th IEEE Mediterranean Electrotechnical Conference - Ajaccio
(France)
Discrete events system simulation-based deFuzzification method
P.-A. Bisgambiglia, E. de Gentili, P. Bisgambiglia and J.-F. Santucci
Date : 5-7 mai 2008 ISBN : 978-1-4244-1633-2 IEEE catalog Number : CFP08MEL-CDR
- MELECON 2008 – The 14th IEEE Mediterranean Electrotechnical Conference - Ajaccio
(France)
149
PUBLICATIONS
Fuzzy Modeling for Discrete Events Systems
P.-A. Bisgambiglia, E. de Gentili, P. Bisgambiglia and J.-F. Santucci
Date : 5-7 mai 2008 ISBN : 978-1-4244-1633-2 IEEE catalog Number : CFP08MEL-CDR
- SCSC’08 - Summer Computer Simulation Conference – 6th Symposium on Design, Analy-
sis, and Simulation of Distributed Systems 2008 – Edinburgh (Ecosse)
Gestural simulation of singing voices for polyphonic songs learning
J.S. Gualtieri, P.A. Bisgambiglia, J.F. Santucci, D. Federici
- LFA08 – Rencontres Francophones sur la Logique Floue et ses Application – Lens (France)
Utilisation des Systèmes d’Inférence Floue pour la reconnaissance des gestes
J.S. Gualtieri, P.A. Bisgambiglia, J.F. Santucci, D. Federici
Page(s) : Date : 16-17 octobre 2008 ISBN : Edition : Cépaduès
En soumission :
- TSI - Revue des sciences et technologies de l’information
Méthode de modélisation de systèmes à paramètres imprécis
P.-A. Bisgambiglia, E. de Gentili, P. Bisgambiglia et J.-F. Santucci
Seconde soumission
- TSI - Revue des sciences et technologies de l’information
Reconnaissance de gestes par Systèmes d’Inférences Flous
Jean-Sébastien Gualtieri, Paul-Antoine Bisgambiglia, Jean- François Santucci et Dominique
Federici
- SIMULTolls’2009 2nd International Conference on Simulation Tools and Techniques -
ACM
Fuzz-iDEVS : Towards a fuzzy toolbox for discrete event system
P.-A. Bisgambiglia, E. de Gentili, Pr. P.A. Bisgambiglia, J.F. Santucci
- Spring Simulation Multiconference 2009
Simulation iDEVS : new method to study inaccurate systems
150
PUBLICATIONS
P.-A. Bisgambiglia, E. de Gentili, Pr. P.A. Bisgambiglia, J.F. Santucci
151
Liste des figures
1 ENIGME. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi
1.1 Fonction caractéristique µA d’un ensemble réel . . . . . . . . . . . . . . . . . . 11
1.2 Fonction d’appartenance pour un SEF A . . . . . . . . . . . . . . . . . . . . . . 14
1.3 Description linguistique de la vitesse du vent . . . . . . . . . . . . . . . . . . . 15
1.4 Fonctions d’appartenance décrites à partir de labels linguistiques . . . . . . . . . 16
1.5 Fonction d’appartenance décrite à partir de couple x,µA(x) . . . . . . . . . . . . 16
1.6 Complément, Intersection et Union d’un SEF . . . . . . . . . . . . . . . . . . . 17
1.7 Exemple d’opérations sur les nombres flous . . . . . . . . . . . . . . . . . . . . 21
1.8 Intervalle flou I . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
1.9 Système d’inférence floue schématisé . . . . . . . . . . . . . . . . . . . . . . . 30
2.1 Etapes du processus de modélisation et de simulation . . . . . . . . . . . . . . . 34
2.2 Interrelation qui consituent un Système . . . . . . . . . . . . . . . . . . . . . . 37
2.3 Cycle de vie d’un modèle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
2.4 Simulation continue. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
2.5 Simulation discrète dirigée par horloge. . . . . . . . . . . . . . . . . . . . . . . 43
2.6 Simulation discrète dirigée par évènements. . . . . . . . . . . . . . . . . . . . . 44
152
LISTE DES FIGURES
2.7 Description d’un modèle atomique DEVS . . . . . . . . . . . . . . . . . . . . . 48
2.8 Description de l’évolution des éléments d’un modèle atomique . . . . . . . . . . 49
2.9 Description d’un modèle couplé DEVS . . . . . . . . . . . . . . . . . . . . . . 51
2.10 Arbre de Classe du simulateur DEVS . . . . . . . . . . . . . . . . . . . . . . . 53
2.11 Hiérarchie de Classe d’un environnement DEVS . . . . . . . . . . . . . . . . . . 54
2.12 Arbre de simulation Fuzzy-DEVS . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.1 Différents types de fonctions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
3.2 Intervalle flou . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
3.3 Fonctions d’appartenances de C1, C2 et fonctions EEM . . . . . . . . . . . . . 85
3.4 Fonctions C1 et C2 (a et b) après l’application d’une fonction de changement de
domaine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
3.5 Modèle atomique iDEVS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
4.1 Paramètres à prendre en compte pour l’étude de feux de forêt . . . . . . . . . . . 105
4.2 Niveaux de végétation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
4.3 Modèle sous powerDEVS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
4.4 Comportement du modèle PowerDEVS . . . . . . . . . . . . . . . . . . . . . . 114
4.5 Fonctions d’appartenance représentant le proposition 3% de la vitesse du vent (a)
et le coefficient de terrain (b). . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
4.6 Fonction d’appartenance représentant la vitesse du vent. . . . . . . . . . . . . . . 117
4.7 Exemple d’interprétation des résultats de la simulation floue . . . . . . . . . . . 118
4.8 Représentation du niveau de stress des végétaux . . . . . . . . . . . . . . . . . . 121
4.9 Représentation de la hauteur de la végétation . . . . . . . . . . . . . . . . . . . 123
4.10 Représentation du coefficient de propagation . . . . . . . . . . . . . . . . . . . . 124
4.11 Direction du vent en Corse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
4.12 Représentation des vents locaux . . . . . . . . . . . . . . . . . . . . . . . . . . 126
4.13 Modèle couplé PowerDEVS . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
4.14 Fonction d’appartenance du temps d’impact avec la zone 2 . . . . . . . . . . . . 129
153
LISTE DES FIGURES
4.15 Fonction d’appartenance du temps d’impact avec la zone 3 . . . . . . . . . . . . 129
4.16 Fonction d’appartenance du temps d’impact avec la zone 4 . . . . . . . . . . . . 129
4.17 Propagation par zones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
4.18 Résumé du cheminement scientifique à la base de la méthode iDEVS . . . . . . . 135
4.19 SOLUTION. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
154
Liste des tableaux
4.1 Echelle de Beaufort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
4.2 Données d’entrée et de sortie du modèle simple . . . . . . . . . . . . . . . . . . 117
4.3 Données d’entrée et de sortie du modèle avec un paramètre imprécis . . . . . . . 117
4.4 Données d’entrée et de sortie du modèle avec 3 paramètres imprécis . . . . . . . 118
4.5 Résultats de la simulation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
155
Liste des algorithmes
1 Classe IntervalleFlou en pseudo langage . . . . . . . . . . . . . . . . . . . . . . 73
2 Addition floue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
3 Soustraction floue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
4 Fonction décrivant le principe d’extension pour les opérateurs . . . . . . . . . . 75
5 Carré d’un intervalle flou . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
6 Fonction qui renvoie le noyau d’un intervalle . . . . . . . . . . . . . . . . . . . 82
7 Fonction qui renvoie le point milieu d’un intervalle . . . . . . . . . . . . . . . . 83
8 Fonction qui renvoie l’intégrale d’un intervalle . . . . . . . . . . . . . . . . . . 84
9 Fonctions qui renvoient la date prévue d’exécution EEM . . . . . . . . . . . . . 86
10 Suite de la classe IntervalleFlou en pseudo langage . . . . . . . . . . . . . . . . 88
11 Fonction d’avancement du temps imprécise ta . . . . . . . . . . . . . . . . . . . 92
12 Exemple de modèle powerDEVS . . . . . . . . . . . . . . . . . . . . . . . . . . 97
13 Exemple de modèle pythonDEVS . . . . . . . . . . . . . . . . . . . . . . . . . 99
14 δext : fonction de transition externe . . . . . . . . . . . . . . . . . . . . . . . . . 114
15 δint : fonction de transition interne . . . . . . . . . . . . . . . . . . . . . . . . . 115
16 Fonction de transition interne ˜δint . . . . . . . . . . . . . . . . . . . . . . . . . . 116
17 Fonction de transition externe δext . . . . . . . . . . . . . . . . . . . . . . . . . . 128
156
LISTE DES ALGORITHMES
18 Fonction de transition interne δint . . . . . . . . . . . . . . . . . . . . . . . . . . 130
19 Fonction d’avancement du temps ta. . . . . . . . . . . . . . . . . . . . . . . . . 130
157
Acronymes
– M&S : modélisation et simulation
– DEVS : Discret EVent system Specification
– MA : Modèle Atomique
– MC : Modèle Couplé
– EIC : external input coupling
– EOC : external output coupling
– IC : internal coupling
– LF : Logique Floue
– SEF : Sous Ensemble Flou
– L-R : left - right
– SIF : System d’inférence flou
– iDEVS : inacsuracy DEVS
– EEM : Expected Existence Measure
– GCC : GNU Compiler Collection
– SDIS : Service Départemental d’Incendie et de Secours
– FdF : Feux de Forêt
– FisPro : Fuzzy inference system Professional
158
Annexe
Pour l’environnement powerDEVS, la classe est disponible à l’adresse suivante http://
www.ent-montecristo.org/paul-antoine2.bisgambiglia/ rebrique ’recherche’.Pour l’utiliser il suffit de copier les fichiers ’FuzzyInterval.cpp’ et ’FuzzyInterval.h’ dans l’ar-
boressence de powerDEVS, et ensuite via l’outil graphique de conception de modèle inclure le.h.
Après cette étape, il est possible de définir des obljets de type ’FuzzyInterval’ et d’avoir accèsaux différentes méthodes codées dans la classe.
Pour l’environnement python, celui-ci étant toujours en phase de développement au sein denotre Université, nous travaillons afin que la classe et que la bibliothèque de modèles soient inté-grès d’origine.
159
Solution :
Nous sommes souvent retenu de trouver la solution parce que notre esprit se cantonne au
territoire de dessin. Or il n’est nul part indiqué qu’on ne peut pas en sortir.
FIG. 4.19: SOLUTION.
MORALITÉ : pour comprendre un système, il faut... s’en extraire.
Edmond Wells,
Encyclopédie du Savoir Relatif et Absolu, tome IV.
160
Abstract
Vouloir prouver des choses qui sont
claires d’elles-mêmes, c’est éclairer le
jour avec une lanterne.
Aristote
THE natural disasters (fires, floods, tsunamis, hurricanes. . . ) have a considerable human and
economic cost. The annual economic losses combined to catastrophes rose on average to
75.5 billion dollars in the Sixties, to 659.9 billion dollars in the Nineties. Their increases these last
years increased the needs for prevention, fight and decision support.
These phenomena are very complex to study because a great number of parameters are taken
into consideration, of which some remain still fuzzy. A traditional methodology of modeling does
not make it possible to process them. For example, to anticipate as well as possible the behaviour
of a fire of forest, in order to study its spreading, we think that it is essential to be able to take
into account a maximum of parameters. The natural parameters are often vague, inaccurate or
uncertain (fuzzy).
Nowadays, the modeling and simulation formalisms more and more used in order to help to
forecast and understand these complex phenomena. The purpose of our work is to integrate into a
modeling and simulation formalism based on the paradigm of discrete events that is to say DEVS
161
ABSTRACT
introduce by Professor B.P. Zeigler (Discrete EVents system Specification [Zeigler, 76],[Zeigler,
84]), a "mode of fuzzy reasoning".
Our approach should make it possible to process the inaccurate parameters by using the math-
ematical method introduces by professor L.A. Zadeh called the Fuzzy Sets Theory [Zadeh, 65].
This one offers a mathematical tools pallet to model the human reasoning mode, and is an effective
means to take into account the inaccuracy of knowledge.
The advocated approach has to be general and independent of a given application. However we
propose to validate this approach within the framework of the following application : the spread-
ing of fires of forests modeling. This validation is developed from the fuzzy data like the wind,
the spreading tableland, vegetation outlines, the ground topology, the various types of vegetation
flammability, etc.
The approach of modeling at discrete events of inaccurate data is defined through the following
stages :
1. Definition of modeling approach based on the coupling of the fuzzy sets theory and formal-
ism DEVS [Bisgambiglia, and al., 2006a] ;
2. Definition of the simulation approach, with the constraint of not changing the algorithms
simulation formalism DEVS. For this we use a defuzzification function. It transforms an
inaccuracy in real numbers [Bisgambiglia, and al. 2008] ;
3. Integration of these two approaches in DEVS formalism and definitions DEVS atomic and
coupled models ;
4. Validation of the iDEVS approach.
The acquisition of knowledge of a particular field of expertise is an essential stage to carry out
an effective reasoning ; however, it appears, in certain cases, that it becomes difficult to formalize
and to state the relevant knowledge. The taking into account of fuzzy parameters for the study of
complex systems is thus an asset for all the people who study such systems.
Our work is performed in close cooperation with the specialists in the studied systems, in
order to model the parameters which are indispensable for us using their knowledge. This stage is
162
ABSTRACT
possible thanks to the use of fuzzy functions for the parameters representation, and thanks to the
fuzzy modeling, which provides approximate but effective means to describe the behaviour of the
systems which are too complex or badly defined to admit the use of a traditional analysis [Zadeh
65].
In this article, after a brief presentation of approaches to modeling and simulation, we describe
iDEVS models. Finally an application started in [Bisgambiglia, and al. 2006b] spread by tableland
forest fire is proposed. This new approach must still be sophisticated, and be extended to the study
of other natural phenomena in order to be validated and to prove its generics. Besides, we are
working to define a method of fuzzy inference DEVS : DEVFIS.
163