यह तय करने के लिए एक आसान बहुपद एल्गोरिथ्म है कि क्या एक निर्देशित ग्राफ में दो नोड्स के बीच का रास्ता है (बस, एक रूट-ग्राफ ट्रावल के साथ कहते हैं, गहराई-पहले-खोज)।
हालांकि ऐसा लगता है कि, आश्चर्यजनक रूप से, समस्या बहुत कठिन हो जाती है यदि हम उस अस्तित्व के लिए परीक्षण के बजाय पथ की संख्या को गिनना चाहते हैं ।
यदि हम पथ को पुन: उपयोग करने की अनुमति देते हैं तो n किनारों के साथ s से t तक के पथों की संख्या का पता लगाने के लिए एक गतिशील प्रोग्रामिंग समाधान है । हालाँकि, अगर हम केवल सरल रास्तों की अनुमति देते हैं, जो कि वर्टीकल का पुन: उपयोग नहीं करते हैं, तो एकमात्र उपाय जो मैं सोच सकता हूं वह है रास्तों की ब्रूट फोर्स एन्यूमरेशन , कुछ ऐसा जिसमें घातीय समय जटिलता हो।
इसलिए मैं पूछता हूँ,
- क्या दो सिरों के बीच सरल रास्तों की संख्या कठिन है?
- यदि हां, तो क्या यह एनपी-पूर्ण है? (मैं कहता हूँ क्योंकि यह तकनीकी रूप से एक निर्णय समस्या नहीं है ...)
- क्या पी में अन्य समस्याएं हैं जिनके पास एक कठिन गिनती संस्करण भी है? *