Soru sorWAVEFRONT ALGORİTMASI TABANLI YOL PLANLAMA ARAYÜZÜ TASARIMI
seldaasag tarafından 7 yıl önce soruldu

20*20 lik bir matris üzerinde engeller oluşturarak giriş belirlenip engellere çarpmadan çıkışa ulaşılacak program nasıl yazılır?

3 Cevap
sayginer Yönetici tarafından 7 yıl önce cevaplandı

Merhaba,
Bahsettiğiniz problemi ele alırken 20'ye 20'lik sıfır ve 1'lerden oluşan bir matrisi ele alalım. Buradaki 1'ler engelleri, 0'lar ise yolları temsil etsin. Başlangıç noktasının sağ-sol ve aşağı-yukarı yönlerdeki matris elementlerinin değerlerine bakalım (1 olmayan değerlere) ve buna göre bir sonraki adımımızı gerçekleştirelim. Buradaki önemli nokta bir sonraki adımımızı atma işlemimiz olacak. Eğer 3 tarafı 1'lerden oluşan bir noktada takılırsak geri giderek tekrar seçim yapmamız gerekecek. Sonuç olarak deneme yanılma yöntemi ile çıkışa kadar ulaşmamız gerekiyor.
Bu probleme benzer olarak Dijkstra'nın en kısa yol algoritmasına (Dijkstra’s shortest path algorithm) göz atabilirsiniz. Bunu Genetik Algoritma ile de çözdürebilirsiniz.
Sizin yazmanız gerekecek algoritmaya dönecek olursak, aşağı yukarı şöyle bir algoritma işinizi görebilir diye düşünüyorum:

1. Baslangıç Noktası Belirle (Satır-Sütun Konumu)
2. Hareket doğrultusu seç (Sağ-Sol, Aşağı-Yukarı) => Bu kısım rastgele yapılabilir
3. Hareket Doğrultusundaki elementi konrol et: 0 mı 1 mi? =>0sa devam, değilse 2. adıma geç
4. Adımı gerçekleştir => Hareket doğrultusuna göre bir önceki konumun satır ve sütun numaralarını güncelle
5. 2. adıma geri dön

Takıldığınız yerleri tekrar sorabilirsiniz,
Kolay gelsin,

seldaasag tarafından 7 yıl önce cevaplandı

mail adresinizi atarsanız bu şekilde daha rahat iletişim kurabiliriz

sayginer Yönetici tarafından 7 yıl önce cevaplandı

Ek olarak aşağıda örnek bir  uygulamayı indirerek kaynak kodlarını ve açıklamalarını inceleyebilirsiniz:

İleride bu konu üzerine arama yapanlara yardımcı olması açısından bu sayfa üzerinden sorularınızı iletmeniz daha faydalı olacaktır.
Teşkkürler,