Miklix

बढ़ते पेड़ एल्गोरिथ्म भूलभुलैया जनरेटर

प्रकाशित: 16 फ़रवरी 2025 को 9:37:30 pm UTC बजे
आखरी अपडेट: 6 मार्च 2025 को 9:57:32 am UTC बजे

ग्रोइंग ट्री एल्गोरिदम का उपयोग करके एक आदर्श भूलभुलैया बनाने वाला भूलभुलैया जनरेटर। यह एल्गोरिदम हंट और किल एल्गोरिदम के समान भूलभुलैया उत्पन्न करता है, लेकिन कुछ हद तक अलग विशिष्ट समाधान के साथ।

इस पृष्ठ को अंग्रेजी से मशीन द्वारा अनुवादित किया गया है ताकि इसे अधिक से अधिक लोगों तक पहुँचाया जा सके। दुर्भाग्य से, मशीन अनुवाद अभी तक एक पूर्ण तकनीक नहीं है, इसलिए त्रुटियाँ हो सकती हैं। यदि आप चाहें, तो आप मूल अंग्रेजी संस्करण यहाँ देख सकते हैं:

Growing Tree Algorithm Maze Generator

ग्रोइंग ट्री एल्गोरिदम दिलचस्प है, क्योंकि यह कई अन्य एल्गोरिदम के व्यवहार का अनुकरण कर सकता है, जो इस बात पर निर्भर करता है कि पीढ़ी के दौरान अगला सेल कैसे चुना जाता है। इस पृष्ठ पर कार्यान्वयन एक व्यापक-प्रथम, कतार-जैसे दृष्टिकोण का उपयोग करता है।

एक आदर्श भूलभुलैया वह भूलभुलैया होती है जिसमें भूलभुलैया के किसी भी बिंदु से किसी अन्य बिंदु तक जाने के लिए बिल्कुल एक ही रास्ता होता है। इसका मतलब है कि आप चक्कर लगाते हुए नहीं रह सकते, लेकिन आप अक्सर ऐसे रास्ते पर आएँगे जहाँ आपको पीछे मुड़ना होगा और वापस लौटना होगा।

यहाँ बनाए गए भूलभुलैया मानचित्रों में बिना किसी आरंभ और समाप्ति स्थिति के एक डिफ़ॉल्ट संस्करण शामिल है, इसलिए आप उन्हें स्वयं तय कर सकते हैं: भूलभुलैया के किसी भी बिंदु से किसी भी अन्य बिंदु तक एक समाधान होगा। यदि आप प्रेरणा चाहते हैं, तो आप सुझाए गए आरंभ और समाप्ति स्थिति को सक्षम कर सकते हैं - और यहां तक ​​कि दोनों के बीच समाधान भी देख सकते हैं।


नया भूलभुलैया उत्पन्न करें








बढ़ते पेड़ एल्गोरिथ्म के बारे में

ग्रोइंग ट्री एल्गोरिदम परफेक्ट भूलभुलैया बनाने के लिए एक लचीला और शक्तिशाली तरीका है। यह एल्गोरिदम दिलचस्प है क्योंकि यह कई अन्य भूलभुलैया निर्माण एल्गोरिदम के व्यवहार का अनुकरण कर सकता है, जैसे कि प्राइम का एल्गोरिदम, रिकर्सिव बैकट्रैकिंग और रिकर्सिव डिवीजन, यह इस बात पर निर्भर करता है कि आप प्रक्रिया के लिए अगला सेल कैसे चुनते हैं।

वृक्ष उगाने का एल्गोरिदम कैसे काम करता है

चरण 1: आरंभीकरण

  • अप्रयुक्त कोशिकाओं के ग्रिड से शुरुआत करें।
  • एक यादृच्छिक प्रारंभिक सेल चुनें और उसे सूची में जोड़ें।

