Skip to content

Python-based pathfinding simulator visualizing Dijkstra, Bellman-Ford, Depth First Search, Breadth First Search Algorithms in a dynamic environment.

Notifications You must be signed in to change notification settings

MEminUlusoy/SmartNavigation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

59 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🤖 Smart Navigation: Yol Planlama Simülatörü

  • Proje Amacı: Bir robotun; farklı trafik yoğunlukları ve engeller altında en verimli yolu bulmasını sağlayan bir simülasyon projesidir.
  • Kapsam: En kısa yol algoritmaları (Dijkstra, Bellman-Ford) ve arama algoritmalarının (BFS, DFS) davranışlarını karşılaştırmalı olarak sunar.

🛠️ Kullanılan Teknolojiler

  • Python: Algoritma mantığı ve çekirdek uygulama geliştirme.
  • Numpy: Her çalıştırmada rastgele trafik ve engel oluşturarak objektif simülasyon sağlama.
  • Matplotlib: Algoritmaların harita üzerindeki hareketlerinin anlık görselleştirilmesi.

🛣️ Algoritmalar ve Yaklaşımlar

1️⃣ Ağırlıklı (Maliyet Odaklı) Algoritmalar

Trafik yoğunluğuna göre "en ucuz" yolu hesaplarlar.

  • Dijkstra: En düşük maliyetli rotayı kesin olarak garanti eder.
  • Bellman-Ford: Negatif maliyetli yolları işleme yeteneğine sahiptir.

Warning

Teknik Detay: Algoritma negatif döngüleri tespit eder; ancak simülasyonun sürekliliği için bu ağırlıklar bilinçli olarak 0'a limitlenmiştir (clamping).

2️⃣ Ağırlıksız (Adım Odaklı) Algoritmalar

Yolların maliyeti (trafik) yoksa, hedefe en az adımda ulaşmayı hedeflerler.

  • BFS (Breadth-First Search): Hedefi katman katman arayarak en kısa adım sayısını bulur.
  • DFS (Depth-First Search): Derinlemesine arama stratejisiyle hedefi bulur.
  • Simülasyon Farkı: Robot hedefe varmadan önce, algoritmanın harita üzerinde yaptığı "hedef arama/tarama" süreci görsel olarak simüle edilmiştir.

✨ Projenin Öne Çıkan Özellikleri

  • 🚀 Dinamik Ortam: Numpy ile her başlangıçta farklı bir trafik ve engel düzeni.
  • 📊 Görsel Analiz: Arama stratejilerinin harita üzerinde canlı olarak izlenebilmesi.
  • 🛠️ Hata Yönetimi: Bellman-Ford üzerinde gelişmiş negatif döngü kontrolü.

🖼️ Simülasyon Görselleri

🟥 Bellman-Ford Algoritması:


Negatif maliyetlerin ve döngü kontrollerinin yapıldığı yol planlaması.

Hedef Arama Süreci:

Rotanın Tamamlanması:

🟦 Dijkstra Algoritması


En düşük maliyetli rotanın (trafik yoğunluğu dahil) hesaplanma anı.

🟩 Breadth First Search (BFS)


Ağırlıksız yollarda, hedefi genişlemesine arayarak hedefi daha az adımda bulur

🎨 Simülasyon Renk Anahtarı

  • Başlangıç & Hedef: 🟢 Başlangıç | 🔴 Hedef
  • Engeller: ⬛ Siyah Kareler (Geçilemez Alanlar)
  • Robotun İzleri: 🌐 Açık Mavi (Algoritmanın belirlediği ve robotun geçerken bıraktığı iz)
  • Aktif Arama: 🔵 Koyu Mavi (Robotun Anlık Yeri)
  • Tarama Geçmişi: ⚪ Açık Gri (Algoritmanın ziyaret ettiği ancak rotaya seçmediği noktalar)

Hedef Arama Süreci:

Rotanın Tamamlanması:

🟩 Depth First Search (DFS)


Ağırlıksız yollarda, hedefi derinlemesine arayarak hedefi daha az adımda bulur

About

Python-based pathfinding simulator visualizing Dijkstra, Bellman-Ford, Depth First Search, Breadth First Search Algorithms in a dynamic environment.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages