हैमिल्टनियन पथ समस्या

ग्राफ सिद्धांत के गणित क्षेत्र में हैमिल्टनियन पथ समस्या और हैमिल्टनियन चक्र समस्या यह निर्धारित करती है कि हैमिल्टनियन पथ (अदिष्‍ट या दिष्ट ग्राफ में जो प्रत्येक शीर्ष पर बिल्कुल एक बार जाता है) या हैमिल्टनियन चक्र किसी दिए गए ग्राफ़ (चाहे दिष्ट ग्राफ हो या अदिष्‍ट ग्राफ) में मौजूद है। दोनों समस्याएँ एनपी-पूर्ण हैं।

हैमिल्टनियन चक्र समस्या ट्रैवलिंग सेल्समैन समस्या का विशेष मामला है, जो दो शहरों के बीच की दूरी निर्धारित करके प्राप्त की जाती है यदि वे आसन्न और दो हैं अन्यथा, यह सत्यापित करते हुए कि यात्रा की गई कुल दूरी n के बराबर है (यदि हां, तो मार्ग है) हैमिल्टनियन सर्किट है; यदि कोई हैमिल्टनियन सर्किट नहीं है तो सबसे छोटा मार्ग लंबा होगा)।

पथ समस्या और चक्र समस्या के बीच कमी
हैमिल्टनियन पथ और हैमिल्टनियन चक्र खोजने की समस्याएं इस प्रकार संबंधित हो सकती हैं:


 * एक दिशा में, G से प्राप्त ग्राफ़ H में हैमिल्टनियन चक्र समस्या ग्राफ़ G के लिए हैमिल्टनियन पथ समस्या से संबंधित हो सकती है, जिसमें नया सार्वभौमिक शीर्ष x जोड़कर, x को G के सभी शीर्षों से जोड़ा जा सकता है। इस प्रकार, हैमिल्टनियन पथ खोजना संभव नहीं है हैमिल्टनियन चक्र खोजने की तुलना में काफी धीमा होता है (सबसे खराब स्थिति में, शीर्षों की संख्या के एक फ़ंक्शन के रूप में)।
 * दूसरी दिशा में, ग्राफ़ G के लिए हैमिल्टनियन चक्र समस्या, ग्राफ़ H में हैमिल्टनियन पथ समस्या के समतुल्य है, जिसे क्रमशः G के शीर्ष v और v' से जुड़े टर्मिनल (डिग्री-एक) शीर्ष s और t को जोड़कर प्राप्त किया गया है। v की क्लीव्ड प्रतिलिपि जो v' को v के समान निकटतम देता है। H में हैमिल्टनियन पथ शीर्षों से होकर गुजरता है $s-v-x-\cdots-y-v'-t$ से होकर गुजरता है G में चल$v-x-\cdots-y(-v)$ रहे हैमिल्टनियन चक्र से मेल खाता है।

एल्गोरिदम
शीर्षों के n! विभिन्न अनुक्रम जो किसी दिए गए n-शीर्ष ग्राफ़ में हैमिल्टनियन पथ हो सकते हैं (और एक पूर्ण ग्राफ़ में हैं), इसलिए मनमानीबल गवेक्षण एल्गोरिदम जो सभी संभावित अनुक्रमों का परीक्षण करता है वह बहुत धीमा होता है। दिष्ट ग्राफ़ पर हैमिल्टनियन चक्र को खोजने के लिए प्रारंभिक सटीक एल्गोरिदम मार्टेलो का गणनात्मक एल्गोरिदम था। फ़्रैंक रुबिन द्वारा गवेक्षण प्रक्रिया ग्राफ़ के किनारों को तीन वर्गों में विभाजित करता है: वे जो पथ में होने चाहिए, वे जो पथ में नहीं हो सकते, और अनिर्णीत हैं। जैसे-जैसे गवेक्षण आगे बढ़ती है, निर्णय नियमों का सेट अनिर्णीत किनारों को वर्गीकृत करता है, और यह निर्धारित करता है कि गवेक्षण को रोकना है या जारी रखना है। एल्गोरिदम ग्राफ़ को उन घटकों में विभाजित करता है जिन्हें अलग से हल किया जा सकता है। इसके अलावा, समय O(n2 2n) में समस्या को हल करने के लिए बेलमैन, हेल्ड और कार्प के गतिक क्रमादेशन एल्गोरिदम का उपयोग किया जा सकता है। इस विधि में, कोई यह निर्धारित करता है कि शीर्षों के प्रत्येक सेट S और S में प्रत्येक शीर्ष v के लिए, क्या कोई ऐसा पथ है जो S में बिल्कुल शीर्षों को कवर करता है और v पर समाप्त होता है। S और v की प्रत्येक पसंद के लिए, एक पथ मौजूद है (S,v) यदि और केवल यदि v का कोई निकटतम w है, जैसे कि (S − v,w) के लिए पथ मौजूद है, जिसे गतिशील कार्यक्रम में पहले से ही गणना की गई जानकारी से देखा जा सकता है।

एंड्रियास ब्योर्कलुंड ने हैमिल्टनियन चक्रों की संख्या की गणना करने की समस्या को कम करने के लिए समावेशन-बहिष्करण सिद्धांत का उपयोग करके चक्र कवर की गिनती की एक सरल गिनती समस्या को कम करने के लिए वैकल्पिक दृष्टिकोण प्रदान किया, जिसे कुछ मैट्रिक्स निर्धारकों की गणना करके हल किया जा सकता है। इस पद्धति का उपयोग करते हुए, उन्होंने दिखाया कि समय O(1.657n) में मोंटे कार्लो एल्गोरिथ्म द्वारा मनमाने ढंग से n-शीर्ष ग्राफ़ में हैमिल्टनियन चक्र समस्या को कैसे हल किया जाए); द्विदलीय ग्राफ के लिए इस एल्गोरिदम को समय o(1.415n) तक और बेहतर बनाया जा सकता है।

