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

From Vigyanwiki
No edit summary
No edit summary
Line 8: Line 8:
=== प्रक्रिया निर्माण ===
=== प्रक्रिया निर्माण ===


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


कलन में उपलब्ध प्रक्रिया निर्माण निम्नलिखित हैं<ref>{{Cite web|url=https://www.cs.tufts.edu/~nr/cs257/archive/jeannette-wing/pi.pdf|title=FAQ on π-Calculus|last=Wing|first=Jeannette M.|date=27 December 2002}}</ref> (निम्न अनुभाग में एक सटीक परिभाषा दी गई है):
कलन में उपलब्ध प्रक्रिया निर्माण निम्नलिखित हैं<ref>{{Cite web|url=https://www.cs.tufts.edu/~nr/cs257/archive/jeannette-wing/pi.pdf|title=FAQ on π-Calculus|last=Wing|first=Jeannette M.|date=27 December 2002}}</ref> (निम्न अनुभाग में सटीक परिभाषा दी गई है):


* समवर्ती, लिखित <math>P \mid Q</math>, जहाँ <math>P</math> और <math>Q</math> दो प्रक्रियाएं या धागे समवर्ती रूप से निष्पादित होते हैं।
* समवर्ती, लिखित <math>P \mid Q</math>, जहाँ <math>P</math> और <math>Q</math> दो प्रक्रियाएं या सूत्र समवर्ती रूप से निष्पादित होते हैं।
* संचार, जहाँ
* संचार, जहाँ
** इनपुट उपसर्ग <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>, एक ऐसी प्रक्रिया है जिसका निष्पादन पूरा हो गया है और रुक गया है।


Line 52: Line 52:
\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 115: Line 115:
''अल्फा-रूपांतरण'':
''अल्फा-रूपांतरण'':


:* <math>P \equiv Q</math> अगर <math>Q</math> से प्राप्त किया जा सकता है <math>P</math> एक या एक से अधिक बाध्य नामों का नाम बदलकर <math>P</math>.
:* <math>P \equiv Q</math> यदि <math>Q</math> से प्राप्त किया जा सकता है <math>P</math> एक या एक से अधिक बाध्य नामों का नाम बदलकर <math>P</math>.


समानांतर रचना के लिए अभिगृहीत:
समानांतर रचना के लिए अभिगृहीत:
Line 131: Line 131:
अभिगृहीत संबंधित प्रतिबंध और समानांतर:
अभिगृहीत संबंधित प्रतिबंध और समानांतर:


:* <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> कटौती नियमों के एक सेट के तहत कम से कम बंद संबंध के रूप में परिभाषित किया गया है।


Line 145: Line 145:


तीन अतिरिक्त नियम हैं:
तीन अतिरिक्त नियम हैं:
* अगर <math>P \rightarrow Q</math> तब भी <math>P|R \rightarrow Q|R</math>.
* यदि <math>P \rightarrow Q</math> तब भी <math>P|R \rightarrow Q|R</math>.
: यह नियम कहता है कि समानांतर रचना गणना को बाधित नहीं करती है।
: यह नियम कहता है कि समानांतर रचना गणना को बाधित नहीं करती है।
* अगर <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>.


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


:<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}} तीसरे घटक को भी कवर करने के लिए बढ़ाया गया है। इसे स्कोप एक्सटेंशन स्वयंसिद्ध का उपयोग करके कैप्चर किया गया था।


अगला, कमी प्रतिस्थापन स्वयंसिद्ध का उपयोग करके, हम प्राप्त करते हैं
अगला, कमी प्रतिस्थापन स्वयंसिद्ध का उपयोग करके, हम प्राप्त करते हैं
Line 178: Line 178:
=== लेबल किए गए शब्दार्थ ===
=== लेबल किए गए शब्दार्थ ===


वैकल्पिक रूप से, कोई पीआई-कैलकुलस को एक लेबल ट्रांज़िशन सिमेंटिक्स दे सकता है ([[संचार प्रणालियों की गणना]] के कैलकुलस के साथ किया गया है)। <br />
वैकल्पिक रूप से, कोई पीआई-कैलकुलस को एक लेबल ट्रांज़िशन सिमेंटिक्स दे सकता है ([[संचार प्रणालियों की गणना]] के कैलकुलस के साथ किया गया है)। <br />इस शब्दार्थ में एक राज्य से एक संक्रमण <math>P</math> किसी अन्य राज्य के लिए <math>P'</math> एक क्रिया के बाद <math>\alpha</math> के रूप में नोट किया गया है:
इस शब्दार्थ में, एक राज्य से एक संक्रमण <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>


Line 189: Line 189:
== एक्सटेंशन और वेरिएंट ==
== एक्सटेंशन और वेरिएंट ==


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


एक गैर-नियतात्मक पसंद ऑपरेटर <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>, एक छोटे कलन की उपज। हालाँकि, मूल कलन में किसी भी प्रक्रिया को छोटे अतुल्यकालिक द्वारा दर्शाया जा सकता है {{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}}-कलकुलस एक ही क्रिया में एक से अधिक नामों को संप्रेषित करने की अनुमति देता है: <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> (पॉलीडिक इनपुट)। यह पॉलीऐडिक विस्तार, जो विशेष रूप से नाम पासिंग प्रक्रियाओं के प्रकारों का अध्ययन करते समय उपयोगी होता है, एक निजी चैनल के नाम को पास करके मोनैडिक कैलकुस में एन्कोड किया जा सकता है जिसके माध्यम से कई तर्क अनुक्रम में पारित किए जाते हैं। एन्कोडिंग को खंडों द्वारा पुनरावर्ती रूप से परिभाषित किया गया है


Line 203: Line 203:


<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>
अन्य सभी प्रक्रिया निर्माणों को एन्कोडिंग द्वारा अपरिवर्तित छोड़ दिया जाता है।
अन्य सभी प्रक्रिया निर्माणों को एन्कोडिंग द्वारा अपरिवर्तित छोड़ दिया जाता है।


ऊपरोक्त में, <math>[P]</math> निरंतरता में सभी उपसर्गों के एन्कोडिंग को दर्शाता है <math>P</math> उसी तरह से।
ऊपरोक्त में, <math>[P]</math> निरंतरता में सभी उपसर्गों के एन्कोडिंग को दर्शाता है <math>P</math> उसी तरह से।


प्रतिकृति की पूरी शक्ति <math>!P</math> आवश्यकता नहीं है। अक्सर, कोई केवल प्रतिरूपित इनपुट पर विचार करता है <math>! x(y).P</math>, जिसकी संरचनात्मक सर्वांगसमता अभिगृहीत है <math>! x(y).P \equiv x(y).P | !x(y).P</math>.
प्रतिकृति की पूरी शक्ति <math>!P</math> आवश्यकता नहीं है। अधिकतर, कोई केवल प्रतिरूपित इनपुट पर विचार करता है <math>! x(y).P</math>, जिसकी संरचनात्मक सर्वांगसमता अभिगृहीत है <math>! x(y).P \equiv x(y).P | !x(y).P</math>.


प्रतिकृति इनपुट प्रक्रिया जैसे <math> !x(y).P</math> सर्वर के रूप में समझा जा सकता है, चैनल पर प्रतीक्षा कर रहा है
प्रतिकृति इनपुट प्रक्रिया जैसे <math> !x(y).P</math> सर्वर के रूप में समझा जा सकता है, चैनल पर प्रतीक्षा कर रहा है
Line 218: Line 219:


<math>\overline{x}\langle R \rangle.P | x(Y).Q \rightarrow P | Q[R/Y] </math>
<math>\overline{x}\langle R \rangle.P | x(Y).Q \rightarrow P | Q[R/Y] </math>
यहाँ, <math>Y</math> एक प्रक्रिया चर को दर्शाता है जिसे एक प्रक्रिया अवधि द्वारा त्वरित किया जा सकता है। सानगिओर्गी
यहाँ, <math>Y</math> एक प्रक्रिया चर को दर्शाता है जिसे एक प्रक्रिया अवधि द्वारा त्वरित किया जा सकता है। सानगिओर्गी
स्थापित किया है कि प्रक्रियाओं को पारित करने की क्षमता नहीं है
स्थापित किया है कि प्रक्रियाओं को पारित करने की क्षमता नहीं है
Line 230: Line 232:




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


{{See also|Bisimulation}}
{{See also|Bisimulation}}


प्रक्रिया गणना के लिए, {{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> प्रक्रियाओं पर द्विआधारी संबंधों को निरूपित करें।
Line 243: Line 245:


मिलनर, पैरो और वाकर ने प्रारंभिक और बाद की समानता दोनों को अपने मूल पेपर में तैयार किया था {{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>;
* किसी भी गैर-इनपुट कार्रवाई के लिए <math>\alpha</math>, अगर <math>{
* किसी भी गैर-इनपुट कार्रवाई के लिए <math>\alpha</math>, यदि <math>{
p \xrightarrow{\overset{}{\alpha}}  p'
p \xrightarrow{\overset{}{\alpha}}  p'
}  </math> तो कुछ मौजूद है <math>q'</math> ऐसा है कि <math>
}  </math> तो कुछ उपस्थित है <math>q'</math> ऐसा है कि <math>
q \xrightarrow{\overset{}{\alpha}} q'
q \xrightarrow{\overset{}{\alpha}} q'
   </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_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> प्रत्येक नाम वाई के लिए;
*किसी भी गैर-इनपुट कार्रवाई के लिए <math>\alpha</math>, अगर <math>
*किसी भी गैर-इनपुट कार्रवाई के लिए <math>\alpha</math>, यदि <math>
p \xrightarrow{\overset{}{\alpha}} p'
p \xrightarrow{\overset{}{\alpha}} p'
   </math> तात्पर्य है कि कुछ मौजूद है <math>q'</math> ऐसा है कि <math>
   </math> तात्पर्य है कि कुछ उपस्थित है <math>q'</math> ऐसा है कि <math>
q \xrightarrow{\overset{}{\alpha}} q'
q \xrightarrow{\overset{}{\alpha}} q'
   </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>, क्रमशः प्रारंभिक सर्वांगसमता और देर से सर्वांगसमता के रूप में जाना जाता है।
=== मुक्त द्विसमानता ===


=== ओपन बिसिमिलैरिटी ===
सौभाग्य से, एक तीसरी परिभाषा संभव है, जो इस समस्या से बचती है, अर्थात् सांगियोर्गी के कारण मुक्त द्विसमानता।<ref>{{cite journal|last=Sangiorgi|first=D.|title=A theory of bisimulation for the π-calculus|journal=Acta Informatica|volume=33|pages=69–97|year=1996|doi=10.1007/s002360050036|s2cid=18155730 }}</ref>


सौभाग्य से, एक तीसरी परिभाषा संभव है, जो इस समस्या से बचती है, अर्थात् सांगियोर्गी के कारण खुली द्विसमानता।<ref>{{cite journal|last=Sangiorgi|first=D.|title=A theory of bisimulation for the π-calculus|journal=Acta Informatica|volume=33|pages=69–97|year=1996|doi=10.1007/s002360050036|s2cid=18155730 }}</ref>
एक द्विआधारी संबंध <math>R</math> प्रत्येक जोड़ी तत्वों के लिए ओवर प्रोसेस एक ओपन बाईसिमुलेशन है <math>(p, q) \in R</math> और प्रत्येक नाम प्रतिस्थापन के लिए <math>\sigma</math> और प्रत्येक क्रिया <math>\alpha</math>, जब कभी भी <math>
एक द्विआधारी संबंध <math>R</math> प्रत्येक जोड़ी तत्वों के लिए ओवर प्रोसेस एक ओपन बिसिमुलेशन है <math>(p, q) \in R</math> और हर नाम प्रतिस्थापन के लिए <math>\sigma</math> और हर क्रिया <math>\alpha</math>, जब कभी भी <math>
p\sigma \xrightarrow{\overset{}{\alpha}}  p'</math> तो कुछ उपस्थित है <math>q'</math> ऐसा है कि <math>
p\sigma \xrightarrow{\overset{}{\alpha}}  p'</math> तो कुछ मौजूद है <math>q'</math> ऐसा है कि <math>
q\sigma  \xrightarrow{\overset{}{\alpha}} q'
q\sigma  \xrightarrow{\overset{}{\alpha}} q'
   </math> और <math>(p',q') \in R</math>.
   </math> और <math>(p',q') \in R</math>.


प्रक्रियाओं <math>p</math> और <math>q</math> खुले बिसिमिलर, लिखित कहे जाते हैं <math>p \sim_o q</math> अगर जोड़ी <math>(p,q) \in R</math> कुछ खुले बिसिमुलेशन के लिए <math>R</math>.
प्रक्रियाओं <math>p</math> और <math>q</math> खुले बाईसिमिलर, लिखित कहे जाते हैं <math>p \sim_o q</math> यदि जोड़ी <math>(p,q) \in R</math> कुछ खुले बाईसिमुलेशन के लिए <math>R</math>.
 
==== प्रारंभिक, देर और मुक्त द्विसमानता भिन्न-भिन्न होती है ====


==== प्रारंभिक, देर और खुली द्वि-समानता अलग-अलग होती है ====
प्रारंभिक, देर और खुली बाईस्मिलैरिटी अलग-अलग हैं। रोकथाम उचित हैं, इसलिए <math>\sim_o \subsetneq \sim_l \subsetneq \sim_e</math>.


प्रारंभिक, देर और खुली बिस्मिलैरिटी अलग-अलग हैं। रोकथाम उचित हैं, इसलिए <math>\sim_o \subsetneq \sim_l \subsetneq \sim_e</math>.
कुछ उप-गणनाओं में जैसे कि अतुल्यकालिक पाई-कैलकुलस, देर से, प्रारंभिक और खुली बाईस्मिलैरिटी को मेल खाने के लिए जाना जाता है। जबकि, इस सेटिंग में एक अधिक उपयुक्त धारणा अतुल्यकालिक बाईसिमिलरिटी की है।


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


=== कांटेदार तुल्यता ===
=== बारबेड तुल्यता ===


वैकल्पिक रूप से, कोई व्यक्ति सिमेंटिक्स को कम करने से सीधे बिसिम्यूलेशन समकक्ष को परिभाषित कर सकता है। हम लिखते हैं <math>p \Downarrow a</math> अगर प्रक्रिया <math>p</math> नाम पर तुरंत इनपुट या आउटपुट की अनुमति देता है <math>a</math>.
वैकल्पिक रूप से कोई व्यक्ति सिमेंटिक्स को कम करने से सीधे बाईसिम्यूलेशन समकक्ष को परिभाषित कर सकता है। हम लिखते हैं <math>p \Downarrow a</math> यदि प्रक्रिया <math>p</math> नाम पर तुरंत इनपुट या आउटपुट <math>a</math> की अनुमति देता है एवं


एक द्विआधारी संबंध <math>R</math> प्रक्रियाओं पर एक कंटीली बिसिमुलेशन है यदि यह एक सममित संबंध है जो संतुष्ट करता है कि तत्वों की प्रत्येक जोड़ी के लिए <math>(p, q) \in R</math> हमारे पास वह है
द्विआधारी संबंध <math>R</math> प्रक्रियाओं पर बारबेड बाईसिमुलेशन है यदि यह एक सममित संबंध है जो संतुष्ट करता है कि तत्वों की प्रत्येक जोड़ी के लिए <math>(p, q) \in R</math> हमारे पास वह है


:(1) <math>p \Downarrow a</math> अगर और केवल अगर <math>q \Downarrow a</math> हर नाम के लिए <math>a</math>
:(1) <math>p \Downarrow a</math> यदि और केवल यदि <math>q \Downarrow a</math> प्रत्येक नाम के लिए <math>a</math>
और
और


:(2) हर कमी के लिए <math> p \rightarrow p'</math> कमी होती है <math> q \rightarrow  q' </math>
:(2) प्रत्येक कमी के लिए <math> p \rightarrow p'</math> कमी होती है <math> q \rightarrow  q' </math>
ऐसा है कि <math>(p',q') \in R</math>.
ऐसा है कि <math>(p',q') \in R</math>.


हम कहते हैं <math>p</math> और <math>q</math> कंटीले बिस्मिलर हैं यदि कांटेदार बिसिमुलेशन मौजूद है <math>R</math> जहाँ <math>(p,q) \in R</math>.
हम कहते हैं <math>p</math> और <math>q</math> कंटीले बाईस्मिलर हैं यदि कांटेदार बाईसिमुलेशन उपस्थित है <math>R</math> जहाँ <math>(p,q) \in R</math>.


एक संदर्भ को एक के रूप में परिभाषित करना {{pi}} छेद वाला शब्द [] हम कहते हैं कि दो प्रक्रियाएँ P और Q कांटेदार सर्वांगसम हैं, लिखी गई हैं <math>P \sim_b Q\,\!</math>, अगर हर संदर्भ के लिए <math>C[] </math> हमारे पास वह है <math>C[P]</math> और <math>C[Q]</math> कांटेदार बिस्मिलर हैं। यह पता चला है कि कांटेदार सर्वांगसमता प्रारंभिक बिसिमिलरिटी द्वारा प्रेरित सर्वांगसमता के साथ मेल खाती है।
एक संदर्भ को एक के रूप में परिभाषित करना {{pi}} छेद वाला शब्द [] हम कहते हैं कि दो प्रक्रियाएँ P और Q कांटेदार सर्वांगसम हैं, लिखी गई हैं <math>P \sim_b Q\,\!</math>, यदि प्रत्येक संदर्भ के लिए <math>C[] </math> हमारे पास वह है <math>C[P]</math> और <math>C[Q]</math> कांटेदार बाईस्मिलर हैं। यह पता चला है कि कांटेदार सर्वांगसमता प्रारंभिक बाईसिमिलरिटी द्वारा प्रेरित सर्वांगसमता के साथ मेल खाती है।


== अनुप्रयोग ==<!-- This section is linked from [[SPI]] -->
== अनुप्रयोग ==<!-- This section is linked from [[SPI]] -->


  {{pi}pi}}-कैलकुलस का उपयोग कई अलग-अलग प्रकार की समवर्ती प्रणालियों का वर्णन करने के लिए किया गया है। वास्तव में, कुछ नवीनतम अनुप्रयोग पारंपरिक कंप्यूटर विज्ञान के दायरे से बाहर हैं।
  {{pi}}-कैलकुलस का उपयोग कई अलग-अलग प्रकार की समवर्ती प्रणालियों का वर्णन करने के लिए किया गया है। वास्तव में कुछ नवीनतम अनुप्रयोग पारंपरिक कंप्यूटर विज्ञान के क्षेत्र से बाप्रत्येक हैं।
 
1997 में, [[मार्टिन अबादी]] और एंड्रयू गॉर्डन ने इसका विस्तार प्रस्तावित किया {{pi}}-कैलकुलस, स्पाइ-कैलकुलस, क्रिप्टोग्राफ़िक प्रोटोकॉल के बारे में वर्णन करने और तर्क करने के लिए एक औपचारिक संकेतन के रूप में। स्पाइ-कैलकुलस का विस्तार होता है {{pi}}-एन्क्रिप्शन और डिक्रिप्शन के लिए आदिम के साथ कलन। 2001 में, मार्टिन अबादी और सेड्रिक फोरनेट ने क्रिप्टोग्राफ़िक प्रोटोकॉल के संचालन को लागू करने के लिए सामान्यीकृत किया {{pi}} कलन। लागू किए गए वेरिएंट के लिए समर्पित काम का एक बड़ा हिस्सा अब है {{pi}} कलन, जिसमें कई प्रयोगात्मक सत्यापन उपकरण सम्मिलित हैं। एक उदाहरण उपकरण [[ ProVerif ]] [http://www.proverif.ens.fr/] है, जो ब्रूनो ब्लैंचेट के कारण लागू किए गए अनुवाद पर आधारित है। {{pi}}-ब्लैंचेट के लॉजिक प्रोग्रामिंग फ्रेमवर्क में कैलकुलस। एक अन्य उदाहरण क्रिप्टिक [http://www.cryptyc.org] है, एंड्रयू गॉर्डन और एलन जेफरी के कारण, जो टाइप सिस्टम के आधार के रूप में वू और लैम के पत्राचार अभिकथन की विधि का उपयोग करता है जो क्रिप्टोग्राफ़िक प्रोटोकॉल के प्रमाणीकरण गुणों की जांच कर सकता है।
 
2002 के आसपास, हॉवर्ड स्मिथ और पीटर फ़िंगर की इसमें रुचि हो गई {{pi}}-कैलकुलस मॉडलिंग व्यवसाय प्रक्रियाओं के लिए एक विवरण उपकरण बन जाएगा। जुलाई 2006 तक, समुदाय में चर्चा हो रही है कि यह कितना उपयोगी होगा। हाल ही में, द {{pi}}-कैलकुलस ने [[बिजनेस प्रोसेस मॉडलिंग लैंग्वेज]] (BPML) और माइक्रोसॉफ्ट के XLANG के सैद्धांतिक आधार का गठन किया है।<ref>[http://www.bpmi.org/downloads/BPML-BPEL4WS.pdf "BPML | BPEL4WS: A Convergence Path toward a Standard BPM Stack."] BPMI.org Position Paper. August 15, 2002.</ref>


  {{pi}pi}}-कैलकुलस ने आणविक जीव विज्ञान में भी रुचि को आकर्षित किया है। 1999 में, [[अवीव रेगेव]] और [[एहुद शापिरो]] ने दिखाया कि एक सेलुलर सिग्नलिंग मार्ग (तथाकथित [[रिसेप्टर टाइरोसिन किनसे]] / [[एमएपीके]] कैस्केड) और विशेष रूप से आणविक लेगो का वर्णन कर सकता है जो संचार के इन कार्यों को एक विस्तार में लागू करता है। {{pi}}-कलन।<ref name="reeve">{{cite journal|first=Aviv|last=Regev|author-link=Aviv Regev|author2=William Silverman |author3= Ehud Y. Shapiro|year=2001|title=पीआई-कैलकुलस प्रक्रिया बीजगणित का उपयोग करके जैव रासायनिक प्रक्रियाओं का प्रतिनिधित्व और अनुकरण|journal=[[Pacific Symposium on Biocomputing]]|pages=459–470|doi=10.1142/9789814447362_0045 |pmid=11262964 |isbn=978-981-02-4515-3 }}</ref> इस मौलिक पत्र के बाद, अन्य लेखकों ने न्यूनतम सेल के पूरे चयापचय नेटवर्क का वर्णन किया।<ref>{{cite journal|first=Davide|last=Chiarugi|author2=Pierpaolo Degano |author3= Roberto Marangoni|year=2007|title=जीनोम की कार्यात्मक स्क्रीनिंग के लिए एक कम्प्यूटेशनल दृष्टिकोण|journal=[[PLOS Computational Biology]]|volume=3|issue=9|pages=1801–1806|pmc=1994977|doi=10.1371/journal.pcbi.0030174|pmid=17907794|bibcode=2007PLSCB...3..174C }}</ref> 2009 में, एंथोनी नैश और [[ शर नहरें ]] ने एक प्रस्ताव रखा {{pi}}-डिक्टियोस्टेलियम डिस्कोइडम एकत्रीकरण को निर्देशित करने वाले सिग्नल ट्रांसडक्शन को मॉडल करने के लिए कैलकुलस फ्रेमवर्क।<ref>{{cite journal|author=Nash, A.|author2=Kalvala, S.|title= A Framework Proposition for Cellular Locality of Dictyostelium Modelled in π-Calculus|journal=CoSMoS 2009|year=2009 |url= https://cosmos-research.org/docs/cosmos2009-proceedings.pdf#page=93}}</ref>
सन 1997 में [[मार्टिन अबादी]] और एंड्रयू गॉर्डन ने {{pi}}-कैलकुलस का विस्तार क्रिप्टोग्राफ़िक प्रोटोकॉल के बारे में वर्णन करने और तर्क करने के लिए एक औपचारिक संकेतन के रूप में स्पाइ-कैलकुलस प्रस्तावित किया। स्पाइ-कैलकुलस, {{pi}}-एन्क्रिप्शन और डिक्रिप्शन के लिए आदिम के साथ कलन का विस्तार होता है। सन 2001 में मार्टिन अबादी और सेड्रिक फोरनेट ने क्रिप्टोग्राफ़िक प्रोटोकॉल के संचालन को लागू करने के लिए {{pi}} कलन सामान्यीकृत किया। लागू किए गए वेरिएंट के लिए समर्पित काम का एक बड़ा भाग अब {{pi}} कलन है जिसमें कई प्रयोगात्मक सत्यापन उपकरण सम्मिलित हैं। एक उदाहरण उपकरण [[ ProVerif ]] [http://www.proverif.ens.fr/] है जो ब्रूनो ब्लैंचेट के कारण लागू किए गए अनुवाद पर आधारित है। ब्लैंचेट के लॉजिक प्रोग्रामिंग फ्रेमवर्क में {{pi}}-कैलकुलस एक अन्य उदाहरण क्रिप्टिक [http://www.cryptyc.org] है, एंड्रयू गॉर्डन और एलन जेफरी के कारण जो टाइप सिस्टम के आधार के रूप में वू और लैम के पत्राचार अभिकथन की विधि का उपयोग करता है जो क्रिप्टोग्राफ़िक प्रोटोकॉल के प्रमाणीकरण गुणों की जांच कर सकता है।


सन 2002 के आसपास हॉवर्ड स्मिथ और पीटर फ़िंगर की इसमें रुचि हो गई {{pi}}-कैलकुलस मॉडलिंग व्यवसाय प्रक्रियाओं के लिए एक विवरण उपकरण बन जाएगा। जुलाई 2006 तक समुदाय में चर्चा हो रही है कि यह कितना उपयोगी होगा। हाल ही में {{pi}}-कैलकुलस ने [[बिजनेस प्रोसेस मॉडलिंग लैंग्वेज]] (BPML) और माइक्रोसॉफ्ट के XLANG के सैद्धांतिक आधार का गठन किया है।<ref>[http://www.bpmi.org/downloads/BPML-BPEL4WS.pdf "BPML | BPEL4WS: A Convergence Path toward a Standard BPM Stack."] BPMI.org Position Paper. August 15, 2002.</ref>


== इतिहास == {{pi}pi}}-कैलकुलस मूल रूप से 1992 में रॉबिन मिलनर, जोआचिम पैरो और डेविड वॉकर द्वारा विकसित किया गया था, जो उफ्फे एंगबर्ग और मोगेंस नीलसन के विचारों पर आधारित था।<ref>{{cite journal|author1=Engberg, U.|author2=Nielsen, M.|date=1986|title=लेबल पासिंग के साथ कम्यूनिकेटिंग सिस्टम्स का कैलकुलेशन|journal=DAIMI Report Series|volume=15|issue=208|doi= 10.7146/dpb.v15i208.7559|doi-access=free}}</ref> इसे प्रोसेस कैलकुलस सीसीएस ([[संचार प्रणालियों की गणना]]) पर मिलनर के काम की निरंतरता के रूप में देखा जा सकता है। अपने ट्यूरिंग व्याख्यान में, मिल्नर के विकास का वर्णन करता है {{pi}}-कैलकुलस अभिनेताओं में मूल्यों और प्रक्रियाओं की एकरूपता को पकड़ने के प्रयास के रूप में।<ref>{{cite journal|author=Robin Milner|date=1993|title=Elements of interaction: Turing award lecture|journal=Commun. ACM |volume=36|issue=1|pages=78–89|doi= 10.1145/151233.151240|doi-access=free}}</ref>
{{pi}}-कैलकुलस ने आणविक जीव विज्ञान में भी रुचि को आकर्षित किया है। सन 1999 में [[अवीव रेगेव]] और [[एहुद शापिरो]] ने दिखाया कि एक सेलुलर सिग्नलिंग मार्ग (तथाकथित [[रिसेप्टर टाइरोसिन किनसे]] / [[एमएपीके]] कैस्केड) और विशेष रूप से आणविक "लेगो" का वर्णन कर सकता है जो {{pi}}-कैलकुलस के विस्तार में संचार के इन कार्यों को लागू करता है।<ref name="reeve">{{cite journal|first=Aviv|last=Regev|author-link=Aviv Regev|author2=William Silverman |author3= Ehud Y. Shapiro|year=2001|title=पीआई-कैलकुलस प्रक्रिया बीजगणित का उपयोग करके जैव रासायनिक प्रक्रियाओं का प्रतिनिधित्व और अनुकरण|journal=[[Pacific Symposium on Biocomputing]]|pages=459–470|doi=10.1142/9789814447362_0045 |pmid=11262964 |isbn=978-981-02-4515-3 }}</ref> इस मौलिक पत्र के पश्चात अन्य लेखकों ने न्यूनतम सेल के पूरे चयापचय नेटवर्क का वर्णन किया।<ref>{{cite journal|first=Davide|last=Chiarugi|author2=Pierpaolo Degano |author3= Roberto Marangoni|year=2007|title=जीनोम की कार्यात्मक स्क्रीनिंग के लिए एक कम्प्यूटेशनल दृष्टिकोण|journal=[[PLOS Computational Biology]]|volume=3|issue=9|pages=1801–1806|pmc=1994977|doi=10.1371/journal.pcbi.0030174|pmid=17907794|bibcode=2007PLSCB...3..174C }}</ref> सन 2009 में एंथनी नैश और सारा कलवाला ने सिग्नल ट्रांसडक्शन को मॉडल करने के लिए एक {{pi}}-कैलकुलस फ्रेमवर्क का प्रस्ताव दिया जो डिक्टियोस्टेलियम डिस्कोइडम एग्रीगेशन को निर्देशित करता है।<ref>{{cite journal|author=Nash, A.|author2=Kalvala, S.|title= A Framework Proposition for Cellular Locality of Dictyostelium Modelled in π-Calculus|journal=CoSMoS 2009|year=2009 |url= https://cosmos-research.org/docs/cosmos2009-proceedings.pdf#page=93}}</ref>


=== इतिहास ===
कैलकुलस मूल रूप से सन 1992 में रॉबिन मिलनर जोआचिम पैरो और डेविड वॉकर द्वारा विकसित किया गया था जो उफ्फे एंगबर्ग और मोगेंस नीलसन के विचारों पर आधारित था।<ref>{{cite journal|author1=Engberg, U.|author2=Nielsen, M.|date=1986|title=लेबल पासिंग के साथ कम्यूनिकेटिंग सिस्टम्स का कैलकुलेशन|journal=DAIMI Report Series|volume=15|issue=208|doi= 10.7146/dpb.v15i208.7559|doi-access=free}}</ref> इसे प्रोसेस कैलकुलस सीसीएस ([[संचार प्रणालियों की गणना]]) पर मिलनर के काम की निरंतरता के रूप में देखा जा सकता है। अपने ट्यूरिंग व्याख्यान में मिल्नर के विकास का वर्णन {{pi}}-कैलकुलस अभिनेताओं में मूल्यों और प्रक्रियाओं की एकरूपता को पकड़ने के प्रयास के रूप में करता है।<ref>{{cite journal|author=Robin Milner|date=1993|title=Elements of interaction: Turing award lecture|journal=Commun. ACM |volume=36|issue=1|pages=78–89|doi= 10.1145/151233.151240|doi-access=free}}</ref>


== कार्यान्वयन ==
== कार्यान्वयन ==


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


* बिजनेस प्रोसेस मॉडलिंग लैंग्वेज (बीपीएमएल)
* बिजनेस प्रोसेस मॉडलिंग लैंग्वेज (बीपीएमएल)

Revision as of 23:11, 30 May 2023

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

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

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

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

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

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

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

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

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

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

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

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

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


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

सिंटेक्स

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

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

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

Construct Free names
None
a; x; all free names of P
a; free names of P except for x
All free names of P and Q
Free names of P except for x
All free names of P


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

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

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

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

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

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

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

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

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

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

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

कमी शब्दार्थ

हम लिखते हैं यदि एक संगणना चरण कर सकता है, जिसके बाद यह अब है . यह कमी संबंध कटौती नियमों के एक सेट के तहत कम से कम बंद संबंध के रूप में परिभाषित किया गया है।

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

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

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

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

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

उदाहरण पर दोबारा गौर किया गया

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

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

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

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

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

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

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


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

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

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

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

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


एक्सटेंशन और वेरिएंट

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

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

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

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

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

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

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

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

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

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

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

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

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

गुण

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

सौभाग्य से, एक तीसरी परिभाषा संभव है, जो इस समस्या से बचती है, अर्थात् सांगियोर्गी के कारण मुक्त द्विसमानता।[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.


संदर्भ