Notación polaca inversa


La notación polaca inversa ( RPN ), también conocida como notación Łukasiewicz inversa , notación posfija polaca o simplemente notación posfija , es una notación matemática en la que los operadores siguen a sus operandos , en contraste con la notación polaca (PN), en la que los operadores preceden a sus operandos. No necesita paréntesis siempre que cada operador tenga un número fijo de operandos . La descripción "polaco" se refiere a la nacionalidad del lógico Jan Łukasiewicz , [1] que inventó la notación polaca en 1924.[2] [3]

El esquema polaco inverso fue propuesto en 1954 por Arthur Burks , Don Warren y Jesse Wright [4] y fue reinventado independientemente por Friedrich L. Bauer y Edsger W. Dijkstra a principios de la década de 1960 para reducir el acceso a la memoria de la computadora y usar la pila para evaluar expresiones . Los algoritmos y la notación de este esquema fueron ampliados por el filósofo y científico informático australiano Charles L. Hamblin a mediados de la década de 1950. [5] [6] [7] [8] [9] [10]

Durante las décadas de 1970 y 1980, Hewlett-Packard usó RPN en todas sus calculadoras de escritorio y portátiles, y continuó usándolo en algunos modelos hasta la década de 2020. [11] [12] En informática , la notación polaca inversa se utiliza en lenguajes de programación orientados a pilas como Forth , STOIC , PostScript , RPL y Joy .

En notación polaca inversa, los operadores siguen sus operandos ; por ejemplo, para sumar 3 y 4, se escribiría 3 4 + en lugar de 3 + 4 . Si hay varias operaciones, los operadores se dan inmediatamente después de sus operandos finales (a menudo, un operador toma dos operandos, en cuyo caso el operador se escribe después del segundo operando); por lo que la expresión escrita 3 - 4 + 5 en notación convencional se escribiría 3 4 - 5 + en notación polaca inversa: primero se resta 4 de 3, luego se le suma 5. Una ventaja de la notación polaca inversa es que elimina la necesidad de usar paréntesis que son requeridos por la notación infija . Mientras que 3 - 4 × 5también se puede escribir 3 - (4 × 5) , que significa algo bastante diferente de (3 - 4) × 5 . En notación polaca inversa, la primera podría escribirse 3 4 5 × - , que significa inequívocamente 3 (4 5 ×) - que se reduce a 3 20 - (que además puede reducirse a -17); este último podría escribirse 3 4 - 5 × (o 5 3 4 - × , si se mantiene un formato similar), lo que significa inequívocamente (3 4 -) 5 × .

En comparación, se ha descubierto que las pruebas de la notación polaca inversa con notación algebraica, polaco inverso conducen a cálculos más rápidos, por dos razones. La primera razón es que las calculadoras polacas inversas no necesitan que las expresiones estén entre paréntesis, por lo que es necesario ingresar menos operaciones para realizar cálculos típicos. Además, los usuarios de calculadoras polacas inversas cometieron menos errores que con otros tipos de calculadoras. [13] [14] Investigaciones posteriores aclararon que la mayor velocidad de la notación polaca inversa puede atribuirse a la menor cantidad de pulsaciones de teclas necesarias para ingresar esta notación, en lugar de a una menor carga cognitiva de sus usuarios. [15]Sin embargo, la evidencia anecdótica sugiere que la notación polaca inversa es más difícil de aprender para los usuarios que la notación algebraica. [14]

Edsger W. Dijkstra inventó el algoritmo del patio de maniobras para convertir expresiones infijas en expresiones postfijas (notación polaca inversa), llamado así porque su funcionamiento se asemeja al de un patio de maniobras de ferrocarril .


Un sombrero promocional de Hewlett-Packard "No Equals" de la década de 1980, tanto un alarde como una referencia a RPN.