- Ang Reverse Polish Notation, o postfix notation, ay naglalagay ng mga operator pagkatapos ng mga operand, kaya hindi na kailangang gumamit ng panaklong.
- Ito ay hinango mula sa notasyong unlapi ng Poland na nilikha ni Jan Łukasiewicz upang pasimplehin ang lohikang proposisyonal.
- Ito ay lubos na pinasikat ng Hewlett-Packard sa mga iconic na calculator tulad ng HP-9100A at HP-35.
- Sa pagkokompyuter, ito ay ipinapatupad sa pamamagitan ng paggamit ng mga stack, na siyang pangunahing gamit sa mga sistemang tulad ng Unix at mga wikang nakatuon sa stack.
Malamang ay napaisip ka na kung paano gumagana ang mga lumang scientific calculator na iyon sa loob, o kung bakit tila pabaliktad ang pagsusulat ng matematika sa ilang mga programming language. Kahit na itinuro na sa atin simula pa noong nasa paaralan tayo na ang mga simbolo ng pagdaragdag at pagbabawas ay laging nasa gitna ng mga numero, mayroong isang kamangha-manghang mundo na tinatawag na Reverse Polish Notation na salungat sa lahat ng alam natin.
Ang sistemang ito ay hindi isang modernong imbensyon; nag-uugat ito sa purong lohika at sa pagnanais na gawing mas mahusay ang mga algebraic expression. Hindi tulad ng karaniwan nating ginagawa, dito binabago ng pagkakasunud-sunod ng mga salik ang paraan ng pagsulat ng mga ito, na nagpapahintulot sa atin na ganap na balewalain ang mga panaklong at gawing simple ang pagpasok ng datos sa mga sistema ng computer.
Ang pinagmulan: Mula kay Jan Łukasiewicz hanggang sa pag-compute

Nagsimula ang lahat noong 1924 salamat sa isang mahusay na matematiko, lohiko, at pilosopo na Polish na nagngangalang Jan Łukasiewicz . Sinimulan niyang gawing simple ang propositional logic at lumikha ng tinatawag na prefix notation (o Polish notation), kung saan ang operator ay inilalagay bago ang mga operand. Halimbawa, kung gusto nating idagdag ang 3 at 4, sa halip na isulat ang 3 + 4, isusulat natin ang + 3 = 4.
Bagama't sa una ay tila isang interesante ito para sa mga lohiko at pilosopo, at nabanggit pa nga ni Alonzo Church sa kanyang mga teksto tungkol sa lohikang matematikal, ang ideya ay kalaunan ay nakarating sa mundo ng agham pangkompyuter. Sa katunayan, ang syntax ng wikang programming ng LISP ay ibinabatay nang eksakto sa modelong prefix na ito, na nagpapakita na ang nagmula sa lohika ay naging isang makapangyarihang kasangkapan para sa coding.
Ano nga ba ang Reverse Polish Notation?

Bagama't inilalagay ng notasyong prefix ang operator bago ang operand, ang Reverse Polish Notation (kilala rin bilang RPN o postfix notation) ay ginagawa ang kabaligtaran: inilalagay nito ang mga operator pagkatapos ng mga operand. Kaya, ang ating karaniwang kabuuan na 2 at 5 ay nagiging 2 5 +.
Ang pinakamakapangyarihang aspeto ng sistemang ito ay, hangga't ang mga operator ay may takdang bilang ng mga operand, maaaring alisin ang mga panaklong . Kunin nating halimbawa ang operasyong 5 * (12 + 4). Sa tradisyunal na sistema, kailangan natin ang mga panaklong upang pilitin muna ang pagdaragdag; gayunpaman, sa RPN ito ay isinusulat lamang bilang 5 12 4 + * . Ito ay mas malinis at mas diretso para sa isang makina.
Ang ginintuang panahon ng Hewlett-Packard at mga calculator

Noong kalagitnaan ng dekada 60, pinagbuti ng siyentipikong Australyano na si Charles Leonard Hamblin ang mga algorithm para sa pagpapatupad ng sistemang ito sa mga elektronikong aparato. Noon nagpasya ang Hewlett-Packard na mamuhunan dito, inilunsad ang HP-9100A noong 1968, isang desktop calculator na nagpabago sa laro. Di-nagtagal, dumating ang maalamat na HP-35 , ang unang maliit na calculator na siyentipiko, na naglagay sa RPN sa mga kamay ng libu-libong inhinyero at estudyante sa pagitan ng 1972 at 1975.
Ang paggamit ng mga makinang ito ay nangailangan ng kaunting dagdag na pagsisikap sa pag-iisip upang mabigyang-kahulugan ang resulta, ngunit mas mahusay ito pagdating sa mga pagpindot sa key . Sa halip na mag-type ng mahabang equation at pindutin ang katumbas, naglagay ka ng mga numero at operator na agad na naproseso, na ginagawang mas mahusay ang daloy ng trabaho.
Teknikal na implementasyon: Mga stack at tubo

Mula sa perspektibo ng programming, kahanga-hanga ang RPN dahil napakadaling ipatupad gamit ang isang istruktura ng datos na tinatawag na stack . Iniimbak ng sistema ang mga numero sa stack at, sa sandaling lumitaw ang isang operator, kinukuha nito ang mga huling halagang ipinasok, isinasagawa ang pagkalkula, at ibinabalik ang resulta sa stack.
Ang kahusayang ito ang dahilan kung bakit, bagama't hindi na natin nakikita ang maraming pisikal na calculator na gumagamit ng sistemang ito, nananatiling buhay ang RPN sa panloob na paggana ng modernong teknolohiya. Malawakang ginagamit ito sa mga stack-oriented na wika at sa mga operating system na nakabatay sa mga pipeline o daloy ng data, isang klasikong halimbawa ay ang presensya nito sa kapaligirang Unix.
Mga kuryosidad tungkol kay Łukasiewicz at lohika
Hindi lamang iniwan sa atin ni Jan Łukasiewicz ang ganitong paraan ng pagsulat ng matematika. Isa siyang tagapanguna sa multivalued logic at modal logic. Hinarap pa niya ang mga hamong intelektwal tulad ng liar paradox (ang pariralang "ito ay mali"). Napakatalino ng kanyang solusyon: ikinatuwiran niya na ang mga prinsipyong lohikal ay nalalapat lamang sa mga bagay na maaaring maging halaga ng mga baryabol, at dahil ang magkasalungat na pariralang iyon ay hindi maaaring maging halaga ng isang baryabol, ito ay nasa labas lamang ng lohika at hindi maaaring suriin gamit ang mga tradisyonal na pamamaraang lohikal.
Ang kamangha-manghang paglalakbay na ito mula sa isipan ng isang Polish logician patungo sa mga circuit ng HP calculator at Unix kernel ay nagpapakita sa atin kung paano maaaring ma-optimize ng alternatibong paraan ng pag-oorganisa ng impormasyon ang pagproseso ng datos. Sa pamamagitan ng pag-aalis ng pangangailangan para sa mga panaklong at pag-asa sa paggamit ng mga stack, ang Reverse Polish Notation ay nananatiling isang hindi nakikita ngunit pangunahing haligi sa arkitektura ng maraming modernong sistema ng computer.