रचनाओं की गणना: अभिव्यक्ति को उसके सबसे छोटे रूप में संपीड़ित करें


11

मुझे पता है कि कंस्ट्रक्शंस ऑफ़ कंस्ट्रक्शंस दृढ़ता से सामान्य हो रहा है, जिसका अर्थ है कि प्रत्येक अभिव्यक्ति के लिए एक सामान्य है जो बीटा, एटा-घटाया नहीं जा सकता है। तो वास्तव में यह सबसे कुशल अभिव्यक्ति है जो मूल अभिव्यक्ति के समान मूल्य की गणना करता है।

लेकिन कुछ मामलों में, सामान्यीकरण एक छोटी अभिव्यक्ति को विशाल अभिव्यक्ति (आकार के संदर्भ में) को कम कर सकता है।

क्या भावों का एक छोटा-सा रूप है? ऐसा रूप जो सबसे छोटे आकार के साथ समान मान की गणना करता है।

दूसरे शब्दों में, समय-कुशल सामान्य-रूप के बजाय, अंतरिक्ष-कुशल एक।

जवाबों:


8

हम जो "समान मूल्य" मानते हैं, उसमें थोड़ी स्वतंत्रता है। मुझे दिखाओ कि ऐसा कोई एल्गोरिथ्म नहीं है यदि "समान मूल्य" का अर्थ है "अवलोकन के बराबर"। मैं निर्माण के पथरी के एक टुकड़े का उपयोग करूँगा, अर्थात् गोडेल का सिस्टम टी (बस टाइप किए गए -calculus, प्राकृतिक संख्याएं, और उन पर आदिम पुनरावृत्ति), इसलिए तर्क पहले से ही बहुत कमजोर कलन पर लागू होता है।λ

एक संख्या को देखते हुए , ¯ n , s u c c से 0 के लिए , अर्थात, n के समान अनुप्रयोगों का प्रतिनिधित्व करने वाला संगत अंक है । यह देखते हुए एक ट्यूरिंग mahcine एम , चलो एम होना अंक एन्कोडिंग एम कुछ उचित तरीके से।nn¯nsucc0MMM

कहते हैं कि दो बंद शर्तों रहे बराबर , लिखा टी यू , जब सभी के लिए n एन , टीt,u:natnattunN औररोंtn¯ दोनों एक ही अंक को सामान्य करते हैं (वे एक अंक को सामान्य करते हैं क्योंकि हम दृढ़ता से क्लैक्ज़ुलस को सामान्य कर रहे हैं)।sn¯

मान लीजिए कि हमें एक एल्गोरिथ्म, जो प्रकार के किसी भी बंद की सजा दी थी गणना एक न्यूनतम समकक्ष शब्द है। फिर हम निम्नानुसार हलिंग के आभूषण को हल कर सकते हैं।natnat

वहाँ एक शब्द है ऐसा है कि, सभी के लिए n एन और सभी ट्यूरिंग मशीन एम , एस ( एम , ¯ एन ) के लिए सामान्य हो ¯ 1 अगर टी भीतर हाल्ट n चरणों , और यह ¯ 0 अन्यथा सामान्य हो जाता है। यह अच्छी तरह से ज्ञात है, क्योंकि एक निश्चित संख्या के लिए ट्यूरिंग मशीन का अनुकरण एन आदिम पुनरावर्ती है।S:nat×natnatnNMS(M,n¯)1¯Tn0¯n

परिमित कई बंद शर्तों रहे हैं जो कम से कम बराबर शर्तों के हैं λ एक्स : n एक टीZ1,,Zk । जब हम इसे λ x देते हैं, तो हमारा न्यूनतम एल्गोरिथ्म उनमें से एक लौटाता है : n a tλx:nat.0 , और यह भी मामला हो सकता है कि λ x : n a tλx:nat.0 वास्तव में एकमात्र ऐसा न्यूनतम शब्द है। यह सब कोई फर्क नहीं पड़ता, केवल एक चीज जो मायने रखती है वह यह है कि बहुत कम न्यूनतम शर्तें हैं जो λ x : n a t के बराबर हैंλx:nat.0λx:nat.0

अब, किसी भी मशीन को देखते हुए, u शब्द पर विचार करें : = λ x : n a tM तो एम हमेशा के लिए तो चलाता यू ¯ n करने को सामान्य ¯ 0 हर के लिए एन और के बराबर है λ एक्स : n एक टी

u:=λx:nat.S(M,x)
Mun¯0¯n । यह तय करने के लिए कि एम हमेशा के लिए चलता है, हम यू को हमारे मिनिमाइज़ेशन एल्गोरिथ्म मेंफीडकरते हैं और जाँचते हैं कि क्या एल्गोरिथ्म जेड 1 , , जेड के में से एक है । अगर ऐसा होता, तो M हमेशा के लिए चलता। अगर यह नहीं होता, तो यह रुक जाता है। (नोट: एल्गोरिथ्म की गणना नहीं की जरूरत जेड 1 , ... , जेड कश्मीर से ही, इन हार्ड-कोडेड एल्गोरिथ्म में हो सकता है।)λx:nat.0MuZ1,,ZkMZ1,,Zk

यह अच्छा होना एक तर्क है कि, तुल्यता की एक कमजोर धारणा के साथ काम करता है उदाहरण के लिए सिर्फ जानकारी देना चाहते हैं -reducibility।β


आप Z1 की गणना कैसे करते हैं, .. Zk?
user47376

आपको नहीं करना है। यही है, मैं जिस एल्गोरिथ्म का वर्णन कर रहा हूं, वह बाहर है, और हम ठीक से नहीं जानते कि यह क्या है, लेकिन यह अप्रासंगिक है। मैं वास्तव में एल्गोरिथ्म को चलाने की कोशिश नहीं कर रहा हूं, मुझे सिर्फ यह दिखाने के लिए इसके अस्तित्व की आवश्यकता है कि आपका एल्गोरिथ्म मौजूद नहीं है।
बाउर

हां, लेकिन आपका तर्क कहता है कि अगर मेरा एल्गोरिथ्म मौजूद है तो हम समस्या को हल कर सकते हैं। यह निर्धारित करने के लिए कि क्या ट्यूरिंग मशीन M आपके एल्गोरिदम को बंद कर देती है, यह u और चेक को सामान्य कर देता है यदि यह Z1, .. Zk में से एक है। तो यह उन लोगों की गणना करने में सक्षम होना चाहिए, अन्यथा यह रुक नहीं सकता है।
user47376

Z1,,ZkkZkZ[i]

7

(λx:T.C x x) uβC u u
u

इस अर्थ में, यह ज्ञात है कि अपरिष्कृत शब्दों को अधिकतम तरीके से कैसे कम किया जाए, जितना संभव हो उतना साझाकरण को कम किया जाए। इसे यहाँ समझाया गया है: https://stackoverflow.com/a/41737550/2059388 और संबंधित उद्धरण प्रशस्ति पत्र है। जे लंपिंग का एन एल्गोरिथम इष्टतम लैंबडा कैलकुलस रिडक्शन के लिए । इसमें कोई संदेह नहीं है कि अप्रकाशित कलन के लिए प्रमेय को सीआईसी तक बढ़ाया जा सकता है।

एक अन्य प्रासंगिक प्रश्न प्रकार की जानकारी की मात्रा है जिसे टाइप रूपांतरण करते समय मिटाया जा सकता है, या वास्तव में कुशल रूपांतरण कैसे किया जाए, जो कि अनुसंधान का एक सक्रिय क्षेत्र है, उदाहरण के लिए देखें मिश्रा-लिंगर की थीसिस


6

मुझे काड़ी के जवाब से देखने के दृष्टिकोण पर जोर दें।

λλλλ

Mf

Mx¯l(|x|)f(x)¯
l(|x|)l(n)=O(nk)kf

λΘ(n)Θ(2n)λλ

λλ

λ

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

  1. आकार में विस्फोट नहीं होता है;
  2. λ

यह सब Accattoli और Dal Lago के पेपर "Beta Reduction is Invariant, Fact" (LICS 2014) में बताया गया है और फिर मुझे लगता है कि हाल ही में एक जर्नल संस्करण है)।

λ


उदाहरण के लिए जो मेरे मन में था वह एक शब्द है जो एक लाख तत्व सूची बनाने के लिए एक लाख कदम प्रकट करता है। यह वास्तविक सूची के लिए सामान्य करता है, जो उस मूल्य का सबसे कुशल प्रतिनिधित्व है (यह वास्तविक अंतिम परिणाम है, आगे कोई कदम नहीं चाहिए)। लेकिन अनकहा शब्द बहुत छोटा हो सकता है।
user47376

β

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