पोलिश संकेतन: Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
Line 1: Line 1:
{{Short description|Mathematics notation with operators preceding operands}}
{{Short description|Mathematics notation with operators preceding operands}}
{{About|a prefix notation in mathematics and computer sciences|the similarly named logic|Łukasiewicz logic}}
{{About|गणित और कंप्यूटर विज्ञान में एक उपसर्ग संकेतन|इसी तरह नामित तर्क|लुकासिविक्ज़ तर्क}}


{{Operator notation sidebar |logo=[[File:Prefix-dia.svg|125px]]}}
{{Operator notation sidebar |logo=[[File:Prefix-dia.svg|125px]]}}
पोलिश संकेतन (PN), जिसे सामान्य पोलिश संकेतन (NPN) के रूप में भी जाना जाता है,<ref name="Jorke_1989"/>Lukasiewicz संकेतन, वारसॉ संकेतन, पोलिश उपसर्ग संकेतन या बस उपसर्ग संकेतन, गणितीय संकेतन है जिसमें [[ऑपरेशन (गणित)]] उनके [[ओपेरंड]] को "पहले" करता है, अधिक सामान्य इन्फिक्स संकेतन के विपरीत, जिसमें ऑपरेटरों को ''बीच'' रखा जाता है। ' ऑपरेंड, साथ ही [[रिवर्स पोलिश नोटेशन]] (आरपीएन), जिसमें ऑपरेटर अपने ऑपरेंड का 'अनुसरण' करते हैं। जब तक प्रत्येक ऑपरेटर के पास निश्चित संख्या होती है, तब तक इसे किसी भी कोष्ठक की आवश्यकता नहीं होती है। विवरण पोलिश तर्कशास्त्री जन लुकासिविक्ज़ की [[राष्ट्रीयता]] को संदर्भित करता है,<ref name="Łukasiewicz_1929"/><ref name="Łukasiewicz_1951"/><ref name="Łukasiewicz_1957"/><ref name="Kennedy_1982"/>जिन्होंने 1924 में पोलिश नोटेशन का आविष्कार किया था।<ref name="Hamblin_1962"/><ref name="Ball_1978"/>
पोलिश संकेतन (पीएन), जिसे सामान्य पोलिश संकेतन (एनपीएन) के रूप में भी जाना जाता है,<ref name="Jorke_1989"/> लुकासिविक्ज़ संकेतन, वारसॉ संकेतन, पोलिश उपसर्ग संकेतन या बस उपसर्ग संकेतन, गणितीय संकेतन है जिसमें [[ऑपरेशन (गणित)]] उनके [[ओपेरंड]] को "पहले" करता है, अधिक सामान्य इन्फिक्स संकेतन के विपरीत, जिसमें प्रचालकों को बीच रखा जाता है। 'ऑपरेंड', साथ ही [[रिवर्स पोलिश नोटेशन|रिवर्स पोलिश संकेतन]] (आरपीएन), जिसमें प्रचालक अपने ऑपरेंड का 'अनुसरण' करते हैं। जब तक प्रत्येक प्रचालक के पास निश्चित संख्या होती है, तब तक इसे किसी भी कोष्ठक की आवश्यकता नहीं होती है। विवरण पोलिश तर्कशास्त्री जन लुकासिविक्ज़ की [[राष्ट्रीयता]] को संदर्भित करता है,<ref name="Łukasiewicz_1929"/><ref name="Łukasiewicz_1951"/><ref name="Łukasiewicz_1957"/><ref name="Kennedy_1982"/> जिन्होंने 1924 में पोलिश संकेतन का आविष्कार किया था।<ref name="Hamblin_1962"/><ref name="Ball_1978"/>


पोलिश नोटेशन शब्द को कभी-कभी लिया जाता है (इन्फिक्स नोटेशन के विपरीत) रिवर्स पोलिश नोटेशन को भी शामिल करने के लिए।<ref name="Main_2006"/>
पोलिश संकेतन शब्द को कभी-कभी लिया जाता है (इन्फिक्स संकेतन के विपरीत) रिवर्स पोलिश संकेतन को भी सम्मिलित करने के लिए।<ref name="Main_2006"/>


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


== इतिहास ==
== इतिहास ==


Jan Łukasiewicz, Remarks on Nicod's Axiom and on Generalizing Deduction, पृष्ठ 180 के पेपर का उद्धरण बताता है कि कैसे संकेतन का आविष्कार किया गया था:
जन लुकासिविक्ज़, निकोद की अभिगृहीत और सामान्यीकरण निगमन पर टिप्पणी, पृष्ठ 180 के पेपर का उद्धरण बताता है कि कैसे संकेतन का आविष्कार किया गया था:
<blockquote>1924 में मुझे कोष्ठक-मुक्त अंकन का विचार आया। मैंने अपने लेख Łukasiewicz(1), पृष्ठ में पहली बार उस संकेतन का उपयोग किया। 610, फुटनोट।</blockquote>
<blockquote>1924 में मुझे कोष्ठक-मुक्त अंकन का विचार आया। मैंने अपने लेख लुकासिविक्ज़(1), पृष्ठ में पहली बार उस संकेतन का उपयोग किया। 610, फुटनोट।</blockquote>


Lukasiewicz द्वारा उद्धृत संदर्भ स्पष्ट रूप से [[पोलिश भाषा]] में लिथोग्राफ की गई रिपोर्ट है। लुकासिविक्ज़ रिमार्क्स ऑन निकॉड एक्सिओम एंड ऑन जेनरलाइज़िंग डिडक्शन द्वारा रेफ़रिंग पेपर की समीक्षा 1965 में जर्नल ऑफ़ सिंबॉलिक लॉजिक में हेनरी पोगोरज़ेल्स्की|हेनरी ए. पोगोरज़ेल्स्की द्वारा की गई थी।<ref name="Pogorzelski_1965"/>1924 में मूसा शोनफिंकेल के लेख के संपादक [[हेनरिक बेहमन]],<ref name="Mengelberg"/>तर्क सूत्रों में कोष्ठकों को हटाने का विचार पहले से ही था। Łukasiewicz ने अपने पत्र में कहा कि उनका अंकन सबसे कॉम्पैक्ट और पहला रैखिक रूप से लिखा गया कोष्ठक-मुक्त संकेतन है, लेकिन पहला नहीं जैसा कि [[Gottlob Frege]] ने 1879 में पहले से ही अपने कोष्ठक-मुक्त [[Begriffsschrift]] संकेतन का प्रस्ताव दिया था।<ref name="Gottschall_2005"/>
लुकासिविक्ज़ द्वारा उद्धृत संदर्भ स्पष्ट रूप से [[पोलिश भाषा]] में लिथोग्राफ की गई रिपोर्ट है। लुकासिविक्ज़ रिमार्क्स ऑन निकॉड एक्सिओम एंड ऑन जेनरलाइज़िंग कटौती द्वारा रेफ़रिंग पेपर की समीक्षा 1965 में जर्नल ऑफ़ सिंबॉलिक लॉजिक में हेनरी पोगोरज़ेल्स्की हेनरी ए. पोगोरज़ेल्स्की द्वारा की गई थी।<ref name="Pogorzelski_1965"/> 1924 में मूसा शोनफिंकेल के लेख के संपादक [[हेनरिक बेहमन]],<ref name="Mengelberg"/> तर्क सूत्रों में कोष्ठकों को हटाने का विचार पहले से ही था। लुकासिविक्ज़ ने अपने पत्र में कहा कि उनका अंकन सबसे कॉम्पैक्ट और पहला रैखिक रूप से लिखा गया कोष्ठक-मुक्त संकेतन है, लेकिन पहला नहीं जैसा कि [[Gottlob Frege|गोटलॉब फ्रेज]] ने 1879 में पहले से ही अपने कोष्ठक-मुक्त [[Begriffsschrift|बेग्रिफस्च्रिफ्ट]] संकेतन का प्रस्ताव दिया था।<ref name="Gottschall_2005"/>


[[अलोंजो चर्च]] ने [[गणितीय तर्क]] पर अपनी क्लासिक पुस्तक में इस संकेतन का उल्लेख किया है, जो कि [[अल्फ्रेड नॉर्थ व्हाइटहेड]] और [[बर्ट्रेंड रसेल]] की तार्किक नोटेशनल प्रदर्शनी और [[गणितीय सिद्धांत]] में काम करने के विपरीत नोटेशनल सिस्टम में टिप्पणी के योग्य है।<ref name="Church_1944"/>
[[अलोंजो चर्च]] ने [[गणितीय तर्क]] पर अपनी क्लासिक पुस्तक में इस संकेतन का उल्लेख किया है, जो कि [[अल्फ्रेड नॉर्थ व्हाइटहेड]] और [[बर्ट्रेंड रसेल]] की तार्किक सांकेतिक प्रदर्शनी और [[गणितीय सिद्धांत]] में काम करने के विपरीत सांकेतिक प्रणाली में टिप्पणी के योग्य है।<ref name="Church_1944"/>


Łukasiewicz की 1951 की पुस्तक में, आधुनिक औपचारिक तर्क के दृष्टिकोण से अरस्तू की सिलोजिस्टिक, उन्होंने उल्लेख किया है कि उनके संकेतन का सिद्धांत कोष्ठक से बचने के लिए फ़ंक्शन के तर्क से पहले फ़ंक्शन प्रतीकों को लिखना था और उन्होंने अपने तार्किक पत्रों में अपने अंकन को तब से नियोजित किया था 1929.<ref name="Łukasiewicz_1951"/>इसके बाद वह उदाहरण के रूप में उद्धृत करता है, 1930 का पेपर जो उसने प्रस्तावित कलन पर [[अल्फ्रेड टार्स्की]] के साथ लिखा था।<ref name="Łukasiewicz_1930"/>
लुकासिविक्ज़ की 1951 की पुस्तक में, आधुनिक औपचारिक तर्क के दृष्टिकोण से अरस्तू की सिलोजिस्टिक, उन्होंने उल्लेख किया है कि उनके संकेतन का सिद्धांत कोष्ठक से बचने के लिए फलन के तर्क से पहले फलन प्रतीकों को लिखना था और उन्होंने अपने तार्किक पत्रों में अपने अंकन को तब से नियोजित किया था 1929।<ref name="Łukasiewicz_1951"/> इसके बाद वह उदाहरण के रूप में उद्धृत करता है, 1930 का पेपर जो उसने प्रस्तावित कलन पर [[अल्फ्रेड टार्स्की]] के साथ लिखा था।<ref name="Łukasiewicz_1930"/>


जबकि अब तर्क में ज्यादा इस्तेमाल नहीं किया जाता है,<ref name="Martínez_2011"/>पोलिश संकेतन को तब से [[कंप्यूटर विज्ञान]] में जगह मिली है।
जबकि अब तर्क में ज्यादा उपयोग नहीं किया जाता है,<ref name="Martínez_2011"/> पोलिश संकेतन को तब से [[कंप्यूटर विज्ञान]] में जगह मिली है।


== स्पष्टीकरण ==
== स्पष्टीकरण ==
संख्या 1 और 2 को जोड़ने के लिए अभिव्यक्ति को पोलिश संकेतन में लिखा गया है {{nowrap|+ 1 2}} (उपसर्ग), बजाय के रूप में {{nowrap|1 + 2}} (इनफिक्स)। अधिक जटिल अभिव्यक्तियों में, ऑपरेटर अभी भी अपने ऑपरेंड से पहले होते हैं, लेकिन ऑपरेंड खुद भी एक्सप्रेशन हो सकते हैं जिसमें फिर से ऑपरेटर और उनके ऑपरेंड शामिल हैं। उदाहरण के लिए, अभिव्यक्ति जो पारंपरिक इंफिक्स नोटेशन में लिखी जाएगी
संख्या 1 और 2 को जोड़ने के लिए अभिव्यक्ति को पोलिश संकेतन में लिखा गया है {{nowrap|+ 1 2}} (उपसर्ग), अतिरिक्त के रूप में {{nowrap|1 + 2}} (इनफिक्स)। अधिक जटिल अभिव्यक्तियों में, प्रचालक अभी भी अपने ऑपरेंड से पहले होते हैं, लेकिन ऑपरेंड स्वयं भी अभिव्यक्ति हो सकते हैं जिसमें फिर से प्रचालक और उनके ऑपरेंड सम्मिलित हैं। उदाहरण के लिए, अभिव्यक्ति जो पारंपरिक इंफिक्स संकेतन में लिखी जाएगी
{{block indent|(5 − 6) × 7}}
{{block indent|(5 − 6) × 7}}
पोलिश नोटेशन में लिखा जा सकता है
पोलिश संकेतन में लिखा जा सकता है
{{block indent|× (− 5 6) 7}}
{{block indent|× (− 5 6) 7}}
सभी शामिल ऑपरेटरों के दिए गए एकता को मानते हुए (यहां - घटाव के बाइनरी ऑपरेशन को दर्शाता है, साइन-चेंज के यूनरी फ़ंक्शन को नहीं), कोई भी अच्छी तरह से गठित उपसर्ग प्रतिनिधित्व स्पष्ट है, और उपसर्ग अभिव्यक्ति के भीतर कोष्ठक अनावश्यक हैं। इस प्रकार, उपरोक्त अभिव्यक्ति को और सरल बनाया जा सकता है
सभी सम्मिलित प्रचालकों के दिए गए एकता को मानते हुए (यहां - घटाव के बाइनरी ऑपरेशन को दर्शाता है, साइन-चेंज के यूनरी फलन को नहीं), कोई भी अच्छी तरह से गठित उपसर्ग प्रतिनिधित्व स्पष्ट है, और उपसर्ग अभिव्यक्ति के अंदर कोष्ठक अनावश्यक हैं। इस प्रकार, उपरोक्त अभिव्यक्ति को और सरल बनाया जा सकता है
{{block indent|× − 5 6 7}}
{{block indent|× − 5 6 7}}
उत्पाद के प्रसंस्करण को तब तक के लिए टाल दिया जाता है जब तक कि इसके दो ऑपरेंड उपलब्ध नहीं हो जाते (यानी, 5 माइनस 6, और 7)। किसी भी संकेतन के साथ, अंतरतम अभिव्यक्तियों का मूल्यांकन पहले किया जाता है, लेकिन पोलिश संकेतन में इस अंतरतम-नेस को ब्रैकेटिंग के बजाय ऑपरेटरों और ऑपरेंडों के अनुक्रम द्वारा व्यक्त किया जा सकता है।
उत्पाद के प्रसंस्करण को तब तक के लिए टाल दिया जाता है जब तक कि इसके दो ऑपरेंड उपलब्ध नहीं हो जाते (तथापि, 5 - 6, और 7)। किसी भी संकेतन के साथ, अंतरतम अभिव्यक्तियों का मूल्यांकन पहले किया जाता है, लेकिन पोलिश संकेतन में इस अंतरतम-नेस को ब्रैकेटिंग के अतिरिक्त प्रचालकों और ऑपरेंडों के अनुक्रम द्वारा व्यक्त किया जा सकता है।


पारंपरिक इन्फिक्स नोटेशन में, संचालन के मानक क्रम को ओवरराइड करने के लिए कोष्ठक की आवश्यकता होती है, क्योंकि, उपरोक्त उदाहरण का जिक्र करते हुए, उन्हें स्थानांतरित करना
'''उत्पाद के प्रसंस्करण को तब तक के लिए टाल दिया जाता है जब तक कि इसके दो ऑपरेंड उपलब्ध नहीं हो जाते (तथापि, 5 - 6, और 7)। किसी भी संकेतन के साथ, अंतरतम अभिव्यक्तियों का मूल्यांकन पहले किया जाता है, लेकिन पोलिश संकेतन में इस अंतरतम-नेस को ब्रैकेटिंग के अतिरिक्त प्रचालकों और ऑपरेंडों के अनुक्रम द्वारा व्यक्त किया जा सकता है।'''
 
पारंपरिक इन्फिक्स संकेतन में, संचालन के मानक क्रम को ओवरराइड करने के लिए कोष्ठक की आवश्यकता होती है, क्योंकि, उपरोक्त उदाहरण का जिक्र करते हुए, उन्हें स्थानांतरित करना
{{block indent|5 − (6 × 7)}}
{{block indent|5 − (6 × 7)}}
या उन्हें हटा रहा है
या उन्हें हटा रहा है
Line 37: Line 39:
अभिव्यक्ति के अर्थ और परिणाम को बदल देता है। यह संस्करण पोलिश संकेतन में लिखा गया है
अभिव्यक्ति के अर्थ और परिणाम को बदल देता है। यह संस्करण पोलिश संकेतन में लिखा गया है
{{block indent|− 5 × 6 7.}}
{{block indent|− 5 × 6 7.}}
विभाजन या घटाव जैसे गैर-कम्यूटेटिव संचालन से निपटने के दौरान, ऑपरेटरों की अनुक्रमिक व्यवस्था को इस परिभाषा के साथ समन्वयित करना आवश्यक है कि ऑपरेटर अपने तर्कों को कैसे लेता है, यानी बाएं से दाएं। उदाहरण के लिए, {{nowrap|÷ 10 5}}, 5 के बाईं ओर 10 के साथ, 10 ÷ 5 का अर्थ है (10 को 5 से विभाजित करें के रूप में पढ़ें), या {{nowrap|− 7 6}}, 7 बायें से 6 के साथ, 7 − 6 का अर्थ है (7 ऑपरेंड 6 से घटाना के रूप में पढ़ें)।
विभाजन या घटाव जैसे गैर-कम्यूटेटिव संचालन से निपटने के दौरान, प्रचालकों की अनुक्रमिक व्यवस्था को इस परिभाषा के साथ समन्वयित करना आवश्यक है कि प्रचालक अपने तर्कों को कैसे लेता है, तथापि बाएं से दाएं। उदाहरण के लिए, {{nowrap|÷ 10 5}}, 5 के बाईं ओर 10 के साथ, 10 ÷ 5 का अर्थ है (10 को 5 से विभाजित करें के रूप में पढ़ें), या {{nowrap|− 7 6}}, 7 बायें से 6 के साथ, 7 − 6 का अर्थ है (7 ऑपरेंड 6 से घटाना के रूप में पढ़ें)।


== मूल्यांकन एल्गोरिथ्म ==
== मूल्यांकन एल्गोरिथ्म ==
उपसर्ग/उपसर्ग संकेतन विशेष रूप से कोष्ठकों और अन्य पूर्ववर्ती नियमों की आवश्यकता के बिना संचालन के इच्छित क्रम को व्यक्त करने की अपनी सहज क्षमता के लिए लोकप्रिय है, जैसा कि आमतौर पर इन्फिक्स संकेतन के साथ नियोजित किया जाता है। इसके बजाय, संकेतन विशिष्ट रूप से इंगित करता है कि किस ऑपरेटर को पहले मूल्यांकन करना है। यह माना जाता है कि प्रत्येक ऑपरेटर के पास निश्चित संख्या है, और सभी आवश्यक ऑपरेंड को स्पष्ट रूप से दिया गया माना जाता है। वैध उपसर्ग अभिव्यक्ति हमेशा ऑपरेटर के साथ शुरू होती है और ऑपरेंड के साथ समाप्त होती है। मूल्यांकन या तो बाएं से दाएं या विपरीत दिशा में आगे बढ़ सकता है। बाईं ओर से शुरू करते हुए, इनपुट स्ट्रिंग, जिसमें ऑपरेटर या ऑपरेंड को दर्शाने वाले टोकन शामिल हैं, को स्टैक (सार डेटा प्रकार) पर टोकन के लिए टोकन के लिए धकेल दिया जाता है, जब तक कि स्टैक की शीर्ष प्रविष्टियों में ऑपरेंड की संख्या नहीं होती है जो सबसे शीर्ष ऑपरेटर के लिए फिट होती है। (तुरंत नीचे)। स्टैकटॉप पर टोकन का यह समूह (अंतिम स्टैक्ड ऑपरेटर और ऑपरेंड की संख्या के अनुसार) इन/इस ऑपरेंड पर ऑपरेटर को निष्पादित करने के परिणाम से प्रतिस्थापित किया जाता है। फिर इनपुट की प्रोसेसिंग इसी तरह से चलती रहती है। मान्य उपसर्ग अभिव्यक्ति में सबसे दाहिना ऑपरेंड इस प्रकार संपूर्ण अभिव्यक्ति के मूल्यांकन के परिणाम को छोड़कर, स्टैक को खाली कर देता है। दाईं ओर से शुरू करते समय, टोकन को धक्का देना समान रूप से किया जाता है, बस ऑपरेटर द्वारा मूल्यांकन को ट्रिगर किया जाता है, उचित संख्या में ऑपरेंड ढूंढता है जो स्टैकटॉप पर पहले से ही फिट बैठता है। अब मान्य उपसर्ग अभिव्यक्ति का सबसे बायाँ टोकन ऑपरेटर होना चाहिए, जो स्टैक में ऑपरेंड की संख्या के अनुरूप हो, जो फिर से परिणाम देता है। जैसा कि विवरण से देखा जा सकता है, [[नियतात्मक पुशडाउन ऑटोमेटन]] पुश-डाउन स्टोर जिसमें मनमानी स्टैक निरीक्षण की कोई क्षमता नहीं है, इस [[पदच्छेद]] को लागू करने के लिए पर्याप्त है।
उपसर्ग/उपसर्ग संकेतन विशेष रूप से कोष्ठकों और अन्य पूर्ववर्ती नियमों की आवश्यकता के बिना संचालन के इच्छित क्रम को व्यक्त करने की अपनी सहज क्षमता के लिए लोकप्रिय है, जैसा कि सामान्यतः इन्फिक्स संकेतन के साथ नियोजित किया जाता है। इसके अतिरिक्त, संकेतन विशिष्ट रूप से इंगित करता है कि किस प्रचालक को पहले मूल्यांकन करना है। यह माना जाता है कि प्रत्येक प्रचालक के पास निश्चित संख्या है, और सभी आवश्यक ऑपरेंड को स्पष्ट रूप से दिया गया माना जाता है। वैध उपसर्ग अभिव्यक्ति हमेशा प्रचालक के साथ प्रारंभ होती है और ऑपरेंड के साथ समाप्त होती है। मूल्यांकन या तो बाएं से दाएं या विपरीत दिशा में आगे बढ़ सकता है। बाईं ओर से प्रारंभ करते हुए, इनपुट स्ट्रिंग, जिसमें प्रचालक या ऑपरेंड को दर्शाने वाले टोकन सम्मिलित हैं, को स्टैक (सार डेटा प्रकार) पर टोकन के लिए टोकन के लिए धकेल दिया जाता है, जब तक कि स्टैक की शीर्ष प्रविष्टियों में ऑपरेंड की संख्या नहीं होती है जो सबसे शीर्ष प्रचालक के लिए फिट होती है। (तुरंत नीचे)। स्टैकटॉप पर टोकन का यह समूह (अंतिम स्टैक्ड प्रचालक और ऑपरेंड की संख्या के अनुसार) इन/इस ऑपरेंड पर प्रचालक को निष्पादित करने के परिणाम से प्रतिस्थापित किया जाता है। फिर इनपुट की प्रोसेसिंग इसी तरह से चलती रहती है। मान्य उपसर्ग अभिव्यक्ति में सबसे दाहिना ऑपरेंड इस प्रकार संपूर्ण अभिव्यक्ति के मूल्यांकन के परिणाम को छोड़कर, स्टैक को खाली कर देता है। दाईं ओर से प्रारंभ करते समय, टोकन को धक्का देना समान रूप से किया जाता है, बस प्रचालक द्वारा मूल्यांकन को ट्रिगर किया जाता है, उचित संख्या में ऑपरेंड ढूंढता है जो स्टैकटॉप पर पहले से ही फिट बैठता है। अब मान्य उपसर्ग अभिव्यक्ति का सबसे बायाँ टोकन प्रचालक होना चाहिए, जो स्टैक में ऑपरेंड की संख्या के अनुरूप हो, जो फिर से परिणाम देता है। जैसा कि विवरण से देखा जा सकता है, [[नियतात्मक पुशडाउन ऑटोमेटन]] पुश-डाउन भंडार जिसमें मनमानी स्टैक निरीक्षण की कोई क्षमता नहीं है, इस [[पदच्छेद]] को प्रस्तुत करने के लिए पर्याप्त है।


