Skip to content

Latest commit

 

History

8 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Q-learning-for-Maze

Q-learning algorithm for UAV pathfinding in a grid-world search-and-rescue scenario.

Project Structure

qlearning_maze/     # Core Python package
    env.py          # Grid-world environment with UAV sensing
    q_learning.py   # Tabular Q-learning agent
    data_loader.py  # CSV trajectory data loader
scripts/            # Entry-point scripts
    train.py        # Train the Q-learning agent
    test.py         # Evaluate a trained agent
    visualize.py    # Pygame real-time visualization
    vis_q_table.py  # Plot learned policy per cell
    vis_reward.py   # Plot training reward curves
data/               # UAV trajectory CSV data
result/             # Saved models and outputs

Quick Start

# Install dependencies
pip install -r requirements.txt

# Train on a 10x10 grid with random-start
python scripts/train.py --height 10 --width 10 --radius 3 \
    --episodes 1000 --epsilon 0.2 --reset-mode random \
    --reward-levels 1 2 5 8 --done-humans 3

# Train on a 20x20 grid with edge-start (original config)
python scripts/train.py --height 20 --width 20 --radius 5 \
    --episodes 500 --epsilon 0.9

# Evaluate the trained model
python scripts/test.py --height 10 --width 10 --radius 3 \
    --reset-mode random --reward-levels 1 2 5 8 --done-humans 3

# Visualize policy
python scripts/vis_q_table.py --result-dir result

# Visualize reward curve
python scripts/vis_reward.py --reward-file result/reward.npy

# Pygame visualization
python scripts/visualize.py --height 10 --width 10 --radius 3

About

Q-learning to solve maze pathfinding problems

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages