पोलिश संकेतन: Difference between revisions
(→इतिहास) |
|||
| Line 8: | Line 8: | ||
== इतिहास == | == इतिहास == | ||
जन लुकासिविक्ज़, निकोद की अभिगृहीत और सामान्यीकरण निगमन पर टिप्पणी, पृष्ठ 180 के पेपर का उद्धरण बताता है कि कैसे संकेतन का आविष्कार किया गया था: | जन लुकासिविक्ज़, निकोद की अभिगृहीत और सामान्यीकरण निगमन पर टिप्पणी, पृष्ठ 180 के पेपर का उद्धरण बताता है कि कैसे संकेतन का आविष्कार किया गया था: जन लुकासिविक्ज़ के एक पेपर का एक उद्धरण, निकोद के स्वयंसिद्ध पर टिप्पणी और "सामान्यीकरण निगमन" पर, पृष्ठ 180, बताता है कि कैसे संकेतन का आविष्कार किया गया था: | ||
<blockquote>1924 में मुझे कोष्ठक-मुक्त अंकन का विचार आया। मैंने अपने लेख लुकासिविक्ज़(1), पृष्ठ में पहली बार उस संकेतन का उपयोग किया। 610, फुटनोट है।</blockquote> | <blockquote>1924 में मुझे कोष्ठक-मुक्त अंकन का विचार आया। मैंने अपने लेख लुकासिविक्ज़(1), पृष्ठ में पहली बार उस संकेतन का उपयोग किया। 610, फुटनोट है।</blockquote> | ||
लुकासिविक्ज़ द्वारा उद्धृत संदर्भ स्पष्ट रूप से [[पोलिश भाषा]] में लिथोग्राफ की गई रिपोर्ट है। लुकासिविक्ज़ रिमार्क्स ऑन निकॉड एक्सिओम और ऑन " | लुकासिविक्ज़ द्वारा उद्धृत संदर्भ स्पष्ट रूप से [[पोलिश भाषा]] में लिथोग्राफ की गई रिपोर्ट है। लुकासिविक्ज़ रिमार्क्स ऑन निकॉड एक्सिओम और ऑन "सामान्यीकरण निगमन" द्वारा रेफ़रिंग पेपर की समीक्षा 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"/> | ||
लुकासिविक्ज़ की 1951 की पुस्तक में, आधुनिक औपचारिक तर्क के दृष्टिकोण से अरस्तू की सिलोजिस्टिक, उन्होंने उल्लेख किया है कि उनके संकेतन का सिद्धांत कोष्ठक से बचने के लिए फलन के तर्क से पहले फलन प्रतीकों को लिखना था और उन्होंने 1929 से अपने तार्किक पत्रों में अपने अंकन को तब से नियोजित किया था।<ref name="Łukasiewicz_1951"/> इसके बाद वह उदाहरण के रूप में उद्धृत करता है, 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) उपलब्ध नहीं हो जाते। किसी भी संकेतन के साथ, अंतरतम अभिव्यक्तियों का मूल्यांकन पहले किया जाता है, लेकिन पोलिश संकेतन में इस अंतरतम-नेस को कोष्ठकों के अतिरिक्त प्रचालकों और ऑपरेंडों के अनुक्रम द्वारा व्यक्त किया जा सकता है। | ||
पारंपरिक इन्फिक्स संकेतन में, संचालन के मानक क्रम को ओवरराइड करने के लिए कोष्ठक की आवश्यकता होती है, क्योंकि, उपरोक्त उदाहरण की बात करते हुए, उन्हें स्थानांतरित करना | पारंपरिक इन्फिक्स संकेतन में, संचालन के मानक क्रम को ओवरराइड करने के लिए कोष्ठक की आवश्यकता होती है, क्योंकि, उपरोक्त उदाहरण की बात करते हुए, उन्हें स्थानांतरित करना | ||
| Line 34: | Line 34: | ||
अभिव्यक्ति के अर्थ और परिणाम को परिवर्तित कर देता है। यह संस्करण पोलिश संकेतन में लिखा गया है | अभिव्यक्ति के अर्थ और परिणाम को परिवर्तित कर देता है। यह संस्करण पोलिश संकेतन में लिखा गया है | ||
{{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 से घटाना के रूप में पढ़ें) है। | ||
== मूल्यांकन एल्गोरिथ्म == | == मूल्यांकन एल्गोरिथ्म == | ||
उपसर्ग/उपसर्ग संकेतन विशेष रूप से कोष्ठकों और अन्य पूर्ववर्ती नियमों की आवश्यकता के बिना संचालन के इच्छित क्रम को व्यक्त करने की अपनी सहज क्षमता के लिए लोकप्रिय है, जैसा कि सामान्यतः इन्फिक्स संकेतन के साथ नियोजित किया जाता है। इसके अतिरिक्त, संकेतन विशिष्ट रूप से इंगित करता है कि किस प्रचालक को पहले मूल्यांकन करना है। यह माना जाता है कि प्रत्येक प्रचालक के पास निश्चित संख्या है, और सभी आवश्यक ऑपरेंड को स्पष्ट रूप से दिया गया माना जाता है। वैध उपसर्ग अभिव्यक्ति हमेशा प्रचालक के साथ प्रारंभ होती है और ऑपरेंड के साथ समाप्त होती है। मूल्यांकन या तो बाएं से दाएं या विपरीत दिशा में आगे बढ़ सकता है। बाईं ओर से प्रारंभ करते हुए, इनपुट स्ट्रिंग, जिसमें प्रचालक या ऑपरेंड को दर्शाने वाले टोकन सम्मिलित हैं, को स्टैक (सार डेटा प्रकार) पर टोकन के लिए धकेल दिया जाता है, जब तक कि स्टैक की शीर्ष प्रविष्टियों में ऑपरेंड की संख्या नहीं होती है जो सबसे शीर्ष प्रचालक के लिए उपयुक्त होती है। स्टैकटॉप पर टोकन का यह समूह (अंतिम स्टैक्ड प्रचालक और ऑपरेंड की संख्या के अनुसार) इन/इस ऑपरेंड पर प्रचालक को निष्पादित करने के परिणाम से प्रतिस्थापित किया जाता है। फिर इनपुट की प्रोसेसिंग इसी तरह से चलती रहती है। मान्य उपसर्ग अभिव्यक्ति में सबसे दाहिना ऑपरेंड इस प्रकार संपूर्ण अभिव्यक्ति के मूल्यांकन के परिणाम को छोड़कर, स्टैक को खाली कर देता है। दाईं ओर से प्रारंभ करते समय, टोकन को धक्का देना समान रूप से किया जाता है, बस प्रचालक द्वारा मूल्यांकन को ट्रिगर किया जाता है, उचित संख्या में ऑपरेंड ढूंढता है जो स्टैकटॉप पर पहले से ही | '''उपसर्ग/'''उपसर्ग संकेतन विशेष रूप से कोष्ठकों और अन्य पूर्ववर्ती नियमों की आवश्यकता के बिना संचालन के इच्छित क्रम को व्यक्त करने की अपनी सहज क्षमता के लिए लोकप्रिय है, जैसा कि सामान्यतः इन्फिक्स संकेतन के साथ नियोजित किया जाता है। इसके अतिरिक्त, संकेतन विशिष्ट रूप से '''इंगित करता है कि''' किस प्रचालक को पहले मूल्यांकन करना है, यह इंगित करता है। यह माना जाता है कि प्रत्येक प्रचालक के पास निश्चित संख्या है, और सभी आवश्यक ऑपरेंड को स्पष्ट रूप से दिया गया माना जाता है। वैध उपसर्ग अभिव्यक्ति हमेशा प्रचालक के साथ प्रारंभ होती है और ऑपरेंड के साथ समाप्त होती है। मूल्यांकन या तो बाएं से दाएं या विपरीत दिशा में आगे बढ़ सकता है। बाईं ओर से प्रारंभ करते हुए, इनपुट स्ट्रिंग, जिसमें प्रचालक या ऑपरेंड को दर्शाने वाले टोकन सम्मिलित हैं, '''को''' स्टैक (सार डेटा प्रकार) पर टोकन के लिए धकेल दिया जाता है, जब तक कि स्टैक की शीर्ष प्रविष्टियों में ऑपरेंड की संख्या नहीं होती है जो सबसे शीर्ष प्रचालक के लिए उपयुक्त होती है। स्टैकटॉप पर टोकन का यह समूह (अंतिम स्टैक्ड प्रचालक और ऑपरेंड की संख्या के अनुसार) इन/इस ऑपरेंड पर प्रचालक को निष्पादित करने के परिणाम से प्रतिस्थापित किया जाता है। फिर इनपुट की प्रोसेसिंग इसी तरह से चलती रहती है। मान्य उपसर्ग अभिव्यक्ति में सबसे दाहिना ऑपरेंड इस प्रकार संपूर्ण अभिव्यक्ति के मूल्यांकन के परिणाम को छोड़कर, स्टैक को खाली कर देता है। दाईं ओर से प्रारंभ करते समय, टोकन को धक्का देना समान रूप से किया जाता है, बस प्रचालक द्वारा मूल्यांकन को ट्रिगर किया जाता है, उचित संख्या में ऑपरेंड ढूंढता है जो स्टैकटॉप पर पहले से ही सही बैठता है। अब मान्य उपसर्ग अभिव्यक्ति का सबसे बायाँ टोकन प्रचालक होना चाहिए, जो स्टैक में ऑपरेंड की संख्या के अनुरूप हो, जो फिर से परिणाम देता है। जैसा कि विवरण से देखा जा सकता है, [[नियतात्मक पुशडाउन ऑटोमेटन]] पुश-डाउन भंडार जिसमें मनमानी स्टैक निरीक्षण की कोई क्षमता नहीं है, इस [[पदच्छेद]] को प्रस्तुत करने के लिए पर्याप्त है। | ||
उपरोक्त स्केच किए गए ढेर में हेरफेर का काम करता है - मिरर किए गए इनपुट के साथ - रिवर्स पोलिश संकेतन में अभिव्यक्ति के लिए | उपरोक्त स्केच किए गए ढेर में मिरर किए गए इनपुट के साथ - रिवर्स पोलिश संकेतन में अभिव्यक्ति के लिए '''भी''' हेरफेर का काम करता है '''- मिरर किए गए इनपुट के साथ - रिवर्स पोलिश संकेतन में अभिव्यक्ति के लिए भी'''। | ||
== तर्क के लिए पोलिश संकेतन == | == तर्क के लिए पोलिश संकेतन == | ||
| Line 79: | Line 79: | ||
ध्यान दें कि [[परिमाणक (तर्क)]] कई-मूल्यवान तर्कों पर लुकासिविक्ज़ के काम में प्रस्तावित मूल्यों से अधिक है। | ध्यान दें कि [[परिमाणक (तर्क)]] कई-मूल्यवान तर्कों पर लुकासिविक्ज़ के काम में प्रस्तावित मूल्यों से अधिक है। | ||
जोज़ेफ़ मारिया बोचेंस्की ने पोलिश संकेतन की प्रणाली की प्रारंभ की, जो शास्त्रीय प्रस्तावपरक तर्क के सभी 16 द्विआधारी [[तार्किक संयोजक]] का नाम है। शास्त्रीय प्रस्तावपरक तर्क के लिए, यह लुकासिविक्ज़ के अंकन का संगत विस्तार है। लेकिन संकेतन इस अर्थ में असंगत हैं कि बोचेंस्की [[मक तर्क|प्रस्तावपरक तर्क]] में | जोज़ेफ़ मारिया बोचेंस्की ने पोलिश संकेतन की प्रणाली की प्रारंभ की, जो शास्त्रीय प्रस्तावपरक तर्क के सभी 16 द्विआधारी [[तार्किक संयोजक]] का नाम है। शास्त्रीय प्रस्तावपरक तर्क के लिए, यह लुकासिविक्ज़ के अंकन का संगत विस्तार है। लेकिन संकेतन इस अर्थ में असंगत हैं कि बोचेंस्की [[मक तर्क|प्रस्तावपरक तर्क]] में L और M (गैर-निम्नीकरण और विलोम गैर-निम्नीकरण के लिए) का उपयोग करता है और लुकासिविक्ज़ मोडल तर्क में L और M का उपयोग करता है।<ref name="Bocheński_1959"/> | ||
| Line 89: | Line 89: | ||
किसी अभिव्यक्ति के वापसी मूल्य की संख्या अभिव्यक्ति में ऑपरेंड की संख्या और प्रचालकों की कुल संख्या के बीच के अंतर के बराबर होती है, जो प्रचालकों के वापसी मूल्य की कुल संख्या को घटाती है। | किसी अभिव्यक्ति के वापसी मूल्य की संख्या अभिव्यक्ति में ऑपरेंड की संख्या और प्रचालकों की कुल संख्या के बीच के अंतर के बराबर होती है, जो प्रचालकों के वापसी मूल्य की कुल संख्या को घटाती है। | ||
पोलिश संकेतन, सामान्यतः अनुलग्न रूप में, कुछ [[कैलकुलेटर]] का चुना हुआ संकेतन है, विशेष रूप से [[एचपी कैलकुलेटर]] | हेवलेट-पैकर्ड से<ref name="RPN_HP35S" /> निचले स्तर पर, अनुलग्न प्रचालकों का उपयोग कुछ [[स्टैक मशीनें]] जैसे [[बरोज़ लार्ज सिस्टम्स|बरोज़ लार्ज प्रणालियों]] द्वारा किया जाता है। | पोलिश संकेतन, सामान्यतः अनुलग्न रूप में, कुछ [[कैलकुलेटर]] विशेष रूप से [[एचपी कैलकुलेटर]] का चुना हुआ संकेतन है''', विशेष रूप से [[एचपी कैलकुलेटर]]''' | हेवलेट-पैकर्ड से<ref name="RPN_HP35S" /> निचले स्तर पर, अनुलग्न प्रचालकों का उपयोग कुछ [[स्टैक मशीनें]] जैसे [[बरोज़ लार्ज सिस्टम्स|बरोज़ लार्ज प्रणालियों]] द्वारा किया जाता है। | ||
== यह भी देखें == | == यह भी देखें == | ||
Revision as of 22:51, 8 February 2023
पोलिश संकेतन (पीएन), जिसे सामान्य पोलिश संकेतन (एनपीएन) के रूप में भी जाना जाता है।[1] लुकासिविक्ज़ संकेतन, वारसॉ संकेतन, पोलिश उपसर्ग संकेतन या बस उपसर्ग संकेतन, गणितीय संकेतन है जिसमें संचालन (गणित) उनके ओपेरंड को "पहले" करता है, अधिक सामान्य इन्फिक्स संकेतन के विपरीत, जिसमें प्रचालकों को बीच रखा जाता है। 'ऑपरेंड', साथ ही रिवर्स पोलिश संकेतन (आरपीएन), जिसमें प्रचालक अपने ऑपरेंड का 'अनुसरण' करते हैं। जब तक प्रत्येक प्रचालक के पास निश्चित संख्या होती है, तब तक इसे किसी भी कोष्ठक की आवश्यकता नहीं होती है। विवरण पोलिश तर्कशास्त्री जन लुकासिविक्ज़ की राष्ट्रीयता को संदर्भित करता है,[2][3][4][5] जिन्होंने 1924 में पोलिश संकेतन का आविष्कार किया था।[6][7]
पोलिश संकेतन शब्द को कभी-कभी (इन्फिक्स संकेतन के विपरीत) रिवर्स पोलिश संकेतन को भी सम्मिलित करने के लिए लिया जाता है।[8]
जब पोलिश संकेतन प्रोग्रामिंग भाषा इंटरप्रेटर (कंप्यूटिंग) द्वारा गणितीय अभिव्यक्तियों के वाक्य-विन्यास के रूप में उपयोग किया जाता है, तो इसे सरलता से सार सिंटैक्स ट्री में पार्स किया जाता है और वास्तव में, उसी के लिए एक-से-एक प्रतिनिधित्व को परिभाषित कर सकता है। इस कारण से, लिस्प (नीचे देखें) कार्यान्वयन और सम्बंधित प्रोग्रामिंग भाषा अपने पूरे वाक्य-विन्यास को प्रीफिक्स संकेतन में परिभाषित करते हैं (और अन्य अनुलग्न संकेतन का उपयोग करते हैं)।
इतिहास
जन लुकासिविक्ज़, निकोद की अभिगृहीत और सामान्यीकरण निगमन पर टिप्पणी, पृष्ठ 180 के पेपर का उद्धरण बताता है कि कैसे संकेतन का आविष्कार किया गया था: जन लुकासिविक्ज़ के एक पेपर का एक उद्धरण, निकोद के स्वयंसिद्ध पर टिप्पणी और "सामान्यीकरण निगमन" पर, पृष्ठ 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) उपलब्ध नहीं हो जाते। किसी भी संकेतन के साथ, अंतरतम अभिव्यक्तियों का मूल्यांकन पहले किया जाता है, लेकिन पोलिश संकेतन में इस अंतरतम-नेस को कोष्ठकों के अतिरिक्त प्रचालकों और ऑपरेंडों के अनुक्रम द्वारा व्यक्त किया जा सकता है।
पारंपरिक इन्फिक्स संकेतन में, संचालन के मानक क्रम को ओवरराइड करने के लिए कोष्ठक की आवश्यकता होती है, क्योंकि, उपरोक्त उदाहरण की बात करते हुए, उन्हें स्थानांतरित करना
या उन्हें हटाना
अभिव्यक्ति के अर्थ और परिणाम को परिवर्तित कर देता है। यह संस्करण पोलिश संकेतन में लिखा गया है
विभाजन या घटाव जैसे गैर-कम्यूटेटिव संचालन से निपटने के समय, प्रचालकों की अनुक्रमिक व्यवस्था को इस परिभाषा के साथ समन्वयित करना आवश्यक है कि प्रचालक अपने तर्कों को कैसे लेता है, तथापि बाएं से दाएं लेता है। उदाहरण के लिए, ÷ 10 5, 5 के बाईं ओर 10 के साथ, 10 ÷ 5 का अर्थ है (10 को 5 से विभाजित करें के रूप में पढ़ें) है, या − 7 6, 7 बायें से 6 के साथ, 7 − 6 का अर्थ है (7 ऑपरेंड 6 से घटाना के रूप में पढ़ें) है।
मूल्यांकन एल्गोरिथ्म
उपसर्ग/उपसर्ग संकेतन विशेष रूप से कोष्ठकों और अन्य पूर्ववर्ती नियमों की आवश्यकता के बिना संचालन के इच्छित क्रम को व्यक्त करने की अपनी सहज क्षमता के लिए लोकप्रिय है, जैसा कि सामान्यतः इन्फिक्स संकेतन के साथ नियोजित किया जाता है। इसके अतिरिक्त, संकेतन विशिष्ट रूप से इंगित करता है कि किस प्रचालक को पहले मूल्यांकन करना है, यह इंगित करता है। यह माना जाता है कि प्रत्येक प्रचालक के पास निश्चित संख्या है, और सभी आवश्यक ऑपरेंड को स्पष्ट रूप से दिया गया माना जाता है। वैध उपसर्ग अभिव्यक्ति हमेशा प्रचालक के साथ प्रारंभ होती है और ऑपरेंड के साथ समाप्त होती है। मूल्यांकन या तो बाएं से दाएं या विपरीत दिशा में आगे बढ़ सकता है। बाईं ओर से प्रारंभ करते हुए, इनपुट स्ट्रिंग, जिसमें प्रचालक या ऑपरेंड को दर्शाने वाले टोकन सम्मिलित हैं, को स्टैक (सार डेटा प्रकार) पर टोकन के लिए धकेल दिया जाता है, जब तक कि स्टैक की शीर्ष प्रविष्टियों में ऑपरेंड की संख्या नहीं होती है जो सबसे शीर्ष प्रचालक के लिए उपयुक्त होती है। स्टैकटॉप पर टोकन का यह समूह (अंतिम स्टैक्ड प्रचालक और ऑपरेंड की संख्या के अनुसार) इन/इस ऑपरेंड पर प्रचालक को निष्पादित करने के परिणाम से प्रतिस्थापित किया जाता है। फिर इनपुट की प्रोसेसिंग इसी तरह से चलती रहती है। मान्य उपसर्ग अभिव्यक्ति में सबसे दाहिना ऑपरेंड इस प्रकार संपूर्ण अभिव्यक्ति के मूल्यांकन के परिणाम को छोड़कर, स्टैक को खाली कर देता है। दाईं ओर से प्रारंभ करते समय, टोकन को धक्का देना समान रूप से किया जाता है, बस प्रचालक द्वारा मूल्यांकन को ट्रिगर किया जाता है, उचित संख्या में ऑपरेंड ढूंढता है जो स्टैकटॉप पर पहले से ही सही बैठता है। अब मान्य उपसर्ग अभिव्यक्ति का सबसे बायाँ टोकन प्रचालक होना चाहिए, जो स्टैक में ऑपरेंड की संख्या के अनुरूप हो, जो फिर से परिणाम देता है। जैसा कि विवरण से देखा जा सकता है, नियतात्मक पुशडाउन ऑटोमेटन पुश-डाउन भंडार जिसमें मनमानी स्टैक निरीक्षण की कोई क्षमता नहीं है, इस पदच्छेद को प्रस्तुत करने के लिए पर्याप्त है।
उपरोक्त स्केच किए गए ढेर में मिरर किए गए इनपुट के साथ - रिवर्स पोलिश संकेतन में अभिव्यक्ति के लिए भी हेरफेर का काम करता है - मिरर किए गए इनपुट के साथ - रिवर्स पोलिश संकेतन में अभिव्यक्ति के लिए भी।
तर्क के लिए पोलिश संकेतन
नीचे दी गई तालिका में वाक्यात्मक तर्क के लिए जन लुकासिविक्ज़ के अंकन के मूल को दिखाया गया है।[15] पोलिश संकेतन तालिका में कुछ अक्षर पोलिश भाषा में विशेष शब्दों के लिए खड़े होते हैं, जैसा कि दिखाया गया है:
| अवधारणा | पारंपरिक
अंकन |
पोलिश संकेतन | पोलिश
अवधि |
|---|---|---|---|
| निषेध | negacja | ||
| संयोजक | koniunkcja | ||
| संयोजन | alternatywa | ||
| अनन्य संयोजन |