उपरोक्त स्केच्ड स्टैक मैनिपुलेशन काम करता है - मिरर किए गए इनपुट के साथ - रिवर्स पोलिश नोटेशन में एक्सप्रेशन के लिए भी।
उपरोक्त स्केच किए गए ढेर में हेरफेर का काम करता है - मिरर किए गए इनपुट के साथ - रिवर्स पोलिश संकेतन में अभिव्यक्ति के लिए भी।


== तर्क के लिए पोलिश संकेतन ==
== तर्क के लिए पोलिश संकेतन ==
नीचे दी गई तालिका में [[वाक्यात्मक तर्क]] के लिए जन लुकासिविक्ज़ के अंकन के मूल को दिखाया गया है।<ref name="Craig_1998"/>पोलिश संकेतन तालिका में कुछ अक्षर पोलिश भाषा में विशेष शब्दों के लिए खड़े होते हैं, जैसा कि दिखाया गया है:
नीचे दी गई तालिका में [[वाक्यात्मक तर्क]] के लिए जन लुकासिविक्ज़ के अंकन के मूल को दिखाया गया है।<ref name="Craig_1998"/> पोलिश संकेतन तालिका में कुछ अक्षर पोलिश भाषा में विशेष शब्दों के लिए खड़े होते हैं, जैसा कि दिखाया गया है:


{| class=wikitable
{| class=wikitable
|-
|-
!Concept!!Conventional<br/> notation!!Polish<br/> notation!!Polish<br/>term
!अवधारणा!!पारंपरिक
अंकन
!पोलिश संकेतन!!पोलिश
अवधि
|-
|-
|- style="border-top:3px solid #999;"
|- style="border-top:3px solid #999;"
|-
|-
|[[Negation]]||<math>\neg\varphi</math>||<math>\mathrm N\varphi</math>||{{lang|pl|negacja}}
|[[Negation|निषेध]]||<math>\neg\varphi</math>||<math>\mathrm N\varphi</math>||{{lang|pl|negacja}}
|-
|-
|[[Logical conjunction|Conjunction]]||<math>\varphi\land\psi</math>||<math>\mathrm K\varphi\psi</math>||{{lang|pl|koniunkcja}}
|[[Logical conjunction|संयोजक]]||<math>\varphi\land\psi</math>||<math>\mathrm K\varphi\psi</math>||{{lang|pl|koniunkcja}}
|-
|-
|[[Disjunction]]||<math>\varphi\lor\psi</math>||<math>\mathrm A\varphi\psi</math>||{{lang|pl|alternatywa}}
|[[Disjunction|संयोजन]]||<math>\varphi\lor\psi</math>||<math>\mathrm A\varphi\psi</math>||{{lang|pl|alternatywa}}
|-
|-
|[[Exclusive disjunction]]||<math>\varphi\not\equiv\psi</math>||<math>\mathrm J\varphi\psi</math>||{{lang|pl|alternatywa rozłączna}}
|[[Exclusive disjunction|अनन्य संयोजन]]||<math>\varphi\not\equiv\psi</math>||<math>\mathrm J\varphi\psi</math>||{{lang|pl|alternatywa rozłączna}}
|-
|-
|[[Material conditional]]||<math>\varphi\to\psi</math>||<math>\mathrm C\varphi\psi</math>||{{lang|pl|implikacja}}
|[[Material conditional|सामग्री सशर्त]]||<math>\varphi\to\psi</math>||<math>\mathrm C\varphi\psi</math>||{{lang|pl|implikacja}}
|-
|-
|[[Biconditional]]||<math>\varphi\leftrightarrow\psi</math>||<math>\mathrm E\varphi\psi</math>||{{lang|pl|ekwiwalencja}}
|[[Biconditional|द्विसशर्त]]||<math>\varphi\leftrightarrow\psi</math>||<math>\mathrm E\varphi\psi</math>||{{lang|pl|ekwiwalencja}}
|-
|-
|[[Falsum]]||<math>\bot</math>||<math>\mathrm O</math>||{{lang|pl|fałsz}}
|[[Falsum|फाल्सम]]||<math>\bot</math>||<math>\mathrm O</math>||{{lang|pl|fałsz}}
|-
|-
|[[Sheffer stroke]]||<math>\varphi\mid\psi </math>||<math>\mathrm D\varphi\psi</math>||{{lang|pl|dysjunkcja}}
|[[Sheffer stroke|शेफर स्ट्रोक]]||<math>\varphi\mid\psi </math>||<math>\mathrm D\varphi\psi</math>||{{lang|pl|dysjunkcja}}
|-
|-
|[[Modal logic|Possibility]]||<math>\Diamond\varphi</math>||<math>\mathrm M\varphi</math>||{{lang|pl|możliwość}}
|[[Modal logic|संभावना]]||<math>\Diamond\varphi</math>||<math>\mathrm M\varphi</math>||{{lang|pl|możliwość}}
|-
|-
|[[Modal logic|Necessity]]||<math>\Box\varphi</math>||<math>\mathrm L\varphi</math>||{{lang|pl|konieczność}}
|[[Modal logic|आवश्यकता]]||<math>\Box\varphi</math>||<math>\mathrm L\varphi</math>||{{lang|pl|konieczność}}
|-
|-
|[[Universal quantification|Universal quantifier]]||<math>\forall p\,\varphi</math>||<math>\Pi p\,\varphi</math>||{{lang|pl|kwantyfikator ogólny}}
|[[Universal quantification|सार्वभौमिक परिमाणक]]||<math>\forall p\,\varphi</math>||<math>\Pi p\,\varphi</math>||{{lang|pl|kwantyfikator ogólny}}
|-
|-
|[[Existential quantification|Existential quantifier]]||<math>\exists p\,\varphi</math>||<math>\Sigma p\,\varphi</math>||{{lang|pl|kwantyfikator szczegółowy}}
|[[Existential quantification|अस्तित्वगत परिमाणक]]||<math>\exists p\,\varphi</math>||<math>\Sigma p\,\varphi</math>||{{lang|pl|kwantyfikator szczegółowy}}
|}
|}
ध्यान दें कि [[परिमाणक (तर्क)]]तर्क) कई-मूल्यवान लॉजिक्स पर लुकासिविक्ज़ के काम में प्रस्तावित मूल्यों से अधिक है।
ध्यान दें कि [[परिमाणक (तर्क)]]'''तर्क)''' कई-मूल्यवान लॉजिक्स पर लुकासिविक्ज़ के काम में प्रस्तावित मूल्यों से अधिक है।


