वास्तव में एफपी, एफएनपी और टीएफएनपी वर्ग क्या हैं?


13

अपनी पुस्तक कम्प्यूटेशनल जटिलता में , पापादिमित्रिउ एफएनपी को निम्नानुसार परिभाषित करता है:

मान लीजिए कि एनपी में एक भाषा है । प्रस्‍तावना 9.1 द्वारा, बहुपद-सम्‍मिलित समयानुकूल, बहुपद संतुलित संबंध जो कि सभी तार : साथ एक स्ट्रिंग यदि और केवल यदि । के साथ जुड़े समारोह की समस्या , चिह्नित , निम्नलिखित कम्प्यूटेशनल समस्या है:आर एल x y आर एल ( x , y ) एक्स एल एल एफ एलLRLxyRL(x,y)xLLFL

को देखते हुए , एक स्ट्रिंग जैसे कि यदि ऐसी स्ट्रिंग मौजूद है; यदि कोई स्ट्रिंग मौजूद नहीं है, तो "नहीं" लौटाएं।y R L ( x , y )xyRL(x,y)

एनपी में भाषा के साथ जुड़े सभी फ़ंक्शन समस्याओं के वर्ग को एफएनपी कहा जाता है । एफपी उपवर्ग है जिसके परिणामस्वरूप यदि हम केवल एफएनपी में फ़ंक्शन समस्याओं पर विचार करते हैं जो कि बहुपद समय में हल किया जा सकता है।

(...)

(...), हम एक समस्या को FNP कुल में कहते हैं यदि प्रत्येक स्ट्रिंग लिए कम से कम एक ऐसा हो जो । FNP के उपवर्ग में कुल फ़ंक्शन समस्याएँ होती हैं, जिन्हें TFNP निरूपित किया जाता है ।x y R ( x , y )R xyR(x,y)

अध्याय अवलोकन में एक venn आरेख में, अर्थ है कि FP TFNP FNP

मुझे यह समझने में कठिन समय है कि वास्तव में यह क्यों है कि FP TFNP रखती है क्योंकि FP में समस्याओं का होना प्रति से कुल होना नहीं है।

एक बेहतर समझ हासिल करने के लिए, मैं सफलता के बिना एफपी , एफएनपी और सॉर्ट्स की जलरोधी परिभाषा खोजने के लिए साहित्य के माध्यम से जुताई कर रहा हूं ।

मेरे बहुत (विनम्र) राय में, मुझे लगता है कि इन विषयों की छोटी (सही!) उपदेशात्मक सामग्री है।

निर्णय की समस्याओं के लिए, कक्षाएं भाषाओं के सेट (यानी स्ट्रिंग्स के सेट) हैं।

फ़ंक्शन समस्याओं के लिए वास्तव में कक्षाएं क्या हैं? क्या वे संबंधों, भाषाओं, ... के सेट हैं? एक ठोस परिभाषा क्या है?


4
आम संकेतन कुछ टेढ़ा है। पहले, एफपी था और इसका उपयोग एनपी खोज समस्याओं के संदर्भ के बाहर पॉली-टाइम फ़ंक्शन (इसलिए कुल) के वर्ग को दर्शाने के लिए किया जाता है, जहां इसे फिर से परिभाषित किया गया है। दूसरा, बहुपद समय में हल करने वाली प्रत्येक खोज समस्या का बहुपद समय में कुल विस्तार होता है, इसलिए उस अर्थ में, एफपी की कुल और गैर-कुल परिभाषा के बीच बहुत वास्तविक अंतर नहीं है, इसलिए दोनों को भाषा के दुरुपयोग के साथ भ्रमित किया जाता है।
एमिल जेकाबेक

जवाबों:


11

एमिल जेरबेक की टिप्पणी एक अच्छा सारांश है, लेकिन मैं यह बताना चाहता था कि स्पष्ट परिभाषाओं के साथ अन्य वर्ग हैं जो समान अवधारणा को पकड़ते हैं, और इन सभी चीजों के बीच के संबंध को स्पष्ट करते हैं।

[चेतावनी: जबकि मेरा मानना ​​है कि मैंने परिभाषाओं को सही पाया है, नीचे दी गई कुछ चीजें मेरी व्यक्तिगत प्राथमिकताओं को दर्शाती हैं - मैंने यह स्पष्ट करने की कोशिश की है कि वह कहाँ था।]

नियतात्मक दुनिया में, एक फ़ंक्शन क्लास केवल फ़ंक्शन का एक संग्रह है (सामान्य रूप से, "फ़ंक्शन" शब्द का गणितीय अर्थ, अर्थात, एक नक्शा )। कभी-कभी हम "आंशिक कार्यों" की अनुमति देना चाहते हैं, जिसका आउटपुट निश्चित इनपुट के लिए "अपरिभाषित" है। (समान रूप से, ऐसे फ़ंक्शन जो इन सबके बजाय सबसेट पर परिभाषित किए गए हैं ।)Σ *ΣΣΣ

दुर्भाग्य से, लिए दो अलग-अलग परिभाषाएँ हैं , जो तैर ​​रहे हैं, और जहाँ तक मैं बता सकता हूँ कि वे समतुल्य नहीं हैं (हालाँकि वे "नैतिक रूप से समान" हैं)।FP

  • एफ पी एफ एन पी , टी एफ एन पीFP (परिभाषा 1) उन कार्यों का वर्ग है जिन्हें बहुपद-काल में गणना की जा सकती है। जब भी आप और इसके संदर्भ में देखते हैं, जहां लोग बारे में बात कर रहे हैं , यह मेरी परिभाषा है।FPFNP,TFNP

Nondeterministic दुनिया में चीजें थोड़ी मज़ेदार होती हैं। वहां, "आंशिक, बहु-मूल्यवान कार्यों" की अनुमति देना सुविधाजनक है। इस तरह की बात को एक द्विआधारी संबंध भी कहा जाता है, जो कि, का सबसेट होगा । लेकिन इन चीजों के बारे में सोचने के लिए जटिलता के दृष्टिकोण से यह अक्सर "नोंडेथर्मिनिन फ़ंक्शंस" के रूप में दार्शनिक और मानसिक रूप से उपयोगी है। मुझे लगता है कि इनमें से कई परिभाषाएँ निम्नलिखित वर्गों द्वारा स्पष्ट की गई हैं (जिनकी परिभाषा पूरी तरह से मानकीकृत है, यदि बहुत अच्छी तरह से ज्ञात नहीं हैं):Σ×Σ

  • x x x { ( x , y ) : y  इनपुट x पर गणना की कुछ शाखा द्वारा आउटपुट है  }NPMV : बहुपद समय में एक nondeterministic मशीन द्वारा गणना की जाने वाली "आंशिक, बहु-मूल्यवान कार्यों" की श्रेणी। इसका मतलब यह है कि एक पॉली-टाइम नॉनडेर्मिनिस्टिक मशीन है, और इनपुट पर, प्रत्येक nondeterministic शाखा पर यह स्वीकार करने और कुछ आउटपुट बनाने, या अस्वीकार करने और कोई आउटपुट नहीं करने का विकल्प चुन सकता है। इनपुट पर "बहु-मूल्यवान" आउटपुट तब इनपुट के रूप में दिए जाने पर सभी nondeterministic शाखाओं पर सभी आउटपुट का सेट है । ध्यान दें कि यह सेट खाली हो सकता है, इसलिए "बहु-मूल्यवान फ़ंक्शन" के रूप में यह केवल आंशिक हो सकता है। यदि हम इसे द्विआधारी संबंधों के संदर्भ में सोचते हैं, तो यह संबंध मेल खाता है ।xxx{(x,y):y is output by some branch of the computation on input x}

  • एन पी एम वी एक्सNPMVt : में कुल "कार्यों" , कि है, पर हर इनपुट , कम से कम एक शाखा को स्वीकार करता है (और इसलिए एक आउटपुट, बनाता परिभाषा के द्वारा)NPMVx

  • एन पी एम वी Σ *NPSV : में एकल-मान (संभावित आंशिक) कार्यों । यहाँ कुछ लचीलापन है, हालाँकि, इसमें कई शाखाएँ स्वीकार कर सकती हैं, लेकिन यदि कोई शाखा स्वीकार करती है, तो सभी स्वीकृत शाखाओं को एक ही आउटपुट बनाने की गारंटी दी जानी चाहिए (ताकि यह वास्तव में एकल-मूल्यवान हो)। हालांकि, यह अभी भी संभव है कि कोई भी शाखा स्वीकार नहीं करती है, इसलिए फ़ंक्शन केवल एक "आंशिक फ़ंक्शन" है (यानी सभी पर परिभाषित नहीं है )।NPMVΣ

  • NPSVt : में कुल कार्यों एकल मूल्यवान । ये वास्तव में कार्य हैं, शब्द के सामान्य अर्थ में, । यह उस को देखने के लिए एक बहुत कठिन अभ्यास नहीं है (ऊपर FP के लिए Def 1 का उपयोग करके)।NPSVΣΣNPSVt=FPNPcoNP

