Miklix

Վիլսոնի ալգորիթմի լաբիրինթոս գեներատոր

Հրապարակվել է՝ 16 փետրվարի, 2025 թ., 19:37:24 UTC

Լաբիրինթոս գեներատոր՝ օգտագործելով Վիլսոնի ալգորիթմը՝ կատարյալ լաբիրինթոս ստեղծելու համար: Այս ալգորիթմը նույն հավանականությամբ գեներացնում է տվյալ չափի բոլոր հնարավոր լաբիրինթոսները, ուստի տեսականորեն այն կարող է ստեղծել բազմաթիվ խառը դասավորությունների լաբիրինթոսներ, բայց քանի որ ավելի կարճ միջանցքներով հնարավոր լաբիրինթոսներ կան, քան ավելի երկար, դուք ավելի հաճախ կտեսնեք դրանք:

Այս էջը ավտոմատ կերպով թարգմանվել է անգլերենից՝ հնարավորինս շատ մարդկանց համար հասանելի դարձնելու համար: Ցավոք, մեքենայական թարգմանությունը դեռ կատարելագործված տեխնոլոգիա չէ, ուստի կարող են սխալներ առաջանալ: Եթե ​​նախընտրում եք, կարող եք դիտել բնօրինակ անգլերեն տարբերակը այստեղ.

Wilson's Algorithm Maze Generator

Ուիլսոնի ալգորիթմը պտույտով ջնջված պատահական քայլքի մեթոդ է, որը ստեղծում է միանման տարածվող ծառեր լաբիրինթոսային ստեղծագործության համար: Սա նշանակում է, որ տվյալ չափի բոլոր հնարավոր լաբիրինթոսները հավասարապես կարող են առաջանալ, ինչի շնորհիվ այն դառնում է անկողմնակալ լաբիրինթոսային սերնդի տեխնիկա։ Ուիլսոնի ալգորիթմը կարելի է համարել Aldous-Broder ալգորիթմի կատարելագործված տարբերակը, քանի որ այն գեներացնում է լաբիրինթոսներ նույնական հատկանիշներով, բայց շատ ավելի արագ է աշխատում, ուստի ես այստեղ չեմ անհանգստացել իրականացնել Aldous-Broder ալգորիթմը:

Կատարյալ լաբիրինթոսն այն լաբիրինթոսն է, որտեղ լաբիրինթոսի ցանկացած կետից դեպի ցանկացած այլ կետ կա ուղիղ մեկ ճանապարհ: Դա նշանակում է, որ դուք չեք կարող ի վերջո շրջել շրջանակներով, բայց հաճախ կհանդիպեք փակուղիների՝ ստիպելով ձեզ շրջվել և հետ գնալ:

Այստեղ ստեղծված լաբիրինթոսային քարտեզները ներառում են լռելյայն տարբերակ՝ առանց որևէ մեկնարկի և ավարտի դիրքերի, այնպես որ դուք կարող եք որոշել դրանք ինքներդ. լուծում կլինի լաբիրինթոսի ցանկացած կետից մինչև ցանկացած այլ կետ: Եթե ​​ցանկանում եք ոգեշնչել, կարող եք միացնել առաջարկվող սկզբի և ավարտի դիրքը և նույնիսկ տեսնել լուծումը երկուսի միջև:


Ստեղծեք նոր լաբիրինթոս








Վիլսոնի ալգորիթմի մասին

Ուիլսոնի ալգորիթմը միանման տարածվող ծառերի գեներացման համար, օգտագործելով պտույտից ջնջված պատահական պատը, ստեղծել է Դեյվիդ Բրյուս Ուիլսոնը:

Ուիլսոնը սկզբնապես ներկայացրել է այս ալգորիթմը 1996 թվականին, երբ հետազոտում էր հավանականությունների տեսության մեջ պատահականորեն տարածվող ծառերը եւ Մարկովի շղթաները։ Չնայած նրա աշխատանքը հիմնականում վերաբերում էր մաթեմատիկային եւ վիճակագրական ֆիզիկային, այդ ժամանակից ի վեր ալգորիթմը լայնորեն կիրառվում է լաբիրինթոսային սերնդի համար, քանի որ կարողանում էր կատարելապես համաչափ լաբիրինթոսներ արտադրել։

Ինչպես է աշխատում Վիլսոնի ալգորիթմը Maze սերնդի համար

Վիլսոնի ալգորիթմը երաշխավորում է, որ վերջին լաբիրինթոսը լիովին կապված է առանց որեւէ պտույտի՝ պատահական քայլերի միջոցով չզտված բջիջներից ուղիներ փորելու միջոցով։

Քայլ 1: Սկզբնայնացնել

  • Սկսեք պատերով լցված ցանցից:
  • Սահմանել բոլոր հնարավոր անցողիկ բջիջների ցանկը:

Քայլ 2. Ընտրեք պատահականորեն սկիզբ առնող բջիջը

  • Ընտրեք ցանկացած պատահական բջիջ եւ նշեք այն որպես այցեքի: Սա ծառայում է որպես լաբիրինթոսների սկզբնակետ սերնդի ընթացքում:

Քայլ 3. Պատահական քայլք loop-Erasing-ով

  • Ընտրեք չզբաղված բջիջ եւ սկսեք պատահական զբոսանք (շարժվում է պատահական ուղղություններով):
  • Եթե քայլքը հասնում է արդեն իսկ այցելված խցիկին, ջնջեք ճանապարհի ցանկացած պտույտ:
  • Երբ զբոսանքը միանում է այցելող հատվածին, նշեք բոլոր բջիջները, որոնք գտնվում են այդ ճանապարհին։

Քայլ 4. Կրկնել մինչեւ բոլոր բջիջների այցելությունը.

  • Շարունակեք ընտրել չզտված բջիջներ եւ կատարել պատահական քայլեր, մինչեւ որ յուրաքանչյուր բջիջ մաս կազմի լաբիրինթոսին:
Կիսվեք Bluesky-ումԿիսվել Facebook-ումԿիսվեք LinkedIn-ումԿիսվեք Tumblr-ումԿիսվեք X-ումԿիսվեք LinkedIn-ումԿպցնել Պինթրեսթում

Միկել Բանգ Քրիստենսեն

Հեղինակի մասին

Միկել Բանգ Քրիստենսեն
Mikkel-ը miklix.com-ի ստեղծողն ու սեփականատերն է: Նա ունի ավելի քան 20 տարվա աշխատանքային փորձ՝ որպես պրոֆեսիոնալ համակարգչային ծրագրավորող/ծրագրային ապահովման մշակող և ներկայումս լրիվ դրույքով աշխատում է եվրոպական խոշոր ՏՏ կորպորացիայի մեջ: Երբ նա բլոգ չի գրում, նա իր ազատ ժամանակն անցկացնում է հետաքրքրությունների, հոբբիների և գործունեության լայն շրջանակի վրա, որոնք որոշ չափով կարող են արտացոլվել այս կայքում ընդգրկված թեմաների բազմազանության մեջ: