भग्न भूलभुलैया की वैधता


17

एक भग्न भूलभुलैया एक भूलभुलैया है जिसमें स्वयं की प्रतियां शामिल हैं। उदाहरण के लिए, इस लेख से मार्क जेपी वुल्फ द्वारा निम्नलिखित :

MINUS पर शुरू करें और PLUS के लिए अपना रास्ता बनाएं। जब आप भूलभुलैया की एक छोटी कॉपी दर्ज करते हैं, तो उस कॉपी का अक्षर नाम रिकॉर्ड करना सुनिश्चित करें, क्योंकि आपको इस कॉपी को बाहर के रास्ते पर छोड़ना होगा। आपको उस भूलभुलैया की प्रत्येक नेस्टेड कॉपी से बाहर निकलना चाहिए जो आपने दर्ज की है, रिवर्स ऑर्डर में छोड़ कर जो आपने उन्हें दर्ज किया है (उदाहरण के लिए: ए दर्ज करें, बी दर्ज करें, सी दर्ज करें, सी से बाहर निकलें, सी से बाहर निकलें, बी से बाहर निकलें, ए से बाहर निकलें)। इसे नेस्टेड बॉक्स की एक श्रृंखला के रूप में सोचें। यदि नेस्टेड कॉपी छोड़ने का कोई निकास मार्ग नहीं है, तो आप एक मृत अंत तक पहुँच चुके हैं। रास्ते साफ करने के लिए इसमें रंग मिलाया गया है, लेकिन यह केवल सजावटी है। भग्न भूलभुलैया

यदि कोई समाधान मौजूद है, तो चौड़ाई-प्रथम-खोज को एक समाधान खोजना चाहिए। हालाँकि, मान लीजिए कि भूलभुलैया का कोई हल नहीं है - तब हमारा खोज कार्यक्रम हमेशा के लिए और गहरा होता चला जाएगा।

मेरा सवाल यह है: एक भग्न भूलभुलैया, हम यह कैसे निर्धारित कर सकते हैं कि इसका कोई समाधान है या नहीं?

या वैकल्पिक रूप से, दिए गए आकार के एक भग्न भूलभुलैया (प्रति कॉपी इनपुट / आउटपुट की संख्या) के लिए, क्या सबसे कम समाधान की लंबाई पर एक बाध्य है? (यदि ऐसी कोई बाध्यता थी, तो हम केवल गहराई से खोज कर सकते हैं)


एफएक्यू पढ़ने के बाद मुझे विश्वास नहीं होता कि यह संबंधित है। यह शायद एक reasearch- स्तरीय सैद्धांतिक कंप्यूटर विज्ञान प्रश्न नहीं है। गलत जगह पोस्ट करने के लिए क्षमा करें। क्या कोई इस सवाल को पूछने और / या इसे वहां स्थानांतरित करने के लिए उचित मंच की सिफारिश कर सकता है?
निक अल्जीरिया


मैंने math.stackexchange पर पोस्टिंग पर विचार किया क्योंकि मैं वहां भाग लेता हूं, लेकिन यह थोड़ा बहुत एल्गोरिदम-वाई लगता था। मुझे नहीं पता था कि कंप्यूटर साइंस स्टैक एक्सचेंज है। अगर मॉडरेटर इसे उन जगहों में से किसी एक में ले जाना चाहते हैं तो मुझे कोई आपत्ति नहीं होगी।
निक अल्जीरिया

3
यह मेरे लिए स्पष्ट नहीं है कि यह यहाँ विषय है ... स्पष्ट रूप से ऑफ-टॉपिक प्रश्न आमतौर पर upvotes की तुलना में अधिक डाउनवोट प्राप्त करते हैं
जो

7
क्या आप किसी पुशडाउन ऑटोमेटन के रूप में किसी फ्रैक्टल भूलभुलैया का प्रतिनिधित्व नहीं कर सकते हैं, जहां स्टैक सबमेज़ के अनुक्रम से मेल खाता है जो आप में हैं? फिर विलेयता का प्रश्न संदर्भ-मुक्त भाषाओं के लिए शून्यता की समस्या में बदल जाएगा, जो निर्णायक है।
पीटर शोर

जवाबों:


8

एक त्वरित अनौपचारिक एल्गोरिथ्म यह साबित करने के लिए कि समस्या विकट है:

  • मान लीजिए देखते हैं कि इनपुट / आउटपुट मैं 1 , मैं n ;nI1,...In
  • एक ग्राफ बनाएँ जहाँ प्रत्येक I i , M I N U S और P L U S नोड हैं, और प्रत्येक nested maze M j को K n उपसमूह (पूर्ण ग्राफ़) से प्रतिस्थापित करते हैं ; I i , M I N के बीच किनारों को जोड़ेंGIiMINUSPLUSMjKn भूलभुलैया के अनुसार; "एक्सटर्नल" एम जे आई आईएम जे रखेंIi,MINUS,PLUS,MjIk इसी "आंतरिक" किनारों से अलग किनारोंमैंमैंमैंkकेएमजेएक पूरा subgraph के रूप में;MjIiMjIkIiIkMj
  • MINUS से PLUS के लिए (साइकिल से बचने) के सभी रास्तों की गणना करें ;G
  • यदि आपको एक ऐसा रास्ता मिल जाता है, जो एक नेस्टेड कॉपी को पार नहीं करता है, तो यह एक समाधान है; अन्यथा प्रत्येक पथ के नेस्टेड mazes के प्रत्येक "आंतरिक" ट्रैवर्सल्स का विस्तार करें :Mj

मान लीजिए कि पहले गणन में एक रास्ता है , तो पथ कोई मान्य समाधान IIF वहाँ से एक रास्ता है मैं iI j और I k सेमैं मूल भूलभुलैया (ग्राफ G ) में MINUSAIiAIjBIkBIhPLUSIiIjIkIhG

इसलिए हम चाहिए का विस्तार और बी मैं कश्मीरबी मैं से सभी रास्ते की गणना traversals मैं मैं करने के लिए मैं k और से मैं k करने के लिए मैं में जीAIiAIjBIkBIhIiIkIkIhG

अनंत छोरों का पता तब चलता है जब हम एक पथ के विस्तार में से I k तक के सभी पथों की गणना कर रहे होते हैं जो पहले से सम्‍मिलित चरण में होते हैं एम आई आईएम आई केकुछ सबमेज़ M के लिए (केवल n 2 संभावित विस्तार हैं)।IiIk...MIiMIk...Mn2

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


वाह! क्या एक चतुर विचार है। मुझे लगता है कि यह काम करता है लेकिन यह अभी भी मेरे दिमाग में थोड़ा फजी है, इसलिए मैं इसे स्वीकार करने में थोड़ा समय लेने वाला हूं।
निक अल्ज

ठीक है हाँ बहुत यकीन है कि यह एल्गोरिथ्म सही है। उपर्युक्त पीटर शोर की टिप्पणी को देखते हुए, मुझे आश्चर्य है कि क्या आप संदर्भ-मुक्त भाषा शून्यता की समस्या के लिए एक प्रमाण प्रदान करने के लिए इसे घुमा सकते हैं ..? किसी दिए गए संदर्भ के लिए नि: शुल्क भाषा शून्यता समस्या, एक समान फ्रैक्टल भूलभुलैया का निर्माण करें, फिर इस एल्गोरिथ्म को लागू करें।
निक अल्ज

@ निक: एक भग्न भूलभुलैया एक प्रतिवर्ती पुशडाउन ऑटोमेटन से मेल खाती है , जहां यदि आप किसी राज्य S से राज्य T में संक्रमण कर सकते हैं, तो आप T से S. तक संक्रमण भी कर सकते हैं। यह सीधा होना चाहिए कि भग्न mazes हैं वास्तव में प्रतिवर्ती पुशडाउन ऑटोमेटा के बराबर। एक प्रमेय कहा गया है कि (बहुपद कारकों तक) प्रतिवर्ती ट्यूरिंग मशीनों में नियमित ट्यूरिंग मशीनों के समान शक्ति होती है। मुझे नहीं पता कि क्या किसी ने पहले पलटवाँ ऑटोमैटिक ऑटोमेटा में देखा है, इसलिए मुझे नहीं पता कि उनके बारे में कुछ भी पता है या नहीं।
पीटर शोर

@ पेटर: मुझे यह प्रतिवर्ती पुशडाउन ऑटोमैटा मिला , लेकिन "प्रतिवर्ती" की परिभाषा अलग लगती है। (पीएसए के रूप में एक भग्न भूलभुलैया की सरल और स्वच्छ व्याख्या के लिए पीएस बधाई
मार्जियो डी बियासी

1
उपरोक्त एल्गोरिदम को निर्देशित ग्राफ़ (irreversibe भग्न mazes) तक बढ़ाया जा सकता है, आपके पास विचार करने के लिए सिर्फ संभावित विस्तार होंगे ( I kI j और I jI k )। 2n2IkIj IjIk
निक अल्जीरिया

1

यह मेरे सवाल का "जवाब" नहीं है, बल्कि एक विस्तारित टिप्पणी है जो यहां के लोगों को दिलचस्प लग सकती है।

मेरा दावा है कि भूलभुलैया और समाधान की एक प्राकृतिक "विश्लेषण-प्रकार" परिभाषा है, और यह हमारे द्वारा उपयोग किए गए कंप्यूटर-विज्ञान / ग्राफ़-सिद्धांत की परिभाषा से भिन्न है। विशेष रूप से, आपके पास एक फ्रैक्टल भूलभुलैया हो सकता है जिसमें विश्लेषण परिभाषा के तहत एक "समाधान" होता है, लेकिन मारिजियो डी बायसी के एल्गोरिथ्म और पीटर शोर के पुशडाउन ऑटोमेटा तकनीक द्वारा इसे अयोग्य घोषित किया जाएगा।

MMR2s,eMf:[0,T]Mf(0)=sf(T)=e

अब हिल्बर्ट वक्र पर विचार करें :

विकिपीडिया से हिल्बर्ट वक्र गिफ

निम्नलिखित वक्र के साथ एक व्यक्ति इस वक्र को "भग्न भूलभुलैया" के रूप में व्याख्या कर सकता है: यहाँ छवि विवरण दर्ज करें

P

पी=पी-1बीपीबी-1सीपीसी-1डीपीडी-1

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

enter image description here

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

इस प्रकार हमारे पास एक फ्रैक्टल भूलभुलैया है जो विश्लेषणात्मक परिभाषा द्वारा हल की जा सकती है, लेकिन ग्राफेटिक परिभाषा के द्वारा अस्वीकार्य है ..?!

वैसे भी, मुझे पूरा यकीन है कि मेरा तर्क सही है, लेकिन ऐसा लगता है कि अगर कोई इस पर कुछ प्रकाश डाले तो मैं इसकी सराहना करूंगा।


एक भोली टिप्पणी: हिल्बर्ट वक्र के "सबमेज़" छोटे होते हैं, इसलिए "निरंतर दुनिया" में यह काम करता है; "असतत दुनिया" में आप कभी भी एक "निकास" चाल नहीं बना सकते क्योंकि आप पहले सबमेज़ में प्रवेश करना जारी रखते हैं (जैसे हिल्बर्ट वक्र के निचले-बाएँ एक अंतहीन ज़ूम)। यह Zeno के विरोधाभासों से
Marzio De Biasi

2
पीएस मुझे लगता है कि भग्न वक्र की कोई आवश्यकता नहीं है: एस से एफ तक एक साधारण क्षैतिज रेखा, जो एकल केंद्रीय सबमज़ के साथ होती है (जिसमें सब-सबमेज़ एक्के के साथ एक एकल क्षैतिज रेखा होती है।) समान विचारों की ओर जाता है।
Marzio De Biasi

अच्छी बात। अगर आप ऐसा करते हैं, तो चौड़ाई 1/2 के उप-बॉक्स के साथ सबसे दाईं ओर रखा गया है, यह सिर्फ ज़ेनो के विरोधाभास जैसा नहीं है, आपको बिल्कुल ज़ेनो विरोधाभास मिलता है। आगे विचार करने के बाद ऐसा लगता है कि लगातार परिभाषा फ्रैक्टल mazes के लिए अच्छी तरह से अनुकूल नहीं है क्योंकि यह लगभग हर फ्रैक्टल भूलभुलैया को हल करती है।
निक अल्जीरिया

लेकिन यह ज़ेन भूलभुलैया ध्यान के लिए अच्छी तरह से अनुकूल है (एक भूलभुलैया के बीच अंतर के लिए Google और ध्यान के संदर्भ में भूलभुलैया) :-)
Marzio De Biasi
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.