Beispiele formaler Sprachen
In diesem Kurs haben wir bereits verschiedene formale Sprachen kennengelernt. Diese sind u. a. die Relationenalgebra, die Datenbankabfragesprache SQL und die Programmiersprache Python:
Mithilfe der Relationenalgebra können Anfragen auf einem Datenbestand, der als Relationen gegeben ist formuliert werden. Die folgende Anfrage gibt alle Namen der Produkte zurück, die beim Großhändler oder im eigenen Shop gelistet sind:
Hier sind die Symbole π für die Projektion oder die Vereinigung ∪ Teil der formalen Sprache der Relationenalgebra. Sie können nicht beliebig miteinander kombiniert werden, z. B. müssen auf π die Namen der Attribute folgen, die wir ausgeben möchten.
Die Römischen Zahlen als formale Sprache
Mit römische Zahlen können Zahlen mithilfe der lateinischen Buchstaben \(\text{I}, \text{V}, \text{X}, \text{L}, \text{C}, \text{D}\) und \(\text{M}\) beschrieben werden. Es handelt sich dabei um eine Zahlschrift.
Wie könnte die Schreibweise der römische Zahlen als formale Sprache angegeben werden? Hierfür definieren wir unser Alphabet und die Menge der zulässigen Wörter über dem Alphabet, sie bilden die Sprache:
- Alphabet: \( \Sigma = \{\text{I}, \text{V}, \text{X}, \text{L}, \text{C}, \text{D}, \text{M}\} \)
- Menge aller Wörter \( w\) über dem Alphabet: \( \Sigma^* = \{\text{LXX}, \text{XXL}, \text{LILLI}, ...\} \)
- Sprache der römischen Zahlen: \( \mathcal{L}=\{\text{I}, \text{II}, \text{III}, \text{IV}, \text{V}, \text{VI}, \text{VII}, \text{VIII}, \text{IX}, \text{X}, ...\} \)