https://github.com/steciuk/pszt-maze-solver
Comparison of BFS, DFS and IDFS search algorithms efficiency in randomly generated maze.
https://github.com/steciuk/pszt-maze-solver
bfs-algorithm dfs-algorithm idfs-algorithm maze-generator maze-solver searching-algorithms
Last synced: 4 months ago
JSON representation
Comparison of BFS, DFS and IDFS search algorithms efficiency in randomly generated maze.
- Host: GitHub
- URL: https://github.com/steciuk/pszt-maze-solver
- Owner: steciuk
- Created: 2020-11-08T21:13:48.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2021-03-16T14:12:02.000Z (over 4 years ago)
- Last Synced: 2025-01-06T20:25:42.678Z (5 months ago)
- Topics: bfs-algorithm, dfs-algorithm, idfs-algorithm, maze-generator, maze-solver, searching-algorithms
- Language: Python
- Homepage:
- Size: 742 KB
- Stars: 1
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Podstawy Sztucznej Inteligencji - Projekt - Porównanie algortymów przeszukiwania BFS, DFS, IDFS dla problemu znalezienia drogi w wygenerowanym labiryncie.
Projekt wykonany w ramach przedmiotu PSZT (Podstawy Sztucznej Inteligencji) w semestrze 2020Z (5 semestr), na kierunku Informatyka, specjalizacji Inżynieria Systemów Informacyjnych (ISI) na Wydziale Elektroniki i Technik Informacyjnych (EiTI) Politechniki Warszawskiej.**Prowadzący projekt**: mgr inż. Mikołaj Markiewicz
**Ocena**: 15/15### Autorzy
Lukasz Pokorzyński, nr 300251
[email protected]
Adam Steciuk, nr 300263
[email protected]### Treść zadania
Napisać program porównujący działanie algorytmów przeszukiwania BFS, DFS, IDFS dla problemu znalezienia drogi w labiryncie. Przestrzeń dyskretna - dozwolone ruchy to góra, dół, lewo, prawo. WE: plik ze strukturą labiryntu z we/wy (dla większych użyć jakiegoś generatora).
WY: znaleziona najkrótsza ścieżka i/lub mapka z zaznaczoną ścieżką_(Reszta dostępna w [dokumentacji końcowej](https://github.com/steciuk/PSZT-maze-solver/blob/ff1782ac67b73ef74e92caec9bc91a0377cb44d2/PSZT%20-%20Labirynt.pdf))_
### Instrukcja
- Uruchamiamy ``main.py``
- Opcję w menu wybieramy wpisując odpowiednią wartość porządkową (1, 2, 3, 4 lub h) i zatwierdzając klawiszem Enter.
- Po wybraniu opcji dokonywane są następujące czynności:
- ``(1)`` Generacja labiryntu - buduje labirynt z pliku tekstowego lub pobiera od użytkownika parametry do jego utworzenia (x, y, seed, czy ma mieć tylko jedną ścieżkę)
- ``(2)`` Szukanie rozwiązania - jeżeli labirynt został już stworzony, szuka rozwiązań oraz wyświetla czas wykonywania i liczbę kroków (przeszukanych węzłów grafu) dla algorytmu. Jeżeli szukanie ścieżki następuje po losowaniu startu i celu, wtedy program pyta ile takich losowych przeszukań ma przeprowadzić i wyświetla dodatkowo średnią z czasów wykonywania.
- ``(3)`` Zapis do pliku .txt - zapisuje labirynt do pliku tekstowego jako mapa numeryczna z wartościami 0-3
- ``(4)`` Wyjście - wyłącza działanie programu
- ``(h)`` Pomoc - wyświetla opis opcji ”w pigułce”