TODO:
2 Alphabete, Wörter, Sprachen und die Darstellung von Problemen
2.2 Alphabete, Wörter und Sprachen
Alphabet (2.1)
Eine endliche nichtleere Menge heißt Alphabet. Die Elemente eines Alphabets heißen Buchstaben (Zeichen, Symbole).
Häufige Alphabete:
- mit Leersymbol
- für (-adische Zahlen)
- .
Wort (2.2)
Ein Wort über ist eine endliche (eventuell leere) Folge von Buchstaben aus . Das leere Wort (auch ) ist die leere Buchstabenfolge.
Die Länge eines Wortes ist die Anzahl der Vorkommen von Buchstaben in .
Kleene-Stern
ist die Menge aller Wörter über , . (infinite bitstrings)
Alle Wörter über lassen sich aufzählen, indem man die Wörter der Länge hintereinander schreibt.
Konkatenation (2.3)
Die Verkettung (Konkatenation) für ein Alphabet ist die Abbildung mit
Note: Für alle gilt .
- ist assoziativ und , also ist ein Monoid mit neutralem Element .
- kommutativ.
Umkehrung (2.4)
Für , , ist die Umkehrung (Reversal) von .
Note: Es gilt
Iteration (2.5)
Für und ist die -te Iteration definiert durch
Wir verwenden die folgenden Begriffe um Wörter zu beschreiben.
Teilwort, Präfix, Suffix (2.6)
Seien .
- ist ein Teilwort von .
- ist ein Präfix von .
- ist ein Suffix von .
- ist ein echtes Teilwort (Präfix, Suffix) von und ist ein Teilwort (Präfix, Suffix) von .
Anzahl Vorkommen (2.7)
Für und ist die Anzahl der Vorkommen von in .
Note: Es gilt .
Kanonische Ordnung (2.8)
Sei , , mit Ordnung . Die kanonische Ordnung auf ist für :
für irgendwelche und .
Note: Wir sortieren also nach Länge und dann von links nach rechts nach Buchstaben.
Sprache (2.9)
Eine Sprache über ist eine Teilmenge von .
Properties:
- Das Komplement von bezüglich ist .
- ist die leere Sprache, .
Konkatenation
Für Sprachen über ist die Konkatenation
ACHTUNG: while .
Es gilt für eine Sprache über mit , und :
- and
- heißt Kleene’scher Stern von
Lemmas: Für gilt:
-
- Die Umkehrung gilt nicht
- zwei verschiedene Zerlegungen mit , , haben kann.
- Die Umkehrung gilt nicht
- Es existieren mit
- Proof: , , also und . Mit ist , , also .
Homomorphismus (2.10)
Seien Alphabete. Ein Homomorphismus von nach ist jede Funktion mit
- und
- für alle .
Ein Homomorphismus ist durch die Werte für alle festgelegt.
Example: , , ist ein Homomorphismus von nach , z.B. . Damit lässt sich jede eindeutige Darstellung über in eine eindeutige Darstellung über überführen.