एक ऑपरेशन के लिए क्या शब्द है जिसे कई बार लागू किया जा सकता है और प्रारंभिक अनुप्रयोग से परे कभी भी स्थिति नहीं बदल सकता है?


38

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

मैं विशेष रूप से इस शब्द को एक ढेर आदेश (या कुछ अन्य अनुमति से संबंधित ऑपरेशन) के बारे में एक स्टैक ओवरफ्लो उत्तर में भाग गया।

उम्मीद है कि इस पर जाने के लिए पर्याप्त है। विकिपीडिया के आसपास घूमने से ज्यादा मदद नहीं मिलती है।


5
यह निर्दिष्ट करने के लिए समझ में आता है कि क्या आप ऑपरेशन के प्रत्येक कॉल के लिए एक ही इनपुट पास करते हैं या पिछले कॉल के परिणामों पर हर अगले ऑपरेशन को चलाते हैं।
मैक्सिम 1000

3
@ मैक्सिम 1000 सहमत। विभिन्न प्रकार के उत्तरों को देखते हुए, कोई भी निश्चित नहीं है कि ओपी का मतलब क्या है।
फोर्ड

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

क्या आप एक GET अनुरोध की तरह कुछ के बारे में पूछ रहे हैं (जहां एक ही परिणाम हर बार बिना किसी बात के लौटा दिया जाता है), या क्या आप असाइनमेंट ऑपरेटर की तरह कुछ के बारे में पूछ रहे हैं (जिसका प्रभाव पड़ता है, लेकिन उसी असाइनमेंट को दोहराने से कुछ भी नहीं बदलता है )?
इज़्काता

जवाबों:


91

आप " Idempotent " के बारे में सोच रहे होंगे ।

Idempotence गणित और कंप्यूटर विज्ञान में कुछ संचालन की संपत्ति है, कि उन्हें प्रारंभिक आवेदन से परे परिणाम को बदलने के बिना कई बार लागू किया जा सकता है।


16
मूल रूप से, fआईएफएफ f(f(x)) == f(x)फोरम है x
जॉर्ग डब्ल्यू मित्तग

1
विवरण की दिलचस्प सीमा - लिंक किए गए पृष्ठ का टॉक सेक्शन एलेवेटर बटन पर चर्चा करता है .. 1000 ऐसे व्यवहार होने चाहिए, जिन्हें "Idempotent" के रूप में वर्णित किया जा सकता है जो गणित या कॉम्प साइंस से संबंधित नहीं है।
मटनज़

प्रश्न की मेरी समझ से, यह बिल्कुल नहीं है कि ओपी क्या पूछ रहा है, क्योंकि वह पहले पुनरावृत्ति के परिणामों पर एल्गोरिथ्म को लागू करने की बात नहीं करता है, लेकिन एक ही स्रोत डेटा पर इसे फिर से लागू कर रहा है। कुछ और जैसे अगर x = y, तो F (x) = F (y)
Joubarc

2
@Joubarc हाँ idempotent का कंप्यूटिंग में थोड़ा शिथिल अर्थ है फिर बाकी गणित, इसलिए यह सही है। en.wikipedia.org/wiki/Idempotent#Computer_science_meaning
jk

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

12

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

विशुद्ध रूप से कार्यात्मक भाषाओं जैसे हास्केल को इम्पोटोटेंट के करीब होने के सिद्धांत के रूप में बनाया गया है। डेटाबेस थ्योरी में संक्षिप्त परिचय ACID के पहले तीन अक्षर डेटाबेस पर लागू होते हैं।


10

आप एक शुद्ध कार्य की तलाश में हो सकते हैं ।

जैसा कि लिंक में परिभाषित किया गया है, दो स्थितियाँ एक फ़ंक्शन को शुद्ध बनाती हैं:

  1. फ़ंक्शन हमेशा एक ही परिणाम मान का मूल्यांकन करता है जिसे समान तर्क मान दिया गया है।
  2. परिणाम का मूल्यांकन किसी भी शब्दानुभवनीय दुष्प्रभाव या आउटपुट का कारण नहीं बनता है, जैसे कि उत्परिवर्तनीय वस्तुओं का उत्परिवर्तन या I / O उपकरणों के आउटपुट।

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

3
@tdammers पवित्रता और मूर्खता पूरी तरह से रूढ़िवादी हैं: एक शुद्ध कार्य को उदासीन और इसके विपरीत नहीं होना चाहिए। उदाहरण के लिए, f(x) := x + 1शुद्ध है, लेकिन निश्चित रूप से उदासीन नहीं है।
कोनराड रुडोल्फ


0

एक और संभावना निर्धारक है

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


1
यह केवल पूर्व में हटाए गए उत्तर में रहा है; इस विचार को चुनौती देने वाली टिप्पणी थी: "यह गलत है। उदाहरण के लिए, एल्गोरिथ्म जो दो मूल्यों को स्वैप करता है, पूरी तरह से नियतात्मक है, लेकिन इसे दो बार चलाने से एक ही बार इसे चलाने के समान परिणाम नहीं होगा।"
gnat

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

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