जब हम संभावित बहु-मूल्यवान कार्यों के बारे में बात करते हैं, तो जटिलता वर्गों के बारे में बात करना वास्तव में किसी भी अधिक उपयोगी नहीं है: बिना शर्त केवल इसलिए कि शामिल नहीं है कोई भी बहु-मूल्यवान "फ़ंक्शन", लेकिन करता है। इसके बजाय, हम "c- " के बारे में बात करते हैं, अर्थ । A (संभावित रूप से आंशिक, बहु-मूल्यवान) फ़ंक्शन एक परिष्कृत करता है (संभवतः आंशिक बहु-मूल्यवान) फ़ंक्शन यदि: (1) प्रत्येक इनपुट लिए जिसके लिए कुछ आउटपुट बनाता है, तो और (2) के आउटपुट हमेशा के आउटपुट का एक सबसेट हैNPMVNPSVNPSVNPMVcfgxgffg । उचित प्रश्न यह है कि क्या प्रत्येक "फ़ंक्शन" में एक परिशोधन है। यदि हां, तो हम ।NPMVNPSVNPMVcNPSV

  • PF (थोड़ा कम मानक) पॉली-टाइम में गणना योग्य (संभावित आंशिक) कार्यों की श्रेणी है। अर्थात्, एक फ़ंक्शन ( ) यदि कोई पॉली-टाइम नियतात्मक मशीन है जैसे कि, इनपुट पर पर मशीन आउटपुट , और इनपुट्स पर मशीन कोई आउटपुट नहीं देती है (/ rejects / कहते हैं "no" / हालाँकि आप इसे वाक्यांश करना चाहते हैं)।f:DΣDΣPFxDf(x)xD

  • FNP "फ़ंक्शन समस्याओं" (कार्यों के एक वर्ग के बजाय) की एक श्रेणी है। मैं एक "संबंधपरक वर्ग" भी कहूंगा , लेकिन वास्तव में जो भी शब्द आप इसका वर्णन करने के लिए उपयोग करते हैं, उसके बाद आपको खुद को स्पष्ट करना होगा, यही कारण है कि मैं इस परिभाषा में विशेष रूप से आंशिक नहीं हूं। किसी भी द्विआधारी संबंध के लिए एक संबद्ध "फ़ंक्शन समस्या है।" एक कार्य समस्या क्या है? मेरे पास भाषा / कार्य / संबंध के लिए एक साफ गणितीय परिभाषा नहीं है; बल्कि, यह परिभाषित करता है कि एक वैध समाधान क्या है: से जुड़ी फ़ंक्शन समस्या का एक वैध समाधान कोई भी (संभावित आंशिक) फ़ंक्शन जैसे कि यदिFNPRΣ×ΣRf(y)[R(x,y)]f ऐसे किसी भी आउटपुट देता है , और अन्यथा कोई आउटपुट नहीं देता है। संबंधों से जुड़े समारोह समस्याओं का वर्ग है ऐसी है कि (जब जोड़े की एक भाषा के रूप में माना जाता है) और पी-संतुलित है। So कार्यों का एक वर्ग नहीं है, और न ही भाषाओं का एक वर्ग, लेकिन "फ़ंक्शन समस्याओं," जहां "समस्या" का एक वर्ग मोटे तौर पर परिभाषित किया गया है कि इसे हल करने के लिए इसका क्या अर्थ है।yfFNPRRPFNP

  • TFNP तब में फ़ंक्शन समस्याओं का वर्ग है - एक संबंध से ऊपर के रूप में परिभाषित किया गया है - ऐसा कुल है, इस अर्थ में कि हर लिए एक मौजूद है जैसे ।FNPRRxyR(x,y)

"अगर हर ( ।, ) फंक्शन प्रॉब्लम जैसी चीजों को लिखना नहीं पड़ता है , तो ऊपर के अनुसार ( ।), । परिभाषा), तो ... "इस संदर्भ में कोई भी की परिभाषा 2 का उपयोग करता है , जो है:FNPTFNPPFFPFP

  • FP (परिभाषा 2) में फ़ंक्शन समस्याओं का वर्ग है, जिसमें पॉली-टाइम समाधान होता है। कोई यह मान सकता है कि यहाँ समाधान (= फ़ंक्शन) एक विशेष स्ट्रिंग उठाकर कुल है जो किसी भी लिए मान्य नहीं है , और फ़ंक्शन आउटपुट होने पर अन्यथा कोई मान्य नहीं होगा । (यदि आवश्यक हो, तो हम प्रत्येक 1 के साथ प्रत्येक को prepending द्वारा संबंध को संशोधित कर सकते हैं , और फिर को स्ट्रिंग 0 के रूप में ले सकते हैं; इसमें कुछ भी शामिल नहीं है)।FNPy0yxy0yRyy0

