Giter Site home page Giter Site logo

sup3legacy / tracing-simulation Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 1.31 MB

Simulation dans le moteur Unity du fonctionnement du Contact-Tracing (https://github.com/ROBERT-proximity-tracing/documents)

C# 100.00%
contact-tracing simulation city-simulation covid-19-simulation unity

tracing-simulation's Introduction

Tracing-simulation

Simulation dans le moteur Unity du fonctionnement du Contact-Tracing (https://github.com/ROBERT-proximity-tracing/documents)

Motivation

Ayant entendu parler de la possibilité que soit mise en place une stratégie de contact-tracing, je me suis demandé comment cela marche en pratique et quels bénéfices nous pouvons en tirer.

Contexte de la simulation

Pour cela, j'ai mis en place une simulation, dans le moteur Unity, d'une ville et de ses habitants.

Aperçu de la ville

Les habitants, représentés par des capsules de couleur, suivent un cycle maison/travail/courses/magasin (on distingues les courses, qui représentent les achats de première nécessité avec les magasins, représentant les achats secondaires). (Les voitures en sont que de la décoration, elles ne bougent pas, les habitants se déplacent tous à pieds pour simplifier la simulation!)

La maladie est considéré dans le cadre d'un modèle parent du modèle SIR, le modèle Sain/exposé/infecté/guéri. La couleur d'un habitant représente l'état dans lequel il est : vert pour sain et guéri, orange poru exposé et rouge pour infecté.

J'ai pris le parti de ce modèle car il est plus complexe et a priori plus réaliste que le modèle SIR : exposé signifie "atteint, contagieux mais encore asymptomatique", il s'agit donc de l'état où le patient ne se sait pas encore porteur du virus, donc ne prend pas de précautions, continue à aller au travail, etc. Puis, il passe dans l'état infecté, qui représente la phase symptomatique de la maladie (on suppose ici que tous les malades développent des symptômes tôt ou tard, ce qui n'est, on l'a vu, pas vrai dans la réalité), donc propice à la prise de mesures individuelles de distanciation.

Exemple d'habitants sains :

Habitant sain

Déroulement

Tout au long de la simulation, il est possible d'ajouter des patients-zéro, lieux de départ d'une épidémie. Cette épidémie peut alors se propager parmi les individus au gré des déplacements et rassemblements.

Patient-zéro : Patient-zéro

J'ai simulé les contacts et risques contagieux par une sphère d'un rayon arbitraire (ce rayon fait partie des hyperparamètres de la simulation), centrée autour de chaque individu contagieux et dans laquelle tout individu sain risque de passer dans l'état exposé.

On voit le fonctionnement ici, où un unique individu (ici en rouge) a contaminé plusieurs de ses co-travailleurs sur son lieu de travail : Contamination

Pistes pour le futur

Il y a plusieurs points sur lesquels j'aimerais améliorer cette simulation :

  • Améliorer le cycle jour/nuit : Pour l'instant, chaque individu suit son propre rythme jour/nuit, ce qui est peu représentatif de la réalité
  • Ajouter des actions : Les individus ne font qu'aller travailler, faire les courses et magasins et rentrer chez eux. Il serait intéressant de leur donner un âge et de faire dépendre de cet âge les occupations!
  • Ajouter les contre-mesures : je n'ai pas encore implémenté les différentes contre-mesures possibles : confinement partiel ou total, contact-tracing (le but initial du projet!)

tracing-simulation's People

Contributors

sup3legacy avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.