नकारात्मक चक्रों की उपस्थिति में सबसे छोटा रास्ता खोजना


13

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

हालाँकि, मैं दो चक्करों के बीच सबसे छोटा रास्ता खोजने में दिलचस्पी रखता हूँ जिसमें साइकिल चलाना शामिल नहीं है (यानी उस बाधा के तहत कि आप एक ही बार दो बार नहीं जा सकते हैं)। क्या इस समस्या का अच्छी तरह से अध्ययन किया गया है? क्या बेलमैन-फोर्ड एल्गोरिथ्म का एक संस्करण नियोजित किया जा सकता है, और यदि कोई अन्य समाधान नहीं है?

मैं भी सभी समान जोड़े की समस्या में रुचि रखता हूं, जिसके लिए मैं फ़्लॉइड-वारशॉल लागू कर सकता हूं।

जवाबों:


23

बिना दोहराए जाने वाले पथों को सरल-पथ कहा जाता है , इसलिए आप नकारात्मक-चक्र वाले ग्राफ़ में सबसे छोटे सरल पथ की तलाश कर रहे हैं।

इसे सबसे लंबी-पथ समस्या से कम किया जा सकता है । यदि आपकी समस्या के लिए एक तेज सॉल्वर था, तो केवल सकारात्मक बढ़त-वजन के साथ एक ग्राफ दिया गया था, सभी किनारे-वजन को नकारने और अपने सॉल्वर को चलाने से मूल ग्राफ में सबसे लंबा रास्ता मिल जाएगा।

इस प्रकार आपकी समस्या एनपी-हार्ड है।


1
यह एक सुंदर उत्तर है। मैंने कई लोगों से इस IRL को बिना किसी समाधान के पूछा है और जब मैंने उन्हें समझाया कि उनकी प्रतिक्रिया मेरी जैसी ही थी - "बेशक, मैं अब बहुत बेवकूफ महसूस करता हूं"।
ज्येष्ठ
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.