Π-कैलकुलस: Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
Line 1: Line 1:
{{Short description|Process calculus}}
{{Short description|Process calculus}}
{{DISPLAYTITLE:{{pi}}-calculus}}
{{DISPLAYTITLE:{{pi}}-calculus}}
[[सैद्धांतिक कंप्यूटर विज्ञान]] में {{pi}}-कैलकुलस (या पाई-कैलकुलस (कलन)) [[ प्रक्रिया गणना |प्रक्रिया गणना]] है। वह {{pi}}-कैलकुलस चैनल नामों को चैनलों के साथ स्वयं संप्रेषित करने की अनुमति देता है और इस तरह यह समवर्ती संगणनाओं का वर्णन करने में सक्षम होता है जिनके नेटवर्क कॉन्फ़िगरेशन गणना के समय परिवर्तित हो सकते हैं। वह {{pi}}-कैलकुलस के कुछ शब्द हैं और यह एक छोटी फिर भी अभिव्यंजक भाषा है (देखें {{section link||Syntax}}). कार्यात्मक कार्यक्रमों को एन्कोड किया जा सकता है {{pi}}-कैलकुलस और एन्कोडिंग गणना की संवाद प्रकृति पर जोर देती है एवं [[खेल शब्दार्थ]] के साथ संबंध बनाती है। {{pi}}-कैलकुलस का विस्तार जैसे कि स्पि कैलकुलस और एप्लाइड {{pi}}, [[क्रिप्टोग्राफिक प्रोटोकॉल]] के बारे में तर्क करने में सफल रहे हैं। समवर्ती प्रणालियों का वर्णन करने में मूल उपयोग के अतिरिक्त {{pi}}-कैलकुलस का उपयोग व्यावसायिक प्रक्रियाओं और [[आणविक जीव विज्ञान]] के बारे में तर्क करने के लिए भी किया जाता है<ref name="omg">OMG Specification (2011). [http://www.omg.org/spec/BPMN/2.0 "Business Process Model and Notation (BPMN) Version 2.0"], ''[[Object Management Group]]''. p.21</ref>।<ref name="reeve" />
[[सैद्धांतिक कंप्यूटर विज्ञान]] में {{pi}}-कैलकुलस (या पाई-कैलकुलस (कलन)) [[ प्रक्रिया गणना |प्रक्रिया गणना]] है। वह {{pi}}-कैलकुलस चैनल नामों को चैनलों के साथ स्वयं संप्रेषित करने की अनुमति देता है और इस तरह यह समवर्ती संगणनाओं का वर्णन करने में सक्षम होता है जिनके नेटवर्क कॉन्फ़िगरेशन गणना के समय परिवर्तित हो सकते हैं। वह {{pi}}-कैलकुलस के कुछ शब्द हैं और यह एक छोटी फिर भी अभिव्यंजक भाषा है (देखें {{section link||Syntax}}). कार्यात्मक कार्यक्रमों को एन्कोड किया जा सकता है {{pi}}-कैलकुलस और एन्कोडिंग गणना की संवाद प्रकृति पर जोर देती है एवं [[खेल शब्दार्थ]] के साथ संपर्क बनाती है। {{pi}}-कैलकुलस का विस्तार जैसे कि स्पि कैलकुलस और एप्लाइड {{pi}}, [[क्रिप्टोग्राफिक प्रोटोकॉल]] के बारे में तर्क करने में सफल रहे हैं। समवर्ती प्रणालियों का वर्णन करने में मूल उपयोग के अतिरिक्त {{pi}}-कैलकुलस का उपयोग व्यावसायिक प्रक्रियाओं और [[आणविक जीव विज्ञान]] के बारे में तर्क करने के लिए भी किया जाता है<ref name="omg">OMG Specification (2011). [http://www.omg.org/spec/BPMN/2.0 "Business Process Model and Notation (BPMN) Version 2.0"], ''[[Object Management Group]]''. p.21</ref>।<ref name="reeve" />


=== अनौपचारिक परिभाषा ===
=== अनौपचारिक परिभाषा ===
Line 16: Line 16:
** इनपुट उपसर्ग <math>c\left(x\right).P</math> एक संदेश की प्रतीक्षा करने की एक प्रक्रिया है जिसे <math>c</math> नाम के संचार चैनल पर भेजा गया था {{nowrap|<math>P</math>}} के रूप में आगे बढ़ने से पहले प्राप्त नाम {{nowrap|{{mvar|x}}}} को नाम से बाइंड करना। सामान्य रूप से यह मॉडल या तो नेटवर्क या लेबल से संचार की अपेक्षा करने वाली प्रक्रिया है <code>c</code> a द्वारा केवल एक बार प्रयोग करने योग्य <code>goto c</code> कार्यवाही।
** इनपुट उपसर्ग <math>c\left(x\right).P</math> एक संदेश की प्रतीक्षा करने की एक प्रक्रिया है जिसे <math>c</math> नाम के संचार चैनल पर भेजा गया था {{nowrap|<math>P</math>}} के रूप में आगे बढ़ने से पहले प्राप्त नाम {{nowrap|{{mvar|x}}}} को नाम से बाइंड करना। सामान्य रूप से यह मॉडल या तो नेटवर्क या लेबल से संचार की अपेक्षा करने वाली प्रक्रिया है <code>c</code> a द्वारा केवल एक बार प्रयोग करने योग्य <code>goto c</code> कार्यवाही।
** आउटपुट उपसर्ग  <math>\overline{c} \langle y \rangle.P</math> वर्णन करता है कि नाम <math>y</math> चैनल पर प्रसारित किया जाता है <math>c</math> के रूप में आगे बढ़ने से पहले {{nowrap|<math>P</math>.}} सामान्य रूप से, यह मॉडल या तो नेटवर्क पर एक संदेश भेज रहा है या a <code>goto c</code> कार्यवाही।
** आउटपुट उपसर्ग  <math>\overline{c} \langle y \rangle.P</math> वर्णन करता है कि नाम <math>y</math> चैनल पर प्रसारित किया जाता है <math>c</math> के रूप में आगे बढ़ने से पहले {{nowrap|<math>P</math>.}} सामान्य रूप से, यह मॉडल या तो नेटवर्क पर एक संदेश भेज रहा है या a <code>goto c</code> कार्यवाही।
* प्रतिकृति, लिखित <math>!\,P</math>, जिसे एक ऐसी प्रक्रिया के रूप में देखा जा सकता है जो सदैव एक नई प्रतिलिपि बना सकती है {{nowrap|<math>P</math>.}} सामान्य रूप से, यह या तो नेटवर्क सेवा या लेबल को मॉडल करता है <code>c</code> किसी भी संख्या की प्रतीक्षा कर रहा है <code>goto c</code> संचालन।
* प्रतिकृति, लिखित <math>!\,P</math>, जिसे एक ऐसी प्रक्रिया के रूप में देखा जा सकता है जो सदैव एक नई प्रतिलिपि {{nowrap|<math>P</math>}} बना सकती है। सामान्य रूप से यह या तो नेटवर्क सेवा या <code>c</code>लेबल को मॉडल करता है एवं <code>goto c</code> संचालन किसी भी संख्या की प्रतीक्षा कर रहा है।
* एक नए नाम का निर्माण, लिखा हुआ <math>\left(\nu x\right)P</math>, जिसे एक नई स्थिरांक आवंटित करने वाली प्रक्रिया के रूप में देखा जा सकता है {{mvar|x}} अंदर {{nowrap|<math>P</math>.}} के स्थिरांक {{nowrap|{{pi}}-calculus}} केवल उनके नाम से परिभाषित होते हैं और सदैव संचार चैनल होते हैं। किसी प्रक्रिया में नए नाम के सृजन को प्रतिबंध भी कहा जाता है।
* नए नाम <math>\left(\nu x\right)P</math> का निर्माण हुआ जिसे नई स्थिरांक आवंटित करने वाली प्रक्रिया {{mvar|x}} के रूप में देखा जा सकता है {{nowrap|<math>P</math>}} अंदर {{nowrap|{{pi}}-calculus}} के स्थिरांक केवल उनके नाम से परिभाषित होते हैं और सदैव संचार चैनल होते हैं। किसी प्रक्रिया में नए नाम के सृजन को प्रतिबंध भी कहा जाता है।
* शून्य प्रक्रिया, लिखित <math>0</math>, एक ऐसी प्रक्रिया है जिसका निष्पादन पूरा हो गया है और रुक गया है।
* <math>0</math> शून्य प्रक्रिया एक ऐसी लिखित प्रक्रिया है जिसका निष्पादन पूरा हो गया है और रुक गया है।


हालांकि की अतिसूक्ष्मवाद {{pi}}-कैलकुलस हमें सामान्य अर्थों में प्रोग्राम लिखने से रोकता है, कैलकुलस का विस्तार करना आसान होता है। विशेष रूप से, दोनों नियंत्रण संरचनाओं जैसे पुनरावर्तन, लूप और अनुक्रमिक रचना और डेटाटाइप जैसे प्रथम-क्रम के कार्यों, [[सत्य मूल्य]]ों, सूचियों और पूर्णांकों को परिभाषित करना आसान है। इसके अतिरिक्त, के एक्सटेंशन {{nowrap|{{pi}}-calculus}} प्रस्तावित किए गए हैं जो वितरण या सार्वजनिक-कुंजी क्रिप्टोग्राफी को ध्यान में रखते हैं। आवेदन किया {{nowrap|{{pi}}-calculus}} आबादी और फोरनेट [https://www.soe.ucsc.edu/~abadi/Papers/isss02.pdf] के कारण इन विभिन्न विस्तारों को औपचारिक आधार पर रखा गया है। {{nowrap|{{pi}}-calculus}} मनमाने डेटाटाइप्स के साथ।
जबकि अतिसूक्ष्मवाद {{pi}}-कैलकुलस हमें सामान्य अर्थों में प्रोग्राम लिखने से रोकता है जिससे कैलकुलस का विस्तार करना सरल होता है। विशेष रूप से दोनों नियंत्रण संरचनाओं जैसे पुनरावर्तन, लूप और अनुक्रमिक रचना और डेटाटाइप जैसे प्रथम-क्रम के कार्यों, [[सत्य मूल्य|सत्य मूल्यों]], सूचियों और पूर्णांकों को परिभाषित करना सरल है। इसके अतिरिक्त {{nowrap|{{pi}}-calculus}} के एक्सटेंशन प्रस्तावित किए गए हैं जो वितरण या सार्वजनिक-कुंजी क्रिप्टोग्राफी को ध्यान में रखते हैं। अबादी और फोरनेट [https://www.soe.ucsc.edu/~abadi/Papers/isss02.pdf] के कारण लागू {{pi}}-कैलकुलस ने मनमाने ढंग से डेटाटाइप्स के साथ {{pi}}-कैलकुलस का विस्तार करके इन विभिन्न एक्सटेंशनों को एक औपचारिक आधार पर रखा।


=== एक छोटा सा उदाहरण ===
=== एक छोटा सा उदाहरण ===


नीचे एक प्रक्रिया का एक छोटा उदाहरण है जिसमें तीन समानांतर घटक होते हैं। चैनल का नाम {{mvar|x}} केवल पहले दो घटकों द्वारा जाना जाता है।
निम्नलिखित प्रक्रिया का एक छोटा उदाहरण है जिसमें तीन समानांतर घटक होते हैं। {{mvar|x}} चैनल का नाम केवल पहले दो घटकों द्वारा जाना जाता है।


:<math>
:<math>
Line 33: Line 33:
\end{align}
\end{align}
</math>
</math>
पहले दो घटक चैनल पर संचार करने में सक्षम हैं {{mvar|x}}, और नाम {{mvar|y}} के लिए बाध्य हो जाता है {{mvar|z}}. प्रक्रिया में अगला कदम इसलिए है
पहले दो घटक चैनल पर संचार करने में सक्षम हैं {{mvar|x}} और {{mvar|y}} नाम के लिए {{mvar|z}} बाध्य हो जाता है इसलिए प्रक्रिया में अगला कदम है।


:<math>
:<math>
Line 42: Line 42:
\end{align}
\end{align}
</math>
</math>
ध्यान रहे कि शेष {{mvar|y}} प्रभावित नहीं होता है क्योंकि इसे आंतरिक दायरे में परिभाषित किया गया है।
ध्यान रहे कि शेष {{mvar|y}} प्रभावित नहीं होता है क्योंकि इसे आंतरिक सीमा में परिभाषित किया गया है। दूसरा और तीसरा समानांतर घटक अब चैनल नाम पर संवाद कर सकते हैं जहाँ {{mvar|z}} और {{mvar|v}} नाम के लिए {{mvar|x}} बाध्य हो जाता है। प्रक्रिया का अगला चरण अब है
दूसरा और तीसरा समानांतर घटक अब चैनल नाम पर संवाद कर सकते हैं {{mvar|z}}, और नाम {{mvar|v}} के लिए बाध्य हो जाता है {{mvar|x}}. प्रक्रिया का अगला चरण अब है


:<math>
:<math>
Line 52: Line 51:
\end{align}
\end{align}
</math>
</math>
ध्यान दें कि स्थानीय नाम के बाद से {{mvar|x}} का उत्पादन किया गया है, का क्षेत्र {{mvar|x}} तीसरे घटक को भी कवर करने के लिए बढ़ाया गया है। अंत में, चैनल {{mvar|x}} नाम भेजने के लिए इस्तेमाल किया जा सकता है {{mvar|x}}. उसके बाद सभी समवर्ती क्रियान्वित प्रक्रियाएँ रुक गई हैं
ध्यान दें कि स्थानीय नाम के बाद से {{mvar|x}} का उत्पादन किया गया है एवं {{mvar|x}} का क्षेत्र  तीसरे घटक को भी कवर करने के लिए बढ़ाया गया है। अंत में {{mvar|x}} चैनल {{mvar|x}} नाम भेजने के लिए उपयोग किया जा सकता है जबकि उसके बाद सभी समवर्ती क्रियान्वित प्रक्रियाएँ रुक गई हैं


:<math>
:<math>
Line 66: Line 65:
== औपचारिक परिभाषा ==
== औपचारिक परिभाषा ==


=== सिंटेक्स ===
=== रचनाक्रम ===


चलो Χ वस्तुओं का एक सेट है जिसे नाम कहा जाता है। के लिए [[सार वाक्य रचना]] {{pi}}-कलकुलस निम्नलिखित [[बीएनएफ व्याकरण]] से बनाया गया है (जहाँ x और y Χ से कोई नाम हैं):<ref>[http://www.lfcs.inf.ed.ac.uk/reports/89/ECS-LFCS-89-85/ A Calculus of Mobile Processes part 1] page 10, by R. Milner, J. Parrow and D. Walker published in Information and Computation 100(1) pp.1-40, Sept 1992</ref>
माना कि Χ वस्तुओं का एक सेट है जिसे नाम कहा जाता है। {{pi}}-कलकुलस के लिए [[सार वाक्य रचना]] निम्नलिखित [[बीएनएफ व्याकरण]] से बनाया गया है (जहाँ x और y Χ से कोई नाम हैं):<ref>[http://www.lfcs.inf.ed.ac.uk/reports/89/ECS-LFCS-89-85/ A Calculus of Mobile Processes part 1] page 10, by R. Milner, J. Parrow and D. Walker published in Information and Computation 100(1) pp.1-40, Sept 1992</ref>
:<math>
:<math>
\begin{align}
\begin{align}
Line 80: Line 79:
</math>
</math>
<!-- "P,Q,R" -- was R needed? -->
<!-- "P,Q,R" -- was R needed? -->
नीचे दिए गए ठोस सिंटैक्स में, उपसर्ग समानांतर संरचना (|) की तुलना में अधिक कसकर बांधते हैं, और कोष्ठकों को अलग करने के लिए उपयोग किया जाता है।
नीचे दिए गए ठोस रचनाक्रम में उपसर्ग समानांतर संरचना (|) की तुलना में अधिक कसकर बांधते हैं और कोष्ठकों को अलग करने के लिए उपयोग किया जाता है।


नाम प्रतिबंध और इनपुट उपसर्ग निर्माणों से बंधे हैं। औपचारिक रूप से, एक प्रक्रिया के मुक्त नामों का सेट {{pi}}-कैलकुलस को नीचे दी गई तालिका द्वारा आगमनात्मक रूप से परिभाषित किया गया है। किसी प्रक्रिया के बाउंड नामों के सेट को उस प्रक्रिया के नामों के रूप में परिभाषित किया जाता है जो मुक्त नामों के सेट में नहीं होते हैं।
नाम प्रतिबंध और इनपुट उपसर्ग निर्माणों से बंधे हैं। औपचारिक रूप से एक प्रक्रिया के मुक्त नामों का सेट {{pi}}-कैलकुलस को नीचे दी गई तालिका द्वारा आगमनात्मक रूप से परिभाषित किया गया है। किसी प्रक्रिया के बाउंड नामों के सेट को उस प्रक्रिया के नामों के रूप में परिभाषित किया जाता है जो मुक्त नामों के सेट में नहीं होते हैं।
{| class="wikitable" style="width: 100%;"
{| class="wikitable" style="width: 100%;"
! Construct
! Construct
Line 91: Line 90:
|-
|-
| <math>\overline{a} \langle x \rangle.P</math>
| <math>\overline{a} \langle x \rangle.P</math>
| ''a''; ''x''; all free names of ''P''
| ''a''; ''x''; ''P के सभी मुक्त नाम''
|-
|-
| <math>a(x).P</math>
| <math>a(x).P</math>
| ''a''; free names of ''P'' except for ''x''
| ''a''; ''x को छोड़कर'' ''P के सभी मुक्त नाम''
|-
|-
| <math>P|Q</math>
| <math>P|Q</math>
| All free names of ''P'' and ''Q''
| ''P'' और ''Q के सभी मुक्त नाम''
|-
|-
| <math>(\nu x)P</math>
| <math>(\nu x)P</math>
| Free names of ''P'' except for ''x''
| ''x को छोड़कर'' ''P के सभी मुक्त नाम''
|-
|-
| <math>!P</math>
| <math>!P</math>
| All free names of ''P''
| ''P के सभी मुक्त नाम''
|}
|}


Line 109: Line 108:
=== संरचनात्मक सर्वांगसमता ===
=== संरचनात्मक सर्वांगसमता ===


न्यूनीकरण शब्दार्थ और लेबल संक्रमण शब्दार्थ दोनों का केंद्र संरचनात्मक सर्वांगसमता की धारणा है। दो प्रक्रियाएं संरचनात्मक रूप से सर्वांगसम होती हैं, यदि वे संरचना के समान हों। विशेष रूप से, समानांतर रचना विनिमेय और साहचर्य है।
न्यूनीकरण शब्दार्थ और लेबल संक्रमण शब्दार्थ दोनों का केंद्र संरचनात्मक सर्वांगसमता की धारणा है। दो प्रक्रियाएं संरचनात्मक रूप से सर्वांगसम होती हैं यदि वे संरचना के समान हों। विशेष रूप से समानांतर रचना विनिमेय और साहचर्य है।


अधिक सटीक रूप से, संरचनात्मक अनुरूपता को कम से कम समानता संबंध के रूप में परिभाषित किया जाता है जो प्रक्रिया के निर्माण और संतोषजनक द्वारा संरक्षित होता है:
अधिक सटीक रूप से संरचनात्मक अनुरूपता को कम से कम समानता संबंध के रूप में परिभाषित किया जाता है जो प्रक्रिया के निर्माण और संतोषजनक द्वारा संरक्षित होता है:


''अल्फा-रूपांतरण'':
''अल्फा-रूपांतरण'':
Line 133: Line 132:
:* <math>(\nu x)(P | Q) \equiv (\nu x)P | Q </math> यदि {{mvar|x}} का मुक्त नाम नहीं है <math>Q</math>.
:* <math>(\nu x)(P | Q) \equiv (\nu x)P | Q </math> यदि {{mvar|x}} का मुक्त नाम नहीं है <math>Q</math>.


इस अंतिम अभिगृहीत को कार्यक्षेत्र विस्तार अभिगृहीत के रूप में जाना जाता है। यह स्वयंसिद्ध केंद्रीय है, क्योंकि यह वर्णन करता है कि कैसे एक बाध्य नाम है {{mvar|x}} को आउटपुट एक्शन द्वारा एक्सट्रूड किया जा सकता है, जिससे स्कोप हो सकता है {{mvar|x}} बढ़ाया जाना है। जिन स्थितियों में {{mvar|x}} का मुक्त नाम <math>Q</math> है तथाअल्फा-रूपांतरण का उपयोग एक्सटेंशन को आगे बढ़ने की अनुमति देने के लिए किया जा सकता है।
इस अंतिम अभिगृहीत को कार्यक्षेत्र विस्तार अभिगृहीत के रूप में जाना जाता है। यह स्वयंसिद्ध केंद्रीय है क्योंकि यह वर्णन करता है कि कैसे एक बाध्य नाम {{mvar|x}} को आउटपुट क्रिया द्वारा बाहर निकाला जा सकता है जिससे {{mvar|x}} का क्षेत्र बढ़ाया जा सकता है। जिन स्थितियों में {{mvar|x}} का मुक्त नाम <math>Q</math> है तथाअल्फा-रूपांतरण का उपयोग विस्तार को आगे बढ़ने की अनुमति देने के लिए किया जा सकता है।


=== कमी शब्दार्थ ===
=== शब्दार्थों में कमी ===


हम लिखते हैं <math>P \rightarrow P'</math> यदि <math>P</math> एक संगणना चरण कर सकता है, जिसके बाद यह अब है <math>P'</math>.
हम लिखते हैं <math>P \rightarrow P'</math> यदि <math>P</math> एक संगणना चरण कर सकता है जिसके बाद यह अब <math>P'</math> है
यह कमी संबंध <math>\rightarrow</math> कटौती नियमों के एक सेट के तहत कम से कम बंद संबंध के रूप में परिभाषित किया गया है।
 
यह कमी संबंध <math>\rightarrow</math> कटौती नियमों के सेट के अंतर्गत कम से कम बंद संबंध के रूप में परिभाषित किया गया है।


चैनलों के माध्यम से संवाद करने के लिए प्रक्रियाओं की क्षमता को पकड़ने वाला मुख्य कमी नियम निम्नलिखित है:
चैनलों के माध्यम से संवाद करने के लिए प्रक्रियाओं की क्षमता को पकड़ने वाला मुख्य कमी नियम निम्नलिखित है:
* <math>\overline{x}\langle z \rangle.P | x(y).Q \rightarrow P | Q[z/y] </math>
* <math>\overline{x}\langle z \rangle.P | x(y).Q \rightarrow P | Q[z/y] </math>
: जहाँ <math>Q[z/y]</math> प्रक्रिया को दर्शाता है <math>Q</math> जिसमें मुक्त नाम है <math>z</math> की मुक्त घटनाओं के लिए प्रतिस्थापित किया गया है <math>y</math>. यदि एक मुक्त घटना <math>y</math> किसी स्थान पर होता है <math>z</math> मुक्त नहीं होगा, अल्फा-रूपांतरण की आवश्यकता हो सकती है।
: जहाँ <math>Q[z/y]</math> प्रक्रिया <math>Q</math> को दर्शाता है जिसमें मुक्त नाम <math>z</math> है एवं <math>y</math> की मुक्त घटनाओं के लिए प्रतिस्थापित किया गया है। यदि मुक्त घटना किसी स्थान <math>y</math> पर होती है तब <math>z</math> मुक्त नहीं होगा एवं अल्फा-रूपांतरण की आवश्यकता हो सकती है।


तीन अतिरिक्त नियम हैं:
तीन अतिरिक्त नियम हैं:
Line 148: Line 148:
: यह नियम कहता है कि समानांतर रचना गणना को बाधित नहीं करती है।
: यह नियम कहता है कि समानांतर रचना गणना को बाधित नहीं करती है।
* यदि <math>P \rightarrow Q</math>, तब भी <math>(\nu x)P \rightarrow (\nu x)Q</math>.
* यदि <math>P \rightarrow Q</math>, तब भी <math>(\nu x)P \rightarrow (\nu x)Q</math>.
: यह नियम सुनिश्चित करता है कि गणना एक प्रतिबंध के तहत आगे बढ़ सकती है।
: यह नियम सुनिश्चित करता है कि गणना एक प्रतिबंध के अंतर्गत आगे बढ़ सकती है।
* यदि <math>P \equiv P'</math> और <math>P' \rightarrow Q'</math> और <math>Q' \equiv Q</math>, तब भी <math>P \rightarrow Q</math>.
* यदि <math>P \equiv P'</math> और <math>P' \rightarrow Q'</math> और <math>Q' \equiv Q</math>, तब भी <math>P \rightarrow Q</math>.


बाद के नियम में कहा गया है कि संरचनात्मक रूप से संगत प्रक्रियाओं में समान कटौती होती है।
बाद के नियम में कहा गया है कि संरचनात्मक रूप से संगत प्रक्रियाओं में समान कटौती होती है।


=== उदाहरण पर दोबारा गौर किया गया ===
=== उदाहरण पर पर पुनः विचार ===


प्रक्रिया पर फिर से विचार करें
प्रक्रिया पर पुनः विचार करें


:<math> (\nu x)(\overline{x} \langle z \rangle.0  |  x(y).  \overline{y}\langle x \rangle . x(y).0 ) | z(v) . \overline{v}\langle v \rangle. 0 </math>
:<math> (\nu x)(\overline{x} \langle z \rangle.0  |  x(y).  \overline{y}\langle x \rangle . x(y).0 ) | z(v) . \overline{v}\langle v \rangle. 0 </math>
Line 161: Line 161:


:<math> (\nu x)(\overline{x} \langle z \rangle.0  |  x(y).  \overline{y}\langle x \rangle . x(y).0 ) | z(v) . \overline{v}\langle v \rangle. 0  \rightarrow (\nu x)(0|  \overline{z}\langle x \rangle . x(y). 0 ) | z(v). \overline{v}\langle v \rangle .0 </math>
:<math> (\nu x)(\overline{x} \langle z \rangle.0  |  x(y).  \overline{y}\langle x \rangle . x(y).0 ) | z(v) . \overline{v}\langle v \rangle. 0  \rightarrow (\nu x)(0|  \overline{z}\langle x \rangle . x(y). 0 ) | z(v). \overline{v}\langle v \rangle .0 </math>
ध्यान दें कि कैसे, कमी प्रतिस्थापन स्वयंसिद्ध को लागू करते हुए, की मुक्त घटनाएँ <math>y</math> अब के रूप में लेबल किए गए हैं <math>z</math>.
ध्यान दें कि कैसे कमी प्रतिस्थापन स्वयंसिद्ध को लागू करते हुए <math>y</math> की मुक्त घटनाएँ अब <math>z</math> के रूप में लेबल किए गए हैं


अगला, हम कमी प्राप्त करते हैं
इसके पश्चात हम कमी प्राप्त करते हैं


:<math> (\nu x)(0|  \overline{z}\langle x \rangle . x(y). 0 ) | z(v). \overline{v}\langle v \rangle .0 \rightarrow (\nu x)(0|  x(y). 0  | \overline{x}\langle x \rangle .0)  </math>
:<math> (\nu x)(0|  \overline{z}\langle x \rangle . x(y). 0 ) | z(v). \overline{v}\langle v \rangle .0 \rightarrow (\nu x)(0|  x(y). 0  | \overline{x}\langle x \rangle .0)  </math>
ध्यान दें कि स्थानीय नाम के बाद से {{mvar|x}} का उत्पादन किया गया है, का क्षेत्र {{mvar|x}} तीसरे घटक को भी कवर करने के लिए बढ़ाया गया है। इसे स्कोप एक्सटेंशन स्वयंसिद्ध का उपयोग करके कैप्चर किया गया था।
ध्यान दें कि स्थानीय नाम के बाद से {{mvar|x}} का उत्पादन किया गया है एवं {{mvar|x}} का क्षेत्र तीसरे घटक को भी कवर करने के लिए बढ़ाया गया है। इसे स्कोप एक्सटेंशन स्वयंसिद्ध का उपयोग करके कैप्चर किया गया था।


अगला, कमी प्रतिस्थापन स्वयंसिद्ध का उपयोग करके, हम प्राप्त करते हैं
इसके पश्चात कमी प्रतिस्थापन स्वयंसिद्ध का उपयोग करके हम प्राप्त करते हैं


:<math> (\nu x)(0 | 0 | 0) </math>
:<math> (\nu x)(0 | 0 | 0) </math>
अंत में, समांतर संरचना और प्रतिबंध के लिए सिद्धांतों का उपयोग करके, हम प्राप्त करते हैं
अंत में समांतर संरचना और प्रतिबंध के लिए सिद्धांतों का उपयोग करके हम प्राप्त करते हैं


:<math> 0 </math>
:<math> 0 </math>
=== लेबल किए गए शब्दार्थ ===
=== लेबल किए गए शब्दार्थ ===


वैकल्पिक रूप से, कोई पीआई-कैलकुलस को एक लेबल ट्रांज़िशन सिमेंटिक्स दे सकता है ([[संचार प्रणालियों की गणना]] के कैलकुलस के साथ किया गया है)। <br />इस शब्दार्थ में एक राज्य से एक संक्रमण <math>P</math> किसी अन्य राज्य के लिए <math>P'</math> एक क्रिया के बाद <math>\alpha</math> के रूप में नोट किया गया है:
वैकल्पिक रूप से कोई {{pi}}-कैलकुलस को लेबल ट्रांज़िशन सिमेंटिक्स दे सकता है ([[संचार प्रणालियों की गणना]] के कैलकुलस के साथ किया गया है)। <br />इस शब्दार्थ में एक राज्य से एक संक्रमण <math>P</math> किसी अन्य राज्य के लिए <math>P'</math> एक क्रिया के बाद <math>\alpha</math> के रूप में नोट किया गया है:
*<math>P\,\xrightarrow{\overset{}\alpha} P'</math>
*<math>P\,\xrightarrow{\overset{}\alpha} P'</math>
जहां राज्यों <math>P</math> और <math>P'</math> प्रक्रियाओं का प्रतिनिधित्व करते हैं और <math>\alpha</math> या तो एक इनपुट क्रिया है <math>a(x)</math>, एक आउटपुट क्रिया<math>\overline{a}\langle x \rangle</math>, या एक मौन क्रिया {{mvar|&tau;}}.<ref>Robin Milner, Communicating and Mobile Systems: The Pi Calculus, Cambridge University Press, {{ISBN|0521643201}}. 1999</ref>
जहां क्षेत्र <math>P</math> और <math>P'</math> प्रक्रियाओं का प्रतिनिधित्व करते हैं और <math>\alpha</math> या तो इनपुट <math>a(x)</math> क्रिया है, आउटपुट क्रिया<math>\overline{a}\langle x \rangle</math> या मौन क्रिया {{mvar|&tau;}}.<ref>Robin Milner, Communicating and Mobile Systems: The Pi Calculus, Cambridge University Press, {{ISBN|0521643201}}. 1999</ref>


लेबल किए गए शब्दार्थ के बारे में एक मानक परिणाम यह है कि यह संरचनात्मक अनुरूपता तक कमी शब्दार्थ से सहमत है, इस अर्थ में कि
लेबल किए गए शब्दार्थ के बारे में मानक परिणाम यह है कि यह संरचनात्मक अनुरूपता तक कमी शब्दार्थ से सहमत है इस अर्थ में कि
  <math>P \rightarrow P'</math> यदि और केवल यदि
  <math>P \rightarrow P'</math> यदि और केवल यदि
  <math>P\,\xrightarrow{\overset{}\tau}\equiv P'</math> <ref>Sangiorgi, D., & Walker, D. (2003). p51, The Pi-Calculus. Cambridge University Press.</ref>
  <math>P\,\xrightarrow{\overset{}\tau}\equiv P'</math> <ref>Sangiorgi, D., & Walker, D. (2003). p51, The Pi-Calculus. Cambridge University Press.</ref>




== एक्सटेंशन और वेरिएंट ==
== विस्तार और संस्करण ==
 
ऊपर दी गयी सिंटैक्स न्यूनतम है। जबकि सिंटैक्स को विभिन्न तरीकों से संशोधित किया जा सकता है।


ऊपर दिया गया सिंटैक्स न्यूनतम है। जबकि वाक्य रचना को विभिन्न तरीकों से संशोधित किया जा सकता है।
गैर-नियतात्मक पसंद ऑपरेटर <math>P + Q</math> सिंटैक्स में जोड़ा जा सकता है।


एक गैर-नियतात्मक पसंद ऑपरेटर <math>P + Q</math> सिंटैक्स में जोड़ा जा सकता है।
नाम समानता के लिए परीक्षण <math>[x=y]P</math> सिंटैक्स में जोड़ा जा सकता है। यह मैच ऑपरेटर <math>P</math> आगे बढ़ सकता है यदि और केवल यदि {{mvar|x}} और <math>y</math> एक ही नाम हैं।


नाम समानता के लिए एक परीक्षण <math>[x=y]P</math> सिंटैक्स में जोड़ा जा सकता है। यह मैच ऑपरेटर आगे बढ़ सकता है <math>P</math> यदि और केवल यदि {{mvar|x}} और <math>y</math> एक ही नाम हैं।
इसी प्रकार कोई 'नाम असमानता' के लिए बेमेल संकारक जोड़ सकता है। प्रैक्टिकल प्रोग्राम जो नाम (यूआरएल या पॉइंटर्स) पास कर सकते हैं, अधिकतर ऐसी कार्यक्षमता का उपयोग करते हैं: कलन के अंदर ऐसी कार्यक्षमता को सीधे मॉडलिंग करने के लिए यह और संबंधित एक्सटेंशन अधिकतर उपयोगी होते हैं।
इसी तरह, कोई 'नाम असमानता' के लिए बेमेल संकारक जोड़ सकता है। प्रैक्टिकल प्रोग्राम जो नाम (यूआरएल या पॉइंटर्स) पास कर सकते हैं, अधिकतर ऐसी कार्यक्षमता का उपयोग करते हैं: कलन के अंदर ऐसी कार्यक्षमता को सीधे मॉडलिंग करने के लिए, यह और संबंधित एक्सटेंशन अधिकतर उपयोगी होते हैं।


अतुल्यकालिक {{pi}}-कलन<ref>{{cite book|last1=Boudol|first1=G.|title=Asynchrony and the {{pi}}-calculus. Technical Report 1702, INRIA, Sophia-Antipolis| date=1992}}</ref><ref>{{cite book|last1=Honda |first1=K. | last2=Tokoro | first2=M. |title=An Object Calculus for Asynchronous Communication. ECOOP 91|publisher=Springer Verlag| date=1991}}</ref> बिना किसी प्रत्यय के केवल आउटपुट की अनुमति देता है, अर्थात फॉर्म के आउटपुट परमाणु <math>\overline{x}\langle y \rangle</math>, एक छोटे कलन की उपज। जबकि, मूल कलन में किसी भी प्रक्रिया को छोटे अतुल्यकालिक द्वारा दर्शाया जा सकता है {{pi}}-प्राप्त करने की प्रक्रिया से स्पष्ट पावती का अनुकरण करने के लिए एक अतिरिक्त चैनल का उपयोग करके कैलकुलस। चूंकि एक निरंतरता-मुक्त आउटपुट एक संदेश-इन-ट्रांजिट को मॉडल कर सकता है, यह टुकड़ा दिखाता है कि मूल {{pi}}-कलकुलस, जो सहजता से सिंक्रोनस कम्युनिकेशन पर आधारित है, इसके सिंटैक्स के अंदर एक अभिव्यंजक एसिंक्रोनस कम्युनिकेशन मॉडल है। जबकि, ऊपर परिभाषित गैर-नियतात्मक पसंद ऑपरेटर को इस तरह से व्यक्त नहीं किया जा सकता है, क्योंकि एक गार्ड (कंप्यूटर विज्ञान) पसंद को एक संरक्षित विकल्प में बदल दिया जाएगा; इस तथ्य का उपयोग यह प्रदर्शित करने के लिए किया गया है कि एसिंक्रोनस कैलकुलस सिंक्रोनस (विकल्प ऑपरेटर के साथ) की तुलना में सख्ती से कम अभिव्यंजक है।<ref>{{cite journal|last=Palamidessi|first=Catuscia|author-link=Catuscia Palamidessi|title=सिंक्रोनस और एसिंक्रोनस पाई-कैलकुलस की अभिव्यंजक शक्ति की तुलना करना|journal=Proceedings of the 24th ACM Symposium on Principles of Programming Languages|year=1997|pages=256–265|arxiv=cs/9809008|bibcode=1998cs........9008P}}</ref>
अतुल्यकालिक {{pi}}-कलन<ref>{{cite book|last1=Boudol|first1=G.|title=Asynchrony and the {{pi}}-calculus. Technical Report 1702, INRIA, Sophia-Antipolis| date=1992}}</ref><ref>{{cite book|last1=Honda |first1=K. | last2=Tokoro | first2=M. |title=An Object Calculus for Asynchronous Communication. ECOOP 91|publisher=Springer Verlag| date=1991}}</ref> बिना किसी प्रत्यय के केवल आउटपुट की अनुमति देता है अर्थात फॉर्म के आउटपुट परमाणु <math>\overline{x}\langle y \rangle</math>, एक छोटे कलन की उपज हैं जजबकि मूल कलन में किसी भी प्रक्रिया को प्राप्त करने की प्रक्रिया से स्पष्ट पावती का अनुकरण करने के लिए एक अतिरिक्त चैनल का उपयोग करके छोटे अतुल्यकालिक π-कलन द्वारा दर्शाया जा सकता है। चूंकि निरंतरता-मुक्त आउटपुट संदेश-इन-ट्रांजिट को मॉडल कर सकता है एवं यह टुकड़ा दिखाता है कि मूल π-कैलकुलस जो सहज रूप से सिंक्रोनस संचार पर आधारित है इसके सिंटैक्स के अंदर एक अभिव्यंजक अतुल्यकालिक संचार मॉडल है। हालांकि ऊपर परिभाषित गैर-नियतात्मक चयनित ऑपरेटर को इस तरह से व्यक्त नहीं किया जा सकता है क्योंकि अनियंत्रित विकल्प को संरक्षित में परिवर्तित कर दिया जाएगा; इस तथ्य का उपयोग यह प्रदर्शित करने के लिए किया गया है कि एसिंक्रोनस कैलकुलस सिंक्रोनस (विकल्प ऑपरेटर के साथ) की तुलना में कठिनाई से कम अभिव्यंजक है।<ref>{{cite journal|last=Palamidessi|first=Catuscia|author-link=Catuscia Palamidessi|title=सिंक्रोनस और एसिंक्रोनस पाई-कैलकुलस की अभिव्यंजक शक्ति की तुलना करना|journal=Proceedings of the 24th ACM Symposium on Principles of Programming Languages|year=1997|pages=256–265|arxiv=cs/9809008|bibcode=1998cs........9008P}}</ref>


बहुविकल्पी {{pi}}-कलकुलस एक ही क्रिया में एक से अधिक नामों को संप्रेषित करने की अनुमति देता है: <math>\overline{x}\langle z_1,...,z_n\rangle.P</math> (पॉलीडिक आउटपुट) और <math>x(z_1,...,z_n).P</math> (पॉलीडिक इनपुट)यह पॉलीऐडिक विस्तार, जो विशेष रूप से नाम पासिंग प्रक्रियाओं के प्रकारों का अध्ययन करते समय उपयोगी होता है, एक निजी चैनल के नाम को पास करके मोनैडिक कैलकुस में एन्कोड किया जा सकता है जिसके माध्यम से कई तर्क अनुक्रम में पारित किए जाते हैं। एन्कोडिंग को खंडों द्वारा पुनरावर्ती रूप से परिभाषित किया गया है
बहुविकल्पी {{pi}}-कलन एक ही क्रिया <math>\overline{x}\langle z_1,...,z_n\rangle.P</math> (पॉलीडिक आउटपुट) और <math>x(z_1,...,z_n).P</math> (पॉलीडिक इनपुट) में एक से अधिक नामों को संप्रेषित करने की अनुमति देता है। यह पॉलीऐडिक विस्तार जो विशेष रूप से नाम पासिंग प्रक्रियाओं के प्रकारों का अध्ययन करते समय उपयोगी होता है एवं निजी चैनल के नाम को पास करके मोनैडिक कैलकुस में एन्कोड किया जा सकता है जिसके माध्यम से कई तर्क अनुक्रम में पारित किए जाते हैं। एन्कोडिंग को खंडों द्वारा पुनरावर्ती रूप से परिभाषित किया गया है।


<math>\overline{x}\langle y_1,\cdots,y_n\rangle.P</math> के रूप में एन्कोड किया गया है <math>(\nu w) \overline{x}\langle w \rangle.\overline{w}\langle y_1\rangle.\cdots.\overline{w}\langle y_n\rangle.[P]</math>
<math>\overline{x}\langle y_1,\cdots,y_n\rangle.P</math> को <math>(\nu w) \overline{x}\langle w \rangle.\overline{w}\langle y_1\rangle.\cdots.\overline{w}\langle y_n\rangle.[P]</math> के रूप में एन्कोड किया गया है।


<math>x(y_1,\cdots,y_n).P</math> के रूप में एन्कोड किया गया है <math>x(w).w(y_1).\cdots.w(y_n).[P]</math>
<math>x(y_1,\cdots,y_n).P</math> को <math>x(w).w(y_1).\cdots.w(y_n).[P]</math> के रूप में एन्कोड किया गया है।


अन्य सभी प्रक्रिया निर्माणों को एन्कोडिंग द्वारा अपरिवर्तित छोड़ दिया जाता है।
अन्य सभी प्रक्रिया निर्माणों को एन्कोडिंग द्वारा अपरिवर्तित छोड़ दिया जाता है।
Line 227: Line 226:
== गुण ==
== गुण ==


=== ट्यूरिंग पूर्णता === {{pi}pi}}-कलन एक [[ट्यूरिंग पूर्ण]] है। इसे पहली बार [[रॉबिन मिलनर]] ने अपने पेपर फंक्शन्स ऐज़ प्रोसेसेस में देखा था।<ref>{{cite journal|last=Milner|first=Robin|author-link=Robin Milner|title=प्रक्रियाओं के रूप में कार्य करता है|journal=Mathematical Structures in Computer Science|pages=119–141|year=1992|volume=2|issue=2|doi=10.1017/s0960129500001407|url=http://hal.archives-ouvertes.fr/docs/00/07/54/05/PDF/RR-1154.pdf|hdl=20.500.11820/159b09c0-1147-4f32-baf0-23bed198f12a|s2cid=36446818 |hdl-access=free}}</ref> जिसमें वह [[लैम्ब्डा-पथरी]] के दो एनकोडिंग प्रस्तुत करता है {{pi}}-कलन। एक एन्कोडिंग उत्सुक (कॉल-बाय-वैल्यू) [[मूल्यांकन रणनीति]] का अनुकरण करती है, अन्य एन्कोडिंग सामान्य-ऑर्डर (कॉल-बाय-नेम) रणनीति का अनुकरण करती है। इन दोनों में, महत्वपूर्ण अंतर्दृष्टि पर्यावरण बाइंडिंग का मॉडलिंग है - उदाहरण के लिए,{{mvar|x}} अवधि के लिए बाध्य है <math display="inline">M</math>- प्रतिकृति एजेंटों के रूप में जो शब्द के लिए एक कनेक्शन वापस भेजकर अपनी बाइंडिंग के अनुरोधों का जवाब देते हैं <math>M</math>.
=== ट्यूरिंग पूर्णता ===
 
{{pi}}-कलन एक [[ट्यूरिंग पूर्ण]] है। इसे पहली बार [[रॉबिन मिलनर]] ने अपने पेपर फंक्शन्स ऐज़ प्रोसेसेस में देखा था।<ref>{{cite journal|last=Milner|first=Robin|author-link=Robin Milner|title=प्रक्रियाओं के रूप में कार्य करता है|journal=Mathematical Structures in Computer Science|pages=119–141|year=1992|volume=2|issue=2|doi=10.1017/s0960129500001407|url=http://hal.archives-ouvertes.fr/docs/00/07/54/05/PDF/RR-1154.pdf|hdl=20.500.11820/159b09c0-1147-4f32-baf0-23bed198f12a|s2cid=36446818 |hdl-access=free}}</ref> जिसमें वह [[लैम्ब्डा-पथरी|लैम्ब्डा-कैलकुलस]] के दो एनकोडिंग प्रस्तुत करता है {{pi}}-कलन। एक एन्कोडिंग उत्सुक (कॉल-बाय-वैल्यू) [[मूल्यांकन रणनीति]] का अनुकरण करती है, अन्य एन्कोडिंग सामान्य-ऑर्डर (कॉल-बाय-नेम) रणनीति का अनुकरण करती है। इन दोनों में महत्वपूर्ण अंतर्दृष्टि पर्यावरण बाइंडिंग का मॉडलिंग है - उदाहरण के लिए,{{mvar|x}} अवधि के लिए बाध्य है <math display="inline">M</math>- प्रतिकृति एजेंटों के रूप में जो शब्द के लिए एक कनेक्शन वापस भेजकर अपनी बाइंडिंग के अनुरोधों का जवाब देते हैं <math>M</math>
की विशेषताएं {{pi}}-कैलकुलस जो इन एनकोडिंग को संभव बनाते हैं वे नाम-पासिंग और प्रतिकृति (या, समतुल्य, पुनरावर्ती रूप से परिभाषित एजेंट) हैं। प्रतिकृति/पुनरावृत्ति के अभाव में, {{pi}}-कैलकुलस ट्यूरिंग-पूर्ण होना बंद कर देता है। यह इस तथ्य से देखा जा सकता है कि पुनरावर्तन-मुक्त कैलकुलस और यहां तक ​​कि परिमित-नियंत्रण के लिए [[bisimulation]] तुल्यता निर्णायक हो जाती है {{pi}}-कैलकुलस जहां किसी भी प्रक्रिया में समानांतर घटकों की संख्या एक स्थिरांक से बंधी होती है।<ref>{{cite journal|last=Dam|first=Mads|title=पाई-कैलकुलस के लिए प्रक्रिया तुल्यता की निर्णायकता पर|journal=Theoretical Computer Science|issue=2|pages=215–228|year=1997|volume=183|doi=10.1016/S0304-3975(96)00325-8|doi-access=free}}</ref>


की विशेषताएं {{pi}}-कैलकुलस जो इन एनकोडिंग को संभव बनाते हैं वे नाम-पासिंग और प्रतिकृति (या, समतुल्य, पुनरावर्ती रूप से परिभाषित एजेंट) हैं। प्रतिकृति/पुनरावृत्ति के अभाव में, {{pi}}-कैलकुलस ट्यूरिंग-पूर्ण होना बंद कर देता है। यह इस तथ्य से देखा जा सकता है कि पुनरावर्तन-मुक्त कैलकुलस और यहां तक ​​कि परिमित-नियंत्रण के लिए [[bisimulation|बाईसिमुलेशन]] तुल्यता निर्णायक हो जाती है {{pi}}-कैलकुलस जहां किसी भी प्रक्रिया में समानांतर घटकों की संख्या एक स्थिरांक से बंधी होती है।<ref>{{cite journal|last=Dam|first=Mads|title=पाई-कैलकुलस के लिए प्रक्रिया तुल्यता की निर्णायकता पर|journal=Theoretical Computer Science|issue=2|pages=215–228|year=1997|volume=183|doi=10.1016/S0304-3975(96)00325-8|doi-access=free}}</ref>


== में बाईसिमुलेशन {{pi}}-कलन ==
== में बाईसिमुलेशन {{pi}}-कलन ==


{{See also|Bisimulation}}
{{See also|बाईसिमुलेशन}}


प्रक्रिया गणना के लिए, {{pi}}-कैलकुलस बाईसिमुलेशन तुल्यता की परिभाषा की अनुमति देता है। में {{pi}}-कैलकुलस, बाईसिमुलेशन समतुल्यता की परिभाषा (जिसे बाईसिमिलैरिटी के रूप में भी जाना जाता है) या तो कमी शब्दार्थ या लेबल संक्रमण शब्दार्थ पर आधारित हो सकती है।
प्रक्रिया गणना के लिए, {{pi}}-कैलकुलस बाईसिमुलेशन तुल्यता की परिभाषा की अनुमति देता है। {{pi}}-कैलकुलस में बाईसिमुलेशन समतुल्यता की परिभाषा (जिसे बाईसिमिलैरिटी के रूप में भी जाना जाता है) या तो कमी शब्दार्थ या लेबल संक्रमण शब्दार्थ पर आधारित हो सकती है।


में लेबल किए गए बाईसिमुलेशन समकक्ष को परिभाषित करने के (कम से कम) तीन अलग-अलग तरीके हैं {{pi}}-कैलकुलस: अर्ली, लेट और ओपन बाइसिमिलरिटी। यह इस तथ्य से उपजा है कि {{pi}}-कैलकुलस एक वैल्यू-पासिंग प्रोसेस कैलकुलस है।
{{pi}}-कैलकुलस में लेबल किए गए बाईसिमुलेशन समकक्ष को परिभाषित करने के (कम से कम) तीन अलग-अलग उपाय हैं: अर्ली, लेट और ओपन बाइसिमिलरिटी। यह इस तथ्य से प्राप्त हुआ है कि {{pi}}-कैलकुलस एक वैल्यू-पासिंग प्रोसेस कैलकुलस है।


इस भाग के शेष भाग में, हम जाने देते हैं <math>p</math> और <math>q</math> प्रक्रियाओं को निरूपित करें और <math>R</math> प्रक्रियाओं पर द्विआधारी संबंधों को निरूपित करें।
माना कि, इस भाग के शेष भाग में <math>p</math> और <math>q</math> प्रक्रियाओं को निरूपित करते है और <math>R</math> प्रक्रियाओं पर द्विआधारी संबंधों को निरूपित करें।


=== प्रारंभिक और देर से समानता ===
=== प्रारंभिक और देर से समानता ===


मिलनर, पैरो और वाकर ने प्रारंभिक और बाद की समानता दोनों को अपने मूल पेपर में तैयार किया था {{pi}}-कलन।<ref>{{cite journal|last=Milner|first=R.|author2=J. Parrow |author3= D. Walker|title=मोबाइल प्रक्रियाओं की एक गणना|journal=Information and Computation|issue=1|pages=1–40|year=1992|doi=10.1016/0890-5401(92)90008-4|volume=100|url=https://www.pure.ed.ac.uk/ws/files/16426053/A_Calculus_of_Mobile_Processes_I.pdf|hdl=20.500.11820/cdd6d766-14a5-4c3e-8956-a9792bb2c6d3|hdl-access=free}}</ref>
मिलनर, पैरो और वाकर ने {{pi}}-कलन प्रारंभिक और बाद की समानता दोनों को अपने मूल पेपर में तैयार किया था।<ref>{{cite journal|last=Milner|first=R.|author2=J. Parrow |author3= D. Walker|title=मोबाइल प्रक्रियाओं की एक गणना|journal=Information and Computation|issue=1|pages=1–40|year=1992|doi=10.1016/0890-5401(92)90008-4|volume=100|url=https://www.pure.ed.ac.uk/ws/files/16426053/A_Calculus_of_Mobile_Processes_I.pdf|hdl=20.500.11820/cdd6d766-14a5-4c3e-8956-a9792bb2c6d3|hdl-access=free}}</ref> एक द्विआधारी संबंध <math>R</math> प्रक्रियाओं की प्रत्येक जोड़ी के लिए प्रक्रियाओं पर एक प्रारंभिक बाईसिमुलेशन है <math>(p, q) \in R</math>,
एक द्विआधारी संबंध <math>R</math> प्रक्रियाओं की प्रत्येक जोड़ी के लिए प्रक्रियाओं पर एक प्रारंभिक बाईसिमुलेशन है <math>(p, q) \in R</math>,
* जब कभी भी <math>
* जब कभी भी <math>
p \,\xrightarrow{a(x)}\,p'
p \,\xrightarrow{a(x)}\,p'
</math> फिर प्रत्येक नाम के लिए <math>y</math> कुछ उपस्थित है <math>q'</math> ऐसा है कि <math>
</math> फिर प्रत्येक <math>y</math> नाम के लिए <math>q'</math> कुछ उपस्थित है  ऐसा है कि <math>
q \,\xrightarrow{a(x)}\,q'
q \,\xrightarrow{a(x)}\,q'
</math> और <math>(p'[y/x],q'[y/x]) \in R</math>;
</math> और <math>(p'[y/x],q'[y/x]) \in R</math>;
Line 260: Line 258:
प्रक्रियाओं <math>p</math> और <math>q</math> प्रारंभिक बाईसिमिलर, लिखित कहा जाता है <math>p \sim_e q</math> यदि जोड़ी <math>(p,q) \in R</math> कुछ शुरुआती बाईसिमुलेशन के लिए <math>R</math>.
प्रक्रियाओं <math>p</math> और <math>q</math> प्रारंभिक बाईसिमिलर, लिखित कहा जाता है <math>p \sim_e q</math> यदि जोड़ी <math>(p,q) \in R</math> कुछ शुरुआती बाईसिमुलेशन के लिए <math>R</math>.


देर से द्वि-समानता में, संक्रमण मिलान संचरित होने वाले नाम से स्वतंत्र होना चाहिए।
देर से द्वि-समानता में, संक्रमण मिलान संचरित होने वाले नाम से स्वतंत्र होना चाहिए। द्विआधारी संबंध <math>R</math> प्रक्रियाओं की प्रत्येक जोड़ी के लिए ओवर प्रोसेस लेट बाईसिमुलेशन <math>(p, q) \in R</math> है
एक द्विआधारी संबंध <math>R</math> प्रक्रियाओं की प्रत्येक जोड़ी के लिए ओवर प्रोसेस एक लेट बाईसिमुलेशन है <math>(p, q) \in R</math>,
* जब कभी भी <math>
* जब कभी भी <math>
p \xrightarrow{a(x)}  p'
p \xrightarrow{a(x)}  p'
</math> फिर कुछ के लिए <math>q'</math> यह मानता है <math>
</math> फिर कुछ <math>q'</math> के लिए यह मानता है <math>
q \xrightarrow{a(x)} q'
q \xrightarrow{a(x)} q'
</math> और <math>(p'[y/x],q'[y/x]) \in R</math> प्रत्येक नाम वाई के लिए;
</math> और <math>(p'[y/x],q'[y/x]) \in R</math> प्रत्येक y नाम के लिए;
*किसी भी गैर-इनपुट कार्रवाई के लिए <math>\alpha</math>, यदि <math>
*किसी भी गैर-इनपुट कार्रवाई के लिए <math>\alpha</math>, यदि <math>
p \xrightarrow{\overset{}{\alpha}} p'
p \xrightarrow{\overset{}{\alpha}} p'
Line 273: Line 270:
   </math>और <math>(p',q') \in R</math>;
   </math>और <math>(p',q') \in R</math>;
* और सममित आवश्यकताओं के साथ <math>p</math> और <math>q</math> अदला-बदली।
* और सममित आवश्यकताओं के साथ <math>p</math> और <math>q</math> अदला-बदली।
प्रक्रियाओं <math>p</math> और <math>q</math> परवर्ती बाईस्मिलर, लिखित कहे जाते हैं <math>p \sim_l q</math> यदि जोड़ी <math>(p,q) \in R</math> कुछ देर के बाईसिमुलेशन के लिए <math>R</math>.
प्रक्रियाओं <math>p</math> और <math>q</math> परवर्ती बाईस्मिलर, लिखित कहे जाते हैं <math>p \sim_l q</math> यदि जोड़ी <math>(p,q) \in R</math> कुछ देर के बाईसिमुलेशन <math>R</math> के लिए <math>\sim_e</math> और <math>\sim_l</math> दोनों समस्या से ग्रस्त हैं कि वे इस अर्थ में सर्वांगसम संबंध नहीं हैं कि वे सभी प्रक्रिया निर्माणों द्वारा संरक्षित नहीं हैं। अधिक सटीक रूप से, प्रक्रियाएं <math>p</math> और <math>q</math> उपस्थित हैं, ऐसा है कि <math>p \sim_e q</math> लेकिन <math>a(x).p \not \sim_e a(x).q</math>. इसमें सम्मिलित अधिकतम सर्वांगसमता संबंधों पर विचार करके कोई भी इस समस्या का समाधान कर सकता है <math>\sim_e</math> और <math>\sim_l</math>, क्रमशः प्रारंभिक सर्वांगसमता और देर से सर्वांगसमता के रूप में जाना जाता है।
 
दोनों <math>\sim_e</math> और <math>\sim_l</math> समस्या से ग्रस्त हैं कि वे इस अर्थ में सर्वांगसम संबंध नहीं हैं कि वे सभी प्रक्रिया निर्माणों द्वारा संरक्षित नहीं हैं। अधिक सटीक रूप से, प्रक्रियाएं उपस्थित हैं <math>p</math> और <math>q</math> ऐसा है कि <math>p \sim_e q</math> लेकिन <math>a(x).p \not \sim_e a(x).q</math>. इसमें सम्मिलित अधिकतम सर्वांगसमता संबंधों पर विचार करके कोई भी इस समस्या का समाधान कर सकता है <math>\sim_e</math> और <math>\sim_l</math>, क्रमशः प्रारंभिक सर्वांगसमता और देर से सर्वांगसमता के रूप में जाना जाता है।


=== मुक्त द्विसमानता ===
=== मुक्त द्विसमानता ===

Revision as of 23:07, 31 May 2023

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

अनौपचारिक परिभाषा

π-कैलकुलस प्रक्रिया गणना के परिवार समवर्ती गणना के गुणों का वर्णन और विश्लेषण करने के लिए गणितीय औपचारिकताओं से संबंधित है। वास्तव में π-कैलकुलस, जैसे λ-कैलकुलस इतना न्यूनतम है कि इसमें आदिम जैसे संख्या, बूलियन, डेटा संरचना, चर, कार्य, या यहां तक ​​​​कि सामान्य नियंत्रण प्रवाह विवरण सम्मिलित नहीं है (जैसे, if-then-else, while).

प्रक्रिया निर्माण

π-कलन का केंद्र नाम की धारणा है। कलन की सरलता दोहरी भूमिका में निहित है जो नाम संचार चैनलों और चर के रूप में निभाते हैं।

कलन में उपलब्ध प्रक्रिया निर्माण निम्नलिखित हैं[3] (निम्न अनुभाग में सटीक परिभाषा दी गई है):

  • समवर्ती, लिखित , जहाँ और दो प्रक्रियाएं या सूत्र समवर्ती रूप से निष्पादित होते हैं।
  • संचार, जहाँ
    • इनपुट उपसर्ग एक संदेश की प्रतीक्षा करने की एक प्रक्रिया है जिसे नाम के संचार चैनल पर भेजा गया था के रूप में आगे बढ़ने से पहले प्राप्त नाम x को नाम से बाइंड करना। सामान्य रूप से यह मॉडल या तो नेटवर्क या लेबल से संचार की अपेक्षा करने वाली प्रक्रिया है c a द्वारा केवल एक बार प्रयोग करने योग्य goto c कार्यवाही।
    • आउटपुट उपसर्ग वर्णन करता है कि नाम चैनल पर प्रसारित किया जाता है के रूप में आगे बढ़ने से पहले . सामान्य रूप से, यह मॉडल या तो नेटवर्क पर एक संदेश भेज रहा है या a goto c कार्यवाही।
  • प्रतिकृति, लिखित , जिसे एक ऐसी प्रक्रिया के रूप में देखा जा सकता है जो सदैव एक नई प्रतिलिपि बना सकती है। सामान्य रूप से यह या तो नेटवर्क सेवा या cलेबल को मॉडल करता है एवं goto c संचालन किसी भी संख्या की प्रतीक्षा कर रहा है।
  • नए नाम का निर्माण हुआ जिसे नई स्थिरांक आवंटित करने वाली प्रक्रिया x के रूप में देखा जा सकता है अंदर π-calculus के स्थिरांक केवल उनके नाम से परिभाषित होते हैं और सदैव संचार चैनल होते हैं। किसी प्रक्रिया में नए नाम के सृजन को प्रतिबंध भी कहा जाता है।
  • शून्य प्रक्रिया एक ऐसी लिखित प्रक्रिया है जिसका निष्पादन पूरा हो गया है और रुक गया है।

जबकि अतिसूक्ष्मवाद π-कैलकुलस हमें सामान्य अर्थों में प्रोग्राम लिखने से रोकता है जिससे कैलकुलस का विस्तार करना सरल होता है। विशेष रूप से दोनों नियंत्रण संरचनाओं जैसे पुनरावर्तन, लूप और अनुक्रमिक रचना और डेटाटाइप जैसे प्रथम-क्रम के कार्यों, सत्य मूल्यों, सूचियों और पूर्णांकों को परिभाषित करना सरल है। इसके अतिरिक्त π-calculus के एक्सटेंशन प्रस्तावित किए गए हैं जो वितरण या सार्वजनिक-कुंजी क्रिप्टोग्राफी को ध्यान में रखते हैं। अबादी और फोरनेट [1] के कारण लागू π-कैलकुलस ने मनमाने ढंग से डेटाटाइप्स के साथ π-कैलकुलस का विस्तार करके इन विभिन्न एक्सटेंशनों को एक औपचारिक आधार पर रखा।

एक छोटा सा उदाहरण

निम्नलिखित प्रक्रिया का एक छोटा उदाहरण है जिसमें तीन समानांतर घटक होते हैं। x चैनल का नाम केवल पहले दो घटकों द्वारा जाना जाता है।

पहले दो घटक चैनल पर संचार करने में सक्षम हैं x और y नाम के लिए z बाध्य हो जाता है इसलिए प्रक्रिया में अगला कदम है।

ध्यान रहे कि शेष y प्रभावित नहीं होता है क्योंकि इसे आंतरिक सीमा में परिभाषित किया गया है। दूसरा और तीसरा समानांतर घटक अब चैनल नाम पर संवाद कर सकते हैं जहाँ z और v नाम के लिए x बाध्य हो जाता है। प्रक्रिया का अगला चरण अब है

ध्यान दें कि स्थानीय नाम के बाद से x का उत्पादन किया गया है एवं x का क्षेत्र तीसरे घटक को भी कवर करने के लिए बढ़ाया गया है। अंत में x चैनल x नाम भेजने के लिए उपयोग किया जा सकता है जबकि उसके बाद सभी समवर्ती क्रियान्वित प्रक्रियाएँ रुक गई हैं


औपचारिक परिभाषा

रचनाक्रम

माना कि Χ वस्तुओं का एक सेट है जिसे नाम कहा जाता है। π-कलकुलस के लिए सार वाक्य रचना निम्नलिखित बीएनएफ व्याकरण से बनाया गया है (जहाँ x और y Χ से कोई नाम हैं):[4]

नीचे दिए गए ठोस रचनाक्रम में उपसर्ग समानांतर संरचना (|) की तुलना में अधिक कसकर बांधते हैं और कोष्ठकों को अलग करने के लिए उपयोग किया जाता है।

नाम प्रतिबंध और इनपुट उपसर्ग निर्माणों से बंधे हैं। औपचारिक रूप से एक प्रक्रिया के मुक्त नामों का सेट π-कैलकुलस को नीचे दी गई तालिका द्वारा आगमनात्मक रूप से परिभाषित किया गया है। किसी प्रक्रिया के बाउंड नामों के सेट को उस प्रक्रिया के नामों के रूप में परिभाषित किया जाता है जो मुक्त नामों के सेट में नहीं होते हैं।

Construct Free names
None
a; x; P के सभी मुक्त नाम
a; x को छोड़कर P के सभी मुक्त नाम
P और Q के सभी मुक्त नाम
x को छोड़कर P के सभी मुक्त नाम
P के सभी मुक्त नाम


संरचनात्मक सर्वांगसमता

न्यूनीकरण शब्दार्थ और लेबल संक्रमण शब्दार्थ दोनों का केंद्र संरचनात्मक सर्वांगसमता की धारणा है। दो प्रक्रियाएं संरचनात्मक रूप से सर्वांगसम होती हैं यदि वे संरचना के समान हों। विशेष रूप से समानांतर रचना विनिमेय और साहचर्य है।

अधिक सटीक रूप से संरचनात्मक अनुरूपता को कम से कम समानता संबंध के रूप में परिभाषित किया जाता है जो प्रक्रिया के निर्माण और संतोषजनक द्वारा संरक्षित होता है:

अल्फा-रूपांतरण:

  • यदि से प्राप्त किया जा सकता है एक या एक से अधिक बाध्य नामों का नाम बदलकर .

समानांतर रचना के लिए अभिगृहीत:

प्रतिबंध के लिए अभिगृहीत:

प्रतिकृति के लिए अभिगृहीत:

अभिगृहीत संबंधित प्रतिबंध और समानांतर:

  • यदि x का मुक्त नाम नहीं है .

इस अंतिम अभिगृहीत को कार्यक्षेत्र विस्तार अभिगृहीत के रूप में जाना जाता है। यह स्वयंसिद्ध केंद्रीय है क्योंकि यह वर्णन करता है कि कैसे एक बाध्य नाम x को आउटपुट क्रिया द्वारा बाहर निकाला जा सकता है जिससे x का क्षेत्र बढ़ाया जा सकता है। जिन स्थितियों में x का मुक्त नाम है तथाअल्फा-रूपांतरण का उपयोग विस्तार को आगे बढ़ने की अनुमति देने के लिए किया जा सकता है।

शब्दार्थों में कमी

हम लिखते हैं यदि एक संगणना चरण कर सकता है जिसके बाद यह अब है

यह कमी संबंध कटौती नियमों के सेट के अंतर्गत कम से कम बंद संबंध के रूप में परिभाषित किया गया है।

चैनलों के माध्यम से संवाद करने के लिए प्रक्रियाओं की क्षमता को पकड़ने वाला मुख्य कमी नियम निम्नलिखित है:

जहाँ प्रक्रिया को दर्शाता है जिसमें मुक्त नाम है एवं की मुक्त घटनाओं के लिए प्रतिस्थापित किया गया है। यदि मुक्त घटना किसी स्थान पर होती है तब मुक्त नहीं होगा एवं अल्फा-रूपांतरण की आवश्यकता हो सकती है।

तीन अतिरिक्त नियम हैं:

  • यदि तब भी .
यह नियम कहता है कि समानांतर रचना गणना को बाधित नहीं करती है।
  • यदि , तब भी .
यह नियम सुनिश्चित करता है कि गणना एक प्रतिबंध के अंतर्गत आगे बढ़ सकती है।
  • यदि और और , तब भी .

बाद के नियम में कहा गया है कि संरचनात्मक रूप से संगत प्रक्रियाओं में समान कटौती होती है।

उदाहरण पर पर पुनः विचार

प्रक्रिया पर पुनः विचार करें

कमी के शब्दार्थ की परिभाषा को लागू करते हुए, हम कमी प्राप्त करते हैं

ध्यान दें कि कैसे कमी प्रतिस्थापन स्वयंसिद्ध को लागू करते हुए की मुक्त घटनाएँ अब के रूप में लेबल किए गए हैं

इसके पश्चात हम कमी प्राप्त करते हैं

ध्यान दें कि स्थानीय नाम के बाद से x का उत्पादन किया गया है एवं x का क्षेत्र तीसरे घटक को भी कवर करने के लिए बढ़ाया गया है। इसे स्कोप एक्सटेंशन स्वयंसिद्ध का उपयोग करके कैप्चर किया गया था।

इसके पश्चात कमी प्रतिस्थापन स्वयंसिद्ध का उपयोग करके हम प्राप्त करते हैं

अंत में समांतर संरचना और प्रतिबंध के लिए सिद्धांतों का उपयोग करके हम प्राप्त करते हैं

लेबल किए गए शब्दार्थ

वैकल्पिक रूप से कोई π-कैलकुलस को लेबल ट्रांज़िशन सिमेंटिक्स दे सकता है (संचार प्रणालियों की गणना के कैलकुलस के साथ किया गया है)।
इस शब्दार्थ में एक राज्य से एक संक्रमण किसी अन्य राज्य के लिए एक क्रिया के बाद के रूप में नोट किया गया है:

जहां क्षेत्र और प्रक्रियाओं का प्रतिनिधित्व करते हैं और या तो इनपुट क्रिया है, आउटपुट क्रिया या मौन क्रिया τ.[5]

लेबल किए गए शब्दार्थ के बारे में मानक परिणाम यह है कि यह संरचनात्मक अनुरूपता तक कमी शब्दार्थ से सहमत है इस अर्थ में कि

 यदि और केवल यदि
 [6]


विस्तार और संस्करण

ऊपर दी गयी सिंटैक्स न्यूनतम है। जबकि सिंटैक्स को विभिन्न तरीकों से संशोधित किया जा सकता है।

गैर-नियतात्मक पसंद ऑपरेटर सिंटैक्स में जोड़ा जा सकता है।

नाम समानता के लिए परीक्षण सिंटैक्स में जोड़ा जा सकता है। यह मैच ऑपरेटर आगे बढ़ सकता है यदि और केवल यदि x और एक ही नाम हैं।

इसी प्रकार कोई 'नाम असमानता' के लिए बेमेल संकारक जोड़ सकता है। प्रैक्टिकल प्रोग्राम जो नाम (यूआरएल या पॉइंटर्स) पास कर सकते हैं, अधिकतर ऐसी कार्यक्षमता का उपयोग करते हैं: कलन के अंदर ऐसी कार्यक्षमता को सीधे मॉडलिंग करने के लिए यह और संबंधित एक्सटेंशन अधिकतर उपयोगी होते हैं।

अतुल्यकालिक π-कलन[7][8] बिना किसी प्रत्यय के केवल आउटपुट की अनुमति देता है अर्थात फॉर्म के आउटपुट परमाणु , एक छोटे कलन की उपज हैं जजबकि मूल कलन में किसी भी प्रक्रिया को प्राप्त करने की प्रक्रिया से स्पष्ट पावती का अनुकरण करने के लिए एक अतिरिक्त चैनल का उपयोग करके छोटे अतुल्यकालिक π-कलन द्वारा दर्शाया जा सकता है। चूंकि निरंतरता-मुक्त आउटपुट संदेश-इन-ट्रांजिट को मॉडल कर सकता है एवं यह टुकड़ा दिखाता है कि मूल π-कैलकुलस जो सहज रूप से सिंक्रोनस संचार पर आधारित है इसके सिंटैक्स के अंदर एक अभिव्यंजक अतुल्यकालिक संचार मॉडल है। हालांकि ऊपर परिभाषित गैर-नियतात्मक चयनित ऑपरेटर को इस तरह से व्यक्त नहीं किया जा सकता है क्योंकि अनियंत्रित विकल्प को संरक्षित में परिवर्तित कर दिया जाएगा; इस तथ्य का उपयोग यह प्रदर्शित करने के लिए किया गया है कि एसिंक्रोनस कैलकुलस सिंक्रोनस (विकल्प ऑपरेटर के साथ) की तुलना में कठिनाई से कम अभिव्यंजक है।[9]

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

को के रूप में एन्कोड किया गया है।

को के रूप में एन्कोड किया गया है।

अन्य सभी प्रक्रिया निर्माणों को एन्कोडिंग द्वारा अपरिवर्तित छोड़ दिया जाता है।

ऊपरोक्त में, निरंतरता में सभी उपसर्गों के एन्कोडिंग को दर्शाता है उसी तरह से।

प्रतिकृति की पूरी शक्ति आवश्यकता नहीं है। अधिकतर, कोई केवल प्रतिरूपित इनपुट पर विचार करता है , जिसकी संरचनात्मक सर्वांगसमता अभिगृहीत है .

प्रतिकृति इनपुट प्रक्रिया जैसे सर्वर के रूप में समझा जा सकता है, चैनल पर प्रतीक्षा कर रहा है x ग्राहकों द्वारा आह्वान किया जाना है। एक सर्वर का आह्वान इसकी एक नई प्रति उत्पन्न करता है प्रक्रिया , जहां a क्लाइंट द्वारा दिया गया नाम है सर्वर, बाद के आह्वान के दौरान।

एक उच्च क्रम π-कैलकुलस को परिभाषित किया जा सकता है जहां न केवल नाम बल्कि प्रक्रियाओं को चैनलों के माध्यम से भेजा जाता है। उच्च क्रम के मामले के लिए महत्वपूर्ण कमी नियम है

यहाँ, एक प्रक्रिया चर को दर्शाता है जिसे एक प्रक्रिया अवधि द्वारा त्वरित किया जा सकता है। सानगिओर्गी स्थापित किया है कि प्रक्रियाओं को पारित करने की क्षमता नहीं है की अभिव्यक्ति में वृद्धि π-कैलकुलस: एक प्रक्रिया को पास करना P हो सकता है इसके बजाय P को इंगित करने वाले नाम को पास करके सिम्युलेटेड।

गुण

ट्यूरिंग पूर्णता

π-कलन एक ट्यूरिंग पूर्ण है। इसे पहली बार रॉबिन मिलनर ने अपने पेपर फंक्शन्स ऐज़ प्रोसेसेस में देखा था।[10] जिसमें वह लैम्ब्डा-कैलकुलस के दो एनकोडिंग प्रस्तुत करता है π-कलन। एक एन्कोडिंग उत्सुक (कॉल-बाय-वैल्यू) मूल्यांकन रणनीति का अनुकरण करती है, अन्य एन्कोडिंग सामान्य-ऑर्डर (कॉल-बाय-नेम) रणनीति का अनुकरण करती है। इन दोनों में महत्वपूर्ण अंतर्दृष्टि पर्यावरण बाइंडिंग का मॉडलिंग है - उदाहरण के लिए,x अवधि के लिए बाध्य है - प्रतिकृति एजेंटों के रूप में जो शब्द के लिए एक कनेक्शन वापस भेजकर अपनी बाइंडिंग के अनुरोधों का जवाब देते हैं

की विशेषताएं π-कैलकुलस जो इन एनकोडिंग को संभव बनाते हैं वे नाम-पासिंग और प्रतिकृति (या, समतुल्य, पुनरावर्ती रूप से परिभाषित एजेंट) हैं। प्रतिकृति/पुनरावृत्ति के अभाव में, π-कैलकुलस ट्यूरिंग-पूर्ण होना बंद कर देता है। यह इस तथ्य से देखा जा सकता है कि पुनरावर्तन-मुक्त कैलकुलस और यहां तक ​​कि परिमित-नियंत्रण के लिए बाईसिमुलेशन तुल्यता निर्णायक हो जाती है π-कैलकुलस जहां किसी भी प्रक्रिया में समानांतर घटकों की संख्या एक स्थिरांक से बंधी होती है।[11]

में बाईसिमुलेशन π-कलन

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

π-कैलकुलस में लेबल किए गए बाईसिमुलेशन समकक्ष को परिभाषित करने के (कम से कम) तीन अलग-अलग उपाय हैं: अर्ली, लेट और ओपन बाइसिमिलरिटी। यह इस तथ्य से प्राप्त हुआ है कि π-कैलकुलस एक वैल्यू-पासिंग प्रोसेस कैलकुलस है।

माना कि, इस भाग के शेष भाग में और प्रक्रियाओं को निरूपित करते है और प्रक्रियाओं पर द्विआधारी संबंधों को निरूपित करें।

प्रारंभिक और देर से समानता

मिलनर, पैरो और वाकर ने π-कलन प्रारंभिक और बाद की समानता दोनों को अपने मूल पेपर में तैयार किया था।[12] एक द्विआधारी संबंध प्रक्रियाओं की प्रत्येक जोड़ी के लिए प्रक्रियाओं पर एक प्रारंभिक बाईसिमुलेशन है ,

  • जब कभी भी फिर प्रत्येक नाम के लिए कुछ उपस्थित है ऐसा है कि और ;
  • किसी भी गैर-इनपुट कार्रवाई के लिए , यदि तो कुछ उपस्थित है ऐसा है कि और ;
  • और सममित आवश्यकताओं के साथ और अदला-बदली।

प्रक्रियाओं और प्रारंभिक बाईसिमिलर, लिखित कहा जाता है यदि जोड़ी कुछ शुरुआती बाईसिमुलेशन के लिए .

देर से द्वि-समानता में, संक्रमण मिलान संचरित होने वाले नाम से स्वतंत्र होना चाहिए। द्विआधारी संबंध प्रक्रियाओं की प्रत्येक जोड़ी के लिए ओवर प्रोसेस लेट बाईसिमुलेशन है

  • जब कभी भी फिर कुछ के लिए यह मानता है और प्रत्येक y नाम के लिए;
  • किसी भी गैर-इनपुट कार्रवाई के लिए , यदि तात्पर्य है कि कुछ उपस्थित है ऐसा है कि और ;
  • और सममित आवश्यकताओं के साथ और अदला-बदली।

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

मुक्त द्विसमानता

सौभाग्य से, एक तीसरी परिभाषा संभव है, जो इस समस्या से बचती है, अर्थात् सांगियोर्गी के कारण मुक्त द्विसमानता।[13]

एक द्विआधारी संबंध प्रत्येक जोड़ी तत्वों के लिए ओवर प्रोसेस एक ओपन बाईसिमुलेशन है और प्रत्येक नाम प्रतिस्थापन के लिए और प्रत्येक क्रिया , जब कभी भी तो कुछ उपस्थित है ऐसा है कि और .

प्रक्रियाओं और खुले बाईसिमिलर, लिखित कहे जाते हैं यदि जोड़ी कुछ खुले बाईसिमुलेशन के लिए .

प्रारंभिक, देर और मुक्त द्विसमानता भिन्न-भिन्न होती है

प्रारंभिक, देर और खुली बाईस्मिलैरिटी अलग-अलग हैं। रोकथाम उचित हैं, इसलिए .

कुछ उप-गणनाओं में जैसे कि अतुल्यकालिक पाई-कैलकुलस, देर से, प्रारंभिक और खुली बाईस्मिलैरिटी को मेल खाने के लिए जाना जाता है। जबकि, इस सेटिंग में एक अधिक उपयुक्त धारणा अतुल्यकालिक बाईसिमिलरिटी की है।

साहित्य में, ओपन बाईसिम्यूलेशन शब्द सामान्य रूप से एक अधिक परिष्कृत धारणा को संदर्भित करता है, जहां प्रक्रियाओं और संबंधों को विशिष्ट संबंधों द्वारा अनुक्रमित किया जाता है; विवरण ऊपर उद्धृत सांगियोर्गी के पेपर में हैं।

बारबेड तुल्यता

वैकल्पिक रूप से कोई व्यक्ति सिमेंटिक्स को कम करने से सीधे बाईसिम्यूलेशन समकक्ष को परिभाषित कर सकता है। हम लिखते हैं यदि प्रक्रिया नाम पर तुरंत इनपुट या आउटपुट की अनुमति देता है एवं

द्विआधारी संबंध प्रक्रियाओं पर बारबेड बाईसिमुलेशन है यदि यह एक सममित संबंध है जो संतुष्ट करता है कि तत्वों की प्रत्येक जोड़ी के लिए हमारे पास वह है

(1) यदि और केवल यदि प्रत्येक नाम के लिए

और

(2) प्रत्येक कमी के लिए कमी होती है

ऐसा है कि .

हम कहते हैं और कंटीले बाईस्मिलर हैं यदि कांटेदार बाईसिमुलेशन उपस्थित है जहाँ .

एक संदर्भ को एक के रूप में परिभाषित करना π छेद वाला शब्द [] हम कहते हैं कि दो प्रक्रियाएँ P और Q कांटेदार सर्वांगसम हैं, लिखी गई हैं , यदि प्रत्येक संदर्भ के लिए हमारे पास वह है और कांटेदार बाईस्मिलर हैं। यह पता चला है कि कांटेदार सर्वांगसमता प्रारंभिक बाईसिमिलरिटी द्वारा प्रेरित सर्वांगसमता के साथ मेल खाती है।

अनुप्रयोग

π-कैलकुलस का उपयोग कई अलग-अलग प्रकार की समवर्ती प्रणालियों का वर्णन करने के लिए किया गया है। वास्तव में कुछ नवीनतम अनुप्रयोग पारंपरिक कंप्यूटर विज्ञान के क्षेत्र से बाप्रत्येक हैं।

सन 1997 में मार्टिन अबादी और एंड्रयू गॉर्डन ने π-कैलकुलस का विस्तार क्रिप्टोग्राफ़िक प्रोटोकॉल के बारे में वर्णन करने और तर्क करने के लिए एक औपचारिक संकेतन के रूप में स्पाइ-कैलकुलस प्रस्तावित किया। स्पाइ-कैलकुलस, π-एन्क्रिप्शन और डिक्रिप्शन के लिए आदिम के साथ कलन का विस्तार होता है। सन 2001 में मार्टिन अबादी और सेड्रिक फोरनेट ने क्रिप्टोग्राफ़िक प्रोटोकॉल के संचालन को लागू करने के लिए π कलन सामान्यीकृत किया। लागू किए गए वेरिएंट के लिए समर्पित काम का एक बड़ा भाग अब π कलन है जिसमें कई प्रयोगात्मक सत्यापन उपकरण सम्मिलित हैं। एक उदाहरण उपकरण ProVerif [2] है जो ब्रूनो ब्लैंचेट के कारण लागू किए गए अनुवाद पर आधारित है। ब्लैंचेट के लॉजिक प्रोग्रामिंग फ्रेमवर्क में π-कैलकुलस एक अन्य उदाहरण क्रिप्टिक [3] है, एंड्रयू गॉर्डन और एलन जेफरी के कारण जो टाइप सिस्टम के आधार के रूप में वू और लैम के पत्राचार अभिकथन की विधि का उपयोग करता है जो क्रिप्टोग्राफ़िक प्रोटोकॉल के प्रमाणीकरण गुणों की जांच कर सकता है।

सन 2002 के आसपास हॉवर्ड स्मिथ और पीटर फ़िंगर की इसमें रुचि हो गई π-कैलकुलस मॉडलिंग व्यवसाय प्रक्रियाओं के लिए एक विवरण उपकरण बन जाएगा। जुलाई 2006 तक समुदाय में चर्चा हो रही है कि यह कितना उपयोगी होगा। हाल ही में π-कैलकुलस ने बिजनेस प्रोसेस मॉडलिंग लैंग्वेज (BPML) और माइक्रोसॉफ्ट के XLANG के सैद्धांतिक आधार का गठन किया है।[14]

π-कैलकुलस ने आणविक जीव विज्ञान में भी रुचि को आकर्षित किया है। सन 1999 में अवीव रेगेव और एहुद शापिरो ने दिखाया कि एक सेलुलर सिग्नलिंग मार्ग (तथाकथित रिसेप्टर टाइरोसिन किनसे / एमएपीके कैस्केड) और विशेष रूप से आणविक "लेगो" का वर्णन कर सकता है जो π-कैलकुलस के विस्तार में संचार के इन कार्यों को लागू करता है।[2] इस मौलिक पत्र के पश्चात अन्य लेखकों ने न्यूनतम सेल के पूरे चयापचय नेटवर्क का वर्णन किया।[15] सन 2009 में एंथनी नैश और सारा कलवाला ने सिग्नल ट्रांसडक्शन को मॉडल करने के लिए एक π-कैलकुलस फ्रेमवर्क का प्रस्ताव दिया जो डिक्टियोस्टेलियम डिस्कोइडम एग्रीगेशन को निर्देशित करता है।[16]

इतिहास

कैलकुलस मूल रूप से सन 1992 में रॉबिन मिलनर जोआचिम पैरो और डेविड वॉकर द्वारा विकसित किया गया था जो उफ्फे एंगबर्ग और मोगेंस नीलसन के विचारों पर आधारित था।[17] इसे प्रोसेस कैलकुलस सीसीएस (संचार प्रणालियों की गणना) पर मिलनर के काम की निरंतरता के रूप में देखा जा सकता है। अपने ट्यूरिंग व्याख्यान में मिल्नर के विकास का वर्णन π-कैलकुलस अभिनेताओं में मूल्यों और प्रक्रियाओं की एकरूपता को पकड़ने के प्रयास के रूप में करता है।[18]

कार्यान्वयन

निम्नलिखित प्रोग्रामिंग भाषाएँ π-कैलकुलस या इसका एक प्रकार कार्यान्वयन करती हैं:

टिप्पणियाँ

  1. OMG Specification (2011). "Business Process Model and Notation (BPMN) Version 2.0", Object Management Group. p.21
  2. 2.0 2.1 Regev, Aviv; William Silverman; Ehud Y. Shapiro (2001). "पीआई-कैलकुलस प्रक्रिया बीजगणित का उपयोग करके जैव रासायनिक प्रक्रियाओं का प्रतिनिधित्व और अनुकरण". Pacific Symposium on Biocomputing: 459–470. doi:10.1142/9789814447362_0045. ISBN 978-981-02-4515-3. PMID 11262964.
  3. Wing, Jeannette M. (27 December 2002). "FAQ on π-Calculus" (PDF).
  4. A Calculus of Mobile Processes part 1 page 10, by R. Milner, J. Parrow and D. Walker published in Information and Computation 100(1) pp.1-40, Sept 1992
  5. Robin Milner, Communicating and Mobile Systems: The Pi Calculus, Cambridge University Press, ISBN 0521643201. 1999
  6. Sangiorgi, D., & Walker, D. (2003). p51, The Pi-Calculus. Cambridge University Press.
  7. Boudol, G. (1992). Asynchrony and the π-calculus. Technical Report 1702, INRIA, Sophia-Antipolis.
  8. Honda, K.; Tokoro, M. (1991). An Object Calculus for Asynchronous Communication. ECOOP 91. Springer Verlag.
  9. Palamidessi, Catuscia (1997). "सिंक्रोनस और एसिंक्रोनस पाई-कैलकुलस की अभिव्यंजक शक्ति की तुलना करना". Proceedings of the 24th ACM Symposium on Principles of Programming Languages: 256–265. arXiv:cs/9809008. Bibcode:1998cs........9008P.
  10. Milner, Robin (1992). "प्रक्रियाओं के रूप में कार्य करता है" (PDF). Mathematical Structures in Computer Science. 2 (2): 119–141. doi:10.1017/s0960129500001407. hdl:20.500.11820/159b09c0-1147-4f32-baf0-23bed198f12a. S2CID 36446818.
  11. Dam, Mads (1997). "पाई-कैलकुलस के लिए प्रक्रिया तुल्यता की निर्णायकता पर". Theoretical Computer Science. 183 (2): 215–228. doi:10.1016/S0304-3975(96)00325-8.
  12. Milner, R.; J. Parrow; D. Walker (1992). "मोबाइल प्रक्रियाओं की एक गणना" (PDF). Information and Computation. 100 (1): 1–40. doi:10.1016/0890-5401(92)90008-4. hdl:20.500.11820/cdd6d766-14a5-4c3e-8956-a9792bb2c6d3.
  13. Sangiorgi, D. (1996). "A theory of bisimulation for the π-calculus". Acta Informatica. 33: 69–97. doi:10.1007/s002360050036. S2CID 18155730.
  14. "BPML | BPEL4WS: A Convergence Path toward a Standard BPM Stack." BPMI.org Position Paper. August 15, 2002.
  15. Chiarugi, Davide; Pierpaolo Degano; Roberto Marangoni (2007). "जीनोम की कार्यात्मक स्क्रीनिंग के लिए एक कम्प्यूटेशनल दृष्टिकोण". PLOS Computational Biology. 3 (9): 1801–1806. Bibcode:2007PLSCB...3..174C. doi:10.1371/journal.pcbi.0030174. PMC 1994977. PMID 17907794.
  16. Nash, A.; Kalvala, S. (2009). "A Framework Proposition for Cellular Locality of Dictyostelium Modelled in π-Calculus" (PDF). CoSMoS 2009.
  17. Engberg, U.; Nielsen, M. (1986). "लेबल पासिंग के साथ कम्यूनिकेटिंग सिस्टम्स का कैलकुलेशन". DAIMI Report Series. 15 (208). doi:10.7146/dpb.v15i208.7559.
  18. Robin Milner (1993). "Elements of interaction: Turing award lecture". Commun. ACM. 36 (1): 78–89. doi:10.1145/151233.151240.


संदर्भ