Vous êtes sur la page 1sur 4

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 (lucas.imren@laposte.net,
nemo.pawlowski@gmail.com, gaby.perignon@gmail.com).

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 Lévy Flight
Mouvement Brownien Brownian Motion
Point de cheminement aléatoire Random Way Point
Programmation Orientée Objet Object-oriented programming
Contamination 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-people-
use-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. Réécrire la documentation du programme pour plus de clarté
2. Trouver les critères de déplacement pour le BM et les implémenter dans le programme
3. Finir la partie “contamination” du programme
4. Extraire des données trouvées sur CRAWDAD la fréquence et la durée des contacts entre
individus mobiles
5. 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
6. Finir le programme !
7. Application du programme au cas concret
8. Étude de cas concrets (différents scénarios de confinement)

Vous aimerez peut-être aussi