वास्तविकता सिद्धांत: लैम्ब्डा कैलकुलस और ट्यूरिंग मशीनों के बीच शक्ति में अंतर


48

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

हालाँकि, अगर हम लैम्ब्डा कैलकुलस का उपयोग करते हैं, तो [प्रोग्राम] c को एक संख्या की गणना करने के लिए माना जाता है जो एक लंबिंग टर्म से एक ट्यूरिंग मशीन का प्रतिनिधित्व करता है जो एक फ़ंक्शन f का प्रतिनिधित्व करता है। यह नहीं किया जा सकता है (मैं समझा सकता हूं कि, यदि आप इसे एक अलग प्रश्न के रूप में पूछते हैं)।

  • मैं एक स्पष्टीकरण / अनौपचारिक प्रमाण देखना चाहूंगा।

मैं यह नहीं देखता कि यहाँ राइस का प्रमेय कैसे लागू किया जाए; यह समस्या पर लागू होता है "क्या यह ट्यूरिंग मशीन T और यह लैम्ब्डा-टर्म L समतुल्य है?", क्योंकि इस प्रेडिकेट को समान शब्दों में लागू करने से समान परिणाम मिलता है। हालाँकि, आवश्यक फ़ंक्शन भिन्न, लेकिन समकक्ष, भिन्न के लिए TMs, लेकिन समतुल्य, लंबो-शब्द की गणना कर सकता है।

  • इसके अलावा, यदि समस्या एक लंबो-टर्म के आत्मनिरीक्षण के साथ है, तो मुझे लगता है कि एक लंबो-टर्म के गोडेल एन्कोडिंग को पारित करना भी स्वीकार्य होगा, है न?

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

  • लेकिन यहाँ से लैंबडा-कैलकुलस ट्यूरिंग-मशीन से संबंधित समस्या का समाधान नहीं किया जा सकता है, मुझे आश्चर्य है कि क्या कोई लैम्ब्डा-कैलकुलस के लिए इसी तरह की समस्या को परिभाषित कर सकता है और ट्यूरिंग मशीनों के लिए यह बेकार साबित हो सकता है, या वास्तव में इसके पक्ष में सत्ता में अंतर है ट्यूरिंग मशीनें (जो मुझे आश्चर्यचकित करेंगी)।

जवाबों:


56

जॉन लॉन्गले ने एक बहुत व्यापक सर्वेक्षण लेख में शामिल मुद्दों पर चर्चा की, "नोटिफ़िकेशन ऑफ़ कम्पटीटीविटी एट हायर टाइप"

NN(NN)N

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

NNn

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

संपादित करें: यहाँ पीसीएफ में निश्चित रूप से एक फ़ंक्शन का एक उदाहरण है, लेकिन टीएम + गोएडेल एन्कोडिंग में नहीं। मैं isAlwaysTrueसमारोह की घोषणा करूँगा

 isAlwaysTrue : ((unit → bool) → bool) → bool

यदि इसका तर्क अपने तर्क की उपेक्षा करता है और हमेशा सही लौटाता है, तो उसे वापस लौटना चाहिए, यदि उसका तर्क किसी भी इनपुट पर गलत है, और यदि उसका तर्क किसी इनपुट पर लूप में जाता है, तो उसे वापस लौटना चाहिए। हम इस फ़ंक्शन को बहुत आसानी से परिभाषित कर सकते हैं, इस प्रकार है:

isAlwaysTrue p = p (λ(). true) ∧ p (λ(). false) ∧ p (λ(). ⊥)

लूपिंग कम्प्यूटेशन कहां है और बूलियंस पर ऑपरेटर है। यह काम करता है क्योंकि unit → boolपीसीएफ में केवल तीन निवासी हैं , और इसलिए हम उन्हें निकास कर सकते हैं। हालाँकि, TM + Goedel- एन्कोडिंग स्टाइल मॉडल में, pयह परीक्षण कर सकता है कि किसी उत्तर को वापस लेने के लिए कितना समय लगता है, और उसके आधार पर अलग-अलग उत्तर लौटाते हैं। इसलिए isAlwaysTrueटीएम के साथ कार्यान्वयन कल्पना को पूरा करने में विफल होगा।


1
यह एक उत्कृष्ट सर्वेक्षण है। लिंक के लिए धन्यवाद!
सुरेश वेंकट

मुझे बस एहसास हुआ कि मैं एक जवाब स्वीकार करना भूल गया था, हालांकि मेरा मतलब था कि आप को स्वीकार करने के लिए। माफ़ करना!
ब्लेज़ोरब्लेड

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

इसके अलावा, इस बारे में क्या है: cs.virginia.edu/~evans/cs150/classes/class39/lecture39.pdf । क्या यह किसी तरह से गलत है?
हिबू

प्रिय नील, क्या आपके पास एक फ़ंक्शन के लिए एक उदाहरण है जिसे लैंबडा कैलकुलस मॉडल में महसूस किया जा सकता है लेकिन ट्यूरिंग मॉडल में नहीं?
इंगो ब्लेस्च्मिड्ट

29

नील ने क्या कहा, और निम्नलिखित भी।

NNλλλ

λNN


λNNλ

NNλappn¯f:NNf(k)appn¯k¯n¯nappλ

Xf:X×NNλtf~:X(NN)λsXNNλff~NNλλNNλ

XNNλXX


2
अभी भी उस बेहतर उदाहरण की प्रतीक्षा कर रहा है ...
जैक्स कैरेट

1
λ

मुझे लगता है कि कैसे करी अधूरा बन सकता है नहीं मिलता है। आपको smn प्रमेय का पुन: उपयोग करने में सक्षम होना चाहिए, क्योंकि इसका प्रमाण पहले-क्रम के डेटा (एनकाउंटर) पर एक फ़ंक्शन का निर्माण करता है। चर्च-ट्यूरिंग थीसिस द्वारा, भीलों पर इस व्यवहार को एक लंबोदर शब्द के रूप में लागू किया जा सकता है (जो आंतरिक रूप से मूल कार्यों का उपयोग करता है, लेकिन मैं नहीं देखता कि यह कैसे निषिद्ध है)। इसी तरह से utm प्रमेय को सिद्ध किया जा सकता है , इसलिए आपकी पोस्ट के अनुसार हमें किया जाना चाहिए। मैं क्या खो रहा हूँ?
Blaisorblade

1
मैंने जवाब में बताया कि इसका क्या मतलब है कि करी अपरिहार्य हो जाती है, अर्थात् सुझाव दिया गया वस्तु प्रतिनिधित्व सेट की श्रेणी में एक घातीय नहीं है।
लेडी बाउर

स्पष्टीकरण के लिए धन्यवाद! दुर्भाग्य से मैं फिर से आगे नहीं बढ़ सकता। मैं अधिकांश तकनीकी विवरणों का पालन कर सकता हूं; मैं टोपोलॉजिकल मॉडल से परिचित नहीं हूं, लेकिन मैं वैसे भी "आप कार्यात्मक प्रोग्रामिंग / λ-पथरी में कार्यों का निरीक्षण नहीं कर सकता" से परिचित हूं। आपका अंतिम पैराग्राफ यह भी बताता है कि मैं smn के माध्यम से क्यों नहीं जा सकता, क्योंकि smn द्वारा दी गई करी फिर से Gödel कोड का उत्पादन करती है, न कि मानक कार्यों के लिए जिनकी आपको आवश्यकता होती है। मैं उस पैराग्राफ पर ध्यान लगाऊंगा।
2034 में Blaisorblade
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.