क्या एफ में लैंबडा पथरी की समस्या को हल किया जा सकता है?


10

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

यदि एक एफाइन लैम्ब्डा कैलकुलस को पी में होने वाली समस्याओं को हल करने में सक्षम नहीं जाना जाता है, तो क्या कोई ज्ञात कैलकुलस है जो पी में समस्याओं को ठीक से हल कर सकता है?


1
मेरी अज्ञानता का बहाना करो, लेकिन एक अपूर्ण समस्या का उदाहरण क्या है, और इससे भी महत्वपूर्ण बात यह है कि आप किस कमी का उपयोग कर रहे हैं? पी
प्रेमिका बाउर

मुझे विकिपीडिया पर कुछ मिला: en.wikipedia.org/wiki/P-complete#P-complete_problems । ब्याज की सर्किट मूल्य समस्या और सींग-सैट है। रेखीय प्रोग्रामिंग भी जाहिरा तौर पर -complete है। ये स्लाइड्स सर्किट वेल्यू प्रॉब्लम प्रीटी वेल सीसेकोनेल.ड्यू / क्यूरेस / सीसीपी 2020/2012 / हैंडआउट्स / सीवीपी.पीडीएफ का वर्णन करती हैं । ऐसा लगता है कि या तो एल कटौती या एन सी का उपयोग किया जाता है, एल कटौती एन सी कटौती से कमजोर है । मैं या तो संतुष्ट हो जाएगा; मुझे यकीन नहीं है कि एल बनाम एन सी का उपयोग करने के क्या परिणाम हैं । पीएलएनसीएलएनसीएलएनसी
जेक

6
रेखीय भाषाएं हैं जो पी। के लिए पूरी तरह से दिलचस्प हैं, वे आम तौर पर समस्याओं के लिए पूरी होती हैं, लेकिन एल्गोरिदम के लिए नहीं। यही है, आप पी में हर समस्या के लिए एक पॉली टाइम प्रोग्राम लिख सकते हैं, लेकिन हर पॉलिमाइम एल्गोरिथ्म अभिव्यंजक नहीं है।
नील कृष्णस्वामी

क्या यह कथन "पी के लिए आम तौर पर पूर्ण नहीं बल्कि एफपी के लिए" के बराबर है? यदि आप कुछ उदाहरण प्रदान कर सकते हैं तो यह एक अद्भुत जवाब होगा।
जेक

3
नील कृष्णस्वामी, क्या आप एक संदर्भ प्रदान कर सकते हैं? यह दिलचस्प लगता है।
माटूस डी ओलिवेरा ओलिवेरा

जवाबों:


12

संपादित करें: नीचे दिए गए पहले पैराग्राफ में मेरा अनुमान गलत है! Ugo Dal Lago ने मार्टिन हॉफमैन (POPL 2002 में दिखाई दिया) के बाद के एक पेपर की ओर इशारा किया, जिसमें से मैं अनजान था, (अधिक सामान्य परिणामों के एक कोरोलरी के रूप में) कि एटीटीपीएल पुस्तक से सिस्टम वास्तव में () के साथ पूरा हो गया है एफ पी में हर फ़ंक्शन की गणना करने में सक्षम नहीं होने के बावजूद )। इसलिए, मेरे आश्चर्य के लिए, मुख्य प्रश्न का उत्तर हां है।PFP


आप जिस सिस्टम (एटीटीपीएल पुस्तक से) का जिक्र कर रहे हैं, मुझे पूरा यकीन है कि यह पी में हर भाषा को तय नहीं कर सकता है । यह निश्चित रूप से एफ पी में प्रत्येक फ़ंक्शन की गणना नहीं कर सकता है : जैसा कि उस अध्याय के नोटों में वर्णित है, यह प्रणाली मार्टिन हॉफमैन के एलआईसीएस 1999 के पेपर ("रैखिक प्रकार और गैर-आकार-बढ़ती बहुपद समय गणना") से ली गई है, जिसमें यह दिखाया गया है प्रतिनिधित्व योग्य कार्य बहु -आकार और गैर-आकार के हैंPFP, जो बहुत सारे बहुपत्नी कार्यों को शामिल नहीं करता है। यह ट्यूरिंग मशीनों के टेप के आकार पर एक गंभीर सीमा देता है जिसे आप उस भाषा में अनुकरण कर सकते हैं। कागज में, हॉफमैन से पता चलता है कि आप रैखिक अंतरिक्ष गणना को सांकेतिक शब्दों में बदलना कर सकते हैं; मेरा अनुमान है कि आप बहुत अधिक नहीं कर पाएंगे, अर्थात , उस प्रणाली के अनुरूप वर्ग लगभग एक ही समय में पॉलीटाइम और रैखिक स्थान में एक साथ हल करने योग्य समस्याएं हैं।

