समय जटिलता को प्राप्त करने के लिए लैम्ब्डा कैलकुलस का उपयोग करना?


43

क्या लैम्बडा कैलकुलस का उपयोग करके एल्गोरिथ्म की समय जटिलता की गणना करने के लिए कोई लाभ हैं? या इस उद्देश्य के लिए एक और प्रणाली तैयार की गई है?

किसी भी संदर्भ की सराहना की जाएगी।

जवाबों:


22

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

दो लिंक:

  1. Lawall & Mairson, 1996, इष्टतम और अक्षमता: लैम्बडा कैलकुलस की लागत मॉडल क्या नहीं है? (.ps.gz) - लागत मॉडल की पसंद पर असर वाले मुद्दों का सेमिनल सर्वेक्षण, और कई प्रशंसनीय विचार काम क्यों नहीं करते हैं।
  2. दाल लागो और मार्टिनी, 2008, एक उचित मशीन के रूप में कमजोर लैम्ब्डा कैलकुलस - साहित्य की अच्छी चर्चा के साथ, कॉल-बाय-वैल्यू लैम्ब्डा कैलकुलस के लिए एक लागत मॉडल प्रदान करता है।

1
दिलचस्प संदर्भ, मैं इन कार्यों के बारे में नहीं जानता था।
Iddo Tzameret

1
इस विषय पर हाल ही में स्थिति बदल गई है। मेरा जवाब नीचे देखें।
मार्क

23

(टाइप किए गए) लैम्ब्डा पथरी में कमी की लंबाई को मापने के रूप में -calculus से संबंधित मात्रात्मक परिणाम हैं । लेकिन यह निश्चित रूप से एल्गोरिदम की जटिलता के बारे में कुछ भी कहने से दूर है (विशेषकर यह है कि प्राप्त सीमाएं तेजी से बढ़ती हैं)। उदाहरण के लिए देखें: अर्नोल्ड बेकमैन, टाइप किए गए _ कैलकुलस में कमी की लंबाई के लिए सटीक सीमा , सिम्बोलिक लॉजिक 2001 के जर्नल , 66 (3): 1277-1285।λλλ

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

इस परियोजना का एक संभावित प्रतिनिधि कागज है: जान हॉफमैन, मार्टिन हॉफमैन। बहुपद क्षमता के साथ परिशोधित संसाधन विश्लेषण - कार्यात्मक कार्यक्रमों के लिए बहुपद सीमा का एक स्थैतिक इंजेक्शन। में 19 वीं यूरोपीय संगोष्ठी की कार्यवाही प्रोग्रामिंग पर (ESOP'10)। संपर्क


20

इस विषय पर हाल ही में एक developpement: यू दाल लागो और बी Accatoli साबित कर दिया कि एक के सबसे बाईं ओर-सबसे बाहरी कमी (LOR) की लंबाई अवधि एक अपरिवर्तनीय (समय) लागत के लिए मॉडल है -calculus।λλλ

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

http://arxiv.org/abs/1405.3311


18

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

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

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


12

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

समय जटिलता की 1 इकाई क्या है? एक बीटा कमी? अंतरिक्ष जटिलता की इकाइयों के बारे में क्या? तार की लंबाई?

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


7

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


7

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

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

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