यहाँ बताया गया है कि ये विभिन्न परिभाषाएँ एक-दूसरे से कैसे संबंधित हैं, (परिभाषा 2, जिसे आपको मान लेना चाहिए क्योंकि यह एक संदर्भ में है जहाँ इसकी तुलना ) के साथ की जा रही है। to । (def 2), (def 1) के बराबर है ।FNPFPFNPNPMVcPFTFNPFPNPMVtcFP


आपके व्यापक उत्तर के लिए धन्यवाद। मैं इसे पचाने की कोशिश कर रहा हूं और यह अब तक बहुत मददगार रहा है। मुझे लगता है, हालांकि, आपका मतलब था कि पिछले पैराग्राफ में FP FNP और FP TFNP ?
ऑबेरॉन

1
@ ऑबेरॉन: नहीं, अंतिम पैराग्राफ विभिन्न अनुमानों के बीच अनुवाद कर रहा है। यह कहता है कि , इत्यादिFNPFPNPMVcPF
जोशुआ ग्रोवो

@JoshuaGrochow या संभव है या पदानुक्रम ढह गया? इसके अलावा करता है में या पकड़ विपरीत उपाध्यक्ष (यह प्रशंसनीय रूप में वहाँ कोई निहितार्थ किसी भी तरह से लग रहा है)? NPPTFNPNPPUPPUPPTFNP
टी ....

3

जोशुआ के व्यापक उत्तर के अलावा, मैं एलिन रुच से उसकी ऑटोमेटा, कम्प्यूटेबिलिटी और जटिलता से निम्नलिखित परिभाषाओं को जोड़ना चाहता हूं ।

द क्लास एफपी : एक द्विआधारी संबंध यदि कोई नियतात्मक बहुपद समय एल्गोरिथ्म है, जिसे एक मनमाना इनपुट दिया गया है, तो कुछ ऐसे में पा सकते हैं ।QFPxy(x,y)Q

द क्लास FNP : एक बाइनरी रिलेशनशिप , in अगर कोई नियतात्मक बहुपद समय सत्यापनकर्ता है, तो एक मनमाना इनपुट पेयर , यह निर्धारित करता है कि क्या । समान रूप से, in यदि कोई nondeterministic बहुपद समय एल्गोरिथ्म है, जिसे एक मनमाना इनपुट दिया जाता है , तो कुछ ऐसे मिल सकते हैं जैसेQFNP(x,y)(x,y)QQFNPxy(x,y)Q

इन परिभाषाओं से यह स्पष्ट है कि । वह संक्षेप में बाहर की समस्याओं के बारे में भी बात करती है ।FPTFNPFNPFNP

मेरे लिए, यह सबसे संतोषजनक संसाधन रहा है जिसमें एक एकल पृष्ठ से निकला है जो मैंने लंबे समय से पाया है।


जब मैंने इन परिभाषाओं को कुछ सोचा था, मुझे संदेह है कि दो की 'बराबर' परिभाषाएँ बिल्कुल समान नहीं हैं ...FNP
ऑबेरॉन

मैं तुल्यता एक जरूरतों संबंध ग्रहण करने के लिए प्राप्त करने के लिए लगता है कि पी-घिरा (है कि, वहाँ है एक बहुपद है ऐसी है कि अगर ऐसा है कि इस तरह के एक, फिर वहाँ है के साथ )। इसके अलावा, किसी को "nondeterministic एल्गोरिथ्म को खोजने के लिए " का अर्थ क्या है, यह निर्दिष्ट करना होगा - अर्थात, एक nondeterministic एल्गोरिथ्म के लिए "आउटपुट बनाने" का क्या मतलब है? यह इस बात का हिस्सा है कि मुझे एनपीएमवी परिवार की परिभाषाएँ क्यों पसंद हैं ...y ( एक्स , वाई ) क्यू y | y | पी ( | x | ) ypy(x,y)Qy|y|p(|x|)y
जोशुआ ग्रोचो
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.