जोज़ेफ़ मारिया बोचेंस्की | बोचेंस्की ने पोलिश संकेतन की प्रणाली की शुरुआत की, जो शास्त्रीय प्रस्तावपरक तर्क के सभी 16 द्विआधारी [[तार्किक संयोजक]] का नाम है। शास्त्रीय प्रस्तावपरक तर्क के लिए, यह लुकासिविक्ज़ के अंकन का संगत विस्तार है। लेकिन संकेतन इस अर्थ में असंगत हैं कि बोचेंस्की [[मक तर्क|प्रस्तावपरक तर्क]] में एल और एम (गैर-निम्नीकरण और विलोम गैर-निम्नीकरण के लिए) का उपयोग करता है और लुकासिविक्ज़ मोडल तर्क में एल और एम का उपयोग करता है।<ref name="Bocheński_1959"/>
जोज़ेफ़ मारिया '''बोचेंस्की |''' बोचेंस्की ने पोलिश संकेतन की प्रणाली की प्रारंभ की, जो शास्त्रीय प्रस्तावपरक तर्क के सभी 16 द्विआधारी [[तार्किक संयोजक]] का नाम है। शास्त्रीय प्रस्तावपरक तर्क के लिए, यह लुकासिविक्ज़ के अंकन का संगत विस्तार है। लेकिन संकेतन इस अर्थ में असंगत हैं कि बोचेंस्की [[मक तर्क|प्रस्तावपरक तर्क]] में एल और एम (गैर-निम्नीकरण और विलोम गैर-निम्नीकरण के लिए) का उपयोग करता है और लुकासिविक्ज़ मोडल तर्क में एल और एम का उपयोग करता है।<ref name="Bocheński_1959"/>




== कार्यान्वयन ==
== कार्यान्वयन ==
लिस्प (प्रोग्रामिंग लैंग्वेज) [[s-भाव]] में उपसर्ग संकेतन का व्यापक अनुप्रयोग देखा गया है, जहां ब्रैकेट की आवश्यकता होती है क्योंकि भाषा में ऑपरेटर स्वयं डेटा (प्रथम श्रेणी के कार्य) होते हैं। लिस्प फ़ंक्शंस [[वैराडिक फ़ंक्शन]] भी हो सकते हैं। [[टीसीएल]] प्रोग्रामिंग लैंग्वेज, लिस्प की तरह ही मैथोप लाइब्रेरी के माध्यम से पोलिश नोटेशन का उपयोग करती है। अम्बी<ref name="Ambi"/>प्रोग्रामिंग भाषा अंकगणितीय संचालन और कार्यक्रम निर्माण के लिए पोलिश संकेतन का उपयोग करती है। [[एलडीएपी]] फ़िल्टर सिंटैक्स पोलिश उपसर्ग नोटेशन का उपयोग करता है।<ref name="LDAPSyntax"/>
लिस्प (प्रोग्रामिंग लैंग्वेज) [[s-भाव|एस-भाव]] में उपसर्ग संकेतन का व्यापक अनुप्रयोग देखा गया है, जहां ब्रैकेट की आवश्यकता होती है क्योंकि भाषा में प्रचालक स्वयं डेटा (प्रथम श्रेणी के कार्य) होते हैं। लिस्प फलनों [[वैराडिक फ़ंक्शन|वैराडिक फलन]] भी हो सकते हैं। [[टीसीएल]] प्रोग्रामिंग लैंग्वेज, लिस्प की तरह ही मैथोप लाइब्रेरी के माध्यम से पोलिश संकेतन का उपयोग करती है। अम्बी<ref name="Ambi"/> प्रोग्रामिंग भाषा अंकगणितीय संचालन और कार्यक्रम निर्माण के लिए पोलिश संकेतन का उपयोग करती है। [[एलडीएपी]] फ़िल्टर सिंटैक्स पोलिश उपसर्ग संकेतन का उपयोग करता है।<ref name="LDAPSyntax"/>
 
'''लिस्प (प्रोग्रामिंग लैंग्वेज) [[s-भाव|एस-भाव]] में उपसर्ग संकेतन का व्यापक अनुप्रयोग देखा गया है, जहां ब्रैकेट की आवश्यकता होती है क्योंकि भाषा में प्रचालक स्वयं डेटा (प्रथम श्रेणी के कार्य) होते हैं। लिस्प फलनों [[वैराडिक फ़ंक्शन|वैराडिक फलन]] भी हो सकते हैं। [[टीसीएल]] प्रोग्रामिंग लैंग्वेज, लिस्प की तरह ही मैथोप लाइब्रेरी के माध्यम से पोलिश संकेतन का उपयोग करती है। अम्बी<ref name="Ambi" /> प्रोग्रामिंग भाषा अंकगणितीय संचालन और कार्यक्रम निर्माण के लिए पोलिश संकेतन का उपयोग करती है। [[एलडीएपी]] फ़िल्टर सिंटैक्स पोलिश उपसर्ग संकेतन का उपयोग करता है।<ref name="LDAPSyntax" />'''


पोस्टफिक्स नोटेशन का उपयोग कई [[स्टैक-उन्मुख प्रोग्रामिंग भाषा]] जैसे [[परिशिष्ट भाग]] और [[फोर्थ (प्रोग्रामिंग भाषा)]] में किया जाता है। [[कॉफीस्क्रिप्ट]] सिंटैक्स भी फ़ंक्शन को प्रीफ़िक्स नोटेशन का उपयोग करने की अनुमति देता है, जबकि अभी भी अन्य भाषाओं में यूनरी पोस्टफ़िक्स सिंटैक्स का समर्थन करता है।
अनुलग्न संकेतन का उपयोग कई [[स्टैक-उन्मुख प्रोग्रामिंग भाषा]] जैसे [[परिशिष्ट भाग]] और [[फोर्थ (प्रोग्रामिंग भाषा)]] में किया जाता है। [[कॉफीस्क्रिप्ट]] सिंटैक्स भी फलन को प्रीफ़िक्स संकेतन का उपयोग करने की अनुमति देता है, जबकि अभी भी अन्य भाषाओं में यूनरी अनुलग्न सिंटैक्स का समर्थन करता है।


किसी एक्सप्रेशन के रिटर्न वैल्यू की संख्या एक्सप्रेशन में ऑपरेंड की संख्या और ऑपरेटरों की कुल संख्या के बीच के अंतर के बराबर होती है, जो ऑपरेटरों के रिटर्न वैल्यू की कुल संख्या को घटाती है।
किसी अभिव्यक्ति के वापसी मूल्य की संख्या अभिव्यक्ति में ऑपरेंड की संख्या और प्रचालकों की कुल संख्या के बीच के अंतर के बराबर होती है, जो प्रचालकों के वापसी मूल्य की कुल संख्या को घटाती है।


पोलिश संकेतन, आमतौर पर पोस्टफ़िक्स रूप में, कुछ [[कैलकुलेटर]]ों का चुना हुआ संकेतन है, विशेष रूप से [[एचपी कैलकुलेटर]] | हेवलेट-पैकर्ड से।<ref name="RPN_HP35S"/>निचले स्तर पर, पोस्टफ़िक्स ऑपरेटरों का उपयोग कुछ [[स्टैक मशीनें]] जैसे [[बरोज़ लार्ज सिस्टम्स]] द्वारा किया जाता है।
पोलिश संकेतन, सामान्यतः अनुलग्न रूप में, कुछ [[कैलकुलेटर]]ों का चुना हुआ संकेतन है, विशेष रूप से [[एचपी कैलकुलेटर]] | हेवलेट-पैकर्ड से।<ref name="RPN_HP35S" /> निचले स्तर पर, अनुलग्न प्रचालकों का उपयोग कुछ [[स्टैक मशीनें]] जैसे [[बरोज़ लार्ज सिस्टम्स|बरोज़ लार्ज प्रणाली्स]] द्वारा किया जाता है।


== यह भी देखें ==
== यह भी देखें ==
{{cols|colwidth=26em}}
{{cols|colwidth=26em}}
* रिवर्स पोलिश नोटेशन (RPN)
* रिवर्स पोलिश संकेतन (आरपीएन)
* [[समारोह आवेदन]]
* [[समारोह आवेदन]]
* [[लैम्ब्डा कैलकुलस]]
* [[लैम्ब्डा कैलकुलस]]
Line 101: Line 108:
* [[पोलिश स्कूल ऑफ मैथमैटिक्स]]
* [[पोलिश स्कूल ऑफ मैथमैटिक्स]]
* [[हंगेरियन संकेतन]]
* [[हंगेरियन संकेतन]]
* क्रिया-विषय-वस्तु (VSO)
* क्रिया-विषय-वस्तु (वीएसओ)
* क्रिया-वस्तु-विषय (VOS)
* क्रिया-वस्तु-विषय (वीओएस**)
* [[सिर-दिशात्मकता पैरामीटर]]
* [[सिर-दिशात्मकता पैरामीटर]]
* डब्ल्यूएफएफ 'एन प्रूफ
* डब्ल्यूएफएफ 'एन प्रूफ

Revision as of 02:14, 7 February 2023

पोलिश संकेतन (पीएन), जिसे सामान्य पोलिश संकेतन (एनपीएन) के रूप में भी जाना जाता है,[1] लुकासिविक्ज़ संकेतन, वारसॉ संकेतन, पोलिश उपसर्ग संकेतन या बस उपसर्ग संकेतन, गणितीय संकेतन है जिसमें ऑपरेशन (गणित) उनके ओपेरंड को "पहले" करता है, अधिक सामान्य इन्फिक्स संकेतन के विपरीत, जिसमें प्रचालकों को बीच रखा जाता है। 'ऑपरेंड', साथ ही रिवर्स पोलिश संकेतन (आरपीएन), जिसमें प्रचालक अपने ऑपरेंड का 'अनुसरण' करते हैं। जब तक प्रत्येक प्रचालक के पास निश्चित संख्या होती है, तब तक इसे किसी भी कोष्ठक की आवश्यकता नहीं होती है। विवरण पोलिश तर्कशास्त्री जन लुकासिविक्ज़ की राष्ट्रीयता को संदर्भित करता है,[2][3][4][5] जिन्होंने 1924 में पोलिश संकेतन का आविष्कार किया था।[6][7]

पोलिश संकेतन शब्द को कभी-कभी लिया जाता है (इन्फिक्स संकेतन के विपरीत) रिवर्स पोलिश संकेतन को भी सम्मिलित करने के लिए।[8]

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

इतिहास

जन लुकासिविक्ज़, निकोद की अभिगृहीत और सामान्यीकरण निगमन पर टिप्पणी, पृष्ठ 180 के पेपर का उद्धरण बताता है कि कैसे संकेतन का आविष्कार किया गया था:

1924 में मुझे कोष्ठक-मुक्त अंकन का विचार आया। मैंने अपने लेख लुकासिविक्ज़(1), पृष्ठ में पहली बार उस संकेतन का उपयोग किया। 610, फुटनोट।

लुकासिविक्ज़ द्वारा उद्धृत संदर्भ स्पष्ट रूप से पोलिश भाषा में लिथोग्राफ की गई रिपोर्ट है। लुकासिविक्ज़ रिमार्क्स ऑन निकॉड एक्सिओम एंड ऑन जेनरलाइज़िंग कटौती द्वारा रेफ़रिंग पेपर की समीक्षा 1965 में जर्नल ऑफ़ सिंबॉलिक लॉजिक में हेनरी पोगोरज़ेल्स्की हेनरी ए. पोगोरज़ेल्स्की द्वारा की गई थी।[9] 1924 में मूसा शोनफिंकेल के लेख के संपादक हेनरिक बेहमन,[10] तर्क सूत्रों में कोष्ठकों को हटाने का विचार पहले से ही था। लुकासिविक्ज़ ने अपने पत्र में कहा कि उनका अंकन सबसे कॉम्पैक्ट और पहला रैखिक रूप से लिखा गया कोष्ठक-मुक्त संकेतन है, लेकिन पहला नहीं जैसा कि गोटलॉब फ्रेज ने 1879 में पहले से ही अपने कोष्ठक-मुक्त बेग्रिफस्च्रिफ्ट संकेतन का प्रस्ताव दिया था।[11]

अलोंजो चर्च ने गणितीय तर्क पर अपनी क्लासिक पुस्तक में इस संकेतन का उल्लेख किया है, जो कि अल्फ्रेड नॉर्थ व्हाइटहेड और बर्ट्रेंड रसेल की तार्किक सांकेतिक प्रदर्शनी और गणितीय सिद्धांत में काम करने के विपरीत सांकेतिक प्रणाली में टिप्पणी के योग्य है।[12]

लुकासिविक्ज़ की 1951 की पुस्तक में, आधुनिक औपचारिक तर्क के दृष्टिकोण से अरस्तू की सिलोजिस्टिक, उन्होंने उल्लेख किया है कि उनके संकेतन का सिद्धांत कोष्ठक से बचने के लिए फलन के तर्क से पहले फलन प्रतीकों को लिखना था और उन्होंने अपने तार्किक पत्रों में अपने अंकन को तब से नियोजित किया था 1929।[3] इसके बाद वह उदाहरण के रूप में उद्धृत करता है, 1930 का पेपर जो उसने प्रस्तावित कलन पर अल्फ्रेड टार्स्की के साथ लिखा था।[13]

जबकि अब तर्क में ज्यादा उपयोग नहीं किया जाता है,[14] पोलिश संकेतन को तब से कंप्यूटर विज्ञान में जगह मिली है।

स्पष्टीकरण

संख्या 1 और 2 को जोड़ने के लिए अभिव्यक्ति को पोलिश संकेतन में लिखा गया है + 1 2 (उपसर्ग), अतिरिक्त के रूप में 1 + 2 (इनफिक्स)। अधिक जटिल अभिव्यक्तियों में, प्रचालक अभी भी अपने ऑपरेंड से पहले होते हैं, लेकिन ऑपरेंड स्वयं भी अभिव्यक्ति हो सकते हैं जिसमें फिर से प्रचालक और उनके ऑपरेंड सम्मिलित हैं। उदाहरण के लिए, अभिव्यक्ति जो पारंपरिक इंफिक्स संकेतन में लिखी जाएगी

(5 − 6) × 7

पोलिश संकेतन में लिखा जा सकता है

× (− 5 6) 7

सभी सम्मिलित प्रचालकों के दिए गए एकता को मानते हुए (यहां - घटाव के बाइनरी ऑपरेशन को दर्शाता है, साइन-चेंज के यूनरी फलन को नहीं), कोई भी अच्छी तरह से गठित उपसर्ग प्रतिनिधित्व स्पष्ट है, और उपसर्ग अभिव्यक्ति के अंदर कोष्ठक अनावश्यक हैं। इस प्रकार, उपरोक्त अभिव्यक्ति को और सरल बनाया जा सकता है

× − 5 6 7

