पोलिश संकेतन: Difference between revisions
m (11 revisions imported from alpha:पोलिश_संकेतन) |
No edit summary |
||
| Line 142: | Line 142: | ||
* {{Commonscatinline|Polish notation (mathematics)}} | * {{Commonscatinline|Polish notation (mathematics)}} | ||
{{DEFAULTSORT:Polish Notation}} | {{DEFAULTSORT:Polish Notation}} | ||
[[Category:Articles containing Polish-language text|Polish Notation]] | |||
[[Category:CS1 Deutsch-language sources (de)|Polish Notation]] | |||
[[Category: | [[Category:CS1 français-language sources (fr)]] | ||
[[Category:Created On 03/02/2023]] | [[Category:CS1 location test|Polish Notation]] | ||
[[Category:Vigyan Ready]] | [[Category:CS1 polski-language sources (pl)]] | ||
[[Category:Created On 03/02/2023|Polish Notation]] | |||
[[Category:Lua-based templates|Polish Notation]] | |||
[[Category:Machine Translated Page|Polish Notation]] | |||
[[Category:Multi-column templates|Polish Notation]] | |||
[[Category:Pages that use a deprecated format of the math tags|Polish Notation]] | |||
[[Category:Pages using div col with small parameter|Polish Notation]] | |||
[[Category:Pages with script errors|Polish Notation]] | |||
[[Category:Short description with empty Wikidata description|Polish Notation]] | |||
[[Category:Templates Vigyan Ready|Polish Notation]] | |||
[[Category:Templates that add a tracking category|Polish Notation]] | |||
[[Category:Templates that generate short descriptions|Polish Notation]] | |||
[[Category:Templates using TemplateData|Polish Notation]] | |||
[[Category:Templates using under-protected Lua modules|Polish Notation]] | |||
[[Category:Wikipedia fully protected templates|Div col]] | |||
[[Category:ऑपरेटर्स (प्रोग्रामिंग)|Polish Notation]] | |||
[[Category:गणितीय अंकन|Polish Notation]] | |||
[[Category:तार्किक भाव|Polish Notation]] | |||
[[Category:पोलिश आविष्कार|Polish Notation]] | |||
[[Category:पोलैंड में विज्ञान और प्रौद्योगिकी|Polish Notation]] | |||
Latest revision as of 20:01, 9 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 | ||
| अनन्य संयोजन | alternatywa rozłączna | ||
| सामग्री सशर्त | implikacja | ||
| द्विसशर्त | ekwiwalencja | ||
| फाल्सम | fałsz | ||
| शेफर स्ट्रोक | dysjunkcja | ||
| संभावना | możliwość | ||
| आवश्यकता | konieczność | ||
| सार्वभौमिक परिमाणक | kwantyfikator ogólny | ||
| अस्तित्वगत परिमाणक | kwantyfikator szczegółowy |
ध्यान दें कि परिमाणक (तर्क) कई-मूल्यवान तर्कों पर लुकासिविक्ज़ के काम में प्रस्तावित मूल्यों से अधिक है।
जोज़ेफ़ मारिया बोचेंस्की ने पोलिश संकेतन की प्रणाली की प्रारंभ की, जो शास्त्रीय प्रस्तावपरक तर्क के सभी 16 द्विआधारी तार्किक संयोजक का नाम है। शास्त्रीय प्रस्तावपरक तर्क के लिए, यह लुकासिविक्ज़ के अंकन का संगत विस्तार है। लेकिन संकेतन इस अर्थ में असंगत हैं कि बोचेंस्की प्रस्तावपरक तर्क में L और M (गैर-निम्नीकरण और विलोम गैर-निम्नीकरण के लिए) का उपयोग करता है और लुकासिविक्ज़ मोडल तर्क में L और M का उपयोग करता है।[16]
कार्यान्वयन
लिस्प (प्रोग्रामिंग भाषा) एस-भाव में उपसर्ग संकेतन का व्यापक अनुप्रयोग देखा गया है, जहां कोष्ठक की आवश्यकता होती है क्योंकि भाषा में प्रचालक स्वयं डेटा (प्रथम श्रेणी के कार्य) होते हैं। लिस्प फलनों वैराडिक फलन भी हो सकते हैं। टीसीएल प्रोग्रामिंग भाषा, लिस्प की तरह ही मैथोप पुस्तकालय के माध्यम से पोलिश संकेतन का उपयोग करती है। अम्बी[17] प्रोग्रामिंग भाषा अंकगणितीय संचालन और कार्यक्रम निर्माण के लिए पोलिश संकेतन का उपयोग करती है। एलडीएपी फ़िल्टर वाक्य-विन्यास पोलिश उपसर्ग संकेतन का उपयोग करता है।[18]
अनुलग्न संकेतन का उपयोग कई स्टैक-उन्मुख प्रोग्रामिंग भाषा जैसे परिशिष्ट भाग और फोर्थ (प्रोग्रामिंग भाषा) में किया जाता है। कॉफीस्क्रिप्ट वाक्य-विन्यास भी फलन को उपसर्ग संकेतन का उपयोग करने की अनुमति देता है, जबकि अभी भी अन्य भाषाओं में यूनरी अनुलग्न वाक्य-विन्यास का समर्थन करता है।
किसी अभिव्यक्ति के वापसी मूल्य की संख्या अभिव्यक्ति में ऑपरेंड की संख्या और प्रचालकों की कुल संख्या के बीच के अंतर के बराबर होती है, जो प्रचालकों के वापसी मूल्य की कुल संख्या को घटाती है।
पोलिश संकेतन, सामान्यतः अनुलग्न रूप में, कुछ कैलकुलेटर विशेष रूप से