Büyüyen Ağaç Algoritması Labirent Oluşturucu
Yayınlandı: 16 Şubat 2025 21:37:23 UTC
Son güncelleme: 12 Ocak 2026 09:05:56 UTC
Growing Tree Algorithm Maze Generator
Büyüyen Ağaç algoritması, üretim sırasında bir sonraki hücrenin nasıl seçildiğine bağlı olarak diğer birçok algoritmanın davranışını taklit edebildiği için ilgi çekicidir. Bu sayfadaki uygulama, genişlik öncelikli, kuyruk benzeri bir yaklaşım kullanmaktadır.
Mükemmel bir labirent, labirentteki herhangi bir noktadan diğer herhangi bir noktaya tam olarak tek bir yolun olduğu bir labirenttir. Bu, daireler çizerek ilerleyemeyeceğiniz, ancak sık sık çıkmaz sokaklarla karşılaşacağınız ve sizi geri dönmeye zorlayacağınız anlamına gelir.
Burada oluşturulan labirent haritaları, herhangi bir başlangıç ve bitiş konumu olmayan varsayılan bir sürüm içerir, böylece bunlara kendiniz karar verebilirsiniz: labirentin herhangi bir noktasından başka bir noktaya bir çözüm olacaktır. İlham almak isterseniz, önerilen bir başlangıç ve bitiş konumunu etkinleştirebilir ve hatta ikisi arasındaki çözümü görebilirsiniz.
Büyüyen Ağaç Algoritması Hakkında
Büyüyen Ağaç algoritması, mükemmel labirentler oluşturmak için esnek ve güçlü bir yöntemdir. Algoritma, işlenecek bir sonraki hücreyi nasıl seçtiğinize bağlı olarak Prim algoritması, özyinelemeli geri izleme ve özyinelemeli bölme gibi diğer birçok labirent oluşturma algoritmasının davranışını taklit edebildiği için ilgi çekicidir.
Büyüyen Ağaç Algoritması Nasıl Çalışır?
Adım 1: Başlatma
- Ziyaret edilmemiş hücrelerden oluşan bir tablo ile başlayın.
- Rastgele bir başlangıç hücresi seçin ve listeye ekleyin.
Adım 2: Labirent Oluşturma Döngüsü
- Hücre listesi boş değilken: Belirli bir stratejiye (aşağıda açıklanmıştır) göre listeden bir hücre seçin. Seçilen hücreden ziyaret edilmemiş komşularından birine (rastgele seçilmiş) bir geçit açın. Komşu hücreyi listeye ekleyin, çünkü artık labirentin bir parçasıdır. Seçilen hücrenin ziyaret edilmemiş komşusu yoksa, listeden çıkarın.
Adım 3: Sonlandırma
- Listede hiç hücre kalmadığında, yani tüm labirent oyulmaya başlandığında algoritma sona erer.
Hücre Seçim Stratejileri (Algoritmanın Esnekliği)
Büyüyen Ağaç algoritmasının belirleyici özelliği, bir sonraki hangi hücreyi işleyeceğinizi seçmenizdir. Bu seçim, labirentin görünümünü önemli ölçüde etkiler:
En Yeni Hücre (Yığın Benzeri Davranış) – Özyinelemeli Geri İzleme:
- Her zaman en son eklenen hücreyi seçin.
- Uzun, kıvrımlı ve birçok çıkmaz sokak içeren koridorlar oluşturur (tıpkı derinlemesine arama labirenti gibi).
- Labirentler genellikle uzun geçitlere sahiptir ve çözülmesi kolaydır.
Rastgele Hücre (Rastgeleleştirilmiş Prim Algoritması):
- Her seferinde listeden rastgele bir hücre seçin.
- Karmaşık ve dolambaçlı yollarla daha eşit dağılımlı bir labirent oluşturur.
- Daha az uzun koridor ve daha çok dallanma.
En Yaşlı Hücre (Sıra Benzeri Davranış):
- Listedeki en eski hücreyi her zaman seçin.
- Genişlik öncelikli arama desenine benzer şekilde, daha düzgün dağılımlı labirentler oluşturur.
- Sık bağlantılara sahip kısa, çalılıklarla kaplı geçitler.
- (Burada uygulanan sürüm budur)
Hibrit Yaklaşımlar:
Farklı labirent özelliklerine yönelik stratejileri birleştirin. Örneğin:
- %90 en yeni, %10 rastgele: Çoğunlukla özyinelemeli bir geri izleme labirentine benziyor, ancak uzun koridorları bölen ara sıra dallanmalar da mevcut.
- %50 yeni, %50 eski: Uzun koridorları gür bitki örtüsüyle dengeler.
Daha Fazla Okuma
Bu yazıyı beğendiyseniz, şu öneriler de ilginizi çekebilir:
- Wilson Algoritması Labirent Oluşturucu
- Eller Algoritması Labirent Oluşturucu
- Kruskal Algoritması Labirent Oluşturucu
