- Apgrieztā poļu notācija jeb postfix notācija novieto operatorus aiz operandiem, novēršot nepieciešamību lietot iekavas.
- Tas tika atvasināts no poļu prefiksu apzīmējuma, ko izveidoja Jans Lukasevičs, lai vienkāršotu piedāvājuma loģiku.
- Hewlett-Packard to masveidā popularizēja ikoniskos kalkulatoros, piemēram, HP-9100A un HP-35.
- Datorzinātnēs tas tiek ieviests, izmantojot stekus, kas ir fundamentāli tādās sistēmās kā Unix un uz steku orientētās valodās.
Jūs droši vien esat domājuši, kā tie vecie zinātniskie kalkulatori darbojās iekšpusē vai kāpēc dažas programmēšanas valodas, šķiet, raksta matemātiku apgrieztā secībā. Lai gan mums kopš skolas laikiem ir mācīts, ka saskaitīšanas un atņemšanas simboli vienmēr atrodas skaitļu vidū, pastāv aizraujoša pasaule, ko sauc par apgriezto poļu pierakstu, kas lauž visu, ko mēs zinām.
Šī sistēma nav mūsdienu izgudrojums; tās saknes meklējamas tīrā loģikā un vēlmē padarīt algebriskās izteiksmes efektīvākas. Atšķirībā no ierastā, šeit faktoru secība maina to rakstīšanas veidu, ļaujot pilnībā ignorēt iekavas un vienkāršot datu ievadīšanu datorsistēmās.
Izcelsme: No Jana Łukasiewicz līdz skaitļošanai

Tas viss aizsākās 1924. gadā, pateicoties izcilam poļu matemātiķim, loģiķim un filozofam Janam Lukasevičam . Viņš nolēma vienkāršot piedāvājuma loģiku un izveidoja to, kas pazīstams kā prefiksa pieraksts (vai poļu pieraksts), kur operators tiek novietots pirms operandiem. Piemēram, ja mēs vēlamies saskaitīt 3 un 4, tad 3 + 4 vietā mēs rakstītu + 3 4.
Lai gan sākotnēji tā šķita kā loģiķu un filozofu kuriozs, un to savos tekstos par matemātisko loģiku pieminēja pat Alonzo Čērčs, šī ideja galu galā nonāca datorzinātņu pasaulē. Faktiski LISP programmēšanas valoda savu sintaksi balsta tieši uz šo prefiksu modeli, pierādot, ka tas, kas radies loģikā, galu galā ir kļuvis par spēcīgu kodēšanas rīku.
Kas īsti ir apgrieztā poļu notācija?

Lai gan prefiksa pierakstā operators tiek novietots pirms operanda, apgrieztā poļu pierakstā (pazīstama arī kā RPN vai postfix pierakstā) notiek pretēji: operatori tiek novietoti pēc operandiem. Tādējādi mūsu ierastā 2 un 5 summa kļūst par 2 5 +.
Šīs sistēmas visspēcīgākais aspekts ir tas, ka, ja vien operatoriem ir fiksēts operandu skaits, iekavas var likvidēt . Ņemsim par piemēru darbību 5 * (12 + 4). Tradicionālajā sistēmā iekavas ir nepieciešamas, lai vispirms piespiestu saskaitīšanu; tomēr RPN sistēmā tas tiek vienkārši rakstīts kā 5 12 4 + * . Mašīnai tas ir daudz tīrāk un vienkāršāk.
Hewlett-Packard un kalkulatoru zelta laikmets

Sešdesmito gadu vidū Austrālijas zinātnieks Čārlzs Leonards Hamblins pilnveidoja algoritmus šīs sistēmas ieviešanai elektroniskajās ierīcēs. Tieši tad Hewlett-Packard nolēma tajā ieguldīt līdzekļus, 1968. gadā laižot klajā HP-9100A — galda kalkulatoru, kas mainīja spēles noteikumus. Neilgi pēc tam parādījās leģendārais HP-35 — pirmais kabatas izmēra zinātniskais kalkulators, kas laikā no 1972. līdz 1975. gadam nodrošināja RPN tūkstošiem inženieru un studentu rokās.
Šo ierīču lietošana prasīja nedaudz papildu prāta piepūles, lai interpretētu rezultātu, taču tas bija daudz efektīvāks taustiņu nospiešanas ziņā . Tā vietā, lai ierakstītu garu vienādojumu un spiestu vienādības taustiņus, jūs ievadījāt skaitļus un operatorus, kas tika apstrādāti uzreiz, padarot darbplūsmu daudz efektīvāku.
Tehniskā realizācija: skursteņi un caurules

No programmēšanas viedokļa RPN ir brīnišķīgs, jo to ir ārkārtīgi viegli ieviest, izmantojot datu struktūru, ko sauc par steku . Sistēma glabā skaitļus stekā un, tiklīdz parādās operators, tā izvelk pēdējās ievadītās vērtības, veic aprēķinu un ievieto rezultātu atpakaļ stekā.
Šī efektivitāte ir iemesls, kāpēc, lai gan vairs neredzam tik daudz fizisko kalkulatoru, kas izmanto šo sistēmu, RPN joprojām ir dzīvs mūsdienu tehnoloģiju iekšējā darbībā. To plaši izmanto steka orientētās valodās un operētājsistēmās, kuru pamatā ir cauruļvadi vai datu plūsma, klasisks piemērs ir tā klātbūtne Unix vidē.
Kuriozitātes par Lukaseviču un loģiku
Jans Lukasevičs ne tikai atstāja mums šo matemātikas rakstīšanas veidu. Viņš bija daudzvērtību loģikas un modālās loģikas pionieris. Viņš pat risināja tādus intelektuālus izaicinājumus kā melu paradokss (frāze "tas ir nepatiess"). Viņa risinājums bija izcils: viņš apgalvoja, ka loģikas principi attiecas tikai uz objektiem, kas var būt mainīgo vērtības, un, tā kā šī pretrunīgā frāze nevar būt mainīgā vērtība, tā vienkārši atrodas ārpus loģikas un to nevar analizēt, izmantojot tradicionālās loģiskās metodes.
Šis aizraujošais ceļojums no poļu loģiķa prāta līdz HP kalkulatoru shēmām un Unix kodolam parāda, kā alternatīvs informācijas organizēšanas veids var optimizēt datu apstrādi. Likvidējot nepieciešamību pēc iekavām un paļaujoties uz steku izmantošanu, apgrieztā poļu notācija joprojām ir neredzams, bet fundamentāls pīlārs daudzu mūsdienu datorsistēmu arhitektūrā.