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

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

हैमिल्टनियन चक्र समस्या ट्रैवलिंग सेल्समैन समस्या का विशेष मामला है, जो दो शहरों के बीच की दूरी निर्धारित करके प्राप्त की जाती है यदि वे आसन्न और दो हैं अन्यथा, यह सत्यापित करते हुए कि यात्रा की गई कुल दूरी 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 NP-पूर्ण समस्याओं में से दो थीं। वे विशेष प्रकार के ग्राफ़ के लिए भी NP-पूर्ण रहते हैं, जैसे:

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


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

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

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