- Polnische Notation
-
Polnische Notation (kurz PN, auch Präfixnotation oder Łukasiewicz-Notation genannt) 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 verdankt ihren Namen dem polnischen Mathematiker Jan Łukasiewicz, der sie in den 1920er-Jahren entwickelte (eine genauere Datierung ist wohl nicht möglich[1]). Łukasiewicz stellte die polnische Notation als kompakte und klammerfreie Schreibweise für die Aussagenlogik vor. Als Junktoren (bzw. Konnektive) verwendet er
N
für die Negation,K
für die Konjunktion,A
für die Disjunktion,C
für das Konditional undE
für das Bikonditional. Als Satzbuchstaben, die für beliebige Aussagen stehen, verwendet er Kleinbuchstaben. Daraus lassen sich Aussagen wieNp
(„es ist nicht der Fall, dass p“) oderCpq
(„Wenn p, dann q“) zusammensetzen.Łukasiewicz weist selbst darauf hin,[2] 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.
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 die meisten Funktionen in polnischer Notation angeschrieben, z.B. Sinus („sin 30“) oder Logarithmus („ln 10“). Eine Ausnahme bilden zweistellige Verknüpfungen wie z.B. die Grundrechenarten. Hier ist eine Infix-Schreibweise üblich, bei der der Operator zwischen seine Argumente („Operanden“) geschrieben wird („a+b“ statt „+(a,b)“). Auch in der Logik dominieren heute Infix-Notationen, meist Varianten der frühen Peano-Russell-Notation.
Inhaltsverzeichnis
Beispiele
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 Infix-Notation 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-Russell-Notation
(P → (Q → R)) → ((P → Q) → (P → R))
zum kürzeren
CCpCqrCCpqCpr
Anwendung
Neben der Funktionsschreibweise in der Mathematik, bei der in vielen Fällen der Funktionsname seinen Argumenten vorangeht (z. B. „sin 30“ oder „lg 10“) und einer Nischenposition in der Logik, in der auch heute noch von manchen Autoren polnische Notation verwendet wird, ist diese Schreibweise derzeit am prominentesten in der Informatik vertreten. So verwenden die meisten Kommandozeileninterpreter polnische Notation (z. B. „
dir *.doc
“ oder „ls -a /
“).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 APL, 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, siehe unten) eignet sich gut 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. Literatur: Hamblin 1962)
Umgekehrte polnische Notation
Die Umgekehrte Polnische Notation, kurz UPN, ist eine Variante der polnischen Notation, bei der die Operatoren nicht vor, sondern nach ihren Argumenten geschrieben werden. Entsprechend wird die UPN Postfixnotation oder auch umgekehrte Präfixnotation, selten auch Schinlop-Notation genannt.
Siehe auch
- Currying als Anwendungsbeispiel polnischer Notation
- Polnische Mathematikerschule
Quellen
- ↑ „Die ältesten Texte in den ‚Selected Works‘, in denen [Łukasiewicz] polnische Notation verwendet, datieren relativ spät, sind aber Präsentationen vorangehender Arbeiten, die ‚in the course of the years 1920–1930‘ (Seite 131) stattgefunden haben, also auch keine genauere Zeitangabe geben.“ (Ch. Gottschall: Logische Notationen und deren Verarbeitung auf elektronischen Rechenanlagen aus theoretischer, praktischer und historischer Sicht (Diplomarbeit), Wien: 2005, Seite 88)
- ↑ „On the history of the logic of propositions“, abgedruckt in: Łukasiewicz 1970, Seite 207 ff.
Literatur
- Jan Łukasiewicz, L. Borkowski (Hg.): Selected Works, Warschau: PWN 1970
- Charles L. Hamblin: „Translation to and from Polish notation,“ The Computer Journal, Volume 5, Issue 3, Oktober 1962, Seite 210–213
Wikimedia Foundation.