Miklix

Generator Labirin Algoritma Wilson

Diterbitkan: 16 Februari 2025 pukul 19.31.57 UTC
Terakhir diperbarui: 12 Januari 2026 pukul 09.03.17 UTC

Generator labirin menggunakan algoritma Wilson untuk membuat labirin yang sempurna. Algoritma ini menghasilkan semua labirin yang mungkin dengan ukuran tertentu dengan probabilitas yang sama, sehingga secara teori dapat menghasilkan labirin dengan banyak tata letak campuran, tetapi karena ada lebih banyak labirin dengan koridor yang lebih pendek daripada yang lebih panjang, Anda akan lebih sering melihat labirin jenis itu.

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:

Wilson's Algorithm Maze Generator

Algoritma Wilson adalah metode penelusuran acak penghapusan loop yang menghasilkan pohon rentang seragam untuk pembuatan labirin. Ini berarti bahwa semua labirin yang mungkin dengan ukuran tertentu memiliki kemungkinan yang sama untuk dihasilkan, menjadikannya teknik pembuatan labirin yang tidak bias. Algoritma Wilson dapat dianggap sebagai versi yang lebih baik dari algoritma Aldous-Broder, karena menghasilkan labirin dengan karakteristik yang identik, tetapi berjalan jauh lebih cepat, jadi saya tidak perlu mengimplementasikan algoritma Aldous-Broder di sini.

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 Wilson

Algoritma Wilson untuk menghasilkan pohon rentang seragam menggunakan dinding acak yang dihilangkan loop-nya diciptakan oleh David Bruce Wilson.

Wilson pertama kali memperkenalkan algoritma ini pada tahun 1996 saat meneliti pohon rentang acak dan rantai Markov dalam teori probabilitas. Meskipun karyanya terutama di bidang matematika dan fisika statistik, algoritma ini sejak itu diadopsi secara luas untuk pembuatan labirin karena kemampuannya untuk menghasilkan labirin yang seragam sempurna.

Bagaimana Algoritma Wilson Bekerja untuk Pembuatan Labirin

Algoritma Wilson memastikan bahwa labirin akhir terhubung sepenuhnya tanpa adanya lingkaran dengan cara mengukir jalur secara iteratif dari sel-sel yang belum dikunjungi menggunakan penelusuran acak.

Langkah 1: Inisialisasi

  • Mulailah dengan kisi-kisi yang diisi dengan dinding.
  • Tentukan daftar semua sel lintasan yang mungkin.

Langkah 2: Pilih Sel Awal Secara Acak

  • Pilih sel secara acak dan tandai sebagai telah dikunjungi. Ini berfungsi sebagai titik awal labirin selama proses pembuatan.

Langkah 3: Penelusuran Acak dengan Penghapusan Loop

  • Pilih sel yang belum dikunjungi dan mulailah penelusuran acak (bergerak ke arah acak).
  • Jika jalur tersebut mencapai sel yang sudah dikunjungi, hapus semua perulangan dalam jalur tersebut.
  • Setelah jalur tersebut terhubung ke wilayah yang dikunjungi, tandai semua sel di jalur tersebut sebagai sel yang telah dikunjungi.

Langkah 4: Ulangi Hingga Semua Sel Dikunjungi:

  • Lanjutkan memilih sel yang belum dikunjungi dan melakukan penelusuran acak hingga setiap sel menjadi bagian dari labirin.

Bacaan Lebih Lanjut

Jika Anda menikmati postingan ini, Anda mungkin juga menyukai saran berikut:


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

Mikkel Christensen

Tentang Penulis

Mikkel 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.