Polnische Notation ist eine klammerfreie Schreibweise für Formeln bzw. allgemein Ausdrücke, bei der der Operator vor seinen Operanden geschrieben wird:
Operator Operand1 Operand2 ... OperandN
Die Polnische Notation (auch Präfix-Notation oder Łukasiewicz-Notation) verdankt ihren Namen dem polnischen Mathematiker Jan Łukasiewicz, der sie in den 1920-er-Jahren entwickelte (eine genauere Datierung ist wohl nicht möglich, vgl. Łukasiewicz 1970 oder Gottschall 2005). Łukasiewicz stellte die polnische Notation als kompakte und klammerfreie Schreibweise für die Aussagenlogik vor. Als Junktoren oder Konnektive verwendet er N für die Negation, K für die Konjunktion, A für die Disjunktion, C für das Konditional (oft fälschlich Implikation genannt) und E für das Bikonditional. Als Satzbuchstaben, die für beliebige Aussagen stehen, verwendet er Kleinbuchstaben. Daraus lassen sich Aussagen wie Np ("es ist nicht der Fall, dass p") oder Cpq ("Wenn p, dann q") zusammensetzen.
Łukasiewicz weist selbst darauf hin ("On the history of the logic of propositions", abgedruckt in: Łukasiewicz 1970), dass seine Schreibweise zwar die kompakteste und die erste linear geschriebene klammerfreie Schreibweise ist, aber nicht die erste klammerfreie Schreibweise überhaupt. Das Verdienst, die Logik von der Klammer befreit zu haben, kommt Gottlob Frege mit seiner bereits 1879 veröffentlichten Begriffsschriftnotation zu (siehe auch Begriffsschrift).
Neben einer Nische in der Logik hat die polnische Notation heute vor allem bei Computersprachen einen festen Platz. Hier ist der Operator ein Befehlswort oder die Bezeichnung der gewünschten Funktion und sind die Operanden die zugehörigen Parameter bzw. Funktionsargumente:
Befehlswort Parameter1 Parameter2 ... ParameterN
bzw.
Funktionsbezeichnung Argument1 Argument2 ... ArgumentN
Im Bereich der Mathematik werden in der üblichen Schreibweise viele Funktionen in polnischer Notation aufgeschrieben, z.B. Sinus ("sin 30") oder Logarithmus ("ln 10"). Im Allgemeinen ist in der Mathematik aber eine Infix-Schreibweise üblich, bei der die Operatoren zwischen ihre Argumente geschrieben werden (z.B. "1 + 2"). Auch in der Logik dominieren heute Infix-Notationen, meist Varianten der frühen Peano-Russell-Notation.
Die Addition der Zahlen 21 und 43 wird in der Präfixnotation folgendermaßen dargestellt
+ 21 43
Die Aussage "P → Q" wird in polnischer Notation wie folgt geschrieben
Cpq
In der gewohnten Infixnotation benötigt der folgende Term mehrere Klammern
(4 + 9) : (17 + 2)
Mit der Präfixnotation hingegen keine:
: + 4 9 + 17 2
Analog wird die Aussage in Peano-Russel-Notation
(P → (Q → R)) → ((P → Q) → (P → R))
zum weitaus kürzeren und übersichtlicheren
CCpCqrCCpqCpr
In Analogie zum mathematischen Gebrauch werden in den meisten Programmiersprachen mathematische Funktionen bzw. generell Funktionsaufrufe in polnischer Notation geschrieben, dann allerdings meist mit zusätzlicher Klammerung (z.B. "sin(30)" oder exp(log(10))"). Programmiersprachen mit polnischer Notation sind Tcl und Lisp. Letztere wird (wie ihre Dialekte, z.B. Scheme) wegen ihrer Nähe zum Lambda-Kalkül und der damit verbundenen Funktionsschreibweise zu den Anwendungen der polnischen Notation gezählt. Der Vorteil der Klammerfreiheit geht in Lisp allerdings verloren, weil dort erstens Operatoren im Kontext nicht eindeutig von Operanden unterschieden werden können (Variablen, Funktionen als Operanden) und weil zweitens die Stelligkeit eines Operators (d.h. die Anzahl seiner Operanden) nicht eindeutig ist. Die in Lisp gewählte Lösung, eine öffnende Klammer vor den Operator und eine schließende Klammer nach seinen letzten Operanden zu setzen, wird Cambridge-Variante der Polnischen Notation genannt.
Die polnische Notation (und noch mehr die umgekehrte polnische Notation) eignet sich sehr dazu, auf einfache Weise maschinell ausgewertet zu werden. Vor allem in der Anfangszeit der elektronischen Datenverarbeitung wurde diese Schreibweise daher gerne als intermediäres Produkt von Compilern und Interpretern erzeugt bzw. verwendet, um die weitere Verarbeitung einer in benutzerfreundlicherer Schreibweise vorliegenden Eingabe für die Rechenanlage zu vereinfachen. (vgl. Hamblin 1962)
Logik | Compilerbau | Mathematische Notation
Polish notation | ポーランド記法 | Poolse notatie | Notacja polska | Notação Polonesa
This article is licensed under the GNU Free Documentation License.
It uses material from the
"Polnische Notation".
Home Page • arts • business • computers • games • health • hospitals • home • kids & teens • news • physicians • recreation• reference • regional • science • shopping • society • sports • world