• Aucun résultat trouvé

Modélisation et la Simulation

N/A
N/A
Protected

Academic year: 2022

Partager "Modélisation et la Simulation"

Copied!
86
0
0

Texte intégral

(1)

MODÉLISATION ET LA SIMULATION

Jean Marie Dembele

(2)

Avant-propos

L’Université Virtuelle Africaine (UVA) est fière de participer à accès à l’éducation dans les pays africains en produisant du matériel d’apprentissage de qualité. Nous sommes également fiers de contribuer à la connaissance globale, pour nos ressources éducatives sont principalement accessibles de l’extérieur du continent africain.

Ce module a été développé dans le cadre d’un programme de diplôme et diplôme en

informatique appliquée, en collaboration avec 18 institutions partenaires dans 16 pays africains.

Un total de 156 modules ont été développés ou traduits pour assurer la disponibilité en anglais, français et portugais. Ces modules sont également disponibles en tant que ressources éducatives ouvertes (OER) à oer.avu.org.

Au nom de l’Université Virtuelle Africaine et notre patron, nos institutions partenaires, la Banque africaine de développement, je vous invite à utiliser ce module dans votre

établissement, pour leur propre éducation, partager aussi largement que possible et participer activement aux communautés AVU de pratique d’intérêt. Nous nous engageons à être à l’avant-garde du développement et de partage ouvert de ressources pédagogiques.

L’Université Virtuelle Africaine (UVA) est une organisation intergouvernementale

panafricaine mis en place par lettre recommandée avec un mandat d’augmenter l’accès à l’enseignement supérieur et de formation de qualité grâce à l’utilisation novatrice des technologies de communication de l’information. Une charte instituant la UVA Organisation intergouvernementale, signée à ce jour par dix-neuf (19) Les gouvernements africains - Kenya, Sénégal, Mauritanie, Mali, Côte d’Ivoire, Tanzanie, Mozambique, République démocratique du Congo, Bénin, Ghana, République de Guinée, le Burkina Faso, le Niger, le Soudan du Sud, le Soudan, la Gambie, la Guinée-Bissau, l’Ethiopie et le Cap-Vert.

Les institutions suivantes ont participé au programme informatique appliquée: (1) Université d’Abomey Calavi au Bénin; (2) University of Ougagadougou au Burkina Faso; (3) Université Lumière Bujumbura Burundi; (4) Université de Douala au Cameroun; (5) Université de

Nouakchott en Mauritanie; (6) Université Gaston Berger Sénégal; (7) Université des Sciences, Techniques et Technologies de Bamako au Mali (8) Institut de la gestion et de l’administration

publique du Ghana; (9) Université des sciences et de la technologie Kwame Nkrumah au Ghana; (10) Université Kenyatta au Kenya; (11) Université Egerton au Kenya; (12) Université d’Addis-Abeba en Ethiopie (13) Université du Rwanda; (14) University of Salaam en Tanzanie Dar; (15) Université Abdou Moumouni Niamey Niger; (16) Université Cheikh Anta Diop au Sénégal; (17) Université pédagogique au Mozambique; E (18) L’Université de la Gambie en Gambie.

Bakary Diallo le Recteur

Université Virtuelle Africaine

(3)

Auteur

Jean Marie Dembele

Pair Réviseur

Ibrahima Amadou

UVA – Coordination Académique

Dr. Marilena Cabral

Coordinateur global Sciences Informatiques Apliquées

Prof Tim Mwololo Waema

Coordinateur du module

Florence Tushabe

Concepteurs pédagogiques

Elizabeth Mbasu Benta Ochola Diana Tuel

Equipe Média

Sidney McGregor Michal Abigael Koyier

Barry Savala Mercy Tabi Ojwang

Edwin Kiprono Josiah Mutsogu

Kelvin Muriithi Kefa Murimi

Victor Oluoch Otieno Gerisson Mulongo

(4)

Droits d’auteur

Ce document est publié dans les conditions de la Creative Commons Http://fr.wikipedia.org/wiki/Creative_Commons

Attribution http://creativecommons.org/licenses/by/2.5/

Le gabarit est copyright African Virtual University sous licence Creative Commons Attribution- ShareAlike 4.0 International License. CC-BY, SA

Supporté par

Projet Multinational II de l’UVA financé par la Banque africaine de développement.

(5)

Avant-propos 2

Crédits de Production 3

Droits d’auteur 4

Supporté par 4

Aperçu du Cours 6

Bienvenue à Modélisation et Simulation 6

Prérequis 6

Matériaux 6

Bibliographie 6

Objectifs du cours 6

Unités 7

Évaluation 8

Plan 8

Lectures et autres ressources 10

Unité 0. Évaluation Diagnostique (Introduction aux Systèmes) 11

Introduction à l’unité 11

Objectifs de l’unité 11

Évaluation de l’unité 11

Termes clés 11

Lectures et autres ressources 12

Unité 1: Introduction à la Modélisation et la Simulation 13

Introduction à l’unité 13

Objectifs de l’unité 13

Activités d’apprentissage 13

Activité 1 – Introduction à la modélisation 13 Termes clés 13

Détails de l’activité 14

(6)

Activité 2 – Les formalismes de simulation 21

Détails de l’activité 21

Conclusion 23

Résumé de l’unité 23 Évaluation de l’unité 24 Lectures et autres ressources 24

Unité 2: Modélisation de Systèmes Continus à Base D’agents 25

Introduction à l’unité 25 Objectifs de l’unité 25 Activités d’apprentissage 25 Activité 1 – Découverte des systèmes, quelques exemples concrets 25 Termes clés 25

Détails de l’activité 26

Conclusion 33

Activité 2 – La modélisation à base d’agents 34

Détails de l’activité 34

Conclusion 41

Activité 3 – A base d’agents Vs A base d’équations 41

Détails de l’activité 41

Conclusion 53

Lectures et autres ressources 53 Résumé de l’unité 53 Évaluation de l’unité 53

Unité 3: Modélisation de Systèmes Dynamiques (Systems Dynamics) 54

Introduction à l’unité 54 Objectifs de l’unité 54 Activités d’apprentissage 54 Activité 1 - Présentation du module SD de Netlogo 54 Termes clés 54

Détails de l’activité 55

(7)

Détails de l’activité 56

Conclusion 59

Activité 3 – Implémentation du modèle Proies/Prédateurs 59

Détails de l’activité 59

Conclusion 65

Lectures et autres ressources 66 Résumé de l’unité 66 Évaluation de l’unité 66

Unité 4: Modélisation à Événements Discrets 67

Introduction à l’unité 67 Objectifs de l’unité 67 Activités d’apprentissage 67 Activité 1 – Définition de la modélisation à événements discrets 67 Termes clés 67

Détails de l’activité 68

Conclusion 71

Activité 2 – Représentation de Tous les Éléments d’un Modèle à Événements

Discrets 71

Détails de l’activité 72

Résumé de l’unité 80 Évaluation de l’unité 80

Conclusion 80

Lectures et autres ressources 82

(8)

Aperçu du Cours

Bienvenue à Modélisation et Simulation

Le but de ce cours est de vous fournir les bases de la modélisation et de la simulation de systèmes. L’intérêt de la modélisation et de la simulation est de reproduire le comportement d’un système pour lequel il est difficile d’anticiper son comportement. Le principal objectif de ce cours est de s’approprier les fondements de ce domaine de la conception à la réalisation de simulations. Il vous sera présenté les différentes catégories de systèmes et de modèles qui peuvent en découler. Ensuite des logiciels de simulations vont vous permettre de passer à l’exécution du modèle pour faire des analyses statistiques et de la visualisation de résultats pour une meilleure compréhension du système cible.

Prérequis

1. Equations différentielles et calcul intégral.

2. Introduction à la probabilité et à la statistique 3. Algèbre linéaire

