Un agente di Reinforcement Learning che impara a guidare un kart su circuiti di gara usando Deep Q-Network (DQN).
Addestrare un agente RL a:
- Navigare autonomamente su un circuito
- Attraversare tutti i checkpoint in ordine
- Evitare di uscire fuori pista
- Completare il giro nel minor tempo possibile
src/
├── main.py # Entry point (train/test)
├── agents/
│ ├── agent.py # DQN Agent + ReplayBuffer
│ └── network.py # Neural Network (MLP)
├── env/
│ └── track_env.py # Ambiente Gymnasium
└── utils/
└── visual.py # Grafici e heatmap
# Clona il repository
git clone https://github.com/EChiarini/ProgettoAI.git
cd ProgettoAI
# Installa le dipendenze con uv
uv sync# Training con 1000 episodi (default)
python src/main.py train
# Training con numero episodi personalizzato
python src/main.py train --ep 5000# Test con il miglior modello
python src/main.py test
# Test con checkpoint specifico
python src/main.py test --mod cp_5000.pthDopo il training vengono generati in results/:
grafico_finale.png- Andamento rewardheatmap_finale.png- Traiettorie percorsereports/report_N.pdf- Report automatico
- Relazione completa:
docs/Relazione.ipynb