This is a simplification of Chadsr/MesaFireEvacuation for educational purposes.
These features have been removed:
- Fire
- Smoke
- Human.Mobility.INCAPACITATED
- Furniture
- Reading floorplan
- Collaboration among agents
New features:
- Setting floor size and generating simple rooms from that
The accompanying paper includes both specification and experimental results. To view the code exactly as it was in the paper, please see here.
You will need to install Poetry using your preferred method, first, then:
cd MesaFireEvacutation/
poetry install
poetry run python run.py
Runs the model with a visual interface, in which parameters can be changed.
poetry run python run_batch.py <num_iterations> <num_humans>
Runs the model with num_iterations of all collaboration factor values with the given num_humans.
As we can see from the figure above, there is an incapacitated agent within the smoke. This agent can not be seen by our healthy agent and will therefore not be helped. We can also observe that the fire is still visible through the smoke, due to its high visibility value.
This functionality is implemented using Bresenham's line algorithm, to create a primitive form of CPU-bound ray-tracing.