AI-powered mesh network disaster recovery for Tunisia using DQN & PPO
# MeshNet AI — Tunisia Disaster Recovery
> AI-powered mesh network routing using Deep Reinforcement Learning (DQN & PPO)
> **ENISO · Academic Project · 2025–2026**
---
## Overview
MeshNet AI simulates a resilient mesh communication network across 10 Tunisian cities. When disasters (floods, earthquakes, infrastructure failures) knock out nodes, trained RL agents (DQN and PPO) autonomously re-route messages through surviving nodes — outperforming classic algorithms in both delivery rate and energy efficiency.
| Algorithm | Delivery Rate | Avg Energy | Avg Hops |
|---|---|---|---|
| Flooding | ~40% | ~19.4 | ~5.2 |
| Dijkstra | ~82% | ~0.38 | ~3.1 |
| Greedy | ~76% | ~0.31 | ~2.8 |
| AODV | ~84% | ~0.36 | ~3.0 |
| **DQN (ours)** | **~100%** | **~0.13** | **~2.0** |
| **PPO (ours)** | **~98%** | **~0.14** | **~2.1** |
---
## Features
- **6 routing algorithms** benchmarked: Flooding, Dijkstra, Greedy, AODV, DQN, PPO
- **3 disaster scenarios**: Nabeul coastal flood, Kasserine earthquake, Tunis infrastructure failure
- **28-feature RL state space** with per-neighbor encoding for fine-grained decisions
- **Interactive Dash dashboard** with animated message routing and live KPIs
- **Multi-seed robustness evaluation** across 5 random seeds with error bars
- **Modular `src/` package** ready to extend with new cities, scenarios, or agents
---
## Project Structure
```
meshnet-ai/
├── src/
│ ├── network/ # Core simulation: MeshNode, MeshNetwork, Message, FloodingRouter
│ ├── ai/ # RL environment (StableMeshRoutingEnv) + baseline routers
│ ├── scenarios/ # Tunisia city data & disaster scenario simulators
│ └── visualization/ # Matplotlib network visualizer
├── tests/ # pytest unit tests
├── data/
│ ├── dashboard_metrics.json # Auto-generated by comparison_test.py
│ └── results/comparison/ # Saved comparison charts
├── models/
│ ├── dqn/ # DQN weights (dqn_final.zip) — generated by trai …