उत्पाद के प्रसंस्करण को तब तक के लिए टाल दिया जाता है जब तक कि इसके दो ऑपरेंड उपलब्ध नहीं हो जाते (तथापि, 5 - 6, और 7)। किसी भी संकेतन के साथ, अंतरतम अभिव्यक्तियों का मूल्यांकन पहले किया जाता है, लेकिन पोलिश संकेतन में इस अंतरतम-नेस को ब्रैकेटिंग के अतिरिक्त प्रचालकों और ऑपरेंडों के अनुक्रम द्वारा व्यक्त किया जा सकता है।

उत्पाद के प्रसंस्करण को तब तक के लिए टाल दिया जाता है जब तक कि इसके दो ऑपरेंड उपलब्ध नहीं हो जाते (तथापि, 5 - 6, और 7)। किसी भी संकेतन के साथ, अंतरतम अभिव्यक्तियों का मूल्यांकन पहले किया जाता है, लेकिन पोलिश संकेतन में इस अंतरतम-नेस को ब्रैकेटिंग के अतिरिक्त प्रचालकों और ऑपरेंडों के अनुक्रम द्वारा व्यक्त किया जा सकता है।

पारंपरिक इन्फिक्स संकेतन में, संचालन के मानक क्रम को ओवरराइड करने के लिए कोष्ठक की आवश्यकता होती है, क्योंकि, उपरोक्त उदाहरण का जिक्र करते हुए, उन्हें स्थानांतरित करना

5 − (6 × 7)

या उन्हें हटा रहा है

5 − 6 × 7

अभिव्यक्ति के अर्थ और परिणाम को बदल देता है। यह संस्करण पोलिश संकेतन में लिखा गया है

− 5 × 6 7.

विभाजन या घटाव जैसे गैर-कम्यूटेटिव संचालन से निपटने के दौरान, प्रचालकों की अनुक्रमिक व्यवस्था को इस परिभाषा के साथ समन्वयित करना आवश्यक है कि प्रचालक अपने तर्कों को कैसे लेता है, तथापि बाएं से दाएं। उदाहरण के लिए, ÷ 10 5, 5 के बाईं ओर 10 के साथ, 10 ÷ 5 का अर्थ है (10 को 5 से विभाजित करें के रूप में पढ़ें), या − 7 6, 7 बायें से 6 के साथ, 7 − 6 का अर्थ है (7 ऑपरेंड 6 से घटाना के रूप में पढ़ें)।

मूल्यांकन एल्गोरिथ्म

उपसर्ग/उपसर्ग संकेतन विशेष रूप से कोष्ठकों और अन्य पूर्ववर्ती नियमों की आवश्यकता के बिना संचालन के इच्छित क्रम को व्यक्त करने की अपनी सहज क्षमता के लिए लोकप्रिय है, जैसा कि सामान्यतः इन्फिक्स संकेतन के साथ नियोजित किया जाता है। इसके अतिरिक्त, संकेतन विशिष्ट रूप से इंगित करता है कि किस प्रचालक को पहले मूल्यांकन करना है। यह माना जाता है कि प्रत्येक प्रचालक के पास निश्चित संख्या है, और सभी आवश्यक ऑपरेंड को स्पष्ट रूप से दिया गया माना जाता है। वैध उपसर्ग अभिव्यक्ति हमेशा प्रचालक के साथ प्रारंभ होती है और ऑपरेंड के साथ समाप्त होती है। मूल्यांकन या तो बाएं से दाएं या विपरीत दिशा में आगे बढ़ सकता है। बाईं ओर से प्रारंभ करते हुए, इनपुट स्ट्रिंग, जिसमें प्रचालक या ऑपरेंड को दर्शाने वाले टोकन सम्मिलित हैं, को स्टैक (सार डेटा प्रकार) पर टोकन के लिए टोकन के लिए धकेल दिया जाता है, जब तक कि स्टैक की शीर्ष प्रविष्टियों में ऑपरेंड की संख्या नहीं होती है जो सबसे शीर्ष प्रचालक के लिए फिट होती है। (तुरंत नीचे)। स्टैकटॉप पर टोकन का यह समूह (अंतिम स्टैक्ड प्रचालक और ऑपरेंड की संख्या के अनुसार) इन/इस ऑपरेंड पर प्रचालक को निष्पादित करने के परिणाम से प्रतिस्थापित किया जाता है। फिर इनपुट की प्रोसेसिंग इसी तरह से चलती रहती है। मान्य उपसर्ग अभिव्यक्ति में सबसे दाहिना ऑपरेंड इस प्रकार संपूर्ण अभिव्यक्ति के मूल्यांकन के परिणाम को छोड़कर, स्टैक को खाली कर देता है। दाईं ओर से प्रारंभ करते समय, टोकन को धक्का देना समान रूप से किया जाता है, बस प्रचालक द्वारा मूल्यांकन को ट्रिगर किया जाता है, उचित संख्या में ऑपरेंड ढूंढता है जो स्टैकटॉप पर पहले से ही फिट बैठता है। अब मान्य उपसर्ग अभिव्यक्ति का सबसे बायाँ टोकन प्रचालक होना चाहिए, जो स्टैक में ऑपरेंड की संख्या के अनुरूप हो, जो फिर से परिणाम देता है। जैसा कि विवरण से देखा जा सकता है, नियतात्मक पुशडाउन ऑटोमेटन पुश-डाउन भंडार जिसमें मनमानी स्टैक निरीक्षण की कोई क्षमता नहीं है, इस पदच्छेद को प्रस्तुत करने के लिए पर्याप्त है।

उपरोक्त स्केच किए गए ढेर में हेरफेर का काम करता है - मिरर किए गए इनपुट के साथ - रिवर्स पोलिश संकेतन में अभिव्यक्ति के लिए भी।

तर्क के लिए पोलिश संकेतन

नीचे दी गई तालिका में वाक्यात्मक तर्क के लिए जन लुकासिविक्ज़ के अंकन के मूल को दिखाया गया है।[15] पोलिश संकेतन तालिका में कुछ अक्षर पोलिश भाषा में विशेष शब्दों के लिए खड़े होते हैं, जैसा कि दिखाया गया है:

अवधारणा पारंपरिक

अंकन

पोलिश संकेतन पोलिश

अवधि

निषेध negacja
संयोजक koniunkcja
संयोजन alternatywa
अनन्य संयोजन alternatywa rozłączna
सामग्री सशर्त implikacja
द्विसशर्त ekwiwalencja
फाल्सम fałsz
शेफर स्ट्रोक dysjunkcja
संभावना możliwość
आवश्यकता konieczność
सार्वभौमिक परिमाणक kwantyfikator ogólny
अस्तित्वगत परिमाणक kwantyfikator szczegółowy

ध्यान दें कि परिमाणक (तर्क)तर्क) कई-मूल्यवान लॉजिक्स पर लुकासिविक्ज़ के काम में प्रस्तावित मूल्यों से अधिक है।

जोज़ेफ़ मारिया बोचेंस्की | बोचेंस्की ने पोलिश संकेतन की प्रणाली की प्रारंभ की, जो शास्त्रीय प्रस्तावपरक तर्क के सभी 16 द्विआधारी तार्किक संयोजक का नाम है। शास्त्रीय प्रस्तावपरक तर्क के लिए, यह लुकासिविक्ज़ के अंकन का संगत विस्तार है। लेकिन संकेतन इस अर्थ में असंगत हैं कि बोचेंस्की प्रस्तावपरक तर्क में एल और एम (गैर-निम्नीकरण और विलोम गैर-निम्नीकरण के लिए) का उपयोग करता है और लुकासिविक्ज़ मोडल तर्क में एल और एम का उपयोग करता है।[16]


कार्यान्वयन

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

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

