Skip to content

atomic01/AStar-MazeSolver

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 

Repository files navigation

🧩 A* Maze Solver

This project implements a pathfinding algorithm, A* to solve large-scale maze environments represented as BMP images.


📘 Overview

The solver processes maze images, applies the A* algorithm, and outputs the solution as a BMP file with the optimal path drawn.
It was developed as part of a BSc final thesis, focusing on algorithmic efficiency and large-scale image-based problem solving.


⚙️ Features

  • Solves mazes represented as BMP image files
  • Uses A* algorith with priority queue–based frontier
  • Handles mazes up to 2000×2000 pixels
  • Outputs the solved path as result.bmp
  • Supports single-solution and multi-solution mazes

🧠 Implementation Details

  • Language: C
  • Main modules:
    • main.c — Core program and execution loop
    • Declarations.h — Function declarations
    • StackFunctions.h — Priority queue and stack utilities
    • GraphFunctions.h — Graph and node handling

🧩 Maze Data

  • Maze bitmaps are located in the /BMP_folder/ directory
  • The program saves solutions in result.bmp
  • Some special cases:
    • Braid and combo mazes → contain multiple valid solutions
    • Standard mazes → have a single unique solution

💾 Performance Notes

  • For mazes larger than 1000×1000 px, the program requires over 8 GB of RAM
  • Mazes up to 2000×2000 px may consume ~13 GB RAM
  • Must be compiled as a 64-bit application to avoid memory address limitations

📄 Summary

This solver demonstrates the efficiency of the A* search algorithm applied to graphical data, exploring memory and performance constraints in large-scale maze-solving tasks.


🧠 Developed as part of my Bachelor’s Thesis project at [FESB].

About

Solving The Maze Problem using A * algorithm

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages