ऐसा लगता है कि आपकी समस्या । यहाँ एक एल्गोरिथ्म है।एनएल
सबसे पहले, nondeterministically से t तक के मार्ग का अनुमान लगाते हैं । यदि आप गलत अनुमान लगाते हैं, तो अस्वीकार करें । इस एल्गोरिथ्म ए को बुलाओ ।रोंटीए
निम्नलिखित nondeterministic एल्गोरिथ्म पर विचार करें , जो निर्धारित करता है कि कम से कम दो रास्ते हैं। अलग-अलग किनारों के सभी जोड़े ई , एफ के लिए एक ग्राफ और एस , टी को देखते हुए , एस से टी के लिए एक पथ का अनुमान लगाते हैं जिसमें ई शामिल है लेकिन एफ नहीं है , फिर एस से टी के लिए एक पथ का अनुमान लगाएं जिसमें एफ शामिल है लेकिन ई नहीं । यदि अनुमान सही हैं, तो स्वीकार करें । यदि ई और एफ के सभी विकल्पों के लिए कोई स्वीकृति नहीं होती है , तो अस्वीकार करें । नोट बीबीएस , टीई , एफरोंटीइचरोंटीचइइचबी nondeterministic logspace में लागू करने योग्य है।
अब, सेट का सेट है रों - टी से कम से कम दो रास्तों के साथ रेखांकन रों को टी । क्योंकि N L = c o N L , B का सप्लीमेंट N L में भी है , अर्थात, हम यह निर्धारित कर सकते हैं कि क्या s और t में दो मार्ग कम हैं, नोंडेटर्मिनिस्टिक लॉगस्पेस में।एल ( बी )रोंटीरोंटीएनएल = सी ओ एनएलबीएनएलरोंटी
अंतिम एल्गोरिथ्म है: " भागो । यदि ए स्वीकार करता है, तो बी के पूरक को चलाएं और इसका उत्तर आउटपुट करें।"एएबी
मुझे एक संदर्भ का पता नहीं है।
अद्यतन: यदि आप वास्तव में एक संदर्भ चाहते हैं, तो इस पेपर की धारा 3 के पहले पैराग्राफ को देखें । लेकिन यह शायद कई संदर्भों में से एक है जो इस परिणाम का हवाला देता है। इसका उल्लेख करने के लिए होने वाले पेपर का हवाला देने के बजाय परिणाम को "लोकगीत" कहना अधिक उचित होगा।
अद्यतन 2: मान लीजिए कि आप निर्धारित करना चाहते हैं कि क्या एक अनूठा सरल मार्ग है। उस स्थिति में, एल्गोरिथ्म को बदलना नहीं पड़ता है: यदि कोई रास्ता है तो एक सरल मार्ग है। मेरा मानना है कि एल्गोरिथम बी के लिए निम्न संशोधन काम करेगा ।एबी
हम एल्गोरिदम को फिर से लिखना चाहते हैं ताकि यह स्वीकार करे कि अगर कम से कम दो सरल रास्ते हैं।बी
पहले समस्या के लिए निम्नलिखित बहुपद-काल एल्गोरिथ्म पर विचार करें। सबसे छोटा रास्ता को s से t में खोजें । हर बढ़त ई में पी , देखें कि क्या कोई और है रों - टी रास्ता है कि के माध्यम से जाना नहीं है ई । अगर आपको ऐसा कोई रास्ता मिल जाए तो स्वीकार करें । अगर आपको कभी दूसरा रास्ता नहीं मिलता है, तो अस्वीकार करें । क्योंकि P सबसे छोटा है, इसमें एक चक्र नहीं है, और यदि कोई दूसरा पथ है जो P के कुछ किनारे का उपयोग नहीं करता है , तो एक और मार्ग है जो सरल है और P के कुछ किनारे का उपयोग नहीं करता हैपीरोंटीइपीरोंटीइपीपीपी। (इस एल्गोरिथ्म का उपयोग "दूसरी सबसे छोटी पथ" समस्या के लिए किया जाता है।)
हम इस एल एल्गोरिथ्म को में लागू करेंगे । यदि हम एक था एन एल किनारों क्वेरी करने के लिए एल्गोरिथ्म ई एक निश्चित पथ में पी , हम गैर नियतात्मक logspace में ऊपर लागू कर सकता है: के माध्यम से सभी किनारों पुनरावृत्ति ई में पी , एक अनुमान रों - टी पथ और जाँच लें कि साथ दौरा किया हर बढ़त के लिए रास्ता, उनमें से कोई भी ई के बराबर नहीं है ।एनएलNLePePste
इसलिए हमें जिस चीज़ की ज़रूरत है वह है "पाथ ओरेकल", संपत्ति के साथ एक एल्गोरिथ्म: दिए गए i = 1 , … , n , हर गणना पथ में एल्गोरिथ्म या तो एक विशेष निश्चित s - t पथ पर i th बढ़त की रिपोर्ट करता है, या अस्वीकार । हम lexicographically पहले पथ को अलग करने के लिए N L = c o N L का उपयोग करके पथ पाथ को प्राप्त कर सकते हैं ।NLi=1,…,nistNL=coNL
यहाँ पथ के एक स्केच है।
खोजें , से कम से कम पथ की लंबाई रों को टी , कोशिश कर रहा द्वारा सभी कश्मीर = 1 , ... , n और का उपयोग कर एन एल = ग ओ एन एल ।kstk=1,…,nNL=coNL
सेट चर , एक्स : = 1 , जे : = के ।u:=sx:=1j:=k
सभी पड़ोसियों के लिए का यू lexicographical क्रम में,vu
निर्धारित करें कि क्या से t की लंबाई j - 1 तक एक रास्ता है या नहीं (परिणाम N L = c o N L का उपयोग करके )। अधिक सटीक रूप से, एस - टी कनेक्टिविटी (लंबाई जम्मू - 1 ) के लिए nondeterministic एल्गोरिथ्म और इसके पूरक के लिए एल्गोरिथ्म को एक साथ चलाएं । जब उनमें से एक स्वीकार करता है, तो उसके उत्तर के साथ जाएं (यह सही होना चाहिए; दोनों स्वीकार नहीं कर सकते)। यदि दोनों अस्वीकार करते हैं तो अस्वीकार करें ।vtj−1NL=coNLstj−1
यदि कोई रास्ता नहीं है, तो अगले पड़ोसी पर आगे बढ़ें। यदि आपने सभी पड़ोसियों को थका दिया है तो अस्वीकार करें ।
यदि कोई पथ है, तो यदि , आउटपुट ( u , v ) के रूप में i वें किनारे से s से t तक पथ पर है । अन्यथा वेतन वृद्धि एक्स , घटती j , सेट यू : = वी , और फिर से करता है, तो के लिए लूप शुरू v ≠ टी ।x=i(u,v)istxju:=vv≠t
यदि टी आउटपुट खराब पहुंचने के बाद i (दिया गया मैं बहुत बड़ा था)।x<itii
यह देखते हुए , इस एल्गोरिथ्म या तो आउटपुट मैं कोषगत कम से कम पथ पर वें किनारे पी से रों को टी , या अस्वीकार करता है।iiPst