अनुलग्न संकेतन का उपयोग कई स्टैक-उन्मुख प्रोग्रामिंग भाषा जैसे परिशिष्ट भाग और फोर्थ (प्रोग्रामिंग भाषा) में किया जाता है। कॉफीस्क्रिप्ट सिंटैक्स भी फलन को प्रीफ़िक्स संकेतन का उपयोग करने की अनुमति देता है, जबकि अभी भी अन्य भाषाओं में यूनरी अनुलग्न सिंटैक्स का समर्थन करता है।

किसी अभिव्यक्ति के वापसी मूल्य की संख्या अभिव्यक्ति में ऑपरेंड की संख्या और प्रचालकों की कुल संख्या के बीच के अंतर के बराबर होती है, जो प्रचालकों के वापसी मूल्य की कुल संख्या को घटाती है।

पोलिश संकेतन, सामान्यतः अनुलग्न रूप में, कुछ कैलकुलेटरों का चुना हुआ संकेतन है, विशेष रूप से एचपी कैलकुलेटर | हेवलेट-पैकर्ड से।[19] निचले स्तर पर, अनुलग्न प्रचालकों का उपयोग कुछ स्टैक मशीनें जैसे बरोज़ लार्ज प्रणाली्स द्वारा किया जाता है।

यह भी देखें


संदर्भ

  1. Jorke, Günter; Lampe, Bernhard; Wengel, Norbert (1989). Arithmetische Algorithmen der Mikrorechentechnik [Arithmetic algorithms in microcomputers] (in Deutsch) (1 ed.). Berlin, Germany: VEB Verlag Technik. ISBN 3-34100515-3. EAN 978-3-34100515-6. MPN 5539165. License 201.370/4/89. Retrieved 2015-12-01.
  2. Łukasiewicz, Jan (February 1929). Elementy logiki matematycznej [Elements of mathematical logic] (in polski) (1 ed.). Warsaw, Poland: Państwowe Wydawnictwo Naukowe; Łukasiewicz, Jan (1963). Elements of mathematical logic. Translated by Wojtasiewicz, Olgierd Adrian [in polski]. New York, USA: The MacMillan Company. p. 24.
  3. 3.0 3.1 Łukasiewicz, Jan (1951). "Chapter IV. Aristotle's System in Symbolic Form (section on "Explanation of the Symbolism")". Aristotle's Syllogistic from the Standpoint of Modern Formal Logic (1 ed.). p. 78.
  4. Łukasiewicz, Jan (1957). Aristotle's Syllogistic from the Standpoint of Modern Formal Logic (2 ed.). Oxford University Press. (Reprinted by Garland Publishing in 1987, ISBN 0-8240-6924-2.)
  5. Kennedy, John (August 1982). "RPN Perspective". PPC Calculator Journal. Mathematics Department, Santa Monica College, Santa Monica, California, USA. 9 (5): 26–29. CiteSeerX 10.1.1.90.6448. Archived from the original on 2022-07-01. Retrieved 2022-07-02. (12 pages)
  6. Hamblin, Charles Leonard (1962). "Translation to and from Polish notation". Computer Journal. 5 (3): 210–213. doi:10.1093/comjnl/5.3.210.
  7. Ball, John A. (1978). Algorithms for RPN calculators (1 ed.). Cambridge, Massachusetts, USA: Wiley-Interscience, John Wiley & Sons, Inc. ISBN 0-471-03070-8.
  8. Main, Michael (2006). Data structures and other objects using Java (3rd ed.). Pearson PLC Addison-Wesley. p. 334. ISBN 978-0-321-37525-4.
  9. Pogorzelski, Henry Andrew (September 1965). "Reviewed work(s): Remarks on Nicod's Axiom and on "Generalizing Deduction" by Jan Łukasiewicz, Jerzy Słupecki, Państwowe Wydawnictwo Naukowe". The Journal of Symbolic Logic (Review). Association for Symbolic Logic. 30 (3): 376–377. JSTOR 2269644. (NB. The original 1931 paper "Uwagi o aksjomacie Nicoda i 'dedukcji uogólniającej" by Jan Łukasiewicz was re-published at Państwowe Wydawnictwo Naukowe (National Scientific Publishers), Warsaw, Poland in 1961 in a volume edited by Jerzy Słupecki.)
  10. Schönfinkel, Moses (1924). "Über die Bausteine der mathematischen Logik" [On the building blocks of mathematical logic]. Mathematische Annalen (in Deutsch). 92 (3–4): 305–316. doi:10.1007/BF01448013. S2CID 118507515; van Heijenoort, Jean, ed. (1967). "On the building blocks of mathematical logic". A Source Book in Mathematical Logic, 1879–1931. Translated by Bauer-Mengelberg, Stefan [in Nederlands]. Harvard University Press. pp. 355–366.
  11. Gottschall, Christian (2005). Logische Notationen und deren Verarbeitung auf elektronischen Rechenanlagen aus theoretischer, praktischer und historischer Sicht (Diploma thesis) (in Deutsch). Vienna, Austria. p. 88. p. 88: Die ältesten Texte in den 'Selected Works', in denen Łukasiewicz polnische Notation verwendet, datieren relativ spät, sind aber Präsentationen vorangehender Arbeiten, die 'in the course of the years 1920–1930' (S. 131) stattgefunden haben, also auch keine genauere Zeitangabe geben.{{cite book}}: CS1 maint: location missing publisher (link)
  12. Church, Alonzo (1944). Introduction to Mathematical Logic. Princeton, New Jersey, USA: Princeton University Press. p. 38. […] Worthy of remark is the parenthesis-free notation of Jan Łukasiewicz. In this the letters N, A, C, E, K are used in the roles of negation, disjunction, implication, equivalence, conjunction respectively. […]
  13. Łukasiewicz, Jan; Tarski, Alfred (1930). "Untersuchungen über den Aussagenkalkül" [Investigations into the sentential calculus]. Comptes Rendus des Séances de la Société des Sciences et des Lettres de Varsovie. 23 (Cl. III): 31–32.
  14. Martínez Nava, Xóchitl (2011-06-01), "Mhy bib I fail logic? Dyslexia in the teaching of logic", in Blackburn, Patrick; van Ditmarsch, Hans; Manzano, Maria; Soler-Toscano, Fernando (eds.), Tools for Teaching Logic: Third International Congress, TICTTL 2011, Salamanca, Spain, June 1–4, 2011, Proceedings, Lecture Notes in Artificial Intelligence, vol. 6680, Springer Nature, pp. 162–169, doi:10.1007/978-3-642-21350-2_19, ISBN 978-3-64221349-6, […] Polish or prefix notation has come to disuse given the difficulty that using it implies. […]
  15. Craig, Edward (1998). Routledge Encyclopedia of Philosophy, Volume 8. Taylor & Francis. p. 496. ISBN 978-0-41507310-3.
  16. Bocheński, Józef Maria (1959). A Precis of Mathematical Logic (in français and Deutsch). Translated by Bird, Otto. Dordrecht, Holland, Netherlands: D. Reidel..
  17. 17.0 17.1 "Google Code Archive - Long-term storage for Google Code Project Hosting". Archived from the original on 2022-11-14. Retrieved 2022-11-14. {{cite web}}: |archive-date= / |archive-url= timestamp mismatch (help)
  18. 18.0 18.1 "LDAP Filter Syntax". Archived from the original on 2022-11-14. Retrieved 2022-11-14. {{cite web}}: |archive-date= / |archive-url= timestamp mismatch (help)
  19. "HP calculators - HP 35s RPN Mode" (PDF). Hewlett-Packard. Archived (PDF) from the original on 2022-11-14. Retrieved 2022-11-14. {{cite web}}: |archive-date= / |archive-url= timestamp mismatch (help)


अग्रिम पठन


बाहरी संबंध