We came with the idea of simulating an epidemics from 3Blue1Brown but the process of managing an epidemic crisis is a task that could be done by a Reinforcement Learning algorithm to provide the optimal policies.

Those algorithms proved great performance in task likes playing Go or in Self Driving Cars. We plan to apply those techniques to provide to the authorities a defined actuation path so that it optimizes the number of lifes saved as well as the economy.

What it does

It uses a Monte Carlo SIR simulator that we developed ad-hoc for this project based on similar work done before on the field.

In addition, we developed a complete web solution to visualize the final results of the simulation given a number of parameters provided by the users that will affect the final simulation results.

How we built it

We used python for the REST API as well as for the simulation and DRL. The webpage is fully developed with JS, HTML and CSS. We used a SCRUM-like methodology to organize the tasks.

The backend is developed with Python using the Flask framework. This is a very important part because it works as a bridge between the frontend and the simulator/agent.

The SIR model is a little bit modified. We included density clusters of people to simulate mobility patterns and different economic activities (shopping centers, supermarkets, ...). The agent is based on a Deep Q-Learning Algorithm that we trained throughout the hackathon optimizing the parameters to provide the best policy.

Challenges we ran into

Integration was always the harder part. We faced several issued related to the communication of the different blocks of the application. In addition, we faced problems finding the best parameters for the simulation and developing the whole simulator from scratch. One of the toughest challenge we had to deal with is the computational cost of the simulator.

Accomplishments that We are proud of

We have developed a useful simulation model that shows the impact of the virus as well as an agent that shows that if we don't take measures, even small ones, we won't able to recover from such a disaster. Overall, we are proud of such a complete solution having a friendly Web UI for the user to interact with a complex simulator.

What we learned

We have learned to integrate different programs and to work in sync to achieve the goals we defined. We have learned epidemic math modelling, developing flask applications and the use of JavaScript chart libraries.

What's next for AI Decision Taking for Coronavirus Crisis

We plan to deploy the system to a better server, with more computational power. One thing that we miss is the advise that of experts that could improve a lot the model and the definition of the economic impact.

Built With

Share this project: