- Reverzná poľská notácia alebo postfixová notácia umiestňuje operátory za operandy, čím eliminuje potrebu použitia zátvoriek.
- Bol odvodený z poľskej prefixovej notácie, ktorú vytvoril Jan Łukasiewicz na zjednodušenie výrokovej logiky.
- Spoločnosť Hewlett-Packard ju masívne spopularizovala v ikonických kalkulačkách, ako napríklad HP-9100A a HP-35.
- V oblasti výpočtovej techniky sa implementuje pomocou zásobníkov, ktoré sú základom v systémoch ako Unix a jazyky orientované na zásobníky.
Pravdepodobne ste sa už zamýšľali nad tým, ako fungovali tie staré vedecké kalkulačky alebo prečo niektoré programovacie jazyky zapisujú matematiku naopak. Aj keď nás od školy učili, že symboly sčítania a odčítania sa vždy nachádzajú uprostred čísel, existuje fascinujúci svet s názvom Reverzná poľská notácia, ktorý sa vymyká všetkému, čo poznáme.
Tento systém nie je moderným vynálezom; má korene v čistej logike a snahe zefektívniť algebraické výrazy. Na rozdiel od toho, čo zvyčajne robíme, tu poradie faktorov mení spôsob ich zápisu, čo nám umožňuje úplne ignorovať zátvorky a zjednodušiť zadávanie údajov do počítačových systémov.
Pôvod: Od Jana Łukasiewicza k počítaču

Všetko sa to začalo v roku 1924 vďaka brilantnému poľskému matematikovi, logikovi a filozofovi menom Jan Łukasiewicz . Rozhodol sa zjednodušiť výrokovú logiku a vytvoril to, čo je známe ako prefixová notácia (alebo poľská notácia), kde sa operátor umiestňuje pred operandy. Napríklad, ak chceme spočítať 3 a 4, namiesto 3 + 4 by sme napísali + 3 4.
Hoci sa to spočiatku javilo ako kuriozita pre logikov a filozofov a dokonca to spomenul aj Alonzo Church vo svojich textoch o matematickej logike, táto myšlienka si nakoniec našla cestu do sveta informatiky. V skutočnosti programovací jazyk LISP zakladá svoju syntax práve na tomto prefixovom modeli, čo dokazuje, že to, čo vzniklo v logike, sa nakoniec stalo mocným nástrojom na kódovanie.
Čo presne je reverzná poľská notácia?

Zatiaľ čo prefixová notácia umiestňuje operátor pred operand, reverzná poľská notácia (známa aj ako RPN alebo postfixová notácia) robí opak: umiestňuje operátory za operandy. Náš obvyklý súčet 2 a 5 sa teda stáva 2 * 5 +.
Najsilnejším aspektom tohto systému je, že pokiaľ majú operátory pevný počet operandov, zátvorky je možné eliminovať . Vezmime si ako príklad operáciu 5 * (12 + 4). V tradičnom systéme potrebujeme zátvorky, aby sme najprv vynútili sčítanie; v RPN sa to však jednoducho zapíše ako 5 * 12 4 + * . Toto je pre stroj oveľa čistejšie a jednoduchšie.
Zlatý vek spoločnosti Hewlett-Packard a kalkulačiek

V polovici 60. rokov 20. storočia austrálsky vedec Charles Leonard Hamblin zdokonalil algoritmy na implementáciu tohto systému v elektronických zariadeniach. Vtedy sa spoločnosť Hewlett-Packard rozhodla doň investovať a v roku 1968 uviedla na trh stolovú kalkulačku HP-9100A, ktorá zmenila pravidlá hry. Krátko nato prišla legendárna HP-35 , prvá vrecková vedecká kalkulačka, ktorá v rokoch 1972 až 1975 sprístupnila RPN tisíckam inžinierov a študentov.
Používanie týchto strojov si vyžadovalo trochu viac duševného úsilia na interpretáciu výsledku, ale bolo to oveľa efektívnejšie z hľadiska počtu stlačení kláves . Namiesto písania dlhej rovnice a stláčania klávesov rovná sa ste zadávali čísla a operátory, ktoré sa spracovávali okamžite, čím sa pracovný postup výrazne zefektívnil.
Technická realizácia: Komíny a potrubia

Z programátorského hľadiska je RPN skvelý spôsob implementácie, pretože sa extrémne ľahko implementuje pomocou dátovej štruktúry nazývanej zásobník . Systém ukladá čísla na zásobník a hneď ako sa objaví operátor, extrahuje posledné zadané hodnoty, vykoná výpočet a výsledok vloží späť na zásobník.
Táto efektívnosť je dôvodom, prečo, hoci už nevidíme toľko fyzických kalkulačiek používajúcich tento systém, RPN zostáva živý vo vnútornom fungovaní moderných technológií. Je široko používaný v jazykoch orientovaných na zásobníky a v operačných systémoch založených na pipeline alebo toku dát, klasickým príkladom je jeho prítomnosť v prostredí Unixu.
Zaujímavosti o Łukasiewiczovi a logike
Jan Łukasiewicz nám nielenže zanechal tento spôsob písania matematiky. Bol priekopníkom vo viachodnotovej logike a modálnej logike. Dokonca sa zaoberal intelektuálnymi výzvami, ako je paradox klamára (fráza „toto je nepravdivé“). Jeho riešenie bolo brilantné: tvrdil, že logické princípy platia iba pre objekty, ktoré môžu byť hodnotami premenných, a keďže táto protirečivá fráza nemôže byť hodnotou premennej, je jednoducho mimo logiky a nemožno ju analyzovať tradičnými logickými metódami.
Táto fascinujúca cesta z mysle poľského logika k obvodom kalkulačiek HP a jadru Unixu nám ukazuje, ako alternatívny spôsob organizácie informácií môže optimalizovať spracovanie údajov. Elimináciou potreby zátvoriek a spoliehaním sa na použitie zásobníkov zostáva reverzná poľská notácia neviditeľným, ale základným pilierom architektúry mnohých moderných počítačových systémov.