Miklix

Gjeneratori Maze i Algoritmit të Ellerit

Publikuar: 16 shkurt 2025 në 8:36:49 e pasdites, UTC
Përditësimi i fundit: 12 janar 2026 në 9:04:26 e paradites, UTC

Gjenerator labirinti që përdor algoritmin e Eller-it për të krijuar një labirint të përsosur. Ky algoritëm është interesant pasi kërkon vetëm mbajtjen në kujtesë të rreshtit aktual (jo të gjithë labirintit), kështu që mund të përdoret për të krijuar labirinte shumë, shumë të mëdha edhe në sisteme shumë të kufizuara.

Kjo faqe u përkthye me makinë nga anglishtja për ta bërë të aksesueshme për sa më shumë njerëz. Fatkeqësisht, përkthimi me makinë nuk është ende një teknologji e përsosur, kështu që mund të ndodhin gabime. Nëse preferoni, mund ta shikoni versionin origjinal në anglisht këtu:

Eller's Algorithm Maze Generator

Algoritmi i Eller-it është një algoritëm gjenerimi labirintesh që prodhon në mënyrë efikase labirinte perfekte (labirinte pa sythe dhe me një shteg të vetëm midis dy pikave) duke përdorur një qasje rresht pas rreshti. Ai prodhon labirinte të ngjashme me algoritmin e Kruskal-it, por e bën këtë duke gjeneruar vetëm një rresht në të njëjtën kohë, pa pasur nevojë për ruajtjen e të gjithë labirintit në kujtesë. Kjo e bën atë të dobishëm për gjenerimin e labirinteve shumë të mëdha në sisteme shumë të kufizuara dhe për gjenerimin e përmbajtjes procedurale.

Një labirint i përsosur është një labirint në të cilin ka saktësisht një rrugë nga çdo pikë në labirint në çdo pikë tjetër. Kjo do të thotë që nuk mund të përfundoni duke ecur në rreth, por shpesh do të hasni në rrugë pa krye, duke ju detyruar të ktheheni dhe të ktheheni.

Hartat e labirintit të krijuara këtu përfshijnë një version të paracaktuar pa asnjë pozicion fillimi dhe mbarimi, kështu që ju mund t'i vendosni ato vetë: do të ketë një zgjidhje nga çdo pikë në labirint në çdo pikë tjetër. Nëse dëshironi frymëzim, mund të aktivizoni një pozicion të sugjeruar fillimi dhe përfundimi - dhe madje të shihni zgjidhjen midis të dyjave.


Gjeneroni labirint të ri








Rreth Algoritmit të Eller-it

Algoritmi i Ellerit u prezantua nga David Eller.

Algoritmi është i njohur për qasjen e tij efikase rresht pas rreshti ndaj gjenerimit të labirinteve, duke e bërë atë ideal për labirinte të pafundme ose labirinte të gjeneruara në kohë reale. Ai citohet zakonisht në gjenerimin e përmbajtjes procedurale dhe literaturën e gjenerimit të labirinteve, por nuk kam qenë në gjendje të gjej burime parësore që detajojnë botimin e tij origjinal.

Si funksionon algoritmi i Eller-it për gjenerimin e labirinteve

Algoritmi i Eller-it përpunon një rresht në të njëjtën kohë, duke mirëmbajtur dhe modifikuar grupe qelizash të lidhura. Ai siguron lidhshmëri duke shmangur sythet, dhe e zgjeron në mënyrë efikase labirintin poshtë.

Teorikisht mund të përdoret për të gjeneruar labirinte të pafundme, megjithatë, për t'u siguruar që labirinti i gjeneruar është realisht i zgjidhshëm, është e nevojshme të kalohet në logjikën e "rreshtit të fundit" në një moment për të përfunduar labirintin.

Hapi 1: Inicializoni Rreshtin e Parë

  • Caktoni çdo qelize në rresht një ID unike të grupit.

Hapi 2: Bashkoni disa qeliza ngjitur horizontalisht

  • Bashkoni rastësisht qelizat ngjitur duke i vendosur ato në të njëjtin ID të grupit. Kjo siguron që të ketë kalime horizontale.

Hapi 3: Krijoni lidhje vertikale me rreshtin tjetër

  • Për çdo grup që shfaqet në rresht, të paktën një qelizë duhet të lidhet poshtë (për të siguruar lidhshmërinë).
  • Zgjidhni rastësisht një ose më shumë qeliza nga secili grup për t'u lidhur me rreshtin tjetër.

Hapi 4: Kaloni në rreshtin tjetër

  • Vazhdoni përpara lidhjet vertikale duke i caktuar të njëjtin ID të grupit qelizave përkatëse më poshtë.
  • Cakto ID të reja të grupit për çdo qelizë të pacaktuar.

Hapi 5: Përsëritni hapat 2–4 derisa të arrihet rreshti i fundit

  • Vazhdoni përpunimin rresht pas rreshti.

Hapi 6: Përpunoni rreshtin përfundimtar

  • Sigurohuni që të gjitha qelizat në rreshtin e fundit i përkasin të njëjtit grup duke bashkuar çdo grup të mbetur të veçantë.

Lexime të mëtejshme

Nëse ju pëlqeu ky postim, mund t'ju pëlqejnë edhe këto sugjerime:


Shpërndaje në BlueskyShpërndaje në FacebookNdani në LinkedInShpërndaje në TumblrShpërndaje në XNdani në LinkedInPin në Pinterest

Mikkel Christensen

Rreth Autorit

Mikkel Christensen
Mikkel është krijuesi dhe pronari i miklix.com. Ai ka mbi 20 vjet përvojë si programues profesional kompjuteri/zhvillues softuerësh dhe aktualisht është i punësuar me kohë të plotë për një korporatë të madhe evropiane IT. Kur nuk bën blog, ai e kalon kohën e lirë në një gamë të gjerë interesash, hobish dhe aktivitetesh, të cilat mund të reflektohen në një farë mase në shumëllojshmërinë e temave të mbuluara në këtë faqe interneti.