अपने दूसरे प्रश्न के बारे में, कई -calculi हैं जो P में होने वाली समस्याओं को ठीक कर सकते हैं । उनमें से कुछ का उल्लेख आप जिस एटीटीपीएल चैप्टर के नोट में कर रहे हैं, (संप्रदाय 1.6): लेविंट का तीखा λ -कुलकुलस (उनके पीओपीएल 1993 का पेपर देखें, या जीन-यव्स मैरियन के साथ पेपर) - पॉली-टाइम के लैम्ब्डा कैलकुलस चरित्र ", फंडामेंटा इंफॉर्मेटाके 19 (1/2): 167-184, 1993), जो बेलेंटोनी और कुक के एफ पी के लक्षण वर्णन से संबंधित है ; और गिरार्ड के प्रकाश रेखीय तर्क ( सूचना और संगणना , 143: 175-204, 1998) या Lafont के सॉफ्ट लीनियर लॉजिक ( सैद्धांतिक कंप्यूटर विज्ञान ) से ली गई λ -calculiλPλFPλ318 (1-2): 163-180, 2004)। इन बाद की दो तार्किक प्रणालियों से उत्पन्न होने वाली प्रकार की प्रणालियां और बहुपत्नी समाप्ति सुनिश्चित करना (जबकि अभी भी पूर्णता प्राप्त करना) निम्नलिखित में पाया जा सकता है:

पैट्रिक बेइलोट, कज़ुशिएग टेरुई। लंबोदर कलन में बहुपद समय गणना के लिए हल्के प्रकार। सूचना और संगणना 207 (1): 41-62, 2009।

मार्को गबोर्डी, सिमोना रोंची डेला रोक्का। लाइट लॉजिक्स से लेकर टाइप असाइनमेंट: एक केस स्टडी। आईजीपीएल 17 (5) का लॉजिक जर्नल : 499-530, 2009।

आपको उन दो पत्रों में बहुत सारे अन्य संदर्भ मिलेंगे।

निष्कर्ष निकालने के लिए, मुझे नील कृष्णस्वामी की टिप्पणी पर विस्तार देना चाहिए। स्थिति थोड़ी सूक्ष्म है। उपरोक्त सभी -calculi अधिक सामान्य पथरी के प्रतिबंध है, जिसमें आप और अधिक बस polytime कार्यों से गणना कर सकता है, उदाहरण के सिस्टम के लिए कहते हैं कि एफ दूसरे शब्दों में के रूप में देखा जा सकता है, तो आप एक संपत्ति को परिभाषित Φ प्रणाली एफ कार्यक्रमों के पी : स्ट्रिंगबूल ऐसे:λΦP:stringbool

सुदृढ़ता: का तात्पर्य है कि द्वारा निर्णय लिया भाषा पी में है पी ;Φ(P)Pपी

पूर्णता: हर के लिए , वहाँ एक प्रणाली एफ कार्यक्रम है पी निर्णय लेने से एल कि इस तरह के Φ ( पी )LपीPएलΦ(P)

