Miklix

एलर का एल्गोरिथम भूलभुलैया जेनरेटर

प्रकाशित: 16 फ़रवरी 2025 को 8:08:01 pm UTC बजे
आखरी अपडेट: 12 जनवरी 2026 को 9:04:18 am UTC बजे

एलर के एल्गोरिदम का इस्तेमाल करके एक परफेक्ट मेज़ बनाने वाला मेज़ जनरेटर। यह एल्गोरिदम दिलचस्प है क्योंकि इसमें सिर्फ़ मौजूदा रो (पूरी मेज़ नहीं) को मेमोरी में रखने की ज़रूरत होती है, इसलिए इसका इस्तेमाल बहुत लिमिटेड सिस्टम पर भी बहुत, बहुत बड़ी मेज़ बनाने के लिए किया जा सकता है।

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

Eller's Algorithm Maze Generator

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

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

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


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








एलर के एल्गोरिदम के बारे में

एलर का एल्गोरिदम डेविड एलर ने पेश किया था।

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

एलर का एल्गोरिदम मेज़ जेनरेशन के लिए कैसे काम करता है

एलर का एल्गोरिदम एक बार में एक रो को प्रोसेस करता है, कनेक्टेड सेल्स के सेट को बनाए रखता है और बदलता है। यह लूप से बचते हुए कनेक्टिविटी पक्का करता है, और यह मेज़ को अच्छे से नीचे की ओर बढ़ाता है।

थ्योरी के हिसाब से इसका इस्तेमाल अनगिनत भूलभुलैया बनाने के लिए किया जा सकता है, लेकिन यह पक्का करने के लिए कि बनी हुई भूलभुलैया असल में सॉल्व हो सकती है, भूलभुलैया को खत्म करने के लिए किसी पॉइंट पर "फाइनल रो" लॉजिक पर स्विच करना ज़रूरी है।

स्टेप 1: पहली लाइन को इनिशियलाइज़ करें

  • रो में हर सेल को एक यूनिक सेट ID असाइन करें।

स्टेप 2: कुछ आस-पास के सेल्स को हॉरिजॉन्टली जोड़ें

  • आस-पास के सेल को एक ही सेट ID पर सेट करके रैंडम तरीके से मर्ज करें। इससे यह पक्का होता है कि हॉरिजॉन्टल पैसेज हों।

स्टेप 3: अगली रो के लिए वर्टिकल कनेक्शन बनाएं

  • लाइन में दिखने वाले हर सेट के लिए, कम से कम एक सेल नीचे की ओर कनेक्ट होना चाहिए (कनेक्टिविटी पक्का करने के लिए)।
  • अगली लाइन से कनेक्ट करने के लिए हर सेट से रैंडमली एक या ज़्यादा सेल चुनें।

स्टेप 4: अगली लाइन पर जाएं

  • नीचे दिए गए सेल्स को वही सेट ID असाइन करके वर्टिकल कनेक्शन को आगे बढ़ाएं।
  • किसी भी अनअसाइन्ड सेल को नई सेट ID असाइन करें।

स्टेप 5: आखिरी लाइन तक पहुंचने तक स्टेप 2–4 दोहराएं

  • लाइन दर लाइन प्रोसेसिंग जारी रखें।

स्टेप 6: फ़ाइनल रो प्रोसेस करें

  • बाकी अलग-अलग सेट को मिलाकर पक्का करें कि आखिरी लाइन के सभी सेल एक ही सेट के हैं।

अग्रिम पठन

यदि आपको यह पोस्ट पसंद आई हो, तो आपको ये सुझाव भी पसंद आ सकते हैं:


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

मिकेल क्रिस्टेंसन

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

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