चरण 2: भूलभुलैया निर्माण लूप

  • जब तक सेल सूची रिक्त न हो:
    • किसी विशिष्ट रणनीति (नीचे समझाया गया है) के आधार पर सूची से एक सेल का चयन करें।
    • चयनित सेल से उसके किसी अप्रयुक्त पड़ोसी (यादृच्छिक रूप से चयनित) तक एक मार्ग बनाएं।
    • पड़ोसी को सूची में जोड़ें क्योंकि वह अब भूलभुलैया का हिस्सा है।
    • यदि चयनित सेल में कोई अप्रयुक्त पड़ोसी नहीं है, तो उसे सूची से हटा दें।

चरण 3: समाप्ति

  • एल्गोरिथ्म तब समाप्त हो जाता है जब सूची में कोई और सेल नहीं बचता, जिसका अर्थ है कि संपूर्ण भूलभुलैया बना ली गई है।

सेल चयन रणनीतियाँ (एल्गोरिदम की लचीलापन)

ग्रोइंग ट्री एल्गोरिदम की परिभाषित विशेषता यह है कि आप किस सेल को आगे प्रोसेस करना चुनते हैं। यह विकल्प भूलभुलैया के स्वरूप को नाटकीय रूप से प्रभावित करता है:

नवीनतम सेल (स्टैक जैसा व्यवहार) - रिकर्सिव बैकट्रैकर:

  • हमेशा सबसे हाल ही में जोड़े गए सेल का चयन करें.
  • यह लम्बे, घुमावदार गलियारे बनाता है, जिनमें अनेक बंद छोर होते हैं (जैसे गहराई से खोज करने वाली भूलभुलैया)।
  • भूलभुलैया में लंबे मार्ग होते हैं और उन्हें सुलझाना आसान होता है।

रैंडम सेल (रैंडमाइज्ड प्राइम एल्गोरिथ्म):

  • हर बार सूची से एक यादृच्छिक कक्ष चुनें.
  • जटिल, उलझे हुए रास्तों के साथ अधिक समान रूप से वितरित भूलभुलैया बनाता है।
  • कम लम्बे गलियारे और अधिक शाखाएँ।

सबसे पुराना सेल (कतार जैसा व्यवहार):

  • सूची में हमेशा सबसे पुराना सेल चुनें.
  • यह अधिक समान फैलाव वाली भूलभुलैयाएं उत्पन्न करता है, जैसे चौड़ाई-प्रथम खोज पैटर्न।
  • सघन कनेक्शन वाले छोटे, झाड़ीदार मार्ग।
  • (यह यहाँ क्रियान्वित किया गया संस्करण है)

संकर दृष्टिकोण:

विभिन्न भूलभुलैया विशेषताओं के लिए रणनीतियों को संयोजित करें। उदाहरण के लिए:

  • 90% नवीनतम, 10% यादृच्छिक: अधिकांशतः यह पुनरावर्ती बैकट्रैकर भूलभुलैया जैसा दिखता है, लेकिन इसमें कभी-कभी ऐसी शाखाएं होती हैं जो लंबे गलियारों को तोड़ देती हैं।
  • 50% नवीनतम, 50% सबसे पुराना: झाड़ीदार विकास के साथ लंबे गलियारों को संतुलित करता है।

ब्लूस्काई पर साझा करेंफेसबुक पर सांझा करेंलिंक्डइन पर साझा करेंटम्बलर पर साझा करेंX पर साझा करेंलिंक्डइन पर साझा करेंPinterest पर पिन करें

मिकेल बैंग क्रिस्टेंसन

लेखक के बारे में

मिकेल बैंग क्रिस्टेंसन
मिकेल miklix.com के निर्माता और मालिक हैं। उन्हें पेशेवर कंप्यूटर प्रोग्रामर/सॉफ्टवेयर डेवलपर के रूप में 20 से अधिक वर्षों का अनुभव है और वर्तमान में वे एक बड़े यूरोपीय आईटी निगम के लिए पूर्णकालिक रूप से कार्यरत हैं। जब वे ब्लॉगिंग नहीं करते हैं, तो वे अपना खाली समय विभिन्न प्रकार की रुचियों, शौक और गतिविधियों में बिताते हैं, जो कुछ हद तक इस वेबसाइट पर शामिल किए गए विषयों की विविधता में परिलक्षित हो सकते हैं।