4. Algorithmes et structures de données 5. Initiation à l’informatique

Matériaux

1. Les matériaux nécessaires pour compléter ce cours comprennent:

2. Le logiciel Netlogo: https://ccl.northwestern.edu/netlogo/

3. Le logiciel Anylogic : http://www.anylogic.com

Bibliographie

1. J. Banks, J. C. Carson, II, and B. L. Nelson, “Discrete-Event System Simulation,”

2nd Edition, Prentice Hall, 1996, ISBN 0-13-217449-9.

2. P. A. Fishwick, Simulation Model Design and Execution, Englewood Cliffs, New Jersey: Prentice-Hall, 1995 (QA76.9.C65F57).

Objectifs du cours

1. À la fin de ce cours, l’étudiant devrait être en mesure de :

2. Définir les différents concepts de la modélisation et de la simulation ; 3. Concevoir et implémenter un modèle discret ou continu ;

(9)

4. De modéliser un système et de produire une analyse comportementale et statistique de votre modèle ;

5. De modéliser les systèmes continus avec les agents (systèmes multi-agents) ; 6. De modéliser des systèmes dynamiques (Systems Dynamics dans la

littérature) ;

7. De modéliser un système à événements discrets.

Unités

Unité 0: Evaluation diagnostique (Introduction générale aux systèmes)

Cette unité présente une introduction générale à la notion de systèmes, d’entités de systèmes, de relations et d’interactions entre les entités des systèmes, de types de systèmes

Unité 1 : Introduction à la modélisation et la simulation

Cette unité introduit les notions de modélisation et de simulation, d’analyse de systèmes, et propose une classification des différentes approches de modélisation : modélisation de systèmes continus à base d’agents, modélisation de systèmes dynamiques (Systems Dynamics) et la modélisation à événements discrets.

Unité 2: Modélisation de systèmes continus à base d’agents

Dans cette unité, il est question de s’intéresser à la modélisation des systèmes à temps continus. Les équations différentielles (équations différentielles ordinaires, équations aux dérivées partielles) sont l’outil classique de modélisation mathématique de tels systèmes mais on montrera l’implémentation de tels systèmes en Informatique à travers l’utilisation d’un logiciel de simulation à base d’agents, Netlogo.

Unité 3: Modélisation de systèmes dynamiques (Systems Dynamics)

Cette unité traite les systèmes dynamiques (Systems Dynamics) qui sont un type de

modélisation où l’objectif est de comprendre comment les éléments sont en relations les uns avec les autres. Cette approche différente de celle basée sur les agents que nous verrons dans l’unité 2 sera tout de même traitée par le même logiciel. En effet, dans Netlogo, il y a un module permettant de simuler les Systems Dynamics. Cette unité s’inspire du manuel de l’utilisateur du systems Dynamics de Netlogo.

(10)

Unité 4: Modélisation à événements discrets

Cette unité abordera le dernier formalisme de modélisation ; la modélisation à événements discrets. Elle donnera des concepts clés autour de cette modélisation tout en précisant les structures nécessaires pour mener une telle modélisation (agents, file d’attente, horloge,…). Un exemple sera traité pour vous aider à cerner ce formalisme.

Évaluation

Les évaluations formatives (vérification de progrès) sont inclus dans chaque unité.

Les évaluations sommatives (tests et travaux finaux) sont fournies à la fin de chaque module et traitent des connaissances et compétences du module.

Les évaluations sommatives sont gérées à la discrétion de l’établissement qui offre le cours. Le plan d’évaluation proposé est le suivant:

1 Devoir sur table 25%

2 Projet en équipe 25%

3 Examen sur table 50%

Plan

Unité Sujets et Activités Durée

estimée

Introduction à la modélisation et la simulation

Introduction de la modélisation

Comprendre le processus de modélisation Découvrir les systèmes complexes

Assimiler la notion de modèle

Modélisation à base de règes et modélisation à base de lois

Les formalismes de simulation

Simulation discrète Vs continue, déterministe Vs stochastique

Le temps et l’espace dans les simulations Présentation des trois (3) grandes familles de modélisation et de simulation du cours

30h

(11)

Modélisation de systèmes continus à base d’agents

Découvertes des systèmes, quelques exemples concrets

Classer les systèmes suivant les entités et les interactions.

Voir les limites de la résolution numérique Remarquer ce que l’informatique peut apporter

La modélisation à base d’agents L’agent

Les systèmes multi-agents (SMA) Les plateformes SMA

Autres formalismes, métaheuristiques et structures informatiques

A base d’agents Vs A base d’équations Comparaison des deux approches

Exemple de modélisation (Proies/Prédateurs)

30h

Modélisation de systèmes dynamiques (Systems Dynamics)

Présentation du module SD de Netlogo Les concepts de base

Quelques exemples de modèles SD Le fonctionnement du module SD Les diagrammes

Les élements du diagramme Le code des procédures

Implémentation du modèle Proies/Prédateurs 30h

(12)

Modélisation à événements discrets

Définition de la modélisation à événements discrets

Situer la modélisation à événements discrets Quelques notions autour de la modélisation à événements discrets

Représentation de tous les éléments d’un modèle à événements discrets

Comparaison événements discrets Vs Simulation continues

Découvrir les files d’attentes et les variables aléatoires discrètes

Exemple de modélisation (Distributeur automatique bancaire)

30h

Lectures et autres ressources

1. Les lectures et autres ressources dans ce cours sont indiquées ci-dessous.

2. P. A. Fishwick, Simulation Model Design and Execution, Englewood Cliffs, New Jersey: Prentice-Hall, 1995 (QA76.9.C65F57).

3. J. Banks, J. C. Carson, II, and B. L. Nelson, “Discrete-Event System Simulation,”

2nd Edition, Prentice Hall, 1996, ISBN 0-13-217449-9.

4. W. H. Press, B. P. Flannery, S. A. Teukolsky, and W. T. Vetterling, Numerical Recipes in C, Second Edition, New York: Cambridge University Press, 1992 (QA76.73.C15N865 1992).

5. M. C. Jeruchim, P. Balaban, and K. S. Shanmugan, Simulation of Communication Systems, Plenum Press, 1992 (TK5102.5.J47).

6. P. Bratley, B. L. Fox, and L. Schrage, A Guide to Simulation, New York:

Springer-Verlag, 1987 (QA76.9.C65B73 1987).

7. G. Gordon, System Simulation, Prentice Hall, 2nd edition, 1977 (QA76.5.G63 1978).

8. M. Law and W. D. Kelton, Simulation Modeling & Analysis, New York:

McGraw-Hill, 1991 (QA76.9.C65L38 1991).

(13)

Unité 0. Évaluation Diagnostique (Introduction aux Systèmes)

Introduction à l’unité

Cette unité vous permettra de vérifier les connaissances que vous devez avoir avant de commencer le cours. Vous pouvez faire l’évaluation de l’unité avant de faire des activités d’apprentissage pour aider à rafraîchir vos connaissances.

Objectifs de l’unité

À la fin de cette unité, vous devriez être capable:

D’identifier différents éléments en interactions ou en relations ; De connaître les propriétés d’un système.

Termes clés

Système : Un ensemble d’entités en relation ou en interaction.

Évaluation de l’unité

Recherchez et vérifiez votre compréhension!

Devoir sur table 0 Directives

Répondre aux questions posées en consultant les ressources libres sur Internet Système de notation

Le barème est indiqué à la suite des questions Évaluation

1. Question de culture générale (20 pts) 2. Définir un ensemble (0,5 pt)

3. Qu’est ce qu’une relation (0,5 pt) 4. Qu’est ce qu’une interaction (0,5 pt)

(14)

6. Donner les définitions des termes suivants :

a. Singularité (1pt)

b. Adaptation (1pt)

c. Résilience (1pt)

d. Bifurcation (1pt)