अधिकतम डिग्री तीन के ग्राफ़ के लिए, सावधानीपूर्वक बैकट्रैकिंग गवेक्षण से समय O(1.251n) में हैमिल्टनियन चक्र (यदि कोई मौजूद है) पाया जा सकता है।

सैट सॉल्वर का उपयोग करके हैमिल्टनियन पथ और चक्र पाए जा सकते हैं।

पारंपरिक कंप्यूटरों पर हैमिल्टनियन पथ और चक्र समस्याओं को हल करने की कठिनाई के कारण, कंप्यूटिंग के अपरंपरागत मॉडल में भी उनका अध्ययन किया गया है। उदाहरण के लिए, लियोनार्ड एडलमैन ने दिखाया कि हैमिल्टनियन पथ समस्या को डीएनए कंप्यूटिंग का उपयोग करके हल किया जा सकता है। रासायनिक प्रतिक्रियाओं में निहित समानता का फायदा उठाते हुए, ग्राफ़ के शीर्षों की संख्या में रैखिक कई रासायनिक प्रतिक्रिया चरणों का उपयोग करके समस्या को हल किया जा सकता है; हालाँकि, प्रतिक्रिया में भाग लेने के लिए डीएनए अणुओं की एक फैक्टोरियल संख्या की आवश्यकता होती है। हैमिल्टनियन समस्या का एक ऑप्टिकल समाधान भी प्रस्तावित किया गया है। समस्या का समाधान तैयार करने के लिए विचार यह है कि ऑप्टिकल केबल और बीम स्प्लिटर्स से बनी एक ग्राफ जैसी संरचना तैयार की जाए जो प्रकाश द्वारा पार की जाती है। इस दृष्टिकोण का कमजोर बिंदु ऊर्जा की आवश्यक मात्रा है जो नोड्स की संख्या में घातीय है।

जटिलता
हैमिल्टनियन चक्र या पथ खोजने की समस्या एफएनपी (जटिलता) में है; अनुरूप निर्णय समस्या यह परीक्षण करना है कि हैमिल्टनियन चक्र या पथ मौजूद है या नहीं। दिष्ट और अदिष्‍ट हैमिल्टनियन चक्र समस्याएं कार्प की 21 एनपी-पूर्ण समस्याओं में से दो थीं। वे विशेष प्रकार के ग्राफ़ के लिए भी एनपी-पूर्ण रहते हैं, जैसे:

हालाँकि, ग्राफ़ के कुछ विशेष वर्गों के लिए, समस्या को बहुपद समय में हल किया जा सकता है:
 * द्विदलीय ग्राफ,
 * अधिकतम डिग्री तीन के अदिष्‍ट समतलीय ग्राफ़, * इंडिग्री और आउटडिग्री के साथ अधिकतम दो दिष्ट समतलीय ग्राफ़, * ब्रिजलेस ग्राफ अदिष्‍ट समतल 3-नियमित ग्राफ द्विदलीय ग्राफ,
 * 3-जुड़े हुए 3-नियमित द्विदलीय ग्राफ़, * जाली ग्राफ के उपग्राफ#स्क्वायर ग्रिड ग्राफ, * वर्गाकार ग्रिड ग्राफ़ के घन उपग्राफ़।


 * के-शीर्ष-कनेक्टेड ग्राफ़ | 4-कनेक्टेड प्लेनर ग्राफ़ हमेशा W. T. टुटे के परिणाम के अनुसार हैमिल्टनियन होते हैं, और इन ग्राफ़ में हैमिल्टनियन चक्र खोजने का कम्प्यूटेशनल कार्य रैखिक समय में किया जा सकता है तथाकथित सभी पथ  की गणना करके।
 * टुट्टे ने इस परिणाम को यह दिखाकर सिद्ध किया कि प्रत्येक 2-जुड़े समतलीय ग्राफ में एक टुट्टे पथ होता है। बदले में टुटे पथों की गणना 2-जुड़े समतलीय ग्राफ़ के लिए भी द्विघात समय में की जा सकती है, जिसका उपयोग समतलीय ग्राफ़ के सामान्यीकरण में हैमिल्टनियन चक्र और लंबे चक्र को खोजने के लिए किया जा सकता है।

इन सभी शर्तों को एक साथ रखने पर, यह खुला रहता है कि क्या 3-जुड़े 3-नियमित द्विदलीय समतल ग्राफ़ में हमेशा एक हैमिल्टनियन चक्र होना चाहिए, जिस स्थिति में उन ग्राफ़ों तक सीमित समस्या एनपी-पूर्ण नहीं हो सकती है; बार्नेट का अनुमान देखें.

ऐसे ग्राफ़ में जिनमें सभी शीर्षों की डिग्री विषम होती है, हाथ मिलाना लेम्मा  से संबंधित एक तर्क से पता चलता है कि किसी भी निश्चित किनारे के माध्यम से हैमिल्टनियन चक्रों की संख्या हमेशा सम होती है, इसलिए यदि एक हैमिल्टनियन चक्र दिया गया है, तो दूसरा भी मौजूद होना चाहिए। हालाँकि, इस दूसरे चक्र को खोजना कोई आसान कम्प्यूटेशनल कार्य नहीं लगता है। क्रिस्टोस पापादिमित्रियोउ ने इस तरह की समस्याओं को समाहित करने के लिए जटिलता वर्ग पीपीए (जटिलता) को परिभाषित किया।