Π-कैलकुलस
सैद्धांतिक कंप्यूटर विज्ञान में π-कैलकुलस (या पाई-कैलकुलस (कलन)) प्रक्रिया कैलकुलस है। वह π-कैलकुलस चैनल के नामों को चैनलों के साथ स्वयं संप्रेषित करने की अनुमति देता है और इस तरह यह समवर्ती संगणनाओं का वर्णन करने में सक्षम होता है जिनके नेटवर्क कॉन्फ़िगरेशन गणना के समय परिवर्तित हो सकते हैं। π-कैलकुलस में कुछ नियम हैं और यह छोटी किन्तु अभिव्यंजक भाषा है (देखें § Syntax)। फंक्शनल प्रोग्रामों को π-कैलकुलस में एन्कोड किया जा सकता है और यह एन्कोडिंग गणना की संवादात्मक प्रकृति पर महत्त्व देता है जो गेम सेमेन्टिक्स के साथ संपर्क स्थापित करता है। π-कैलकुलस के विस्तार जैसे कि स्पि कैलकुलस और एप्लाइड π, क्रिप्टोग्राफिक प्रोटोकॉल के विषय में तर्क करने में सफल रहे हैं। समवर्ती प्रणालियों का वर्णन करने में मूल उपयोग के अतिरिक्त π-कैलकुलस का उपयोग व्यावसायिक प्रक्रियाओं[1] और आणविक जीव विज्ञान[2] के बारे में तर्क करने के लिए भी किया जाता है।
अनौपचारिक परिभाषा
π-कैलकुलस प्रक्रिया गणना के समूह एवं समवर्ती गणना के गुणों का वर्णन और विश्लेषण करने के लिए गणितीय औपचारिकताओं से संबंधित है। वास्तव में π-कैलकुलस, λ-कैलकुलस की तरह इतना न्यूनतम है कि इसमें संख्या, बूलियन, डेटा संरचना, चर, फ़ंक्शन या यहां तक कि सामान्य नियंत्रण प्रवाह विवरण जैसे मूल सम्मिलित नहीं हैं (जैसे, if-then-else, while).
प्रक्रिया निर्माण
π-कैलकुलस का केंद्र इसके नाम की धारणा है। कैलकुलस की सरलता दोहरी भूमिका में निहित है जिसे नाम संपर्क माध्यमों और चरों के रूप में निभाते हैं।
कैलकुलस में उपलब्ध प्रक्रिया निर्माण निम्नलिखित हैं[3] (निम्न अनुभाग में सटीक परिभाषा दी गई है):
- समवर्ती, लिखित , जहाँ और दो प्रक्रियाएं या सूत्र समवर्ती रूप से निष्पादित होते हैं।
- संचार, जहाँ
- इनपुट उपसर्ग एक संदेश की प्रतीक्षा करने की प्रक्रिया है जिसे के रूप में आगे बढ़ने से पहले नाम के संचार चैनल पर भेजा गया था जोकि नाम x के लिए प्राप्त नाम को बाध्य करता है। सामान्य रूप से यह मॉडल या तो नेटवर्क से संचार की अपेक्षा करने वाली प्रक्रिया या लेबल
cहै जोgoto cसंचालन द्वारा केवल एक बार प्रयोग करने योग्य होती है। - आउटपुट उपसर्ग वर्णन करता है कि के रूप में आगे बढ़ने से पहले नाम चैनल पर उत्सर्जित किया जाता है। सामान्य रूप से यह मॉडल या तो नेटवर्क पर एक संदेश भेज रहा है या
goto cसंचालन।
- इनपुट उपसर्ग एक संदेश की प्रतीक्षा करने की प्रक्रिया है जिसे के रूप में आगे बढ़ने से पहले नाम के संचार चैनल पर भेजा गया था जोकि नाम x के लिए प्राप्त नाम को बाध्य करता है। सामान्य रूप से यह मॉडल या तो नेटवर्क से संचार की अपेक्षा करने वाली प्रक्रिया या लेबल
- प्रतिकृति, लिखित , जिसे एक ऐसी प्रक्रिया के रूप में देखा जा सकता है जो सदैव की एक नई प्रतिलिपि बना सकती है। सामान्य रूप से यह मॉडल या तो एक नेटवर्क सेवा या एक लेबल
cहै जो किसी भी संख्या मेंgoto cसंचालन की प्रतीक्षा कर रहा है। - नए नाम का निर्माण हुआ जिसे नई स्थिरांक आवंटित करने वाली प्रक्रिया x के रूप में देखा जा सकता है के साथ π-calculus के स्थिरांक केवल उनके नाम से परिभाषित होते हैं और सदैव संचार चैनल होते हैं। किसी प्रक्रिया में नए नाम के सृजन को प्रतिबंध भी कहा जाता है।
- शून्य प्रक्रिया, लिखित रूप में एक ऐसी प्रक्रिया है जिसका निष्पादन पूरा हो गया है और रुक गया है।
जबकि π-कैलकुलस का अतिसूक्ष्मवाद हमें सामान्य अर्थों में प्रोग्राम लिखने से रोकता है जिससे कैलकुलस का विस्तार करना सरल होता है। विशेष रूप से दोनों नियंत्रण संरचनाओं जैसे पुनरावर्तन, लूप और अनुक्रमिक रचना और डेटाटाइप जैसे प्रथम-क्रम के कार्यों, सत्य मूल्यों, सूचियों और पूर्णांकों को परिभाषित करना सरल है। इसके अतिरिक्त π-कैलकुलस के एक्सटेंशन प्रस्तावित किए गए हैं जो वितरण या सार्वजनिक-कुंजी क्रिप्टोग्राफी को ध्यान में रखते हैं। अबादी और फोरनेट [1] के कारण लागू π-कैलकुलस ने मनमाने ढंग से डेटाटाइप्स के साथ π-कैलकुलस का विस्तार करके इन विभिन्न एक्सटेंशनों को एक औपचारिक आधार पर रखा।
एक छोटा सा उदाहरण
निम्नलिखित प्रक्रिया का एक छोटा उदाहरण है जिसमें तीन समानांतर घटक होते हैं। x नाम का चैनल केवल पहले दो घटकों द्वारा जाना जाता है।
पहले दो घटक चैनल x पर संचार करने में सक्षम हैं और y नाम के लिए z बाध्य हो जाता है इसलिए प्रक्रिया में अगला कदम है।
ध्यान रहे कि शेष y प्रभावित नहीं होता है क्योंकि इसे आंतरिक सीमा में परिभाषित किया गया है। दूसरा और तीसरा समानांतर घटक अब चैनल नाम पर संवाद कर सकते हैं जहाँ z और v नाम के लिए x बाध्य हो जाता है। प्रक्रिया का अगला चरण अब है
ध्यान दें कि स्थानीय नाम के पश्चात x का उत्पादन किया गया है एवं x का क्षेत्र तीसरे घटक को भी कवर करने के लिए बढ़ाया गया है। अंत में x चैनल x नाम भेजने के लिए उपयोग किया जा सकता है जबकि उसके बाद सभी समवर्ती क्रियान्वित प्रक्रियाएँ रुक गई हैं
औपचारिक परिभाषा
शब्दावली
माना कि Χ वस्तुओं का एक सेट है जिसे नाम कहा जाता है। π-कैलकुलस के लिए सार वाक्य रचना निम्नलिखित BNF व्याकरण से बनाया गया है (जहाँ x और y, Χ से कोई नाम हैं):[4]