Simulation & Statistiques Pierre Chauvet Institut de Mathématiques Appliquées Université Catholique de l Ouest pierre.chauvet@uco.fr IMA, j imagine l avenir
Qu est-ce que la simulation? La simulation est un ensemble de méthodes et d outils permettant d étudier le comportement d un système réel (naturel ou artificiel).
Une usine avec ses machines, son personnel, ses zones de stockage, ses convoyeurs, les différentes gammes de produits, les ressources. Un réseau de distribution avec ses unités de production, son réseau d acheminement, les points de distribution, ses entrepôts. Un réseau informatique avec ses serveurs, ses clients, ses disques, ses bandes, ses imprimantes, les types de câblage. Un établissement de service avec ses guichets, ses files d attente, les horaires de fonctionnement des différents départements. Un voilier avec sa coque, sa quille, sa mâture, sa voilure, son gouvernail, ses automatismes. Un système planétaire dont les corps sont soumis aux lois de la gravitation (classique ou relativiste) La chambre de combustion d un moteur, avec ses caractéristiques mécaniques et thermiques, son type d injecteur, le mélange de carburants/comburant. Etc. Qu est-ce que la simulation? Exemples de systèmes
Qu est-ce que la simulation? Simuler un système est un processus comportant un certain nombre d étapes : - Observer le système réel - Concevoir le modèle du système réel - Effectuer des études théoriques sur le modèle - Implémenter le modèle (=> modèle logiciel) - Mener des expérimentations sur le modèle - Analyser les résultats qui découlent des expériences.
Qu est-ce que la simulation? Modéliser Toute simulation est basée sur le modèle d un système réel. Le modèle est une représentation réductionniste du système réel, adaptée à l outil qui va être utilisé pour étudier son comportement. Il existe différents types de modèles: - modèle = système réel (expérimentation directe) exemple: modèle animal, revêtement de route, signalisation, management magasin. - modèle physique exemple: prototype, maquette. - modèle mathématique/logique exemple: simulateur de vol, jeu papier, logiciel CAD,
Qu est-ce que la simulation? Modéliser Chaque type de modèle possède ses avantages et ses inconvénients: Modèle Avantages Inconvénients Système réel Modèle physique Modèle mathématique ou logique Pas de problèmes d approximation - Bon niveau de contrôle - Très réaliste - Peu coûteux - Observations faciles - Difficulté de contrôle - Très coûteux - Approximation - Coûteux - Approximation: «on y met que ce qu on veut bien y mettre»
Qu est-ce que la simulation? Simulations Informatiques Simulation informatique: processus de création d un modèle «informatisé», dans le but de mener des expériences numériques pour comprendre le comportement du système réel, sous des conditions biens définies. Reposent sur des modèles mathématiques et logiques. Populaire car: - Coût (relativement) faible - Facilité apparente de mise en œuvre - Aspect ludique - Utilisation aussi pour communiquer et convaincre
Qu est-ce que la simulation? Simulations Informatiques Le coût de ces simulations va en diminuant grâce à la baisse du coût du matériel, la réutilisabilité des logiciels et des frameworks de développement, les améliorations en architecture logicielle. Liens avec la visualisation 3D (améliorations simultanées des algorithmes et des matériels), la réalité virtuelle. Progrès considérables en ergonomie («dessiner» son modèle). IBM Mark 1-1944 PC portable - 2013
Qu est-ce que la simulation? Différents Types de Modèles Continu versus Discret Déterministe versus Stochastique Agrégé versus Individu-centré Hybrides Exemple : les modèles de population ou les modèles proie-prédateur peuvent reposer sur -> des processus stochastiques -> ou des équations différentielles -> ou des systèmes multi-agents
Différents types de modèles Modèle discret déterministe Evolution d une population sans contrainte de ressource y(t) = nombre moyen d individus à l instant t y(0) = population évaluée à l instant 0 (premier recensement) a = taux de variation naturel de la population par unité de temps (taux natalité taux mortalité, ex. France environ 0.4% par an) On a: où est une durée y(t+ ) y(t) = a x x y(t) Exemple France: = 1 an, x(2012)=65.2x10 6, a=0.4% y(t+ ) - y(t) = a x x y(t) = 65.2x10 6 x1x0.4/100 = 260800 la population française s accroît d environ 261000 individus / an
Différents types de modèles Modèle continu déterministe Evolution d une population sans contrainte de ressource On a vu que: donc: y(t+ ) y(t) = a x x y(t) ( y(t+ ) y(t) ) / = a x y(t) On a un taux d accroissement! En faisant tendre vers 0 on trouve une équation différentielle: dont la solution s écrit: Modèle exponentiel de croissance d une population population mondiale y (t) = a y(t) y(t)=y(0) x exp(a x t) avec t>0
Différents types de modèles Modèle stochastique Evolution d une population sans contrainte de ressource Dans un intervalle de temps infiniment petit, on suppose que: Une population gagne un individu avec une probabilité Une population perd un individu avec une probabilité On obtient un modèle appelé processus aléatoire (de Markov) Modèle stochastique d évolution d une population
Différents types de modèles Modèle individu-centré Evolution d une population avec contrainte de ressource On simule la vie d herbivores avec les hypothèses: Chaque individu a une probabilité de se reproduire Chaque individu a une probabilité de mourir La probabilité de se reproduire augmente s il est bien alimenté La probabilité de mourir augmente s il est mal alimenté Chaque individu cherche un pâturage voisin plus riche Un individu = un agent informatique (ou objet) animé dans un environnement virtuel => Système multi-agent
Modèle individu-centrée avec Système Multi-Agent Utilisation de NetLogo (gratuit, bon support, installation facile, prise en main rapide, extensible) Application à des modèles d interactions entre populations
«De paisibles moutons» Modèle de moutons sans prédateurs Les moutons naissent, se reproduisent et meurent Les moutons, pour survivre et se reproduire, doivent consommer de l herbe La quantité d herbe s accroît (jusqu à un maximum) naturellement, et diminue là où elle est consommée Paramètres du modèle (indicatif ) : - Nombre de moutons à générer à t=0 - Probabilités de reproduction et de mort - Taux de croissance de l herbe - Seuil de recherche d un nouveau pâturage
Système Multi-Agent MASSIVE Multiple Agent Simulation System in Virtual Environment Logiciel d animation de foule conçu par Stephen Regelous (initialement pour les scènes de foule du Seigneur des Anneaux) 1 agent = 1 personnage Chaque agent est doté de listes d actions/réactions Les interrelations sont gérées par un système basé sur la logique floue 16 http://www.massivesoftware.com/whatismassive/
Simulation à évènements discrets Méthodes de simulation de systèmes de files d attentes (ce sont des processus aléatoires!): - Un établissement de service au public, avec une file d attente devant un ou plusieurs guichets - Une chaîne de production avec des zones de stockage avant/après les postes de travail Arrivée Départ File d attente Service / Machine
Simulation à évènements discrets (2) Eléments à définir: À quel rythme arrivent les usagers / pièces -> loi inter-arrivée? À quelle vitesse le service est-il rendu (la pièce est usinée) -> loi durée de service? Type et capacité de la file d attente? Heures d ouverture/fermeture, calendrier du personnel? Nombre de personnes avant ouverture -> loi initiale? Taux de panne -> loi pannes/incidents? Etc. Arrivée Départ File d attente Service / Machine
Observations et statistiques À quel rythme arrivent les usagers / pièces -> loi inter-arrivée? À quelle vitesse le service est-il rendu (la pièce est usinée) -> loi durée de service? Taux de panne -> loi pannes/incidents? Observer/Enquêter/Sonder Construire échantillon Analyser données Construire une loi (loi empirique) Choisir une loi (loi théorique) Calculer ses paramètres
Construire une loi de probabilité Histogramme Ajuster paramètres loi théorique (en pointillé) Max de vraisemblance Loi empirique (construite sur mesure, en rouge)
Générer des nombres aléatoires Avec des ordinateurs qui détestent le hasard! comment générer de l aléatoire avec des algorithmes déterministes? On génère des suites de nombres: suite «pseudo-aléatoire» On mime une suite aléatoire avec des règles simples: nombres entiers dans un intervalle donné [0,m-1], où chaque entier a la même fréquence d apparition En divisant par m, nombres réels uniformément distribués dans [0,1[ => «Pseudo loi» uniforme continue/discrète Les générateurs de lois non uniformes utilisent le générateur de nombre uniforme
Générer des nombres aléatoires Générateur congruentiel linéaire Générateur de nombres pseudo-aléatoires uniforme: Z 0 entier positif Z i+1 = (a Z i + c) mod m, où a, c et m entiers U i+1 = Z i+1 / m Exemple: a=9, c=3, m=16 16 14 Z i en fonction de i (Z 0 =2) 12 10 8 6 4 2 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
Générer des nombres aléatoires Suite pseudo-aléatoire ou pas? Comment évaluer la qualité «aléatoire» d une suite qui ne l est pas? Etudier la distribution des U i dans [0,1] Etudier la distribution des (U i,u i+1 ) dans [0,1]x[0,1] -> test d adéquation (Chi 2) entre une loi prédéfinie et un échantillon Etudier les séries de descentes ou de montée dans la suite Etc. Principe empirique: un observateur peut-il faire la différence entre une suite pseudo-aléatoire (générée par un algorithme déterministe) et une vraie suite aléatoire?
Générer des nombres aléatoires Selon une loi non uniforme Générer des nombres pseudo-aléatoires uniformes dans [0,1] Transformer ces nombres pour obtenir une suite non uniforme Méthode d inversion (inversion de la fonction de répartition) Méthode du rejet (Méthode de Monte Carlo) Méthode polaire (loi normale) Etc.
Résultat des simulations Avec un modèle non déterministe: Entrées aléatoires -> Sorties aléatoires Entrées: échantillons -> Sorties: échantillons Exemple: étude d un établissement «1 file / 1 guichet» Entrées: instant d arrivée & durée de service de chaque usager Sorties «d intérêt»: durée d attente usagers, nombre d usagers à servir après fermeture, taux d occupation du guichet Pour chaque usager, enregistrer: - sa date d entrée - sa date de passage au guichet - sa date de sortie Simuler n jours d activités Moyennes ET Variances Intervalles de confiance
Une démarche outillée Il est possible de programmer ces simulations (méthode de l échéancier ) Il est aussi possible d utiliser des outils, par exemple ARENA software 1. Dessiner la logique du système (poser puis connecter des modules prédéfinis) 2. Exécuter la simulation 3. Lire le compte-rendu
Des modèles hybrides Mélangent différents types de systèmes (continus, évènementiels, déterministes, aléatoires) Applications dans tous les domaines (productique, transport, économie, écologie, défense, santé, formation, loisirs, )
IMA, j imagine l avenir Des compétences très demandées Exemples Débouchés IMA à Bac+5 Ingénieur Statisticien Actuaire Chargé d études actuarielles Chargé d Études Financières Bio-Statisticien Ingénieur R&D Consultant Ingénieur Optimisation Consultant en Gestion de Production Ingénieur Développement Chef de Projet Ingénieur d Applications Ingénieur Informatique Ingénieur Logiciel Logisticien Responsable planification Ingénieur Méthodes Manager Supply Chain
IMA, j imagine l avenir Pour approfondir Rencontre avec des professeurs et des étudiants à l IMA sur ces thèmes: Fête de la science (septembre-octobre) Journées portes ouvertes (janvier février) Tester l Université (février) Ateliers informatiques (mars-avril) Site IMA: http://ima.uco.fr