फंक्शन (फलन) समस्या

कम्प्यूटेशनल जटिलता सिद्धांत में, एक फ़ंक्शन समस्या एक कम्प्यूटेशनल समस्या है जहां प्रत्येक इनपुट के लिए एक आउटपुट (कुल फ़ंक्शन का) अपेक्षित है, लेकिन आउटपुट निर्णय समस्या की तुलना में अधिक जटिल है। कार्य समस्याओं के लिए, आउटपुट केवल 'हां' या 'नहीं' नहीं है।

औपचारिक परिभाषा
एक कार्यात्मक समस्या $$P$$ एक संबंध (गणित) द्वारा परिभाषित किया गया है $$R$$ एक मनमानी वर्णमाला (कंप्यूटर विज्ञान) के ओवर स्ट्रिंग (कंप्यूटर विज्ञान) $$\Sigma$$:


 * $$R \subseteq \Sigma^* \times \Sigma^*.$$

एक एल्गोरिदम हल करता है $$P$$ यदि हर इनपुट के लिए $$x$$ ऐसा है कि वहाँ एक उपस्थित है $$y$$ संतुष्टि देने वाला $$(x, y) \in R$$, एल्गोरिथ्म ऐसा एक पैदा करता है $$y$$, और यदि  ऐसा नहीं है $$y$$, यह अस्वीकार करता है।

एक वादा फलन   समस्या को कुछ भी करने की अनुमति है (इस प्रकार समाप्त नहीं हो सकता है) यदि ऐसा नहीं है $$y$$ मौजूद।

उदाहरण
कार्यात्मक बूलियन संतुष्टि समस्या, एफएसएटी द्वारा संक्षेप में एक प्रसिद्ध कार्य समस्या दी गई है। समस्या, जो बूलियन संतुष्टि समस्या निर्णय समस्या से निकटता से संबंधित है, को निम्नानुसार तैयार किया जा सकता है:


 * एक बूलियन सूत्र दिया गया $$\varphi$$ चर के साथ $$x_1, \ldots, x_n$$, एक असाइनमेंट खोजें $$x_i \rightarrow \{ \text{TRUE}, \text{FALSE} \}$$ ऐसा है कि $$\varphi$$ का मूल्यांकन करता है $$\text{TRUE}$$ या तय करें कि ऐसा कोई असाइनमेंट उपस्थित नहीं है।

इस स्थितियों में संबंध $$R$$ उपयुक्त एन्कोडेड बूलियन फ़ार्मुलों और संतोषजनक असाइनमेंट के टुपल्स द्वारा दिया गया है।

जबकि एक SAT एल्गोरिथम, एक सूत्र के साथ खिलाया जाता है $$\varphi$$, केवल असंतोषजनक या संतोषजनक लौटने की जरूरत है, एक एफएसएटी एल्गोरिदम को बाद के स्थितियों में कुछ संतोषजनक असाइनमेंट वापस करने की जरूरत है।

अन्य उल्लेखनीय उदाहरणों में ट्रैवलिंग सेल्समैन की समस्या सम्मिलित है, जो सेल्समैन द्वारा लिए गए मार्ग के बारे में पूछती है, और पूर्णांक गुणनखंडन समस्या, जो कारकों की सूची के लिए पूछती है।

अन्य जटिलता वर्गों से संबंध
मनमाना निर्णय समस्या पर विचार करें $$L$$ कक्षा एनपी (जटिलता) में। एनपी की परिभाषा के अनुसार, प्रत्येक समस्या का उदाहरण $$x$$ जिसका उत्तर 'हां' में बहुपद आकार का प्रमाण पत्र है $$y$$ जो 'हां' उत्तर के प्रमाण के रूप में कार्य करता है। इस प्रकार, इन टुपल्स का समुच्चय $$(x,y)$$ दी गई फलन समस्या को निरूपित करते हुए एक संबंध बनाता है $$x$$ में $$L$$, एक प्रमाणपत्र प्राप्त करें $$y$$ के लिए $$x$$. इस फ़ंक्शन समस्या को फ़ंक्शन वेरिएंट कहा जाता है $$L$$; यह वर्ग एफएनपी  (जटिलता) से संबंधित है।

एफएनपी को एनपी के कार्यात्मक वर्ग एनालॉग के रूप में माना जा सकता है, जिसमें एफएनपी समस्याओं के समाधान कुशलता से हो सकते हैं (अर्थात, इनपुट की लंबाई के संदर्भ में बहुपद समय में) 'सत्यापित, लेकिन जरूरी नहीं कि कुशलतापूर्वक  पाया गया ''। इसके विपरीत, वर्ग एफपी (जटिलता), जिसे पी के फ़ंक्शन क्लास एनालॉग के रूप में माना जा सकता है, में फ़ंक्शन समस्याएं होती हैं जिनके समाधान बहुपद समय में पाए जा सकते हैं।

