Miklix

Generator Labirin Algoritma Pohon Tumbuh

Diterbitkan: 16 Februari 2025 pukul 21.36.25 UTC
Terakhir diperbarui: 6 Maret 2025 pukul 09.55.43 UTC

Pembuat labirin menggunakan algoritma Growing Tree untuk membuat labirin yang sempurna. Algoritma ini cenderung menghasilkan labirin yang mirip dengan algoritma Hunt and Kill, tetapi dengan solusi tipikal yang agak berbeda.

Halaman ini diterjemahkan oleh mesin dari bahasa Inggris agar dapat diakses oleh sebanyak mungkin orang. Sayangnya, terjemahan mesin belum merupakan teknologi yang sempurna, sehingga kesalahan dapat terjadi. Jika Anda mau, Anda dapat melihat versi bahasa Inggris aslinya di sini:

Growing Tree Algorithm Maze Generator

Algoritma Growing Tree menarik, karena dapat meniru perilaku beberapa algoritma lain, tergantung pada bagaimana sel berikutnya dipilih selama pembuatan. Implementasi pada halaman ini menggunakan pendekatan breadth-first, mirip antrean.

Labirin yang sempurna adalah labirin yang hanya memiliki satu jalan dari titik mana pun di dalam labirin ke titik lainnya. Itu berarti Anda tidak bisa berputar-putar, tetapi Anda akan sering menemui jalan buntu, memaksa Anda untuk berbalik dan kembali.

Peta labirin yang dibuat di sini termasuk versi default tanpa posisi awal dan akhir, sehingga Anda dapat menentukannya sendiri: akan ada solusi dari titik mana pun di dalam labirin ke titik lainnya. Jika Anda menginginkan inspirasi, Anda dapat mengaktifkan posisi awal dan akhir yang disarankan - dan bahkan melihat solusi di antara keduanya.


Membuat labirin baru








Tentang Algoritma Growing Tree

Algoritma Growing Tree merupakan metode yang fleksibel dan ampuh untuk menghasilkan labirin yang sempurna. Algoritma ini menarik karena dapat meniru perilaku beberapa algoritma pembuatan labirin lainnya, seperti algoritma Prim, backtracking rekursif, dan pembagian rekursif, tergantung pada bagaimana Anda memilih sel berikutnya untuk diproses.

Cara Kerja Algoritma Growing Tree

Langkah 1: Inisialisasi

  • Mulailah dengan kisi sel yang belum dikunjungi.
  • Pilih sel awal secara acak dan tambahkan ke daftar.

Langkah 2: Loop Pembuatan Labirin

  • Selama daftar sel tidak kosong:
    • Pilih sel dari daftar berdasarkan strategi tertentu (dijelaskan di bawah).
    • Buatlah jalur dari sel yang dipilih ke salah satu sel tetangganya yang belum dikunjungi (dipilih secara acak).
    • Tambahkan tetangga ke daftar karena sekarang menjadi bagian dari labirin.
    • Jika sel yang dipilih tidak memiliki tetangga yang belum dikunjungi, hapus dari daftar.

Langkah 3: Penghentian

  • Algoritma selesai ketika tidak ada lagi sel dalam daftar, berarti seluruh labirin telah diukir.

Strategi Pemilihan Sel (Fleksibilitas Algoritma)

Fitur penentu algoritma Growing Tree adalah bagaimana Anda memilih sel mana yang akan diproses selanjutnya. Pilihan ini secara drastis memengaruhi tampilan labirin:

Sel Terbaru (Perilaku Seperti Tumpukan) – Pelacakan Balik Rekursif:

  • Selalu pilih sel yang terakhir ditambahkan.
  • Menghasilkan koridor yang panjang dan berliku-liku dengan banyak jalan buntu (seperti labirin pencarian kedalaman).
  • Labirin cenderung memiliki lorong yang panjang dan mudah dipecahkan.

Sel Acak (Algoritma Prim Acak):

  • Pilih sel acak dari daftar setiap kali.
  • Menciptakan labirin yang terdistribusi secara merata dengan jalur yang rumit dan kusut.
  • Koridor panjang lebih sedikit, tetapi percabangan lebih banyak.

Sel Tertua (Perilaku Seperti Antrean):

  • Selalu pilih sel terlama dalam daftar.
  • Menghasilkan labirin dengan penyebaran yang lebih seragam, seperti pola pencarian breadth-first.
  • Lorong pendek dan lebat dengan koneksi yang rapat.
  • (Ini adalah versi yang diterapkan di sini)

Pendekatan Hibrida:

Gabungkan strategi untuk berbagai karakteristik labirin. Misalnya:

  • 90% terbaru, 10% acak: Tampak seperti labirin penelusuran balik rekursif, tetapi dengan cabang sesekali yang memecah koridor panjang.
  • 50% terbaru, 50% terlama: Menyeimbangkan koridor panjang dengan pertumbuhan lebat.

Bagikan di BlueskyBagikan di FacebookBagikan di LinkedInBagikan di TumblrBagikan di XBagikan di LinkedInPin di Pinterest

Mikkel Bang Christensen

Tentang Penulis

Mikkel Bang Christensen
Mikkel adalah pencipta dan pemilik miklix.com. Dia memiliki lebih dari 20 tahun pengalaman sebagai pemrogram komputer profesional/pengembang perangkat lunak dan saat ini bekerja penuh waktu di sebuah perusahaan IT besar di Eropa. Ketika tidak menulis blog, ia menghabiskan waktu luangnya untuk beragam minat, hobi, dan kegiatan, yang mungkin sampai batas tertentu tercermin dalam berbagai topik yang dibahas di situs web ini.