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
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.