e. Etat critique (1pt)

f. Transition de phase (1pt)

g. Téléonomie (1pt)

h. Autopoïèse (1pt)

7. Une fois ces termes définies choisissez un exemple de système et dire pour chaque terme ce à quoi ça correspond dans votre système (10 pts)

Lectures et autres ressources

Les lectures et ressources de cette unité se trouvent au niveau des lectures et autres ressources du cours.

(15)

Unité 1: Introduction à la

Modélisation et la Simulation

Introduction à l’unité

Cette unité introduit les notions de modélisation et de simulation, d’analyse de systèmes, et propose une classification des différentes approches de modélisation : modélisation à événements discrets, modélisation de systèmes continus et modélisation de systèmes dynamiques (Systems dynamics).

Objectifs de l’unité

À la fin de cette unité, vous devriez être capable de:

• Décrire le processus de modélisation ;

• Définir un système complexe ;

• Définir la notion de modèle ;

• Assimiler les concepts de simulation ;

• Classifier les différents formalismes de simulation.

Termes clés

Modélisation: La modélisation est la conception d’un modèle

Modèle : Ce qui est donné pour servir de référence Simulation : Représentation ou reproduction du comportement d’un système donné

Activités d’apprentissage

Activité 1 – Introduction à la modélisation

Introduction

Cette activité vous permettra de vous familiariser à la modélisation de systèmes. Il présentera les enjeux de la modélisation ainsi que son processus entier. Vous y découvrirez également la

(16)

Détails de l’activité

Comprendre le processus de modélisation

La modélisation peut se définir comme un processus (fig. 1) permettant, pour un système donné, de produire un modèle qui est:

« une image simplifiée de la réalité forgée à partir d’une certaine sélection des données d’observations et d’un certain nombre d’hypothèses »

Coquillard, P., Hill, D., 1997. Modélisation et simulation d’écosystèmes. Masson.

Fig. 1 – Les grandes étapes dans un processus de modélisation et simulation de systèmes

Le terme de processus est ici utilisé pour signifier que le modèle doit être construit en le mettant à l’épreuve par les expérimentations (simulations) pour le cautionner ou pour l’affiner en vérifiant à nouveau les observations ou les hypothèses posées.

Force est de remarquer à ce niveau qu’un modèle n’est jamais achevé. Il reflète tout

simplement l’état des connaissances et doit récolter de l’amélioration de ces dernières pour exemples :

Du modèle géocentrique de Ptolémée et d’Aristote au modèle héliocentrique – sans doute obsolète – défendu par Copernic, Kepler, Galilée, et Newton.

De la loi de l’inertie de Newton, valable pour les repères galiléens, à la relativité générale d’Einstein,

Pour ne citer que ces exemples très connus…

Nous allons donner dans la suite des rappels ou des définitions sur certaines notions : Systèmes complexes (qui nécessitent fréquemment une approche de modélisation et de simulation),

Réductionnisme et holisme, Modèle d’un système,

Pour nous permettre de bien définir et repréciser notre cadre de modélisation/simulation.

(17)

Découvrir les systèmes complexes

Étymologiquement, « système » vient du mot grec sustêma qui veut dire assemblage ou composition et désigne dans notre contexte d’étude un ensemble constitué d’entités qui sont en interaction.

Par ailleurs, en s’intéressant au mot « complexe » on a l’impression de relever un pléonasme car ce dernier, tiré du mot latin complexus de complecti, désigne quelque chose qui contient ou réunit plusieurs éléments différents.

Il faut alors ajouter que ces éléments réunis entretiennent des rapports divers et présentent souvent des aspects émergents difficiles à saisir par l’esprit.

Nous pouvons à présent avancer une définition assez générale, mais qui demeure encore informelle dans ce domaine des systèmes complexes qui par sa nature pluridisciplinaire combine divers outils, approches et techniques d’exploration. Toutefois, selon le domaine d’application, les concepts d’«entités», d’«interactions» et d’«émergence», revêtiront un sens plus formel et s’appliqueront rigoureusement dans la thématique choisie.

Un système complexe est un ensemble constitué d’entités relativement simples en interaction, et dans lequel émergent des comportements imprévisibles.

Des exemples courants de la littérature permettent de se faire une idée plus précise sur les systèmes complexes. En voici quelque uns :

Le cerveau humain constitué de neurones échangeant des impulsions électriques ; l’étude détaillée de la nature biochimique ou du fonctionnement des neurones ne renseigne pas clairement sur des fonctionnalités du cerveau comme la mémoire ou la conscience.

Les systèmes sociaux où l’on observe des interactions très diverses entre les individus et des comportements émergents complexes (un exemple : fig. 2).

Une colonie de fourmis (fig. 3) échangeant des phéromones pour résoudre des problèmes.

Un écoulement turbulent (fig. 4) décrit par des particules fluides porteuses de vorticité.

(18)

Lim, M., Metzler, R., Bar-Yam, Y., 2007. Global Pattern Formation and Ethnic/Cultural Violence.

Science,Vol. 317. no. 5844, pp. 1540 - 1544.

Fig. 3 – Fourmis déterminant un plus court chemin entre leur nid et la nourriture par dépôt de phéromones

Fig. 4 – Emergence d’une structure cohérente tourbillon dans un écoulement turbulent.

Robert, R., 2001. L’effet papillon n’existe plus, Pour la Science.

Réductionnisme ou holisme

Notons que ce qui est mis en avant à travers ces illustrations c’est bien l’émergence au sein des systèmes complexes de certaines propriétés que l’on peut qualifier d’imprévisibles si l’on part de la définition fonctionnelle des entités prises séparément.

Cette non-linéarité entre les actions individuelles des entités et le comportement collectif résultant met à mal la théorie du réductionnisme adoptée par Descartes dans son célèbre texte philosophique : Le discours de la Méthode.

Le raisonnement tenu par le réductionnisme est que l’étude et la maîtrise des entités suffisent pour appréhender le comportement du système en question.

Tel n’est pas le cas pour les systèmes complexes qui se rapprochent plutôt, du point de vue de leurs comportements émergents, de la théorie holistique de Smuts:

« the tendency in nature to form wholes that are greater than the sum of the parts through creative evolution ».

Smuts, J.C., 1926. Holism and Evolution. Macmillan & Co Ldt.

Théorie que l’on exprime couramment sous forme d’adage :

(19)

Dès lors, cette vision préconise de considérer les systèmes comme des totalités pour essayer d’en décrire le comportement. Les notions d’holisme et de réductionnisme bien qu’antagonistes ne peuvent nullement constituer une dichotomie des approches de

modélisation de systèmes complexes et il est nécessaire dans notre contexte de tirer parti des deux car le tout et les parties sont bien liés comme le souligne Bar-Yam [Bar-Yam, 1997] :

« Qualitatively, to understand the behavior of a complex system we must understand not only the behavior of the parts but how they act together to form the behavior of the whole. It is because we cannot describe the whole without describing each part, and because each part must be described in relation to other parts, that complex systems are difficult to understand. ».

Bar-Yam, Y., 1997. Dynamics of Complex Systems. Perseus Books Group.

L’approche que nous proposons ici peut donc être qualifiée de systémique ; une forme qui s’inspire d’une certaine façon de la cybernétique de Wiener.

Il faudra donc utiliser cette approche le plus possible dans ce cours

Au-delà d’un contrôle téléologique (par rétroaction) établi par (ou à travers) la circulation de l’information entre composants fonctionnels, l’approche systémique considère leurs caractéristiques structurales et leurs échanges qui ne se présentent pas exclusivement sous forme d’informations mais aussi de matière ou d’énergie,…. Se référer aux travaux sur la théorie générale du système de Von Bertalanffy.

Assimiler la notion de modèle

Comme nous le verrons dans la suite, la nature des problèmes abordés nous force le choix de construire un modèle. En effet, il est difficile ou très coûteux de procéder à une démarche expérimentale directement sur les systèmes étudiés.

Le modèle développé à la place sert alors non seulement de « baromètre » de la connaissance mais aussi de catalyseur dans la compréhension du système à modéliser.

Il met ainsi à la disposition de l’utilisateur un véritable laboratoire virtuel répondant avec plus de détails sur des problèmes difficiles à traiter expérimentalement ; soit parce que le système est justement mal connu ou soit parce que les mesures expérimentales peuvent dans certains cas corrompre l’intégrité du système (le cas des phénomènes turbulents par exemple).

Complétons avec la définition de modèle et celle de modélisation à base de lois ou à base de règles. Cette notion de modèle a d’ailleurs été légèrement introduite en début de ce cours car étant implicitement liée aux approches holistique, réductionniste ou systémique dans le sens où ces dernières dressent la manière d’en élaborer un.

De manière plus formelle, en revenant à son étymologie de l’italien modello du latin populaire modellus, modèle signifie ce qui sert ou doit servir d’objet d’imitation pour faire ou reproduire quelque chose. On saisit alors aisément son sens dans notre contexte, mais avec la proposition suivante de Minsky on remarquera également son caractère subjectif.

« To an observer B, an object A* is a model of an object A to the extent that B can use A* to

(20)

Minsky, M., 1965. Matter, minds and models. International Federation of Information Processing Congress, 1: 45 – 49.

En effet, cela veut dire que l’objet A* devient pour l’observateur B un modèle dès qu’il est utilisable. Donc suivant le domaine d’étude de B et les questions qu’il se pose, on pourra alors pour un même objet A aboutir à plusieurs modèles.

On ne peut donc à ce niveau donner une procédure générale de construction d’un modèle. Il est nécessaire dans un premier temps de spécifier les dimensions d’intérêt et les objectifs fixés par l’étude du système pour ainsi resserrer le domaine de définition du modèle et opter pour les outils et méthodes de modélisation.

Une autre caractéristique d’un modèle est bien sa simplicité par rapport au système étudié.

Un modèle trop complexe ne sert à rien sinon de trop se rapprocher du système modélisé et d’être inutilisable comme le système en question est difficile à saisir. Comme par ailleurs un modèle trop simplifié n’est pas utilisable non plus car impertinent en vue des questions pouvant être soulevées par l’étude. Un modèle doit donc constituer une projection efficacement paramétrée de la réalité sur la ou les dimensions d’intérêt souhaitées.

Modélisation à base de règes et modélisation à base de lois

La modélisation à base de règles consiste à considérer le système au moyen de ses éléments structurants et à suivre son évolution suivant les règles d’interactions et d’interdépendances qui lient les éléments. L’évolution du système est alors discrète et dépend des interactions entre les éléments.

On opposera souvent à cette modélisation à base de règles celle qui est à base de lois. Ces modèles consistent plutôt à considérer certaines caractéristiques des éléments comme des variables et à les étudier en formulant des équations qui décrivent les lois d’évolution du système en entier. Il en résulte, comme nous le verrons dans la démarche de modélisation mathématique, des équations généralement continues (dans le temps et dans l’espace) de type équations différentielles.

Aussi, en analyse numérique, dispose-t-on de méthodes de simulation de systèmes physiques qui peuvent généralement êtres linéaires ou non-linéaires, stationnaires ou non stationnaires, laminaires ou turbulents… Et comme remarque Bourdine:

« (…) En moins de trois siècles les mathématiciens-physiciens mettent véritablement le monde en équation. (…) Pêle-mêle, c’est l’équation de Kepler en mécanique céleste, l’équation de Newton sur la gravitation, les équations de Bernoulli en hydraulique, le principe de d’Alembert en dynamique, les équations d’Euler en dynamique et d’autres en mécanique des fluides, les équations de Lagrange qui résument la mécanique analytique, les contributions de Gauss en mécanique (principe de moindre contrainte), en théorie du potentiel, en électricité et magnétisme, l’équation de Fourier de la propagation de la chaleur, les équations de Navier- Stokes en mécanique des fluides, les équations de Maxwell en électromagnétisme et théorie de la lumière, l’équation de Boltzmann en mécanique statistique, l’équation de Schrödinger en mécanique quantique (…). »

(21)

Boudine, J-P., 2001. Homo Mathematicus. Les Mathématiques et nous. Vuibert.

On remarque bien que la communauté mathématique produit beaucoup d’équations, voyons concrètement comment de telles équations sont construites.

La mise en équation du modèle continu

Rappelons encore, et ceci ne concerne pas exclusivement la modélisation mathématique, qu’un modèle n’est qu’une abstraction de la réalité et il ne donne qu’une représentation partielle et pertinente du système réel étudié. Ce dernier, comme nous l’avons déjà souligné, subit alors une projection sur les dimensions choisies comme étant les plus révélatrices mais aussi les plus accessibles et interprétables.

L’observation du système et sa représentation correspondent alors à une phase sélective qui met en avant que certaines caractéristiques du système (fig. 6). Ceci rend compte encore une fois de la nature subjective d’un modèle, mais il faut opposer en contrepartie que la vision d’un tel système ne peut être globale, à fortiori sa représentation.

Fig. 5 – La procédure pour conduire une simulation numérique

(22)

Un modèle de système physique dynamique permettra alors de décrire plus explicitement l’évolution des caractéristiques choisies comme étant celles qui peuvent représenter fidèlement le système :

• La vitesse, la hauteur, la pression… dans un écoulement fluide,

• Le déplacement et les contraintes pour un problème d’élasticité,

• La concentration pour un problème de transport…

Ces indicateurs sont alors explicités sous forme de variables usuellement continues dans l’espace et le temps et dont l’intégration, selon des lois de conservation de masse, de quantité de mouvement, de flux thermique… fournit généralement des équations sous forme d’équations aux dérivées partielles ou d’équations différentielles ordinaires (EDO).

Ces équations gouvernantes de systèmes physiques dynamiques nécessitent en plus la connaissance des conditions initiales (CI) du phénomène et des conditions aux bords (CB) du domaine du système (conditions de Dirichlet, Neumann ou Robin).

Une fois ces éléments bien posés, l’existence et l’unicité de la solution de l’équation

gouvernante peuvent être avancées. La résolution de cette équation gouvernante du système équivaut alors à une simulation du comportement (ou de la dynamique) du système.

Elle permet de suivre les valeurs numériques des caractéristiques choisies en tout point du système si une résolution analytique de l’équation est possible.

Nous pouvons ici, au risque de nous répéter, nous livrer au même exercice de récapitulation que Boudine, mais en ne citant cependant que quelques EDP gouvernantes de systèmes. En physique, et ceci n’est pas exhaustif :

Les équations de Poisson et Laplace pour les phénomènes d’équilibre ou stationnaires : une membrane en équilibre

Ll’équation de chaleur pour des phénomènes d’évolution : diffusion de chaleur, mélange d’espèces

L’équation des ondes pour des phénomènes de propagation : membrane vibrante, ondes électromagnétiques, ondes sismiques

L’équation de Korteweg-de Vries pour des vagues sur de l’eau peu profonde L’équation de Schrödinger en physique quantique non-relativiste

Les équations de Navier-Stokes pour un fluide visqueux incompressible

En biologie et chimie, les équations de type réaction-diffusion de A. Turing pour les phénomènes de morphogénèse.

En dynamique de population l’équation de Von Foerster par exemple pour l’évolution de la densité d’une population d’un certain âge.

Etc.

(23)

Conclusion

Voilà, cette première activité doit te donner une première idée sur les notions de modèles, de systèmes complexes, d’approche systémique, de réductionnisme et d’holisme et de modélisation à base de règles et à base de lois.

Il s’agit d’une première partie théorique et les chapitres suivants devront te donner une idée claire sur tous ces éléments.

Évaluation

• Donner la définition de modèle de Minsky, Que vous inspire t’elle ?

• Qu’est ce que le réductionnisme et le holisme ?

• Comment doit être un modèle pour rester utilisable ?

• Pour un système simple que vous choisirez, montrer que donne une modélisation à base de règles et une modélisation à base de lois.

Activité 2 – Les formalismes de simulation

Présentation

Maintenant que la notion de modèle est posée, nous allons passer à celle de simulation.

Cette étape montrera réellement l’intérêt du modèle informatique qui sera soumis à une suite d’exécution. Les différents formalismes de modélisation et de simulation seront présentés et ensuite nous ferons un focus sur trois grandes approches qui constitueront les unités suivantes.

Détails de l’activité

D’abord donnons une définition :

« La simulation consiste à faire évoluer une abstraction d’un système au cours du temps afin d’aider à comprendre le fonctionnement et le comportement de ce système, et à appréhender certaines de ses caractéristiques dynamiques dans l’objectif d’évaluer différentes décisions » Hill, D., 1993. Analyse orientée objets et modélisation par simulation. Addison-Wesley, 342p.

Simulation discrète Vs continue, déterministe Vs stochastique

Cette définition au-delà de la construction du modèle, dégage un aspect essentiel en l’occurrence le fait de faire évoluer le modèle dans le temps. Il fait alors intervenir suivant : la granularité du temps, une simulation continue et discrète

Et suivant les méthodes de calcul, une simulation peut aussi être déterministe ou probabiliste.

La simulation continue conçoit généralement le système à décrire sous forme d’équations différentielles et requiert une résolution analytique si le modèle s’y prête.

(24)

Quant à la simulation discrète, où l’on simule le passage d’un pas de temps constant ou pas dans le système, elle pourra servir :

Dans une modélisation mathématique comme on l’a déjà vu, à la discrétisation d’équations différentielles nécessitant une résolution numérique (Runge-Kutta et Leap-Frop pour les Equations Différentielles Ordinaires, éléments finis, volumes finis et méthodes particulaires pour les Equations aux Dérivées Partielles.

Dans une « modélisation informatique », de moteur d’inférence à base de règles (les automates cellulaires, les modèles orientés objets, les modèles orientés processus, les systèmes multi-agents,…)

En opposition aux méthodes déterministes dans l’établissement de règles d’évolution, nous pourrons trouver des méthodes probabilistes (ou statistiques) comme la simulation de Monte- Carlo pour des équations différentielles stochastiques, les systèmes Markoviens en physique statistique ou le mouvement brownien.

Le temps et l’espace dans les simulations

La nature de l’espace et du temps peut aussi participer à la classification des formalismes de simulation.

Fig. 6 – Classification des formalismes suivant la dynamique, le temps et l’espace.

(25)

Présentation des trois (3) grandes familles de modélisation et de simulation du cours Nous allons maintenant donner les trois grandes classes de modélisation et de simulation retenues dans ce cours. Nous avons choisi ces trois classes car elles donnent un aperçu complet sur le domaine de la modélisation et de la simulation.

La modélisation de systèmes continus à base d’agents

Nous présentons dans cette partie une introduction à la modélisation de systèmes continus.

Pour ce genre de problème, le temps est supposé continu même si pour la résolution une discrétisation de ce même temps est effectuée. Le continu n’existe pas en Informatique ! L’unité 2 reviendra sur ces modèles continus et montrera leur traitement en Informatique avec des logiciels dédiées à la simulation, notamment la plateforme Netlogo qui permet d’implémenter des agents.

La modélisation de systèmes dynamiques (Systems Dynamics)

Ici, il sera également question de systèmes continus, mais nous verrons une autre approche différente des l’approche à base d’agents dans laquelle il est plutôt question d’utiliser des techniques de programmation à base de flux. Il faut dire que contrairement à l’unité 2, l’unité 3 qui sera dédiée à ces systèmes dynamiques (Systems Dynamics dans la littérature) traitera plutot des problèmes dans lesquels l’espace n’est pas explicitement modélisé.

La modélisation à événements discrets

Finalement nous verrons la modélisation à événements discrets ou on s’intéressera pas au temps qui s’écoule mais aux événements qui sont les plus importants pour le système. On fera bien le distingo entre les systèmes continus et les systèmes discrets et utiliserons la plateforme Anylogic pour implémenter un modèle simple.

Conclusion

Cette activité a permis de découvrir ce qu’est la simulation et de voir les différents formalismes qui existent. Répondez aux questions qui suivent pour tester vos connaissances.

Évaluation

• Qu’est ce qu’une simulation ?

• Donner un classement des méthodes de simulation selon le temps.

• Rappeler quelles sont les grandes familles de modélisation qui seront présentées et détailler un peu leurs principes.

Résumé de l’unité

Voilà qui termine cette unité introductive à la modélisation et la simulation. Vous devez aussi avoir une idée de ce qui vous attend avec les autres unités. Essayez de tester ce que vous avez

(26)

Évaluation de l’unité

Vérifiez votre compréhension!

Rapport à rendre

Directives

Le projet dureune semaine, cherché des ressources sur internet.

Système de notation Le rapport est noté sur 20 Évaluation

Rendre une dissertation d’au moins 4 pages pour présenter des modèles et/ou des simulations célèbres dans les formalismes présentés dans cette unité.

Lectures et autres ressources

Les lectures et autres ressources de cette unité se trouvent au niveau des lectures et autres ressources du cours.

(27)

Unité 2: Modélisation de Systèmes Continus à Base D’agents

Introduction à l’unité

Dans cette unité, il est question de s’intéresser à la modélisation des systèmes à temps continus. En effet, ces systèmes sont très répandus et se retrouvent dans plusieurs domaines (économie, biologie, physique, sociétés,...). Bien que les équations différentielles (équations différentielles ordinaires, équations aux dérivées partielles) soient l’outil classique de

modélisation mathématique de tels systèmes nous procéderons à l’implémentation de tels systèmes en Informatique à travers l’utilisation d’un logiciel de simulation à base d’agents, Netlogo.

Objectifs de l’unité

À la fin de cette unité, vous devriez être capable de:

1. Identifier un système continu ;

2. Définir le processus de modélisation à base d’équations.

3. Définir le processus de modélisation à base d’agents ; 4. Construire un modèle à base d’agents.

Termes clés

Système: un ensemble de composants en interaction dans le temps et dans l’espace.

Activités d’apprentissage

Activité 1 – Découverte des systèmes, quelques exemples concrets

Introduction

Cette activité vous permettra de bien cibler les systèmes à étudier. Elle présentera les systèmes à travers ses entités et les interactions qu’il peut y avoir en interne. La résolution numérique après une modélisation mathématique sera aussi traitée. Ceci nous permettra de bien savoir quand avoir recours à une équation et quand utiliser un modèle informatique.

(28)

Détails de l’activité

Classer les systèmes suivant les entités et les interactions

Nous allons présenter sous la forme d’un tableau une classification des systèmes dynamiques pour voir dans quelle mesure il faut procéder à une modélisation et une simulation. Cette classification se fera suivant le nombre d’entités, la nature de leurs interactions et le comportement général du système

Exemples de Systèmes

Entités Interactions Comportements Observations

Problème des deux corps (trajectoires de 2 corps A et B de masse m1 et m2 soumis à des forces gravitationnelles)

Peu d’entités Interactions simples

Prévisibles

Problème solvable ou intégrable

Problème des trois corps (trajectoires de 3 corps (voire N) soumis à des forces gravitationnelles.)

Peu d’entités Interactions simples

Imprévisibles

Méthodes de résolution approchées Sensibilité aux conditions initiales (théorie du chaos).

Cristaux ou Gaz (formation de cristaux (alignement au niveau moléculaire ex le diamant), ou caractéristiques d’un gaz stable)

(Pression, Température)

Beaucoup d’entités

Interactions simples

Prévisibles

Méthodes Statistiques pour obtenir des grandeurs (température, pression,…)

(29)

systèmes mécatroniques, (constructions civiles, aviations,….)

Beaucoup d’entités

Interactions complexes

Prévisibles Ingénierie

Réseaux complexes, communautés spatialisées,

automates cellulaires, fluides,

Beaucoup d’entités

Interactions simples

Imprévisibles

Modélisation et simulation (informatique ou mathématique) Organismes,

épidémies,

économies, sociétés, écosystèmes…

Beaucoup d’entités

Interactions complexes

Imprévisibles

Ce tableau donne une idée sur les systèmes qui sont ciblés par ce cours. Il s’agit bien des deux dernières lignes pour lesquelles il est nécessaire de procéder à une modélisation et une simulation mathématique ou informatique.

Voyons maintenant les apports et les inconvénients d’une modélisation à base d’équations.

Ces éléments ont d’ailleurs été un peu abordés dans l’unité 1. En effet, la mise en équation d’un système a déjà été évoqué dans cette unité, nous allons maintenant voir comment se passe la résolution numérique d’une équation décrivant le comportement d’un système.

Voir les limites de la résolution numérique Systèmes prenant en compte l’espace (EDP)

Un exemple de systèmes qu’on peut prendre ici est l’écoulement des fluides ou les dynamiques spatialisées.

Il est à noter, pour la plupart de ces modèles mathématiques de systèmes dynamiques, qu’une résolution analytique est difficile – voire impossible – raison pour laquelle on procédera à une résolution numérique. Cette dernière passe nécessairement par une phase de discrétisation (fig. 1) qui permet de suivre les principales caractéristiques du système continu – infini – sous une forme discrète – finie – en utilisant un maillage du domaine (discrétisation eulérienne) ou

(30)

Le maillage produit un ensemble de cellules ou de points sur lesquels seront approximées les valeurs numériques des caractéristiques. Le nombre de cellules (ou points) dépendra de la puissance de calcul disponible et plus le maillage est fin, meilleure sera la reconstitution du système.

Fig.1 – Exemples de discrétisation eulérienne dans un problème d’écoulement d’un fluide autour d’un cylindre. À gauche, une grille

de différences finies – à droite, une grille d’éléments finis.

En simulation numérique, une autre phase incontournable d’analyse mathématique devra se soucier de la consistance de la stabilité et de la convergence de la méthode utilisée.

Nous n’approfondirons pas cette phase qui relève de l’analyse numérique mais visiterons tout simplement les concepts des méthodes numériques qui pourront nous intéresser dans notre étude.

Le but étant plus d’exposer ces méthodes que de les enseigner à un public informaticien. Il est d’ailleurs plus intéressant à ce niveau de distinguer dans la démarche de résolution les approches eulérienne et lagrangienne. Ces approches donnent deux points de vue différents (et complémentaires) sur l’élaboration d’un modèle discret (ou algébrique) de résolution.

Les approches eulériennes

qui procèdent à une subdivision de l’espace où se déroule le phénomène simulé, produisent un ensemble fini de cellules figées dans le domaine qui permettent d’obtenir localement les variables prises en compte dans l’étude. En effet, les flux d’informations (les variables étudiées) qui traversent chaque cellule, selon les gradients de l’équation gouvernante, donne une vue à partir d’un point donné de l’espace, sur la dynamique du système.

Ces méthodes peuvent donc supporter de larges déformations spatiales et temporelles dans l’objet (ou le matériel) simulé. Par contre, une insuffisance majeure est l’incapacité de suivre la dynamique d’un point précis du système vu que le maillage n’est pas rattaché au matériel. Il est donc très difficile de dresser l’historique de la dynamique d’un point quelconque tout au long d’une simulation.

On remarque, pour terminer, que ces méthodes peinent dans la phase de maillage dès lors que le domaine comporte des irrégularités géométriques ou des frontières dynamiques.

(31)

Les approches lagrangiennes, à l’opposé des approches eulériennes, vont subdiviser le matériel et y fixer leur grille. Les cellules ainsi obtenues se déplacent avec le matériel et entraînent dans leur mouvement toutes les caractéristiques observées en l’occurrence les variables étudiées.

Cette manière de faire va permettre aux approches lagrangiennes de s’affranchir des limites des approches eulériennes tout en péchant sur leurs avantages. Ainsi on pourra parfaitement suivre n’importe quel élément tout au long de l’évolution du phénomène, accepter des géométries complexes en utilisant un maillage irrégulier. Les frontières dynamiques peuvent aussi être gérées en choisissant un maillage spécial sur le bord du domaine.

Nous proposons dans la suite une esquisse des méthodes de résolution numériques utilisées dans la simulation de systèmes décrits par des EDP. Elles seront classées suivant leur utilisation ou non d’un maillage en faisant fi de leur caractère déterministe ou stochastique.

Les méthodes avec maillage

La méthode des différences finies (MDF), qui illustre bien l’approche eulérienne, suit un principe d’approximation de fonctions. Ce dernier consiste à remplacer les dérivées aux points du maillage par des approximations. Les dérivées sont alors approchées par des différences finies centrées ou décentrées en temps et/ou en espace.

On obtient ainsi différents schémas numériques (centré, décentrés : Euler explicite, Euler implicite) sur lesquels on peut itérer. La méthode des éléments finis (MEF), à la différence de la MDF, suit un principe d’approximation de solutions qui découpe le domaine en sous-domaines appelés éléments finis et choisit une approximation de la solution approchée en des points spéciaux de l’élément : les nœuds.

Cette approximation est obtenue par des fonctions d’interpolation habituellement sous forme de polynômes dont le degré dépendra du nombre de nœuds. N’importe quel autre point de l’élément est alors déterminé par les valeurs de la solution aux nœuds.

Le lecteur intéressé pourra se référer à la documentation pour plus de détails : Le Pourhiet, A., 1988. Résolution numérique des équations aux dérivées partielles : une première approche. Cépaduès Editions.

Euvrard, D., 1990. Résolution numérique des équations aux dérivées partielles de la physique, de la mécanique et des sciences de l’ingénieur : Différences finies, éléments finis, méthode des singularités. 2ème édition. Masson.

Les méthodes sans maillage

Elles peuvent se distinguer suivant leur formulation faible ou forte de l’EDP.

Pour une formulation faible, on peut citer les méthodes suivantes : Diffuse Element, Element Free Galerkin (EFG), Meshless Local Petrov-Galerkin (MLPG), Partition of Unity.Toutefois, ces méthodes ne sont pas totalement libérées d’un maillage qui est nécessaire pour l’intégration de la formulation faible.

(32)

Pour les méthodes qui suivent une formulation forte et qui procèdent par collocation : Smoothed Particle Hydrodynamics (SPH)

Les méthodes particulaires

Pour notre part, nous nous limiterons aux méthodes parfaitement particulaires qui utilisent un nombre fini de particules discrètes pour constituer le système. Elles sont libérées de toutes contraintes imposées par un maillage et se définissent à partir d’éléments discrets (ou particules) constitutifs du système et indépendamment de tout maillage. Elles se basent en plus pour la plupart sur des fonctions radiales pour se représenter la distribution et l’évolution des particules qui représentent ainsi des points d’interpolation locale des variables modélisées.

Ces méthodes peuvent alors être regroupées suivant l’échelle de description du phénomène physique étudié. Échelle qui peut être microscopique (ex. dynamiques moléculaires classiques ou ab initio en mécanique quantique, mésoscopique (ex. les automates de gaz sur réseaux, ou macroscopique (Smoothed Particle Hydrodyanmics, Particle in cell).

Les premières limites des méthodes numériques

Pour parler des méthodes basées sur un maillage, nous avons brièvement présenté celles qui demeurent les plus populaires dans l’étude de systèmes physiques par simulation numérique.

Il est à noter cependant, malgré cette popularité, que des limites persistent encore et sont sûrement liées à la formulation et/ou à la résolution de ces modèles mathématiques qui se basent sur un domaine homogène et souvent isotrope et sur des fonctions d’approximation uniformes, ce qui n’arrange pas l’assimilation d’une géométrie complexe du domaine (pour la MDF) ou d’une émergence de structures hétérogènes (pour la MEF) au sein du système.

Ceci a conduit à l’élaboration de méthodes qui n’utilisent pas de maillage et de méthodes parfaitement particulaire. Néanmoins, elles ne sont pas toujours irréprochables, surtout quant à la prise en compte de conditions aux limites complexes affectant les approximations radiales qui sont la base de ces méthodes.

Systèmes ne prenant pas en compte l’espace (EDO)

Un exemple de système pouvant être décrits par des EDO est la propagation d’une maladie au sein d’une population. Il y’a beaucoup de modèles qui traitent en effet de ces épidémies.

Ces modèles sont composés de deux parties : les compartiments et les règles.

Les compartiments permettent de diviser les populations considérées en sous populations d’entités homogènes selon les différents états possibles de la maladie ou de l’infection, d’où le nom « modèle compartimental » employé en modélisation mathématique des épidémies d’une manière générale.

Considérant la population humaine par exemple, celle-ci peut être compartimentée en sous populations d’individus susceptibles (S), d’individus infectés (I), d’individus rétablis (R), mis en quarantaine (Q), décédés (D) ; comme on peut le voir sur la figure suivante.

(33)

Fig.2 – Le modèle compartimental d’une maladie infectieuse

Les règles quant à elles donnent les proportions d’entités migrant d’un compartiment à un autre. Exemple, la règle r(S—>I) exprime la proportion d’individus susceptibles devenant infectés.

Chaque compartiment est représenté dans le modèle par une équation et les règles associées donnent les proportions d’entités entrant et sortant du compartiment. Ainsi, le modèle mathématique est un ensemble d’équations et sa simulation numérique montre l’évolution quantitative de chaque compartiment selon l’échelle temporelle ou spatio-temporelle considérée.

Bien que très efficaces, ces modèles présentent toutefois quelques limites conceptuelles.

En effet, ils ne permettent que de suivre l’évolution de la population en entier sans dire qui sera affecté réellement. Ces modèles utilisent aussi beaucoup de moyennes surtout pour déterminer les taux de transition d’un compartiment à un autre.

Tout comme les EDP, les EDO ont également besoin d’être discrétisées pour pouvoir être résolues. Des schémas itératifs permettront alors de suivre étape par étape (pas de temps par pas de temps) l’évolution des densités des compartiments.

Voyons maintenant le rôle que peut jouer l’informatique dans ce vaste domaine de la modélisation et de la simulation.

Remarquer ce que l’informatique peut apporter

Dans ce contexte interdisciplinaire, il est important de rappeler que l’informatique moderne, science de l’automatisation du stockage et du traitement de l’information est, avant tout, intrinsèquement liée à un besoin de calcul numérique et de modélisation/reproduction du réel, de l’abstrait et du vivant.

C’est dans cette mesure qu’elle intervient parfaitement dans la recherche en modélisation de systèmes dynamiques.

(34)

Avec l’avènement des premiers ordinateurs vers le milieu du XXème siècle nous assistons du reste à l’émergence d’architectures, de formalismes informatiques et de langages de programmation et en même temps à la naissance d’une nouvelle génération de modélisateurs numériques tels Richard Courant, un des précurseurs des éléments finis, ou John Von

Neumann…

Ce dernier dont les travaux, particulièrement en analyse numérique et sur le nucléaire, nécessitent beaucoup de temps de calcul, est un des pionniers dans la construction des premiers ordinateurs. On lui doit d’ailleurs l’architecture qui porte son nom et qui est tiré du rapport sur l’EDVAC (Electronic Discrete Variable Automatic Computer).

Il est aussi à l’origine de la méthode de Monte-Carlo pour un gain de temps dans les simulations et du concept d’automate cellulaire toujours dans un souci d’abstraction et de modélisation du processus naturel de reproduction.

Le Britannique Turing peut également être cité, parmi d’autres, dans ce cadre. Célèbre pour ses travaux sur la calculabilité (machine de Turing), il s’attaque déjà en ce temps à l’intelligence artificielle et aux capacités des machines à « penser » ; le test de Turing au-delà de la

représentation du réel, notamment de l’homme et de sa conscience, il mène une tentative de sa reproduction…

Pour d’abord préfigurer de l’apport potentiel de l’informatique dans ce domaine, son lien étroit avec la modélisation est exhibé en retraçant l’évolution historique des langages et paradigmes de programmation par rapport aux grandes questions de recherche soulevées en modélisation.

Evolution des langages de programmation pour la modélisation et la simulation

L’évolution des langages de programmation conjointement aux problèmes abordés et objets modélisés depuis l’apparition des ordinateurs est notoire. Après le binaire (codes machine) et l’assembleur (codes mnémoniques) dans les premiers programmes informatiques, surgissent les langages de troisième génération à grande diffusion répondant déjà à la nécessité de représenter des objets plus complexes.

Citons le Cobol pour la gestion et surtout le Fortran (mathematical FORmula TRANslating system) avec John Backus d’IBM en 1957, qui se prête bien au calcul scientifique et à la simulation, et qui est d’ailleurs le premier langage informatique symbolique. Il servira largement, de par ses différentes versions améliorées, à la simulation de systèmes complexes tels les CFD : Computational Fluid Dynamics, CC : Computational Chemistry, CWM : Climate and Weather Modeling). Il se fera ressentir dans la suite le besoin de mettre à la disposition des scientifiques de l’époque les prérogatives de productivité, de maintenance et de lisibilité des programmes informatiques qui atteignent rapidement des tailles imposantes.

La programmation structurée fut donc son apparition avec des langages comme l’Algol (ALGOrithmic Language) de Naur vers 1963, le Basic de Kurtz et Kemeny en 1964 ou le Pascal de Wirth en 1971. Elle instruisit en partie l’émergence du paradigme objet très utilisé de nos jours.

(35)

Force est de constater alors que le premier langage qui présenta cette notion d’objet est un langage orienté vers la simulation ; Simula de Dahl et Nygaard en 1966 qui se base sur l’Algol.

Il sert alors à la modélisation de systèmes complexes comportant des activités parallèles. Ceci reflète encore une fois l’interdépendance entre la construction de formalismes informatiques et les besoins de modélisation.

En effet, avec les concepts d’objet et de classe, il devient aisé de représenter un élément actif avec ses attributs et méthodes et d’en faire évoluer plusieurs qui sont des instances d’une ou de plusieurs classes.

Il s’en suivra alors un renforcement de la notion d’objet dans certains langages notamment le SmallTalk qui innove dans la communication entre objets en implémentant l’envoi de messages.

L’héritage suivra le courant vers les années 76 et confirme encore la nécessité de procéder à l’abstraction informatique de certaines notions du réel ou du vivant.

Le paradigme objet sera enrichi au fur et à mesure et des primitives comme l’encapsulation, le polymorphisme, l’interfaçage, la redéfinition verront le jour ainsi que de nouveaux langages orientés objets comme l’ADA, le C++ ou le Java.

Toujours dans cet élan, les agents apparaîtront en repoussant l’horizon sur les problèmes pouvant être appréhendés. En effet, les concepts comme la rationalité des entités modélisées, leur capacité cognitive plus ou moins forte, le fait qu’ils puissent être situés dans un

environnement et la prise en compte de cet environnement ne sont pas le fort des langages objet.

Contrairement à l’objet, un agent pourra donc avoir une certaine perception de son

environnement, une liberté d’initiatives, une faculté de filtrage des requêtes ou messages…, se retrouvant ainsi dans divers domaines d’applicabilité souffrant d’une carence de formalismes pour la simulation ; en sociologie, en biologie, en physique…

Conclusion

Cette activité consistait à donner une idée sur les systèmes continus pouvant être traités ainsi que les méthodes mathématiques et les principes utilisés le plus souvent. Elle attire aussi l’attention de l’apprenant sur l’apport incommensurable de l’informatique dans ce domaine en plein essor.

Évaluation

• Quels sont les systèmes qui sont étudiés dans cette unité en terme d’interactions, d’entités et de comportements ?

• Quelle est la différence entre EDP et EDO ?

• Quelles sont les différences entre méthodes eulériennes et lagrangiennes ?

• Reprendre l’historique de l’évolution des langages de programmation en fonction des besoins de modélisation.

(36)

Activité 2 – La modélisation à base d’agents

Présentation

Nous allons présenter dans cette activité, le domaine des systèmes multi-agents. L’agent, comme on le découvrira est une technologie qui améliore l’Objet (dans le sens informatique du terme). Il nous permettra de procéder à la modélisation de systèmes continus en mettant en avant les individus à représenter ainsi que leurs interactions. A noter qu’il s’agira d’une approche à base de règles plutôt que d’une approche à base de lois qui débouche sur des équations différentielles.

Détails de l’activité

L’agent

Fig.3 – Un univers multi-agent selon Jacques Ferber.

Il est une entité physique ou virtuelle, autonome, dotée de ressources et capable d’intervenir dans son environnement. Il a une perception complète ou partielle du milieu dans lequel il évolue et peut aussi collaborer avec d’autres agents afin de réaliser une tâche ou atteindre un objectif (cf. fig. 3).

Une définition plus formelle, mais non universelle dans la communauté des SMA, est donnée dans Jaques Ferber en 1995. En effet, constituant un paradigme relativement jeune, l’agent n’admet toujours pas une définition unique et consensuelle.

(37)

Cependant, les caractéristiques clés qui peuvent être retenues et qui ressortent de ses différentes définitions peuvent se résumer en quatre mots :

• L’autonomie : la capacité à évoluer selon un comportement propre sans intervention de l’extérieur ;

• La réactivité : la capacité à réagir en fonction d’événements extérieurs ;

• La pro-activité : la capacité à prendre des décisions de manière plus ou moins élaborée afin d’accomplir des objectifs ;

• La sociabilité : la capacité à interagir avec d’autres agents.

Suivant les aptitudes implémentées en plus par l’agent, une distinction peut être faite entre agents cognitifs et agents réactifs.

Les agents cognitifs intègrent une représentation explicite de leur environnement (nature, propriétés, lois d’évolution…) et des autres agents (comportements, buts, stratégies…) et raisonnent à partir de ces connaissances.

Les agents réactifs, pour leur part, n’ont pas cette représentation de l’environnement et des autres agents. Ils ne répondent qu’aux stimuli reçus et y associent les tâches à.

Il existe, entre ces deux extrémités, des agents hybrides associant la souplesse des architectures réactives et la complexité des cognitives.

On peut terminer cette présentation en donnant une comparaison entre agent et objet : Points communs

Etat interne (champs sous forme de variables ou constantes) Peuvent agir sur leur état (via les méthodes)

Unités de comportement modulaires Communiquent par envoi de messages Différences

De l’autonomie de contrôle (méthodes internes) :

• Objet = unité d’exécution (celui qui appelle, décide)

• Agent = unité de comportement (celui qui reçoit, décide)

Du contrôle = un agent est une source de contrôle (contrôle local)

Des notions d’environnement = un agent a une représentation de l’environnement.

(38)

Les systèmes multi-agents (SMA)

Un système multi-agents (SMA) est donc un ensemble d’agents situés dans un environnement et interagissant selon une certaine organisation. Cet énoncé met en exergue, comme il a été le cas pour la définition d’un agent, un certain nombre de termes, en l’occurrence les Agents, l’Environnement, les Interactions, l’Organisation.

L’organisation est très importante dans les systèmes multi-agents et on peut citer quelques propriétés (comme Jaques Ferber) :

une organisation est constituée d’agents (individus) qui manifestent un comportement ; l’organisation dans son entier peut être partitionnée, et les différentes partitions peuvent éventuellement se chevaucher ;

le comportement des agents est décrit par leur fonction ou rôle au sein de leur organisation.

Ces rôles caractérisent les motifs (patterns) d’interaction qui les relient à d’autres rôles. Ils stipulent les obligations, interdictions et permissions qui s’appliquent aux agents qui jouent ces rôles ;

l’aspect organisationnel d’un SMA se situe à deux niveaux : au niveau organisationnel (social), qui décrit ce qui persiste quand les agents entrent ou quittent l’organisation, et au niveau concret (ou agent) qui constitue une instanciation particulière de la structure organisationnelle.

L’organisation peut donc constituer, à elle seule, le squelette du modèle développé. Il existe d’ailleurs des démarches de modélisation très répandues basées sur l’organisationnel. En voici quelques principales pour en donner un aperçu :

AGR un méta modèle basé sur trois abstractions ; l’agent, le groupe et le rôle. L’agent appartient à un (des) groupe(s) et y joue (nt) un (des) rôle(s).

Cassiopée ; passant par la définition des comportements élémentaires (aptitudes de base des agents), des comportements relationnels (faisant apparaître des comportements collectifs) et des comportements organisationnels (déterminant la dynamique de l’organisation).

GAIA avec deux grandes étapes, l’analyse (rôles et interactions) et la conception (modèle d’agents, de service et d’accointances) joignant les niveaux d’abstractions terminaux dans le processus de modélisation

Les plate-formes SMA

Il est difficile de dresser une liste exhaustive des différentes plate-formes existantes pour la simulation à base d’agents. En effet, les problèmes ciblés, les disciplines concernées, et les démarches de modélisation choisies ne font que contribuer à l’explosion du nombre et de la nature des plate-formes de simulation ; raison pour laquelle nous ne citons pas les plate- formes dédiées, au risque de devoir en privilégier quelques unes qui ne représenteront pas forcément un état de l’art conséquent. Des plate-formes génériques qui sont largement utilisées dans différentes disciplines et contextes sont ici présentées :

Références

Documents relatifs

/·K\SRWKqVHVLPSOLILFDWULFHpPLVHSUpFpGHPPHQWjSURSRVGHODIDLEOHYDULDWLRQGHIRUPHGX

De fait, si on s’intéresse au mouillage d’une goutte de liquide sur un solide dont l’angle de contact à l’interface des trois phases (solide, liquide et gazeuse) dépend

Cet article relate la première étape de ce projet : la modélisation des toiles d’araignée orbitèles et leur comparaison à des réseaux maillés théoriques (rectilinéaires et

Dans cette approche, l’énergie mécanique du mouvement est d’abord évaluée en calculant les va- riations des énergies cinétique et potentielle de chacun des segments

Le discours sur le temps dont nous avons essayé d’expliciter les nuances est distinct du discours décrivant la production des événements et des états, or, pour la

L’exemple du paragraphe pr´ ec´ edent sugg` ere que, pour les syst` emes ` a frottement sec qui nous occupent, la mod´ elisation la plus efficace accueille dans la description de

Dans les deux cas, ces nouvelles sommes de Dedekind permet- tent d’e´tudier des valeurs spe´ciales de fonctions L de Hecke (voir e´galement [Ch] et [C-D] pour des applications a`

Comme cela a été évoqué précédemment, les intérieurs des maisons ne sont que très rarement illustrés par les artistes dans les années vingt, néanmoins