मुझे निर्देशित भारित ग्राफ में एक नकारात्मक चक्र ढूंढना है। मुझे पता है कि बेलमैन फोर्ड एल्गोरिदम कैसे काम करता है, और यह मुझे बताता है कि क्या कोई पहुंच योग्य नकारात्मक चक्र है। लेकिन यह स्पष्ट रूप से इसका नाम नहीं है।
मैं चक्र का वास्तविक पथ कैसे प्राप्त कर सकता हूं ?
मानक एल्गोरिथ्म को लागू करने के बाद हमने पहले से ही पुनरावृत्तियों को किया था और आगे कोई सुधार संभव नहीं होना चाहिए। यदि हम अभी भी दूरी को एक नोड तक कम कर सकते हैं, तो एक नकारात्मक चक्र मौजूद है।
मेरा विचार है: चूँकि हम उस किनारे को जानते हैं जो अभी भी पथ को बेहतर बना सकता है और हम प्रत्येक नोड के पूर्ववर्ती को जानते हैं, हम उस किनारे से वापस आने तक अपना रास्ता खोज सकते हैं। अब हमें अपना चक्र रखना चाहिए।
अफसोस की बात है कि मुझे ऐसा कोई पेपर नहीं मिला जो यह बताता हो कि क्या यह सही है। तो, क्या यह वास्तव में उस तरह काम करता है?
संपादित करें: यह उदाहरण इस बात का प्रमाण देता है कि मेरा विचार गलत है। निम्नलिखित ग्राफ को देखते हुए, हम नोड से बेलमैन-फोर्ड चलाते हैं ।
हम किनारों को क्रम में संसाधित करते हैं । पुनरावृत्तियों के बाद हमें नोड दूरियां मिलती हैं :एन - १ १ : - ५ २ : - ३० ३ : - १५
और : माता-पिता तालिका पैरेंट है पैरेंट है पैरेंट है
3 2 3 3 2
अब, वें पुनरावृत्ति करते हुए, हम देखते हैं कि नोड की दूरी को अभी भी बढ़त का उपयोग करके सुधार किया जा सकता । तो हम जानते हैं कि एक नकारात्मक चक्र मौजूद है और इसका हिस्सा है।1 ए ए
लेकिन, माता-पिता की मेज के माध्यम से हमारे रास्ते वापस अनुरेखण द्वारा, हम एक और नकारात्मक चक्र में अटक जाते हैं और कभी नहीं मिलेंगे फिर से।ए
हम इस समस्या को कैसे हल कर सकते हैं?