Miklix

Wilsons Algorithmus-Labyrinth-Generator

Veröffentlicht: 16. Februar 2025 um 19:31:33 UTC
Zuletzt aktualisiert: 12. Januar 2026 um 09:03:13 UTC

Dieser Labyrinthgenerator verwendet Wilsons Algorithmus, um ein perfektes Labyrinth zu erstellen. Der Algorithmus generiert alle möglichen Labyrinthe einer gegebenen Größe mit der gleichen Wahrscheinlichkeit. Theoretisch kann er also Labyrinthe mit vielen verschiedenen Layouts erzeugen. Da es jedoch mehr mögliche Labyrinthe mit kürzeren als mit längeren Gängen gibt, werden diese häufiger vorkommen.

Diese Seite wurde maschinell aus dem Englischen übersetzt, um sie so vielen Menschen wie möglich zugänglich zu machen. Leider ist die maschinelle Übersetzung noch keine ausgereifte Technologie, so dass Fehler auftreten können. Wenn Sie es vorziehen, können Sie sich die englische Originalversion hier ansehen:

Wilson's Algorithm Maze Generator

Wilsons Algorithmus ist ein schleifenbereinigtes Random-Walk-Verfahren, das gleichmäßige Spannbäume zur Labyrinthgenerierung erzeugt. Das bedeutet, dass alle möglichen Labyrinthe einer gegebenen Größe mit gleicher Wahrscheinlichkeit generiert werden, wodurch es sich um eine unvoreingenommene Labyrinthgenerierungsmethode handelt. Wilsons Algorithmus kann als verbesserte Version des Aldous-Broder-Algorithmus betrachtet werden, da er Labyrinthe mit identischen Eigenschaften erzeugt, aber deutlich schneller ist. Daher habe ich auf die Implementierung des Aldous-Broder-Algorithmus hier verzichtet.

Ein perfektes Labyrinth ist ein Labyrinth, in dem es genau einen Weg von jedem Punkt des Labyrinths zu jedem anderen Punkt gibt. Das bedeutet, dass man sich nicht im Kreis drehen kann, sondern oft auf Sackgassen stößt, die einen zwingen, umzudrehen und zurückzugehen.

Die hier generierten Labyrinthkarten enthalten eine Standardversion ohne Start- und Zielpositionen, so dass Sie diese selbst bestimmen können: Es gibt eine Lösung von jedem Punkt des Labyrinths zu jedem anderen Punkt. Wenn Sie sich inspirieren lassen möchten, können Sie eine vorgeschlagene Start- und Zielposition aktivieren - und sogar die Lösung zwischen den beiden Punkten sehen.


Neues Labyrinth generieren








Über Wilsons Algorithmus

Der Wilson-Algorithmus zur Erzeugung gleichmäßiger Spannbäume unter Verwendung einer schleifenbereinigten Zufallswand wurde von David Bruce Wilson entwickelt.

Wilson stellte diesen Algorithmus ursprünglich 1996 im Rahmen seiner Forschung zu zufälligen Spannbäumen und Markov-Ketten in der Wahrscheinlichkeitstheorie vor. Obwohl seine Arbeit primär der Mathematik und der statistischen Physik galt, wird der Algorithmus aufgrund seiner Fähigkeit, perfekt gleichmäßige Labyrinthe zu erzeugen, seither häufig zur Labyrinthgenerierung eingesetzt.

Wie Wilsons Algorithmus zur Labyrinthgenerierung funktioniert

Wilsons Algorithmus stellt sicher, dass das endgültige Labyrinth vollständig verbunden ist und keine Schleifen enthält, indem er iterativ Pfade von unbesuchten Zellen aus mittels Zufallspfaden erzeugt.

Schritt 1: Initialisieren

  • Beginnen Sie mit einem Raster, das mit Wänden gefüllt ist.
  • Definiere eine Liste aller möglichen Durchgangszellen.

Schritt 2: Wähle eine zufällige Startzelle

  • Wähle eine beliebige Zelle aus und markiere sie als besucht. Diese dient bei der Generierung als Startpunkt des Labyrinths.

Schritt 3: Zufallspfad mit Schleifenlöschung

  • Wähle eine unbesuchte Zelle und beginne einen Zufallspfad (Bewegung in zufälligen Richtungen).
  • Falls der Pfad eine bereits besuchte Zelle erreicht, werden alle Schleifen im Pfad gelöscht.
  • Sobald der Weg mit der besuchten Region verbunden ist, markieren Sie alle Zellen auf dem Pfad als besucht.

Schritt 4: Wiederholen Sie den Vorgang, bis alle Zellen besucht wurden:

  • Wähle weiterhin unbesuchte Zellen aus und führe Zufallswanderungen durch, bis jede Zelle Teil des Labyrinths ist.

Weitere Informationen

Wenn Ihnen dieser Beitrag gefallen hat, könnten Ihnen auch diese Vorschläge gefallen:


Teilen auf BlueskyAuf Facebook teilenAuf LinkedIn teilenAuf Tumblr teilenTeilen auf XAuf LinkedIn teilenPin auf Pinterest

Mikkel Christensen

Über den Autor

Mikkel Christensen
Mikkel ist der Schöpfer und Eigentümer von miklix.com. Er verfügt über mehr als 20 Jahre Erfahrung als professioneller Computerprogrammierer/Softwareentwickler und ist derzeit in Vollzeit für ein großes europäisches IT-Unternehmen tätig. Wenn er nicht gerade bloggt, verbringt er seine Freizeit mit einer Vielzahl von Interessen, Hobbys und Aktivitäten, was sich bis zu einem gewissen Grad in der Vielfalt der auf dieser Website behandelten Themen widerspiegelt.