हाल ही में एक प्रश्न ने टीएसपी के लिए बेल्लमान और हेल्ड-कार्प के कारण स्वतंत्र रूप से शास्त्रीय प्रोग्रामिंग प्रोग्रामिंग एल्गोरिदम पर चर्चा की । एल्गोरिथ्म है सार्वभौमिक में चलाने के लिए सूचना दी समय। हालाँकि, जैसा कि मेरे छात्रों में से एक ने हाल ही में कहा था, इस दौड़ने के समय को गणना के अनुचित तरीके से शक्तिशाली मॉडल की आवश्यकता हो सकती है।
यहाँ एल्गोरिथ्म का संक्षिप्त विवरण दिया गया है। इनपुट में एक सीधा ग्राफ जिसमें वर्टिस और एक गैर-नकारात्मक लंबाई फ़ंक्शन । किसी भी कोने के लिए और , और किसी भी सबसेटℓ : ई → आर + रों टी कोने कि शामिल नहीं की और , चलो से कम से कम Hamiltonian पथ की लंबाई को निरूपित को प्रेरित subgraph में । बेलमैन-हेल्ड-कार्प एल्गोरिथ्म निम्नलिखित पुनरावृत्ति पर आधारित है (या अर्थशास्त्री और नियंत्रण सिद्धांतकार इसे कॉल करना पसंद करते हैं, "बेलमैन का समीकरण"):
किसी शीर्ष के लिए , इष्टतम विक्रेता दौरे यात्रा की लंबाई है । क्योंकि पहला पैरामीटर सभी पुनरावर्ती कॉलों में स्थिर है, इसलिए अलग-अलग उपप्रोब्लेम्स में , और प्रत्येक उपप्रकार सबसे अन्य पर निर्भर करता है। इस प्रकार, गतिशील प्रोग्रामिंग एल्गोरिथ्म समय में चलता है ।एल ( रों , वी ∖ { रों } , एस ) रों Θ ( 2 n n ) n हे ( 2 n n 2 )
या करता है ?!
मानक पूर्णांक रैम मॉडल बिट्स के साथ पूर्णांकों के निरंतर-समय में हेरफेर की अनुमति देता है , लेकिन कम से कम अंकगणितीय और तार्किक संचालन के लिए, बड़े पूर्णांकों को शब्द-आकार के विखंडू में तोड़ा जाना चाहिए। (अन्यथा, अजीब चीजें हो सकती हैं।) क्या यह लंबे समय तक मेमोरी एड्रेस तक पहुंच का सच नहीं है? यदि एक एल्गोरिथ्म सुपरपोलीनोमियल स्पेस का उपयोग करता है, तो क्या यह मान लेना उचित है कि मेमोरी एक्सेस केवल निरंतर समय की आवश्यकता है?
Bellman-हेल्ड-कार्प विशेष रूप से एल्गोरिथ्म के लिए, एल्गोरिथ्म सबसेट का वर्णन बदलना होगा सबसेट का वर्णन में एक्स ∖ { v } , प्रत्येक के लिए वी , उपयोग करने के लिए Memoization तालिका। यदि सबसेट को पूर्णांक द्वारा दर्शाया जाता है, तो इन पूर्णांकों को n बिट्स की आवश्यकता होती है और इसलिए इसे निरंतर समय में हेरफेर नहीं किया जा सकता है; यदि वे पूर्णांक द्वारा प्रतिनिधित्व नहीं करते हैं, तो उनका प्रतिनिधित्व सीधे संस्मरण तालिका में एक सूचकांक के रूप में उपयोग नहीं किया जा सकता है।
तो: बेलमैन-हेल्ड-कार्प एल्गोरिथ्म का वास्तविक विषम समय क्या है?