2015-11-07 8 views
6

मैं एक एल्गोरिदम खोज रहा हूं जो मेरे लिए बहुत आम लगता है, लेकिन ऐसा लगता है कि सामान्य समाधान सभी थोड़े अलग हैं।सभी नोड्स देखने के लिए सबसे छोटा रास्ता

एक अप्रत्यक्ष ग्राफ में, मुझे सबसे छोटा रास्ता चाहिए जो प्रत्येक नोड पर जाता है। नोड्स का पुनरीक्षण किया जा सकता है और मुझे प्रारंभ नोड पर वापस लौटना नहीं है।

यात्रा विक्रेता समस्या प्रतिबंध जोड़ना प्रतीत होता है कि प्रत्येक नोड को केवल एक बार देखा जा सकता है और जिस पथ को शुरू किया गया है उस पर वापस जाना है।

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

उत्तर

2

आप ग्राफ को बदलकर सामान्य यात्रा विक्रेता समस्या को कम कर सकते हैं।

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

फिर, आप एक सामान्य टीएसपी एल्गोरिदम लागू कर सकते हैं क्योंकि आपको अब नोड्स पर फिर से जाना नहीं है, जो कि किनारों की लागत में पहले ही छिपा हुआ है।

+0

यह बहुत अच्छा लगता है। मैंने एक प्रश्न को और स्पष्ट करने के लिए अपना प्रश्न संपादित किया, अर्थात्, टीएसपी में प्रारंभ बिंदु पर लौटना शामिल है, जो मेरे लिए भी एक आवश्यकता नहीं है। – MyiEye

संबंधित मुद्दे