बढ़ते पेड़ एल्गोरिथ्म भूलभुलैया जनरेटर
प्रकाशित: 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% सबसे पुराना: झाड़ीदार विकास के साथ लंबे गलियारों को संतुलित करता है।