Miklix

Ang Algorithm Maze Generator ni Wilson

Nai-publish: Marso 19, 2025 nang 8:34:59 PM UTC

Maze generator gamit ang algorithm ni Wilson upang lumikha ng perpektong maze. Binubuo ng algorithm na ito ang lahat ng posibleng maze ng isang partikular na laki na may parehong probabilidad, kaya sa teorya ay maaari itong bumuo ng mga maze ng maraming magkakahalong layout, ngunit dahil mas maraming posibleng maze na may mas maikling corridors kaysa mas mahaba, mas madalas mong makikita ang mga iyon.

Ang pahinang ito ay isinalin sa makina mula sa Ingles upang gawin itong naa-access sa pinakamaraming tao hangga't maaari. Sa kasamaang palad, ang pagsasalin ng makina ay hindi pa isang perpektong teknolohiya, kaya maaaring mangyari ang mga error. Kung gusto mo, maaari mong tingnan ang orihinal na bersyong Ingles dito:

Wilson's Algorithm Maze Generator

Ang algorithm ni Wilson ay isang loop-erased random walk method na bumubuo ng magkakatulad na spanning tree para sa paggawa ng maze. Nangangahulugan ito na ang lahat ng posibleng maze ng isang partikular na laki ay pantay na malamang na mabuo, na ginagawa itong isang walang pinapanigan na pamamaraan ng pagbuo ng maze. Ang algorithm ni Wilson ay maaaring ituring na isang pinahusay na bersyon ng Aldous-Broder algorithm, dahil ito ay bumubuo ng mga maze na may magkaparehong katangian, ngunit ito ay tumatakbo nang mas mabilis, kaya hindi ako nag-abala sa pagpapatupad ng Aldous-Broder algorithm dito.

Ang perpektong maze ay isang maze kung saan mayroong eksaktong isang landas mula sa anumang punto sa maze hanggang sa anumang iba pang punto. Nangangahulugan iyon na hindi ka maaaring maglibot sa mga bilog, ngunit madalas kang makatagpo ng mga patay na dulo, na pinipilit kang tumalikod at bumalik.

Ang mga mapa ng maze na nabuo dito ay may kasamang default na bersyon nang walang anumang mga posisyon sa pagsisimula at pagtatapos, kaya maaari kang magpasya para sa iyong sarili: magkakaroon ng solusyon mula sa anumang punto sa maze hanggang sa anumang iba pang punto. Kung gusto mo ng inspirasyon, maaari mong paganahin ang isang iminungkahing posisyon sa pagsisimula at pagtatapos - at kahit na makita ang solusyon sa pagitan ng dalawa.


Bumuo ng bagong maze








Tungkol sa Algorithm ni Wilson

Ang algorithm ni Wilson para sa paggawa ng mga uniform spanning tree gamit ang loop-erased random walk ay nilikha ni David Bruce Wilson.

Orihinal na ipinakilala ni Wilson ang algorithm na ito noong 1996 habang nagsasagawa ng pananaliksik tungkol sa mga random spanning tree at Markov chains sa teorya ng probabilidad. Bagamat ang kanyang trabaho ay pangunahing nasa matematika at pisikang estadistikal, ang algorithm na ito ay malawakang tinanggap para sa paggawa ng mga maze dahil sa kakayahan nitong makabuo ng mga perpektong uniform na maze.

Paano Gumagana ang Algorithm ni Wilson para sa Pagbuo ng Maze

Tinitiyak ng algorithm ni Wilson na ang huling maze ay ganap na konektado nang walang mga loop sa pamamagitan ng paulit-ulit na pag-ukit ng mga landas mula sa mga hindi pa nabisitang cell gamit ang random walks.

Hakbang 1: Inisyalisa

  • Mag-umpisa sa isang grid na puno ng mga pader.
  • Mag-define ng isang listahan ng lahat ng posibleng mga passage cell.

Hakbang 2: Pumili ng Random na Panimulang Cell

  • Pumili ng kahit anong random na cell at markahan ito bilang nabisita. Ito ay magsisilbing panimulang punto ng maze habang ito ay binubuo.

Hakbang 3: Random Walk na may Pag-aalis ng Loop

  • Pumili ng isang hindi pa nabisitang cell at magsimula ng random walk (paggalaw sa mga random na direksyon).
  • Kung ang walk ay makarating sa isang cell na nabisita na, alisin ang mga loop sa landas.
  • Kapag ang walk ay kumonekta sa nabisitang rehiyon, markahan ang lahat ng cell sa landas bilang nabisita.

Hakbang 4: Ulitin Hanggang ang Lahat ng Cell ay Mabisita:

  • Patuloy na pumili ng mga hindi pa nabisitang cell at magsagawa ng random walks hanggang ang bawat cell ay maging bahagi ng maze.
Ibahagi sa BlueskyIbahagi sa FacebookIbahagi sa LinkedInIbahagi sa TumblrIbahagi sa XIbahagi sa LinkedInI-pin sa Pinterest

Mikkel Christensen

Tungkol sa May-akda

Mikkel Christensen
Si Mikkel ang lumikha at may-ari ng miklix.com. Siya ay may higit sa 20 taong karanasan bilang isang propesyonal na computer programmer/software developer at kasalukuyang nagtatrabaho ng full-time para sa isang malaking European IT corporation. Kapag hindi nagba-blog, ginugugol niya ang kanyang bakanteng oras sa isang malawak na hanay ng mga interes, libangan, at aktibidad, na maaaring sa ilang lawak ay makikita sa iba't ibang mga paksang sakop sa website na ito.