Miklix

Jenereta ya Maze ya Algorithm ya Wilson

Iliyochapishwa: 16 Februari 2025, 19:35:22 UTC

Jenereta ya Maze kwa kutumia algorithm ya Wilson kuunda maze kamili. Algorithm hii inazalisha mazes yote ya ukubwa uliopewa na uwezekano sawa, kwa hivyo inaweza kwa nadharia kuzalisha mazes ya mipangilio mingi iliyochanganywa, lakini kwa kuwa kuna mazes zaidi iwezekanavyo na ukanda mfupi kuliko muda mrefu, mara nyingi utaona hizo.

Ukurasa huu ulitafsiriwa kwa mashine kutoka kwa Kiingereza ili kuifanya iweze kupatikana kwa watu wengi iwezekanavyo. Kwa bahati mbaya, utafsiri wa mashine bado sio teknolojia iliyokamilishwa, kwa hivyo makosa yanaweza kutokea. Ukipenda, unaweza kutazama toleo asili la Kiingereza hapa:

Wilson's Algorithm Maze Generator

Algorithm ya Wilson ni njia ya kutembea bila mpangilio ambayo hutoa miti ya sare kwa uumbaji wa maze. Hii inamaanisha kuwa mazes zote zinazowezekana za saizi fulani zina uwezekano sawa wa kuzalishwa, na kuifanya kuwa mbinu ya kizazi cha maze isiyo na upendeleo. Algorithm ya Wilson inaweza kuchukuliwa kuwa toleo bora la algorithm ya Aldous-Broder, kwani inazalisha mazes na sifa zinazofanana, lakini inaendesha haraka sana, kwa hivyo sijasumbua kutekeleza algorithm ya Aldous-Broder hapa.

Maze kamili ni maze ambayo kuna njia moja kutoka kwa hatua yoyote kwenye maze hadi hatua nyingine yoyote. Hiyo ina maana kwamba huwezi kuishia kuzunguka kwenye miduara, lakini mara nyingi utakutana na ncha zisizokufa, na kukulazimisha kugeuka na kurudi nyuma.

Ramani za mlolongo zinazozalishwa hapa ni pamoja na toleo chaguo-msingi bila nafasi zozote za kuanza na kumaliza, kwa hivyo unaweza kujiamulia hizo: kutakuwa na suluhu kutoka sehemu yoyote kwenye msururu hadi sehemu nyingine yoyote. Ikiwa unataka msukumo, unaweza kuwezesha nafasi iliyopendekezwa ya kuanza na kumaliza - na hata kuona suluhisho kati ya hizo mbili.


Tengeneza maze mpya








Kuhusu Algorithm ya Wilson

Algorithm ya Wilson ya kuzalisha miti ya sare ya kutandaza kwa kutumia ukuta wa nasibu wa kitanzi iliundwa na David Bruce Wilson.

Wilson awali ilianzisha algorithm hii katika 1996 wakati wa kutafiti miti ya muda mrefu na minyororo ya Markov katika nadharia ya uwezekano. Ingawa kazi yake ilikuwa hasa katika hisabati na fizikia ya takwimu, algorithm tangu wakati huo imekuwa ikichukuliwa sana kwa kizazi cha maze kutokana na uwezo wake wa kuzalisha mazes sare kamili.

Jinsi Algorithm ya Wilson inavyofanya kazi kwa Kizazi cha Maze

Algorithm ya Wilson inahakikisha kuwa maze ya mwisho imeunganishwa kikamilifu bila kitanzi chochote kwa njia za kuchora kutoka kwa seli zisizotembelewa kwa kutumia matembezi ya nasibu.

Hatua ya 1: Kuanzisha

  • Anza na gridi ya taifa iliyojazwa na kuta.
  • Fafanua orodha ya seli zote zinazowezekana za kifungu.

Hatua ya 2: Chagua Seli ya Kuanza bila mpangilio

  • Chagua seli yoyote ya nasibu na uweke alama kama ilivyotembelewa. Hii hutumika kama mwanzo wa maze wakati wa kizazi.

Hatua ya 3: Kutembea bila mpangilio na Loop-Erasing

  • Chagua seli isiyotembelewa na uanze kutembea bila mpangilio (kusonga kwa mwelekeo wa nasibu).
  • Ikiwa matembezi yanafikia seli iliyotembelewa tayari, futa kitanzi chochote kwenye njia.
  • Mara tu matembezi yanapounganisha kwenye eneo lililotembelewa, weka alama kwenye seli zote kwenye njia kama ilivyotembelewa.

Hatua ya 4: Rudia mpaka seli zote zitembelewe:

  • Endelea kuchagua seli zisizotembelewa na kufanya matembezi ya nasibu hadi kila seli iwe sehemu ya maze.
Shiriki kwenye BlueskyShiriki kwenye FacebookShiriki kwenye LinkedInShiriki kwenye TumblrShiriki kwenye XShiriki kwenye LinkedInBandika kwenye Pinterest

Mikkel Bang Christensen

Kuhusu Mwandishi

Mikkel Bang Christensen
Mikkel ndiye muundaji na mmiliki wa miklix.com. Ana uzoefu wa zaidi ya miaka 20 kama mtaalamu wa kupanga programu/programu za kompyuta na kwa sasa ameajiriwa muda wote kwa shirika kubwa la IT la Ulaya. Wakati si kublogi, yeye hutumia wakati wake wa ziada kwenye safu nyingi za mapendeleo, vitu vya kufurahisha, na shughuli, ambazo zinaweza kuonyeshwa kwa kadiri fulani katika mada anuwai zinazozungumziwa kwenye wavuti hii.