Skip to content

A real-time terminal-based fire evacuation simulation featuring advanced AI pathfinding algorithms including A*, Dijkstra's algorithm, BFS, and hybrid adaptive pathfinding. This C++ simulation demonstrates intelligent agent behavior, emergency evacuation scenarios, and dynamic algorithm selection for optimal escape routes.

License

Notifications You must be signed in to change notification settings

trinetra110/fire-evacuation-simulator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

19 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ”ฅ Advanced Fire Evacuation Simulator with AI Pathfinding

C++ Windows License Pathfinding AI

A real-time terminal-based fire evacuation simulation featuring advanced AI pathfinding algorithms including A*, Dijkstra's algorithm, BFS, and hybrid adaptive pathfinding. This C++ simulation demonstrates intelligent agent behavior, emergency evacuation scenarios, and dynamic algorithm selection for optimal escape routes.

๐Ÿ“ฝ๏ธ Demo

fire-evacuation-simulator.mp4

๐ŸŽฏ Key Features

๐Ÿง  AI Pathfinding Algorithms

  • A* (A-Star) - Heuristic-based optimal pathfinding
  • Dijkstra's Algorithm - Weighted pathfinding with fire danger zones
  • BFS (Breadth-First Search) - Guaranteed shortest path
  • Hybrid Adaptive - Dynamic algorithm switching based on conditions
  • Multi-Objective - Balances safety vs speed with configurable weights

๐Ÿ”ฅ Fire Simulation

  • Dynamic Fire Spread - Probabilistic propagation to adjacent cells
  • Fire-Aware Pathfinding - Algorithms adapt to avoid dangerous zones
  • Real-time Danger Assessment - Continuous fire proximity evaluation

๐Ÿƒโ€โ™‚๏ธ Smart Agent Behavior

  • Adaptive Decision Making - Agents switch algorithms based on situation
  • Individual Intelligence - Each person uses optimal pathfinding strategy
  • Real-time Path Recalculation - Responds to changing fire conditions

๐ŸŽฎ Controls

Key Action Description
Q Quit Exit simulation
M Manual Mode Step-by-step control
A Auto Mode Continuous simulation
SPACE Next Step Advance one step (manual mode)

๐Ÿš€ Quick Start

Prerequisites

  • Windows OS (uses Windows Console API)
  • C++ Compiler (GCC, MinGW, MSVC, or Clang)
  • C++11 Standard or later

Installation

  1. Clone Repository

    git clone https://github.com/yourusername/fire-evacuation-simulator.git
    cd fire-evacuation-simulator
  2. Compile

    g++ -std=c++11 -O2 -o fire_sim.exe main.cpp Grid.cpp Person.cpp Fire.cpp SimulationManager.cpp PathfindingAlgorithms.cpp
  3. Run

    ./fire_sim.exe

๐Ÿ—๏ธ Architecture

Core Components

  • PathfindingAlgorithms - Multiple algorithm implementations with dynamic selection
  • Person (AI Agent) - Adaptive intelligence with real-time strategy switching
  • Grid Management - Building layout, visualization, and obstacle handling
  • Fire System - Spreading fire mechanics with danger zone calculation
  • SimulationManager - Real-time orchestration and statistics

Project Structure

๐Ÿ“ฆ fire-evacuation-simulator/
โ”œโ”€โ”€ main.cpp                     # Application entry point
โ”œโ”€โ”€ Position.h                   # 2D coordinate system
โ”œโ”€โ”€ Grid.h/.cpp                  # Building layout & visualization
โ”œโ”€โ”€ Person.h/.cpp                # AI agent with pathfinding
โ”œโ”€โ”€ Fire.h/.cpp                  # Fire spread mechanics
โ”œโ”€โ”€ PathfindingAlgorithms.h/.cpp # Advanced pathfinding library
โ”œโ”€โ”€ SimulationManager.h/.cpp     # Simulation orchestration
โ””โ”€โ”€ README.md                    # Documentation

๐Ÿงฎ Algorithm Performance

Algorithm Best For Time Complexity Use Case
A* Speed with heuristics O(b^d) Early stages, low fire danger
Dijkstra Safety-prioritized O((V+E)logV) High fire danger situations
BFS Shortest path guarantee O(V+E) Simple scenarios
Hybrid Dynamic adaptation Variable Changing conditions
Multi-Objective Balanced decisions O((V+E)logV) Complex scenarios

๐Ÿ“Š Simulation Display

Symbol Meaning Description
P Person AI agent using pathfinding
F Fire Spreading danger zone
E Exit Emergency evacuation point
# Wall Impassable structure
Empty Safe walkable space

๐Ÿ”ง Customization

Building Layout

// Add walls in Grid::initializeGrid()
cells[row][col] = '#';

// Add exits
exits.push_back(Position(x, y));

Fire Behavior

// Adjust spread rate in Fire::spread()
if (rand() % 100 < 40) {  // 40% spread rate
    newFires.push_back(neighbor);
}

Algorithm Weights

// Multi-objective optimization
findPathMultiObjective(grid, start, goal, fires, 
                      0.8,  // Safety weight
                      0.2); // Speed weight

๐ŸŽ“ Applications

  • Computer Science Education - Algorithm visualization and comparison
  • Emergency Management Training - Evacuation planning and bottleneck analysis
  • Research - Multi-agent systems and optimization problems
  • Algorithm Benchmarking - Performance comparison in dynamic scenarios

๐Ÿ“ˆ Features

Dynamic Algorithm Selection

Intelligent selection based on fire proximity, simulation time, distance to goal, and fire density.

Real-time Statistics

  • People rescued/casualties/active evacuees
  • Success rate and simulation steps
  • Individual agent algorithm status and positions

Cross-Platform Notes

For Linux/macOS: Replace Windows-specific headers and console functions.

๐Ÿ“œ License

MIT License - see LICENSE file for details.


Keywords: Fire evacuation simulation, pathfinding algorithms, A* algorithm, Dijkstra algorithm, BFS pathfinding, emergency evacuation, AI simulation, C++ pathfinding, adaptive algorithms, multi-objective optimization, emergency planning, crowd simulation, building evacuation, fire safety simulation, intelligent agents, real-time pathfinding, evacuation modeling, emergency response training, computer science education, algorithm visualization.

About

A real-time terminal-based fire evacuation simulation featuring advanced AI pathfinding algorithms including A*, Dijkstra's algorithm, BFS, and hybrid adaptive pathfinding. This C++ simulation demonstrates intelligent agent behavior, emergency evacuation scenarios, and dynamic algorithm selection for optimal escape routes.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages