प्रतिवर्ती कंप्यूटिंग के "सेव-इन-इनपुट" पद्धति के बारे में क्या दोष है?


9

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

उनका कहना सिर्फ इतना था कि आप किसी भी फ़ंक्शन के लिए इनपुट को हमेशा बचा सकते हैं :{0,1}n{0,1}n कि आप प्रतिवर्ती बनाना चाहते हैं, एक नया कार्य परिभाषित करें आरvआररोंमैंएल:{0,1}n{0,1}2n (या {0,1}2n{0,1}2n और आपने अभी डाला 0अंतिम के लिए n इनपुट के बिट्स) जो पहले आउटपुट को लौटाता है n बिट्स और दूसरे में इनपुट nबिट्स। फिर उलटा करने के लिएआरvआररोंमैंएल आप केवल आउटपुट को छोड़ देते हैं और आपके द्वारा सहेजे गए इनपुट को वापस करते हैं।

मेरी तत्काल आपत्ति यह थी कि इसमें मूल कार्य की तुलना में अधिक मेमोरी लगती है - हालांकि केवल एक स्थिर कारक द्वारा। करने के लिए उत्पादन में बाधाnबिट्स समस्या के दिलचस्प-नेस को बहाल करते हुए प्रतीत होंगे, हालाँकि। क्या यह आमतौर पर प्रतिवर्ती कंप्यूटिंग द्वारा होता है?

एक और आपत्ति यह प्रतीत हुई कि जब हम आउटपुट को छोड़ देते हैं, तो हम कुछ अपरिवर्तनीय कर रहे हैं जो गर्मी को नष्ट करने वाला है। लेकिन हमने प्रारंभिक अवस्था को सही ढंग से पुनर्प्राप्त किया है, इसलिए यह अपरिवर्तनीय कैसे हो सकता है? मुझे यह समझने के लिए पर्याप्त भौतिकी नहीं है कि क्या महत्वपूर्ण बात w / r / t गर्मी सिर्फ प्रतिवर्ती होने के लिए पूरी गणना के लिए है, या क्या हर कदम के रूप में अच्छी तरह से प्रतिवर्ती होने की आवश्यकता है, या यदि यह विचार सिर्फ गलत पेड़ है ।

जवाबों:


12

प्रतिवर्ती कंप्यूटिंग की दो महत्वपूर्ण विशेषताएं हैं जो प्रतिवर्ती कंप्यूटिंग की आपकी चर्चा से गायब हैं:

  1. एक प्रतिवर्ती फ़ंक्शन को एक आक्षेप होना चाहिए, और
  2. प्रत्यावर्तन केवल स्थानीय स्तर पर ही नहीं, स्थानीय फाटकों के स्तर पर भी परिभाषित होता है।

विशेष रूप से, आपके विस्तार के लिए {0,1}n{0,1}n में {0,1}2n{0,1}2n कॉपी करके, आप यह सुनिश्चित नहीं करते हैं कि आप यह नहीं समझाते हैं कि अंतिम होने पर क्या होता है n आपके फ़ंक्शन के लिए बिट्स इनपुट नहीं हैं 0n

दूसरे बिंदु के लिए, यह वास्तव में भौतिकी के दृष्टिकोण से प्रतिवर्ती-कंप्यूटिंग का अनिवार्य हिस्सा है। वैश्विक स्तर पर भौतिक प्रक्रिया बस "पूर्ववत" नहीं कर सकती है, इस प्रकार प्रत्येक गेट को प्रासंगिक-से-भौतिकी अर्थों में सर्किट के लिए प्रतिवर्ती होना होगा।

अंत में, प्रतिवर्ती कंप्यूटिंग का सिद्धांत अनुचित रूप से जटिल नहीं है, लेकिन यह निश्चित रूप से तुच्छ नहीं है। विशेष रूप से, कुछ सर्किट हैं जिन्हें कड़ाई से कम रजिस्टरों / तारों के साथ लागू किया जा सकता है, गैर-विपरीत रूप से वे उलट हो सकते हैं। हालांकि, गैर-प्रतिवर्ती से प्रतिवर्ती तक जाने में झटका बहुत बुरा नहीं है।

सामान्य तौर पर, मैं शायद ही कभी प्रतिवर्ती कंप्यूटिंग को शास्त्रीय सीएस पाठ्यक्रमों में सुनता हूं, क्योंकि यह शायद ही कभी शास्त्रीय गणना के लिए प्रासंगिक है। हालांकि, क्वांटम कंप्यूटिंग में यह एक महत्वपूर्ण विषय है क्योंकि सभी क्वांटम सर्किट प्रतिवर्ती हैं और क्योंकि किसी को अनावश्यक उलझने से बचाने के लिए सावधानी से अपने 'रद्दी' तारों पर क्या करना है।


अहा। तो "हर गेट को प्रतिवर्ती होना पड़ता है" का औपचारिक कथन क्या है - क्या ट्यूरिंग मशीन के संक्रमण कार्य को इंजेक्शन लगाने की आवश्यकता है?
एली रोज़ - पुनर्जीवित मोनाया

2
@EliRose प्रतिवर्ती कंप्यूटिंग को गेट मॉडल में परिभाषित किया गया है, न कि TM मॉडल में। मुझे यकीन नहीं है कि अगर टीएम मॉडल में एक उचित परिभाषा है, लेकिन शायद कम से कम परिमित नियंत्रण को प्रतिवर्ती होने की आवश्यकता होगी। तो प्रतिवर्ती फाटकों का अर्थ होता है टोफोली फाटक
आर्टेम काज़नाचेव

1
@ArtemKaznatcheev: बेनेट द्वारा प्रस्तुत प्रतिवर्ती ट्यूरिंग मशीन (पीडीएफ लिंक) के बारे में क्या ?
नील डी बेउड्राप

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

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