स्व-न्यूनीकरण
ध्यान दें कि ऊपर पेश की गई एफएसएटी समस्या को सबरूटीन के लिए केवल बहुपद रूप से कई कॉलों का उपयोग करके हल किया जा सकता है जो एसएटी समस्या का फैसला करता है: एक एल्गोरिदम पहले पूछ सकता है कि क्या सूत्र $$\varphi$$ संतोषजनक है। उसके बाद एल्गोरिथ्म वेरिएबल को ठीक कर सकता है $$x_1$$ सही करने के लिए और फिर से पूछें। यदि परिणामी सूत्र अभी भी संतोषजनक है तो एल्गोरिथम रहता है $$x_1$$ सत्य पर नियत है और ठीक करना जारी रखता है $$x_2$$, अन्यथा यह तय करता है $$x_1$$असत्य होना चाहिए और जारी रहना चाहिए। इस प्रकार, एसएटी का निर्णय लेने वाली ओरेकल मशीन का उपयोग करके बहुपद समय में एफएसएटी हल करने योग्य है। सामान्यतः, एनपी में एक समस्या को सेल्फ-रिड्यूसिबल कहा जाता है, यदि इसके  फलन  वेरिएंट को बहुपद समय में मूल समस्या का निर्णय लेने वाले ओरेकल का उपयोग करके हल किया जा सकता है। हर एनपी-पूर्ण समस्या स्व-कम करने योग्य है। यह अनुमान है  कि पूर्णांक गुणनखंडन समस्या स्व-कम करने योग्य नहीं है, क्योंकि यह तय करना कि पूर्णांक अभाज्य है या नहीं,  पी  (आसान) में है, जबकि पूर्णांक गुणनखंडन की समस्या शास्त्रीय कंप्यूटर के लिए कठिन मानी जाती है।

आत्म-कम करने की कई (थोड़ी अलग) धारणाएँ हैं।

कटौती और पूर्ण समस्याएं
फ़ंक्शन समस्याएं कमी (जटिलता) हो सकती हैं जैसे निर्णय समस्याएं: दी गई फ़ंक्शन समस्याएं $$\Pi_R$$ और $$\Pi_S$$ हम कहते हैं $$\Pi_R$$ कम कर देता है $$\Pi_S$$ यदि वहाँ बहुपद-समय संगणनीय कार्य उपस्थित हैं $$f$$ और $$g$$ ऐसा कि सभी उदाहरणों के लिए $$x$$ का $$R$$ और संभावित समाधान $$y$$ का $$S$$, यह मानता है

इसलिए एनपी-पूर्ण समस्या के अनुरूप एफएनपी-पूर्ण समस्याओं को परिभाषित करना संभव है:
 * यदि $$x$$ एक है $$R$$-समाधान, फिर $$f(x)$$ एक है $$S$$-समाधान।
 * $$(f(x), y) \in S \implies (x, g(x,y)) \in R.$$

एक समस्या $$\Pi_R$$ एफएनपी -पूर्ण है यदि  एफएनपी  में प्रत्येक समस्या को कम किया जा सकता है $$\Pi_R$$. एफएनपी-पूर्ण समस्याओं की जटिलता वर्ग एफएनपी-सी या एफएनपीसी द्वारा दर्शाया गया है। इसलिए समस्या FSAT भी एक एफएनपी -सम्पूर्ण समस्या है, और यह इसे मानती है $$\mathbf{P} = \mathbf{NP}$$ यदि  और केवल यदि  $$\mathbf{FP} = \mathbf{FNP}$$.

कुल कार्य समस्याएं
रिश्ता $$R(x, y)$$ फ़ंक्शन समस्याओं को परिभाषित करने के लिए उपयोग किए जाने वाले अपूर्ण होने का दोष है: प्रत्येक इनपुट नहीं $$x$$ एक समकक्ष है $$y$$ ऐसा है कि $$(x, y) \in R$$. इसलिए प्रमाणों की संगणना का प्रश्न उनके अस्तित्व के प्रश्न से अलग नहीं है। इस समस्या को दूर करने के लिए यह सुविधाजनक है कि वर्ग T एफएनपी को  एफएनपी  के उपवर्ग के रूप में उत्पन्न करने वाले कुल संबंधों के लिए कार्य समस्याओं के प्रतिबंध पर विचार किया जाए। इस वर्ग में कुछ सामरिक खेलों में शुद्ध नैश संतुलन की गणना जैसी समस्याएं सम्मिलित  हैं जहां एक समाधान उपस्थित होने की गारंटी है। इसके अतिरिक्त, यदि T एफएनपी  में कोई  एफएनपी -सम्पूर्ण समस्या है, तो यह उसका अनुसरण करती है $$\mathbf{NP} = \textbf{co-NP}$$.

यह भी देखें

 * निर्णय समस्या
 * खोज समस्या
 * गिनती की समस्या (जटिलता)
 * अनुकूलन समस्या

संदर्भ

 * Raymond Greenlaw, H. James Hoover, Fundamentals of the theory of computation: principles and practice, Morgan Kaufmann, 1998, ISBN 1-55860-474-X, p. 45-51
 * Elaine Rich, Automata, computability and complexity: theory and applications, Prentice Hall, 2008, ISBN 0-13-228806-0, section 28.10 "The problem classes FP and FNP", pp. 689–694