ब्याज है कि संपत्ति के द्वारा व्यक्त की है विशुद्ध रूप से वाक्यात्मक और विशेष रूप से, डिसाइडेबल है। इसलिए, पूर्णता केवल एक बहिर्मुखी अर्थ में धारण कर सकती है: यदि L , P में आपकी पसंदीदा भाषा है और यदि P , सिस्टम F में व्यक्त L को निश्चित करने के लिए आपका पसंदीदा एल्गोरिथम है , तो हो सकता है कि Φ ( P ) पकड़ में न आए। आप सभी जानते हैं कि उसके कुछ अन्य प्रणाली एफ कार्यक्रम है पी ' निर्णय लेने से एल और ऐसी है कि Φ ( पी ' ) आयोजित करता है। दुर्भाग्य से, यह है कि हो सकता है पी 'ΦएलपीपीएलΦ(पी)पी'एलΦ(पी')पी'आपके से बहुत अधिक वंचित है । दरअसल, पूर्णता संतोषजनक प्रणाली एफ शब्दों के रूप में polynomially-क्लॉक ट्यूरिंग मशीन एन्कोडिंग ने साबित कर दिया है Φ । इसलिए, अपने पसंदीदा एल्गोरिदम का उपयोग करके एल को हल करने का एकमात्र गारंटीकृत तरीका ट्यूरिंग मशीन पर उस एल्गोरिथ्म को लागू कर रहा है और फिर पूर्णता प्रमाण में दिए गए एन्कोडिंग (आपके अपने एन्कोडिंग काम नहीं कर सकता!) का उपयोग करके सिस्टम एफ में इसका अनुवाद कर रहा है। प्रोग्रामिंग के संदर्भ में बिल्कुल सबसे सुंदर समाधान नहीं है ... बेशक, कई मामलों में "प्राकृतिक" कार्यक्रम पी संतुष्ट करता है Φ । हालांकि, कई अन्य मामलों में यह नहीं होता है: ऊपर बताए गए LICS 1999 के पेपर में, Hofmann एक उदाहरण के रूप में प्रविष्टि प्रकार देता है।पीΦएलपीΦ

जानबूझकर पूरा प्रकार प्रणाली है, जो टाइप करने में सक्षम हैं वास्तव में (ऊपर मेरी उदाहरण में प्रणाली एफ) व्यापक भाषा का polytime कार्यक्रमों मौजूद है। बेशक, वे सामान्य रूप से अनिर्दिष्ट हैं। देख

उगो दल लागो, मार्को गबोर्दी। रैखिक निर्भर प्रकार और सापेक्ष पूर्णता। कंप्यूटर विज्ञान 8 (4), 2011 में तार्किक तरीके


1
मुझे समझ नहीं आ रहा है कि आप दूसरे हाफ में क्या कहना चाह रहे हैं। आपके विवरण के आधार पर, उसी समस्या को हल करने वाले एफ-प्रोग्रामों में पॉली-टाइम क्लॉक किए गए ट्यूरिंग मशीनों का एक सिंटैक्टिक ट्रांसफॉर्मेशन होता है। जहाँ तक मैं देख सकता हूँ, यह सबसे अच्छा है जब कोई एक गणना से दूसरे मॉडल का अनुवाद कर सकता है।
एमिल जेकाबेक

3
@ EmilJeřábek: मैं कहना है कि कोशिश कर रहा हूँ काफी सीमित है और यह कई "प्राकृतिक" polytime एफ कार्यक्रमों को खारिज कर दिया है। अगर वहाँ एक प्रणाली एफ प्रोग्रामर के रूप में ऐसी बात कर रहे थे और आप एक थे, और अगर मैं आपसे पूछा प्रकार के एकल पूर्णांक (गुणा करने के लिए एक कार्यक्रम को लिखने के लिए एन एक टी : = एक्स ( एक्स एक्स ) एक्स एक्स ), आप शायद λ m N a t लिखेंगे λ एन एन टीΛ एक्स λ एस एक्स Φएनटी: =एक्स(एक्सएक्स)एक्सएक्स। फिर, आपको यह पता लगाने में निराशा हो सकती है कि आपका कार्यकाल अस्वीकार कर दिया गया है और इसके बजाय, आपको जोड़-तोड़ कर गुणा करना होगा। (जारी)λएनटीλnएनटीΛएक्सλरोंएक्सएक्सएक्स(nएक्सरों)
दमिजा माज़ा

3
(उपरोक्त उदाहरण वास्तविक है: पॉलीटाइम के लिए सभी रैखिक-तर्क व्युत्पन्न प्रकार प्रणालियों में, गुणन के लिए सामान्य शब्द टाइप करने योग्य नहीं है)। आप और भी अधिक निराश किया जा सकता है, तो मैं तुमसे कहा था कि आप इस कार्यक्रम नहीं है, तरह तरह के रूप में कह सकते हैं, प्रविष्टि (जो निश्चित रूप से polytime है), लेकिन आप चाहिए लागू ट्यूरिंग मशीन लिख और फिर एनकोड कि में प्रणाली एफ और मैं कहेंगे आप निराश होने के लिए सही होंगे: किस उच्च-स्तरीय प्रोग्रामिंग भाषा में प्रोग्रामर एक प्रकार के चेकर के साथ खुश होगा, "मैं आपके nested loops टाइप नहीं कर सकता , कृपया इसे विधानसभा में कोड करें"? :-)आर
दमिंडा मज़ज़ा

मुझे लगता है कि यह ठीक है। मैं मुख्य रूप से फंक्शन सर्च में रुचि रखता हूं (ऐसे फ़ंक्शंस खोजना जो एक निश्चित संपत्ति को अधिकतम करता है) इसलिए मुझे प्रोग्रामर होने की ज़रूरत नहीं है, कंप्यूटर करता है। आज रात मेरे पास इन संदर्भों को देखने के लिए कुछ समय होगा। धन्यवाद!
जेक
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.