इंटरेक्शन नेट
इंटरेक्शन नेट 1990 में यवेस लाफोंट के लिए तैयार किये गए गणना का ग्राफिकल नमूना है[1] रैखिक तर्क की प्रमाण संरचनाओं के सामान्यीकरण के रूप में प्रयोग किया जाता है। परस्पर नेट प्रणाली प्रतिनिधि प्रकारों के सेट और परस्पर नियमों के सेट के लिए निर्दिष्ट किया जाता है। परस्पर नेट इस अर्थ में गणना का स्वाभाविक रूप से वितरित नमूना है कि गणना परस्पर नेट के कई भागो में साथ हो सकती है, और किसी तादात्म्य की आवश्यकता नहीं है। इसलिए गणना के इस नमूना में कमी की मजबूत संगम संपत्ति के लिए उत्तरार्द्ध की गारंटी दी जाती है। इस प्रकार परस्पर नेट बड़े पैमाने पर समानता के लिए प्राकृतिक भाषा प्रदान करते हैं। परस्पर नेट लैम्ब्डा गणना के कई कार्यान्वयनों के केंद्र में हैं, जैसे कि कुशल बंद कटौती[2] और इष्टतम, लेवी के अर्थ में, लैम्बडा स्कोप होता है।[3]
परिभाषा
परस्पर नेट लेखाचित्र जैसी संरचना होती है जिसमें प्रतिनिधि और किनारे होते हैं।
इस प्रकार का प्रतिनिधि और समृद्धि के साथ प्रमुख बंदरगाह है और सहायक बंदरगाह होता है किसी भी पत्तन को अधिकतम किनारे से जोड़ा जा सकता है। इसलिए जो पत्तन किसी किनारे से नहीं जुड़े होते हैं उन्हें मुक्त पत्तन कहा जाता है। मुक्त पत्तन मिलकर परस्पर नेट का अंतराफलक बनाते हैं। सभी प्रतिनिधि प्रकार सेट से संबंधित हैं हस्ताक्षर कहा जाता है.
परस्पर नेट जिसमें केवल किनारे होते हैं उसे तारा कहा जाता है और सामान्यतः इसे इस रूप में दर्शाया जाता है . वृक्ष इसकी जड़ के साथ आगमनात्मक रूप से या तो किनारे के रूप में परिभाषित किया गया है , या प्रतिनिधि के रूप में इसके मुफ़्त मूलधन पत्तन के साथ और इसके सहायक बंदरगाह अन्य पेड़ों की जड़ों से जुड़ा हुआ .होता है|
जिससे रेखांकन रूप से, परस्पर नेट की आदिम संरचनाओं को निम्नानुसार दर्शाया जा सकता है:
जब दो प्रतिनिधि अपने प्रमुख पोर्ट से दूसरे से जुड़े होते हैं, तो वे सक्रिय जोड़ी बनाते हैं।
सक्रिय जोड़े में कोई भी परस्पर नियम प्रस्तुत कर सकता है जो बताता है कि सक्रिय जोड़ी किसी अन्य परस्पर को कैसे फिर से लिखती है
जिससे बिना जाल किसी सक्रिय जोड़े वाले परस्पर नेट को सामान्य रूप में कहा जाता है। हस्ताक्षर (साथ इस पर परिभाषित) प्रतिनिधि के लिए परिभाषित परस्पर नियमों के सेट के साथ मिलकर अंतःक्रिया प्रणाली का निर्माण करते हैं।
परस्पर गणना
जिससे परस्पर नेट के पाठ्य प्रतिनिधित्व को परस्पर गणना कहा जाता है[4] और इसे कार्यक्रमों भाषा के रूप में देखा जा सकता है।
जिससे आगमनात्मक रूप से परिभाषित पेड़ शब्दों के अनुरूप होते हैं परस्पर गणना में, कहां नाम कहा जाता है.
कोई भी परस्पर नेट पहले से परिभाषित तारों और वृक्ष आदिम का उपयोग करके निम्नानुसार फिर से तैयार किया जा सकता है:
जो परस्पर गणना में विन्यास से मेल खाता है
,
कहाँ , , और इच्छानुसार शर्तें हैं. क्रमबद्ध क्रम बाईं ओर को अंतराफलक कहा जाता है, चूँकि दाईं ओर समीकरणों का अव्यवस्थित मल्टीसेट होता है . तारों नामों का अनुवाद करता है, इसलिए प्रत्येक नाम को विन्यास में ठीक दो बार आना पड़ता है।
बिल्कुल वैसे ही जैसे - गणना परस्पर गणना की धारणाएं हैं; -परिवर्तन और प्रतिस्थापन स्वाभाविक रूप से विन्यास पर परिभाषित होते हैं। इसलिए विशेष रूप से, किसी भी नाम की दोनों घटनाओं को a से बदला जा सकता है
यदि किसी दिए गए विन्यास में उत्तरार्द्ध नहीं होता है तो नया नाम। तक के विन्यास को समतुल्य माना जाता है - रूपांतरण. बदले में, प्रतिस्थापन नाम बदलने का परिणाम है शब्द में दूसरे शब्द के साथ अगर पद में बिल्कुल घटना है .
किसी भी परस्पर नियम को लेखाचित्रिक रूप से निम्नानुसार दर्शाया जा सकता है:
कहाँ , और परस्पर नेट दाहिनी ओर को परस्पर गणना में
जिससे अनुवाद करने के लिए तारों और वृक्ष आदिम का उपयोग करके फिर से तैयार किया गया है लाफोंट के संकेतन का उपयोग किया जाता है।
जिससे परस्पर गणना लेखाचित्र से देखने की समानता में अधिक विवरण में विन्यास पर कमी को परिभाषित करता है
परस्पर नेट पर परिभाषित पुनर्लेखन। अर्थात्, यदि , निम्नलिखित कमी होती है :
अंतःक्रिया कहलाती है. जब समीकरणों का रूप होता है , अप्रत्यक्ष परिणाम लागू किया जा सकता है
नाम की अन्य घटना के स्थान पर किसी अवधि में :
या .
समीकरण यदि गतिरोध कहा जाता है अवधि में घटित होता है . सामान्यतः केवल गतिरोध-मुक्त परस्पर नेट पर ही विचार किया जाता है। साथ में, अंतःक्रिया और अप्रत्यक्षता विन्यास पर कमी संबंध को परिभाषित करते हैं। तथ्य यह है कि विन्यास अपने सामान्य स्वरूप में कम हो जाता है कोई समीकरण न बचे होने को इस रूप में दर्शाया जाता है .
गुण
परस्पर नेट निम्नलिखित गुणों से लाभान्वित होते हैं:
- स्थानीयता (केवल सक्रिय जोड़े को फिर से लिखा जा सकता है);
- रैखिकता (प्रत्येक परस्पर नियम को निरंतर समय में लागू किया जा सकता है);
- मजबूत संगम को एक कदम हीरे की संपत्ति (यदि) के रूप में भी जाना जाता है और , तब और कुछ के लिए ).
ये गुण मिलकर बड़े पैमाने पर समानता की अनुमति देते हैं।
परस्पर कॉम्बिनेटर
सबसे सरल परस्पर प्रणाली में से जो किसी अन्य परस्पर प्रणाली का अनुकरण कर सकता है वह परस्पर संयोजक है।[5] इसके हस्ताक्षर हैं साथ और . इन प्रतिनिधि के लिए परस्पर नियम हैं:
- मिटाना कहते हैं;
- दुरुक्ति कहा जाता है;
- और विनाश कहा जाता है.
लेखाचित्रिक रूप से, मिटाने और दुरुक्ति के नियमों को निम्नानुसार दर्शाया जा सकता है:
गैर-समाप्ति अंतःक्रिया नेट के उदाहरण के साथ जो अपने आप में प्रणाली मट जाता है। परस्पर गणना में संबंधित विन्यास से प्रारंभ होने वाला इसका अनंत कमी क्रम इस प्रकार है:
गैर-नियतात्मक विस्तार
जिससे परस्पर नेट अनिवार्य रूप से नियतात्मक हैं और गैर-नियतात्मक संगणनाओं को सीधे नमूना नहीं कर सकते हैं। गैर-नियतात्मक विकल्प को व्यक्त करने के लिए, परस्पर नेट को विस्तारित करने की आवश्यकता है। वास्तव में, केवल प्रतिनिधि का परिचय देना ही पर्याप्त है [6] दो प्रमुख पोर्ट और निम्नलिखित परस्पर नियमों के साथ किया गया था|
यह विशिष्ट प्रतिनिधि अस्पष्ट विकल्प का प्रतिनिधित्व करता है और इसका उपयोग किसी भी अन्य प्रतिनिधि को प्रमुख पोर्ट की मनमानी संख्या के साथ अनुकरण करने के लिए किया जा सकता है। उदाहरण के लिए, यह a को परिभाषित करने की अनुमति देता है बूलियन ऑपरेशन जो अन्य तर्कों में होने वाली गणना से स्वतंत्र होकर, यदि इसका कोई भी तर्क सत्य है, तो सत्य लौटाता है।
यह भी देखें
- परस्पर की ज्यामिति
- ग्राफ पुनर्लेखन
- लैम्ब्डा गणना
- रेखीय ग्राफ व्याकरण
- रेखीय तर्क
- प्रमाण जाल
संदर्भ
- ↑ Lafont, Yves (1990). "इंटरेक्शन जाल". Proceedings of the 17th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages. ACM: 95–108. doi:10.1145/96709.96718. ISBN 0897913434. S2CID 1165803.
- ↑ Mackie, Ian (2008). "बंद कटौती का एक इंटरेक्शन नेट कार्यान्वयन". Implementation and Application of Functional Languages: 20th International Symposium. Lecture Notes in Computer Science. 5836: 43–59. doi:10.1007/978-3-642-24452-0_3. ISBN 978-3-642-24451-3.
- ↑ van Oostrom, Vincent; van de Looij, Kees-Jan; Zwitserlood, Marijn (2010). "Lambdascope: Another optimal implementation of the lambda-calculus" (PDF). Archived from the original (PDF) on 2017-07-06.
{{cite journal}}
: Cite journal requires|journal=
(help) - ↑ Fernández, Maribel; Mackie, Ian (1999). "इंटरेक्शन नेट के लिए एक कैलकुलस". Principles and Practice of Declarative Programming. Lecture Notes in Computer Science. Springer. 1702: 170–187. doi:10.1007/10704567. ISBN 978-3-540-66540-3. S2CID 19458687.
- ↑ Lafont, Yves (1997). "इंटरेक्शन कॉम्बिनेटर". Information and Computation. Academic Press, Inc. 137 (1): 69–101. doi:10.1006/inco.1997.2643.
- ↑ Fernández, Maribel; Khalil, Lionel (2003). "Interaction Nets with McCarthy's Amb: Properties and Applications". Nordic Journal of Computing. 10 (2): 134–162.
अग्रिम पठन
- Asperti, Andrea; Guerrini, Stefano (1998). The Optimal Implementation of Functional Programming Languages. Cambridge Tracts in Theoretical Computer Science. Vol. 45. Cambridge University Press. ISBN 9780521621120.
- Fernández, Maribel (2009). "Interaction-Based Models of Computation". Models of Computation: An Introduction to Computability Theory. Springer Science & Business Media. pp. 107–130. ISBN 9781848824348.
बाहरी संबंध
- de Falco, Marc. "tikz-inet. A set of tikz-based macros for drawing interaction nets".
- de Falco, Marc. "INL. Interaction Nets Laboratory".
- Vilaça, Miguel. "INblobs. An editor and interpreter for Interaction Nets".
- Asperti, Andrea. "The Bologna Optimal Higher-Order Machine". GitHub.
- Salikhmetov, Anton. "JavaScript Engine for Interaction Nets".
- Salikhmetov, Anton. "Macro Lambda Calculus".