Simulation parallèle des systèmes multi-agent et son application au trafic routier Eugen Dedu...
-
Upload
cendrillon-maurel -
Category
Documents
-
view
106 -
download
2
Transcript of Simulation parallèle des systèmes multi-agent et son application au trafic routier Eugen Dedu...
![Page 1: Simulation parallèle des systèmes multi-agent et son application au trafic routier Eugen Dedu PRiSM UVSQ dedu/parssap le 22 avril.](https://reader036.fdocuments.net/reader036/viewer/2022062511/551d9da1497959293b8d1385/html5/thumbnails/1.jpg)
Simulation parallèle des systèmes multi-agent et son application au trafic
routier
Eugen Dedu
PRiSM UVSQ
http://www.prism.uvsq.fr/~dedu/parssap
le 22 avril 2003
CentreCharles Hermite
UVSQ
![Page 2: Simulation parallèle des systèmes multi-agent et son application au trafic routier Eugen Dedu PRiSM UVSQ dedu/parssap le 22 avril.](https://reader036.fdocuments.net/reader036/viewer/2022062511/551d9da1497959293b8d1385/html5/thumbnails/2.jpg)
2
Plan & Contributions• Introduction
• 1. Nouveau modèle de simulation des SMA
• 2. Algorithmique parallèle du modèle– 2.0 Parallélisme dans l’implantation– 2.1 Percept de la vision– 2.2 Percept de la détection des potentiels
• 3. Implantation parallèle portable du modèle (bibliothèque), application au trafic routier
• Conclusions
![Page 3: Simulation parallèle des systèmes multi-agent et son application au trafic routier Eugen Dedu PRiSM UVSQ dedu/parssap le 22 avril.](https://reader036.fdocuments.net/reader036/viewer/2022062511/551d9da1497959293b8d1385/html5/thumbnails/3.jpg)
3
Avant tout…
• Centré sur le thème :– algorithmique parallèle et performances– SMA et application (trafic routier)
• Choix de la façon :– explications– informations nouvelles / intéressantes
![Page 4: Simulation parallèle des systèmes multi-agent et son application au trafic routier Eugen Dedu PRiSM UVSQ dedu/parssap le 22 avril.](https://reader036.fdocuments.net/reader036/viewer/2022062511/551d9da1497959293b8d1385/html5/thumbnails/4.jpg)
4
Introduction : systèmes multi-agent• Agent :
– entité autonome– a un but– vit dans un environnement– communique avec
l'environnement– agents situés
• Domaines d’applications :– société : populations urbaines,
trafic routier– biologie, étude des
comportements : populations de fourmis, d’oiseaux
• Jacques Ferber (pionnier)
![Page 5: Simulation parallèle des systèmes multi-agent et son application au trafic routier Eugen Dedu PRiSM UVSQ dedu/parssap le 22 avril.](https://reader036.fdocuments.net/reader036/viewer/2022062511/551d9da1497959293b8d1385/html5/thumbnails/5.jpg)
5
Introduction : parallélismePour nous : exécution d'une application sur plusieurs processeurs
(accélération)
Application
Exemple :Ordinateur à
4 processeurs
•Origin 2000, 64 processeurs, 4 Mo cache, 24 Go mémoire•Sun 450, 4 processeurs, 4 Mo cache, 1 Go mémoire•IA-64 Itanium SMP, 4 processeurs•PCs SMP bon marché
•OpenMP•multi-threading•envoi de messages•multi-processus
•MIMD (modernes)•DSM•MVP
![Page 6: Simulation parallèle des systèmes multi-agent et son application au trafic routier Eugen Dedu PRiSM UVSQ dedu/parssap le 22 avril.](https://reader036.fdocuments.net/reader036/viewer/2022062511/551d9da1497959293b8d1385/html5/thumbnails/6.jpg)
6
Motivations
Tdév vs. Texéc
ParallélismeModèle
• comportement des agents• diverses fonctionnalités• gestion de l’environnement• gestion de la simultanéité• gestion des structures des entités
![Page 7: Simulation parallèle des systèmes multi-agent et son application au trafic routier Eugen Dedu PRiSM UVSQ dedu/parssap le 22 avril.](https://reader036.fdocuments.net/reader036/viewer/2022062511/551d9da1497959293b8d1385/html5/thumbnails/7.jpg)
7
Exemples de simulateurs de SMA
• Pengi [Ferber et al., 1991]– simple– séquentiel
• BioLand [Werner & Dyer, 1994]– massivement parallèle, beaucoup d'agents– application riche en fonctionnalités
• réseaux de neurones– sans obstacles => algorithmique plus simple– peu flexible– machines SIMD (CM-2)
• PIOMAS [Bouzid, 2001]– parallèle, basé sur ParCeL-3– précis, modélisation des incertitudes dans perceptions et actions– peu d’agents
![Page 8: Simulation parallèle des systèmes multi-agent et son application au trafic routier Eugen Dedu PRiSM UVSQ dedu/parssap le 22 avril.](https://reader036.fdocuments.net/reader036/viewer/2022062511/551d9da1497959293b8d1385/html5/thumbnails/8.jpg)
8
1. Modèle : exemple
• environnement• ressources• agents• arbitre
ParSSAP (Parallel Simulator of Situated Agent Populations)
![Page 9: Simulation parallèle des systèmes multi-agent et son application au trafic routier Eugen Dedu PRiSM UVSQ dedu/parssap le 22 avril.](https://reader036.fdocuments.net/reader036/viewer/2022062511/551d9da1497959293b8d1385/html5/thumbnails/9.jpg)
9
1. Modèle : généralités• Environnement
– discret– obstacles
Sauvegardes• statistiques• mouvement des agents
Unification des entités => travaux futursTous les principes existent pour augmenter la généricité
• Ressources– propagent des potentiels décroissants– contiennent des objets– champs dynamiques de potentiel– plusieurs types
• Agents– entités mobiles– comportement– mémoire– perceptions locales : vision, odeur– actions : mouvement, dépôt/prise d'objets– création et destruction dynamique
• Arbitre (virtuel)– loi du système– résout les conflits spatiaux entre les agents
![Page 10: Simulation parallèle des systèmes multi-agent et son application au trafic routier Eugen Dedu PRiSM UVSQ dedu/parssap le 22 avril.](https://reader036.fdocuments.net/reader036/viewer/2022062511/551d9da1497959293b8d1385/html5/thumbnails/10.jpg)
10
1. Modèle : moteur d'exécution
• Basé sur une discrétisation du temps• Macroscopiquement synchrone, microscopiquement asynchrone
Cycle desimulation
1. Activation des agents et planification des actions
2. Résolution des conflits
3. Exécution des actions des agents
4. Fonction utilisateur (en séquentiel)(statistiques, informations sur la simulation, arrêt de la simulation etc.)
5. Mise-à-jour des percepts (potentiels, vision etc.)
![Page 11: Simulation parallèle des systèmes multi-agent et son application au trafic routier Eugen Dedu PRiSM UVSQ dedu/parssap le 22 avril.](https://reader036.fdocuments.net/reader036/viewer/2022062511/551d9da1497959293b8d1385/html5/thumbnails/11.jpg)
11
2.0 Algorithmique parallèle : parallélisme dans l’implantation
• Parallélisme interne, mais caché à l’utilisateur• Décomposition en domaines rectangulaires
– perspectives : si nécéssaire, décomposition explicite prenant en compte les zones à grande charge
• Aucune surcharge due au parallélisme, sauf :– fonction utilisateur (en séquentiel) <= transparence au parallélisme– gestion des frontières <= intrinsèque au parallélisme– déséquilibrage de charge => travaux futurs
• Langage C, threads POSIX et Irix, fonctionne aussi sur mono-processeur
• Mécanismes de génération de nombres aléatoires ad hoc => reproductibilité complète des simulations, même avec nombre différent de processeurs
![Page 12: Simulation parallèle des systèmes multi-agent et son application au trafic routier Eugen Dedu PRiSM UVSQ dedu/parssap le 22 avril.](https://reader036.fdocuments.net/reader036/viewer/2022062511/551d9da1497959293b8d1385/html5/thumbnails/12.jpg)
12
2. Algorithmique parallèle des percepts des agents
• 2.1 Percept de la visionBut : création des champs de visibilité
• les cases qu'un agent peut voir• rayon de vision• empêché par les obstacles, perception lointaine
• 2.2 Percept de la détection des potentielsBut : création des champs de potentiel générés par les ressources
• début : le potentiel de la ressource• propagation par vagues• contourne les obstacles, perception de proximité seulement
![Page 13: Simulation parallèle des systèmes multi-agent et son application au trafic routier Eugen Dedu PRiSM UVSQ dedu/parssap le 22 avril.](https://reader036.fdocuments.net/reader036/viewer/2022062511/551d9da1497959293b8d1385/html5/thumbnails/13.jpg)
13
2.1 Vision : exemple de champCe qu'un agent peut voir
???
![Page 14: Simulation parallèle des systèmes multi-agent et son application au trafic routier Eugen Dedu PRiSM UVSQ dedu/parssap le 22 avril.](https://reader036.fdocuments.net/reader036/viewer/2022062511/551d9da1497959293b8d1385/html5/thumbnails/14.jpg)
14
2.1 Vision : nouvel algorithme de lignes épaisses
• TOUS les points que la ligne idéale intersecte
• basé sur l'algorithme de Bresenham
• prend en compte l'erreur précédente
ligne classique : ne considère pas l’obstacleligne épaisse : considère l’obstacle
![Page 15: Simulation parallèle des systèmes multi-agent et son application au trafic routier Eugen Dedu PRiSM UVSQ dedu/parssap le 22 avril.](https://reader036.fdocuments.net/reader036/viewer/2022062511/551d9da1497959293b8d1385/html5/thumbnails/15.jpg)
15
2.1 Vision : parallélisme
• Calculer les champs de visibilité de chaque case– Lecture de la matrice des obstacles– Écriture dans la matrice de visibilité
Calcul identique pour toute case=> parallélisation par décomposition en domaines
![Page 16: Simulation parallèle des systèmes multi-agent et son application au trafic routier Eugen Dedu PRiSM UVSQ dedu/parssap le 22 avril.](https://reader036.fdocuments.net/reader036/viewer/2022062511/551d9da1497959293b8d1385/html5/thumbnails/16.jpg)
16
2.1 Vision : performances (1/3)
Mémoire : O (N(2rv+1)2)
Temps :1. allocations mémoire2. calcul des champs
Temps d'exécutiondu calcul des champs
1 sec. sur 64 processeurs, O2K, 512x512 cases, rayon de 8
![Page 17: Simulation parallèle des systèmes multi-agent et son application au trafic routier Eugen Dedu PRiSM UVSQ dedu/parssap le 22 avril.](https://reader036.fdocuments.net/reader036/viewer/2022062511/551d9da1497959293b8d1385/html5/thumbnails/17.jpg)
17
2.1 Vision : performances (2/3)Accélération, utilisant le temps du thread le plus lentTout l'algorithme (allocations + calcul des champs)
Accélération de 39 sur 48 processeurs (O2K)
Diminution des
performances :• allocations mémoire
(100 ms)• éfficacité• [parallélisme]
![Page 18: Simulation parallèle des systèmes multi-agent et son application au trafic routier Eugen Dedu PRiSM UVSQ dedu/parssap le 22 avril.](https://reader036.fdocuments.net/reader036/viewer/2022062511/551d9da1497959293b8d1385/html5/thumbnails/18.jpg)
18
Qualité d’équilibrage de chargeQldbal : N* -> (0, 1] 1 , si P | 512 512 , sinon P x ([512/P]+1)
2.1 Vision : performances (3/3)
• Zigzag <= déséquilibrage de charge
• Concordance des extrema locaux entre la courbe pratique de performances et la courbe théorique de déséquilibrage de charge
Efficacité du calcul des visibilités (courbe en zigzag)
![Page 19: Simulation parallèle des systèmes multi-agent et son application au trafic routier Eugen Dedu PRiSM UVSQ dedu/parssap le 22 avril.](https://reader036.fdocuments.net/reader036/viewer/2022062511/551d9da1497959293b8d1385/html5/thumbnails/19.jpg)
19
2.2 Propagation par vagues : exemple de champ
Utilité :• retrouve le chemin vers la
ressource
Raison :• existence des obstacles
Propriétés :• contourne les obstacles• décroît avec la distance• potentiel de la ressource
est une fonction de sa charge en objets
• fonction de superposition de champs
![Page 20: Simulation parallèle des systèmes multi-agent et son application au trafic routier Eugen Dedu PRiSM UVSQ dedu/parssap le 22 avril.](https://reader036.fdocuments.net/reader036/viewer/2022062511/551d9da1497959293b8d1385/html5/thumbnails/20.jpg)
20
2.2 Propagation par vagues : méthodes séquentielles
Récursion (en largeur)
3
3
3
3 4
2
2
2
2
2
2
2
2
1
1
1
1
1
1
1
1
1
1
1
1
met potential des resourcesrépéter
pour chaque casep = max pi - 1
jusqu’à pas de modification
Itérative
pour chaque ressourcepropage-la récursivement
3
3
3
3 4
2
2
2
2
2
1
1
1
1
1
1
balayage
haut-bas2
2
2
1
1
1
1
1
1
balayage
bas-haut
![Page 21: Simulation parallèle des systèmes multi-agent et son application au trafic routier Eugen Dedu PRiSM UVSQ dedu/parssap le 22 avril.](https://reader036.fdocuments.net/reader036/viewer/2022062511/551d9da1497959293b8d1385/html5/thumbnails/21.jpg)
21
2.2 Propagation par vagues : méthodes parallèles (1/2)
Propagationdu domaine
Échange aux frontières Propagationdes frontières
Avantage : peu de transferts de donnéesInconvénient : plusieurs repropagations
Méthode de décomposition fixe du domaine
![Page 22: Simulation parallèle des systèmes multi-agent et son application au trafic routier Eugen Dedu PRiSM UVSQ dedu/parssap le 22 avril.](https://reader036.fdocuments.net/reader036/viewer/2022062511/551d9da1497959293b8d1385/html5/thumbnails/22.jpg)
22
2.2 Propagation par vagues : méthodes parallèles (2/2)
Avantage : évite les repropagationsInconvénients : défauts de cache
plus de mémoire
P1 P2 P3
P1
P2
P3
Méthode des environnements privés
![Page 23: Simulation parallèle des systèmes multi-agent et son application au trafic routier Eugen Dedu PRiSM UVSQ dedu/parssap le 22 avril.](https://reader036.fdocuments.net/reader036/viewer/2022062511/551d9da1497959293b8d1385/html5/thumbnails/23.jpg)
23
2.2 Propagation par vagues : performances (1/3)
• Performances égales sur O2K :– connectivité de 4– sans obstacles– 1,1-1,45 ressources / case
Temps d’exécution des méthodes séquentielles
Récursive Itérative
Taille environnement +++ +++
Connectivité (4/8) +++ +
Nombre de ressources ++ =
Potentiel des ressources
++ =
Nombre des obstacles = ++
MéthodeParamètre
![Page 24: Simulation parallèle des systèmes multi-agent et son application au trafic routier Eugen Dedu PRiSM UVSQ dedu/parssap le 22 avril.](https://reader036.fdocuments.net/reader036/viewer/2022062511/551d9da1497959293b8d1385/html5/thumbnails/24.jpg)
24
2.2 Propagation par vagues : performances (2/3)
• Environnements privés : défauts de cache => élimination
• Temps séquentiels :– récursion : 13,5 sec.– itérative : 6 sec.– Tis < Trs
• Temps parallèles :– Ti < Tr
• Idée : séparer la propagation en propagation du domaine et propagation des frontières :– Tr = Tsr + Tpr– Ti = Tsi + Tpi– Tm = Tsi + Tpr
Performances des méthodes parallèles1024x1024, sans obstacles, 1 % de ressources, potentiel des ressources de 16
![Page 25: Simulation parallèle des systèmes multi-agent et son application au trafic routier Eugen Dedu PRiSM UVSQ dedu/parssap le 22 avril.](https://reader036.fdocuments.net/reader036/viewer/2022062511/551d9da1497959293b8d1385/html5/thumbnails/25.jpg)
25
2.2 Propagation par vagues : performances (3/3)
Performances des deux meilleures méthodes parallèles
• Itérative• Combinaison :
– propagation dudomaine : itérative
– propagation desfrontières : récursive
1024x1024, sans obstacles, 1 % de ressources, potentiel des ressources de 16
![Page 26: Simulation parallèle des systèmes multi-agent et son application au trafic routier Eugen Dedu PRiSM UVSQ dedu/parssap le 22 avril.](https://reader036.fdocuments.net/reader036/viewer/2022062511/551d9da1497959293b8d1385/html5/thumbnails/26.jpg)
26
2.2 Propagation par vagues : conclusions
Meilleure méthode :• propagation du
domaine :– itérative
• propagation des frontières :– P petit : itérative– P grand : récursive
=> Propagation inexacte des potentiels => travaux futurs
Accélération(même Tséq) (O2K)
![Page 27: Simulation parallèle des systèmes multi-agent et son application au trafic routier Eugen Dedu PRiSM UVSQ dedu/parssap le 22 avril.](https://reader036.fdocuments.net/reader036/viewer/2022062511/551d9da1497959293b8d1385/html5/thumbnails/27.jpg)
27
3. Implantation du modèle : utilisation
• Écrire une application, étapes :– initialisation de
l’environnement– fonction utilisateur
• sauvegardes pour visualisation
– ressources :charge => potentiel
– comportements des agents• Visualiser une simulation
– outil graphique
![Page 28: Simulation parallèle des systèmes multi-agent et son application au trafic routier Eugen Dedu PRiSM UVSQ dedu/parssap le 22 avril.](https://reader036.fdocuments.net/reader036/viewer/2022062511/551d9da1497959293b8d1385/html5/thumbnails/28.jpg)
28
3. Implantation du modèle : application au trafic routier
• Motivation– temps, argent, concerne tout le monde
• Simulations macroscopiques, microscopiques• Autres travaux
– Mathematical and Computer Modelling, 35 (2002)– Transportation Research Board– automates cellulaires– simulateurs spécifiques : Smartest Project
• Est-ce que le modèle MA est approprié pour la simulation du trafic routier ?– oui, et une implantation bien fonctionnelle
![Page 29: Simulation parallèle des systèmes multi-agent et son application au trafic routier Eugen Dedu PRiSM UVSQ dedu/parssap le 22 avril.](https://reader036.fdocuments.net/reader036/viewer/2022062511/551d9da1497959293b8d1385/html5/thumbnails/29.jpg)
29
3. Trafic routier : simulation des objets
• E.g. 1 case = 3m x 3m, 1 cycle = 0.1 sec.– vitesse maximum : 30 m/s 110 km/h
• Bords des rues = obstacles– rues à plusieurs files
• Voitures = agents• Feux = ressources, couleur = charge• Comportement des voitures, trajectoire =
fonction spécifique aux agents– destination = position finale (x,y)
![Page 30: Simulation parallèle des systèmes multi-agent et son application au trafic routier Eugen Dedu PRiSM UVSQ dedu/parssap le 22 avril.](https://reader036.fdocuments.net/reader036/viewer/2022062511/551d9da1497959293b8d1385/html5/thumbnails/30.jpg)
30
3. Trafic routier : comportement des voitures
• Mets à jour ma vitesse• Choisis la direction (trajectoire)
– distance avec la prochaine voiture
• Calcule la vitesse sûre• Accélère / décélère• Si je bouge
– suis-je à la destination ?– fais-je un accident / infraction ?– bouge
![Page 31: Simulation parallèle des systèmes multi-agent et son application au trafic routier Eugen Dedu PRiSM UVSQ dedu/parssap le 22 avril.](https://reader036.fdocuments.net/reader036/viewer/2022062511/551d9da1497959293b8d1385/html5/thumbnails/31.jpg)
31
3.Trafic routier : simulation de la vitesse
• Problème :– la voiture bouge tous les N cycles vitesse = 1/N– il faut la fonction continue (rationnel) -> discret (entier)
• Idée :– ressemblance avec l’algorithme de Bresenham
• Solution :– toute voiture a un compteur de « pas » effectués, initialisé à 0– à chaque cycle :
• compteur += vitesse• si compteur >= VITESSE_MAX
– compteur -= VITESSE_MAX– bouge la voiture
• sinon, voiture reste sur place
![Page 32: Simulation parallèle des systèmes multi-agent et son application au trafic routier Eugen Dedu PRiSM UVSQ dedu/parssap le 22 avril.](https://reader036.fdocuments.net/reader036/viewer/2022062511/551d9da1497959293b8d1385/html5/thumbnails/32.jpg)
32
3. Trafic routier : patterns observés
• Diagramme fondamental
• Feux– optimisation de l’attente aux feux
• Bouchons– propagation (en arrière ou en avant)– changement de taille
• Accidents et infractions– perspectives : identification automatique des
zones accidentogènes
• Trajectoire– optimisation– changement dynamique, adaptabilité
Nombre
Débit
Voitures
Libre Congestion
![Page 33: Simulation parallèle des systèmes multi-agent et son application au trafic routier Eugen Dedu PRiSM UVSQ dedu/parssap le 22 avril.](https://reader036.fdocuments.net/reader036/viewer/2022062511/551d9da1497959293b8d1385/html5/thumbnails/33.jpg)
33
3. Trafic routier : simplicité de programmation
• Coder le comportement / les paramètres, pas la simulation (style Prolog)– simulation prise en compte par la machine virtuelle de
la bibliothèque
• Programmation rapide et plus facile– en total, 300-500 lignes de code source
• Performance– séquentielle : moins d’1 sec. pour plusieurs rues et
quelques dizaines de voitures pendant 1000 cycles– parallèle : à voir sur un exemple de plus grande taille
(ville)
![Page 34: Simulation parallèle des systèmes multi-agent et son application au trafic routier Eugen Dedu PRiSM UVSQ dedu/parssap le 22 avril.](https://reader036.fdocuments.net/reader036/viewer/2022062511/551d9da1497959293b8d1385/html5/thumbnails/34.jpg)
34
Bilan : contributions
• Modèle de simulation de SMA
• Algorithmique parallèle des percepts des agents :– vision– propagation des potentiels
• Implantation parallèle du modèle– bonnes performances pour les percepts et les applications
• Application au trafic routier– bouchons– carrefours– optimisation des trajectoires
![Page 35: Simulation parallèle des systèmes multi-agent et son application au trafic routier Eugen Dedu PRiSM UVSQ dedu/parssap le 22 avril.](https://reader036.fdocuments.net/reader036/viewer/2022062511/551d9da1497959293b8d1385/html5/thumbnails/35.jpg)
35
Bilan : perspectives• Extension du modèle
• Optimisation des algorithmes– équilibrage dynamique de charge
• Extension de l'environnement de programmation
• Simulation de trafic :– taille plus grande, e.g. quartier d’une ville, optimisation de trajectoire– voitures de plusieurs cases
• Autres applications