Miklix

Generador de laberints d'algoritmes de Wilson

Publicat: 6 de març del 2025, a les 11:17:25 UTC
Última actualització: 12 de gener del 2026, a les 9:03:47 UTC

Generador de laberints que utilitza l'algoritme de Wilson per crear un laberint perfecte. Aquest algoritme genera tots els laberints possibles d'una mida determinada amb la mateixa probabilitat, de manera que en teoria pot generar laberints de molts dissenys mixtos, però com que hi ha més laberints possibles amb passadissos més curts que més llargs, els veureu més sovint.

Aquesta pàgina es va traduir automàticament de l'anglès per tal de fer-la accessible al màxim de persones possible. Malauradament, la traducció automàtica encara no és una tecnologia perfeccionada, de manera que es poden produir errors. Si ho prefereixes, pots veure la versió original en anglès aquí:

Wilson's Algorithm Maze Generator

L'algoritme de Wilson és un mètode de passejada aleatòria amb esborrat de bucles que genera arbres d'expansió uniformes per a la creació de laberints. Això significa que tots els laberints possibles d'una mida determinada tenen la mateixa probabilitat de ser generats, convertint-lo en una tècnica de generació de laberints imparcial. L'algoritme de Wilson es pot considerar una versió millorada de l'algoritme d'Aldous-Broder, ja que genera laberints amb característiques idèntiques, però s'executa molt més ràpid, per la qual cosa no m'he molestat a implementar l'algoritme d'Aldous-Broder aquí.

Un laberint perfecte és un laberint en el qual hi ha exactament un camí des de qualsevol punt del laberint fins a qualsevol altre punt. Això vol dir que no pots acabar donant voltes, però sovint et trobaràs amb carrerons sense sortida, obligant-te a donar la volta i tornar enrere.

Els mapes de laberint generats aquí inclouen una versió predeterminada sense cap posició d'inici i d'arribada, de manera que les podeu decidir vosaltres mateixos: hi haurà una solució des de qualsevol punt del laberint fins a qualsevol altre punt. Si voleu inspiració, podeu activar una posició d'inici i d'arribada suggerida, i fins i tot veure la solució entre les dues.


Genera un laberint nou








Sobre l'algoritme de Wilson

L'algoritme de Wilson per generar arbres d'expansió uniformes utilitzant una paret aleatòria esborrada per bucles va ser creat per David Bruce Wilson.

Wilson va introduir originalment aquest algorisme el 1996 mentre investigava els arbres d'expansió aleatoris i les cadenes de Markov en la teoria de la probabilitat. Tot i que el seu treball es va centrar principalment en les matemàtiques i la física estadística, l'algoritme ha estat àmpliament adoptat des de llavors per a la generació de laberints a causa de la seva capacitat per produir laberints perfectament uniformes.

Com funciona l'algoritme de Wilson per a la generació de laberints

L'algoritme de Wilson garanteix que el laberint final estigui completament connectat sense bucles mitjançant la creació de camins iteratius a partir de cel·les no visitades mitjançant passejades aleatòries.

Pas 1: Inicialitzar

  • Comença amb una quadrícula plena de parets.
  • Defineix una llista de totes les cel·les de passatge possibles.

Pas 2: Trieu una cel·la inicial aleatòria

  • Trieu qualsevol cel·la aleatòria i marqueu-la com a visitada. Això serveix com a punt d'inici del laberint durant la generació.

Pas 3: Caminada aleatòria amb esborrat de bucles

  • Trieu una cel·la no visitada i comenceu un passeig aleatori (movent-vos en direccions aleatòries).
  • Si la caminada arriba a una cel·la ja visitada, esborra qualsevol bucle del camí.
  • Un cop la caminada es connecti amb la regió visitada, marqueu totes les cel·les del camí com a visitades.

Pas 4: Repetiu fins que es visitin totes les cel·les:

  • Continueu seleccionant cel·les no visitades i fent passejades aleatòries fins que totes les cel·les formin part del laberint.

Lectures addicionals

Si t'ha agradat aquesta publicació, també et poden agradar aquests suggeriments:


Comparteix a BlueskyComparteix a FacebookComparteix a LinkedInComparteix a TumblrComparteix a XComparteix a LinkedInPin a Pinterest

Mikkel Christensen

Sobre l'autor

Mikkel Christensen
Mikkel és el creador i propietari de miklix.com. Té més de 20 anys d'experiència com a programador/desenvolupador de programari informàtic professional i actualment treballa a temps complet per a una gran corporació informàtica europea. Quan no fa blocs, dedica el seu temps lliure a una gran varietat d'interessos, aficions i activitats, que fins a cert punt es poden reflectir en la varietat de temes tractats en aquest lloc web.