सामान्य डेटा प्रकारों पर आदिम पुनरावर्ती कार्यों को परिभाषित करना


9

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

सहज रूप से, अगर मैं एक साधारण अनिवार्य भाषा को परिभाषित करने की अनुमति देता हूं, जो बुनियादी कार्यों की अनुमति देता है, तो सूचियों (जैसे कि समवशरण, सिर और पूंछ लेना, तत्वों की तुलना) और पुनरावृत्ति का एक रूप जिसे अग्रिम में जानना आवश्यक है कि कितने पुनरावृत्तियां होंगी ( जैसे कि एक अपरिवर्तनीय सूची में तत्वों पर पुनरावृत्ति), फिर ऐसी भाषा को सूची में सबसे अधिक प्राथमिक पुनरावर्ती कार्यों की गणना करने में सक्षम होना चाहिए। लेकिन मैं इसे औपचारिक रूप से कैसे समझ सकता हूं, और अधिक विशेष रूप से, मैं यह साबित करने के बारे में कैसे जाऊंगा कि मेरी भाषा सूचियों पर सभी आदिम पुनरावर्ती कार्यों की गणना करती है न कि उनमें से एक सबसेट?

स्पष्ट होने के लिए, मैं आदिम पुनरावर्ती कार्यों को अच्छी तरह से परिभाषित कार्यों के वर्ग (यदि वास्तव में वे कर रहा हूं) के रूप में समझने की दिलचस्पी रखता हूं, न कि केवल आदिम पुनरावृत्ति के संचालन में, जो सीधा लगता है। मैं किसी भी चीज़ की ओर संकेत करना चाहूंगा जो सामान्य डेटा संरचनाओं पर आदिम पुनरावृत्ति पर लिखा गया है, या वास्तव में प्राकृतिक संख्याओं के अलावा किसी भी संदर्भ में।

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


1
यह मेरे लिए स्पष्ट नहीं है कि आप क्या देख रहे हैं। ऐसा लगता है कि आप बस डब्ल्यू-प्रकार खोजने की कोशिश कर रहे हैं , लेकिन यह नहीं हो सकता है।
बाउर

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

1
यदि आप इस "सुविधा" को समाप्त करना चाहते हैं, तो आप मूल प्रकार के निष्कासन के प्रकार को प्रतिबंधित कर सकते हैं ।
कोड़ी

1
यह अभी भी मुझे लगता है कि प्रतिबंधित डब्ल्यू-प्रकार का एक रूप है जिसे आप खोज रहे हैं। परिमित शाखाओं के साथ W- प्रकार की तरह कुछ और अन्य प्रतिबंधित W- प्रकारों में समाप्त करने के लिए सीमित पुनरावर्ती।
बाउर

1
सीएडीई सम्मेलन 1996 की यात्रा यहां: dblp.org/db/conf/cade/cade96
जॉन फिशर

जवाबों:


5

सामान्य तौर पर, डेटाटाइप्स (जैसे सूचियां, पेड़, आदि) के साथ एक भाषा में उन कार्यों की भाषा का वर्णन करना आसान है जो व्यवहार करते हैं जैसे हम आदिम पुनरावृत्ति की अपेक्षा करते हैं।

उदाहरण के लिए यदि डेटाटाइप है डी, और निर्माता सी1,...,सीn टाइप करें

सीमैं:टी1मैंटी2मैं...टी1मैंडी...डी

इसके बाद पुनरावर्ती आरसीडीहे आउटपुट प्रकार के लिए हे टाइप होगा

आरसीडीहे:(टी11...टी11डी...डीहे...हे)...डीहे

और परिचालन शब्दार्थ होगा:

आरसीडीहे 1 ... n (सीमैं टी1...टीमैं 1...)मैं टी1...टीमैं (आरसीडीहे 1... n 1)...(आरसीडीहे 1...n )

प्रत्येक के लिए मैं

मुँह से कुछ भरा-पूरा! कम से कम प्राकृतिक संख्या के लिए, हम वास्तव में प्राप्त करते हैं

आरसीएनहे:(एनहेहे)हेएनहे

आरसीएनहे 0 1 01 0
तथा
आरसीएनहे 0 1 (एस n)0 n (आरसीएनहे 0 1 n)

जैसा कि आशा है (ध्यान दें कि शून्य कंस्ट्रक्टर के पास शून्य तर्क हैं!)।

यदि अब हम निरंतर कार्यों और अनुमानों की अनुमति देते हैं, और मनमाने ढंग से उपयोग की अनुमति देते हैं आरसीडीहेके लिए गैर समारोह प्रकारO, तो आपके पास बिल्कुल आदिम पुनरावृत्ति है।

आश्वस्त रूप से, यदि सभी Tijके रूप में अच्छी तरह से गैर कार्यात्मक हैं, तो डेटाटाइप के सामान्य Gödel एन्कोडिंग एक ही आदिम पुनरावर्ती कार्य देता है।


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

एक परोपकारिता केवल मेरे द्वारा वर्णित विशेष रूप है।


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

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

मेरे पास कोई प्राथमिक संदर्भ नहीं है, हालांकि मुझे लगता है कि ये स्लाइड एक अच्छा नरम परिचय देती हैं, और राल्फ मैट्स की थीसिस का अध्याय 3 विशाल तकनीकी विस्तार में जाता है, हालांकि यह गैर "पहले क्रम" आगमनात्मक प्रकारों की अनुमति देता है।
कोडी

2

मैं हाल ही में यह सवाल पूछ रहा था, और मुझे रुचि के कई लेख मिले:

Finitary Inductively प्रस्तुत लॉजिक्स : (ए) एक तर्क को परिभाषित करता है जो कुछ आवश्यकताओं को संतुष्ट करने वाले किसी भी डेटाटाइप पर आदिम पुनरावृत्ति की एक सामान्य धारणा प्रदान करता है (बी) यह साबित करता है कि यह तर्क आदिम पुनरावर्ती अंकगणित का एक रूढ़िवादी विस्तार है।

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

आदिम पुनरावर्ती सेटों के लिए तर्क कार्यक्रम : साबित करता है कि उनके तर्क कार्यक्रमों की कक्षा आदिम पुनरावर्ती कार्यों के बराबर है।

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


0

शायद आप एक की अवधारणा के बारे में सोच रहे paramorphism ?

केले, लेंस, लिफाफे और कांटेदार तार के साथ कार्यात्मक प्रोग्रामिंग से :

प्राकृतिक संख्याओं के लिए एक परावैद्यता एक कार्य है =(,) फार्म का

0=(n+1)=n(n)

उदाहरण के लिए, फैक्टोरियल फंक्शन है =1 तथा n=(n+1)×

सूचियों के लिए, एक प्रतिमानवाद एक कार्य होगा फार्म का

शून्य=(विपक्ष)=(,)
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.