mesa / mesa/mesa-examples

Use new VoronoiGrid discrete space in examples

Open
#112 0 comments 1 reaction 0 assignees View on GitHub
good first issue
Dominant language
Python
Stars
252
Forks
279
Avg merge
8d 9h
Merged PRs (30d)
2

Description

This issue aims to create an example with the functionalities of VoronoiGrid discrete space and its main applications.

- Original Mesa Issue: https://github.com/projectmesa/mesa/issues/1895
- Original PR: https://github.com/projectmesa/mesa/pull/2084

Most Voronoi applications involve continuous space moving agents. Here, using discrete space, the main ideia is to model [John Snow Cholera](https://en.wikipedia.org/wiki/John_Snow#Cholera) using the VoronoiGrid this way:

- Each cell have one pump and a certain amount of people
- Pumps can contaminate neighbor pumps or people in the cell
- People can move between cells
- Pumps can be closed/fixed

We assign probabilities to the events (moving around, contaminating) and simulate in order to analyze how important interventions (closing or fixing pumps) are.

This is just an ideia for the example, suggestions are welcome.

### References
- [R Package for Analyzing John Snow's 1854 Cholera Map ](https://github.com/lindbrook/cholera)
- [Why this pattern shows up everywhere in nature | Voronoi Cell Pattern](https://www.youtube.com/watch?v=GafRRl5XRPM&t=183s)
- [NetLogo](http://ccl.northwestern.edu/netlogo/models)

Contributor guide

Open the contributing guide

Research direction

Start by reviewing the linked original Mesa issue and pull request, then inspect existing mesa-examples and the VoronoiGrid API. Done means adding a documented example that models cells, pumps, people, movement, contamination, and pump interventions, with a simulation that demonstrates their effects.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
data
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.