44 0 75KB
Simulation de la propagation d’un virus entre individus mobiles Après les récents événements liés au COVID-19, il nous a paru très intéressant d’étudier la propagations de virus de ce genre. Pour cela une étude de terrain est impossible pour des raisons évidentes. Nous avons donc choisi l’étude de la dissémination d’un virus par sa simulation. Cette étude s’inscrit fortement dans le thème de l’enjeu sociétal. En effet, il est clair que pendant une longue période, l’organisation de la plupart des sociétés, si ce n’est de toutes, à travers le monde dépendaient des avis des scientifiques experts dans des sujets liés à la propagation de virus.
Professeurs encadrants du candidat MORIN Fabien (Physique-chimie), LIM Jacques Bunrith (Mathématiques)
Ce TIPE fait l’objet d’un travail en groupe. Liste de membres du groupe : IMREN Lucas, PAWLOWSKI Némo, PERIGNON Gaby ([email protected], [email protected], [email protected]).
Positionnement thématique INFORMATIQUE (Informatique pratique), MATHÉMATIQUES (Mathématiques appliquées)
Mots-clés Mots-clés (en français)
Mots-clés (en anglais)
Vol de Lévy Mouvement Brownien Point de cheminement aléatoire Programmation Orientée Objet Contamination
Lévy Flight Brownian Motion Random Way Point Object-oriented programming Contamination
Bibliographie commentée Simuler la marche humaine est un enjeu actuelle de notre société. Trois modèles de mobilités, sur lesquels on peut changer plusieurs paramètres, ont retenus notre attention : le Brownian Motion (BM), le Random Way Point (RWP) et le Lévy Walk (LW).
Les déplacements humains dans les alentours de de 10 km autour de leur domicile peuvent être assimilés aux déplacements de singes, d’oiseaux ou encore de chacals. Le MB peut être assimilé au déplacement d’un prédateur dans un environnement où les proies abondent. Le LW est plus adapté lorsque les proies se raréfient (modèle plus courant).[5][6]
1
Le LW peut prendre en compte des paramètres géographiques comme des obstacles physiques (bâtiments, frontières, routes) contrairement au RWP. Sur une surface donné, ce dernier remplira totalement l'espace. Qu'on soit dans une station de métro, en voiture ou dans un bureau, on ne se déplace pas de la même manière. A partir d'un exemple de LW, des chercheurs ont fait le choix de montrer à différentes échelles les déplacements humains et les liens créés par réseaux mobiles [4]. Ces liens rentre en résonance avec notre programmation de dissémination d'un virus. De fait, il est nécessaire de choisir le lieu et l’échelle qui nous convient pour notre expérience. Par ailleurs, quel que soit la modélisation choisie, la programmation de vecteur est requise. Deux manières sont envisageables. Une manières simpliste serait de proposer à un point 4 directions : haut, bas ,gauche et droite. L'autre manière est de donner à ce point un angle aléatoire. Cependant le vecteur obtenue est unitaire, pour le cas du LW par exemple, on le multiplie par un facteur qu'on a programmé en amont tel qu'il ait plus de chance d'être petit plutôt que grand (loi de Levy) [2][1]. Puis, avec les différents résultats obtenues avec les différents modèles de mobilités, il s'agira de les comparer aux données réelles [6].
Problématique retenue En quoi la simulation est-elle utile à l’étude de la dissémination d’un virus dans une population d’individus mobiles ?
Objectifs des différents membres du groupe IMREN Lucas Mes objectifs pour ce TIPE sont d’écrire le programme Python de la simulation de la mobilité d’individus et de la simulation de la propagation du virus entre les individus au cours de contacts se produisant entre eux.
Avant d’écrire ce programme à l’ordinateur, je devrai d’abord étudier la Programmation Orientée Objet (POO) sur lequel se fondera ce programme. Puis je devrais penser le squelette du programme (d’abord la partie mobilité des individus puis la partie propagation du virus) grâce à différents schémas et diagrammes en collaboration avec différents enseignants, chercheurs, ou encore ingénieurs de l’IRISA (institut de recherche affilié à l’UBS). Après cela, grâce à une librairie d’interface graphique python, je m’occuperai de la représentation graphique de la simulation. Et enfin, grâce à des archives de données, je comparerais les résultats avec la réalité et j’affinerai le programme pour qu’il soit possible d’en tirer des résultats fiables.
PAWLOWSKI Nemo Mes objectifs du TIPE sont dans un premier temps d'étudier le modèle de mobilité LW dans son aspect théorique et son aspect pratique pour mener à bien sa programmation, et d'également étudier plus concisement le modèle RWP. Ensuite, j'étudierais les modèles mathématiques de comparaison de résultats entre notre programme et la réalité, pour vérifier au mieux sa véracité. Enfin, nous appliquerons notre programme à des cas concrets, où les arguments d'entrée (population, risques accrus ou non) pour une dissémination de virus par exemple seront à choisir précisément. Il faudra également définir des critères pour le comptage, comme la fréquence de contact ou de contamination.
2
PÉRIGNON Gaby Tout d'abord, mon premier objectif est de me familiariser avec l'outil majeur de notre TIPE : python et la POO. Un camarade s'occupant déjà du tronc commun du modèle, je me dirigerais essentiellement vers le codage des différents modèles de mobilité (RWP, LW, MB) et vers l’étude des aspects théoriques du mouvement brownien. Dans un second temps, après modélisation de la propagation du virus au sein des trois reproductions numérique, il s'agira de trouver, vérifier et confronter les données réelles aux nôtres. Enfin, j'aimerais déterminer le modèle le plus ressemblant à la réalité à l'aide d'une étude statistique.
Références bibliographiques [1] Bob Cordeau & Laurent Pointal : Cours d’introduction à Python3 et donc à la POO : https://perso.limsi.fr/pointal/_media/python:cours:courspython3.pdf [2] Daniel Shiffman: codage du modèle de mobilité Random Way Point (RWP) et Lévy Walk en java : Coding Challenge #53: Random Walker with Vectors and Lévy Flight [3] Fujihara Akihiro: à quoi ressemble un déplacement qui suit le modèle du Lévy Walk: How Lévy walk moves [4] IRISA : Ce qui a été fait à l’IRISA dans un cadre de recherche sur les réseaux mobiles: LEPTON -Lightweight Emulation PlaTform for Opportunistic Networking [5] Injong Rhee, Minsu Shin, Seongik Hong, Kyunghan Lee and Song Chong : sur le modèle de mobilité “Levy Walk” : On the Levy-walk Nature of Human Mobility: Do Humans Walk like Monkeys?
[6] the japan times : article sur le Levy Walk (où retrouve-t-on le Levy Walk et le mouvement brownien ?): https://www.japantimes.co.jp/news/2013/12/29/world/science-health-world/hungry-animals-peopleuse-levy-walk/ [7] crawdad.org : base de données réelles « human behavior modeling » : https://crawdad.org/ncsu/mobilitymodels/20090723/GPS/ https://crawdad.org/yonsei/lifemap/20120103/mobility/
Bilan d’étapes 1. Se familiariser avec la programmation objet en python grâce aux feuilles de cours données par des enseignants en info de l’UBS 2. Écriture du diagramme UML pour avoir le squelette du programme 3. Écrire les classes Walk/Flight/RWP et les fonction associées 4. Trouver des librairies python de graphes pour visualiser les déplacements (on utilisera la librairie “Tkinter”) 5. Trouver les critères de déplacement pour RWP et LW 6. Implémenter les différents modèles de mobilité dans le programme 7. Finir le programme permettant de faire se déplacer des points suivants le modèle de mobilité RWP (ajout des classes “Simulation” et “Person” et des fonctions associées) 8. Écrire les classes Neighborhood/contact/Neighbor pour commencer à modéliser la contamination (on implémente ici la partie qui s’occupera du contact entre les individus) 9. Trouver des données de mobilités réelles à partir de la base de donnée “CRAWDAD”
3
Projets 1. 2. 3. 4. 5. 6. 7. 8.
Réécrire la documentation du programme pour plus de clarté Trouver les critères de déplacement pour le BM et les implémenter dans le programme Finir la partie “contamination” du programme Extraire des données trouvées sur CRAWDAD la fréquence et la durée des contacts entre individus mobiles Modifier les différents paramètres du LW pour que la fréquence et la durée des contacts colle avec les données réelles Finir le programme ! Application du programme au cas concret Étude de cas concrets (différents scénarios de confinement)
4