Overview
This is one of the first projects that introduced me to the world of parallelism/distributed computing during my grade in the National University of San Luis (UNSL).
SSDyP-GameOfLife is a distributed and parallelized implementation of Conway’s Game of Life, developed to demonstrate principles of distributed and parallel systems.
The project includes simulations for cellular automata and extends to model the spread of COVID-19 within a population.


COVID-19 - Basic Simulation
This extension of Conway’s Game of Life simulates the spread of COVID-19 within a population. Each cell represents an individual with the following attributes:
State:
- ⬜ Free: Unoccupied cell.
- 🟦 Susceptible: At risk of infection.
- 🟥 Infected (contagious).
- 🟨 Infected (Isolated under medical care).
- 🟩 Recovered.
- ⬛ Deceased.
Additional Characteristics:
- Age: {Child, Adult, Elderly}.
- Risk Factors: {Diabetes, Hypertension, Respiratory Disease, Immunocompromised}.
- Occupational Risk: {Healthcare Worker, Public Service Worker}.
- Preventative Vaccinations: {Yes, No}.
- Biological Sex: {Male, Female}.
Health Timeline: Each cell updates its state based on its own characteristics and the state of its eight neighbors.
Rules of State Transitions
Susceptible (🟦) → Infected (🟧):
- Probability depends on:
- Neighboring infected cells.
- Strength of infection.
- Susceptibility factors (age, risk group).
Formula:
P = ((E * POT) + SUSC) / (7 * STEPS_PER_DAY)
E
: Number of neighboring infected cells.POT
: Strength of infection (constant = 2.4).SUSC
: Susceptibility score (e.g., Elderly = 0.9).
- Probability depends on:
Infected (🟧) → Contagious (🟥):
- After 4 simulation days.
Contagious (🟥) → Isolated (🟨):
- After 2 days with 90% probability.
Infected (🟥 or 🟨) → Recovered (🟩) or Deceased (⬛):
- Recovery depends on age, risk factors, and vaccination.
Visualization and Results
The project outputs a visual representation of the grid, showing the progression of states over time.


Repository
The full source code and documentation are available on GitHub.
Future Work
- Improve visualization (GUI enhancements).
- Add support for advanced statistical analysis of simulation results.