Nerode-Relation
Die Nerode-Relation (auch: Nerode-Kongruenz oder Nerode-Rechtskongruenz) ist eine Äquivalenzrelation auf den Präfixen einer formalen Sprache, die in der Theoretischen Informatik untersucht wird.
Sie ist nach Anil Nerode benannt.
Definition
[Bearbeiten | Quelltext bearbeiten]Gegeben sei eine Sprache über dem Alphabet . Die Nerode-Relation (auch , falls aus dem Kontext klar wird) ist definiert durch:
- Zwei Wörter sind bezüglich der Nerode-Relation genau dann äquivalent zueinander, wenn sie beide durch exakt dieselben Suffixe zu Wörtern der Sprache ergänzt werden.
- Umgangssprachlich: zwei Worte sind genau dann bez. der Nerode-Relation äquivalent zueinander, wenn sie sich auf beliebige Suffixe zu Worten „gleich verhalten“, d. h., beide Worte sind in der Sprache oder nicht.
Formal gilt also für alle :
Äquivalenzklasse
[Bearbeiten | Quelltext bearbeiten]Die Äquivalenzklasse eines bezüglich der Nerode-Relation ist definiert als Menge aller Wörter , die bezüglich der Nerode-Relation äquivalent zu sind. Es gilt also:
Index
[Bearbeiten | Quelltext bearbeiten]Der Index einer Nerode-Relation ist die Anzahl der vorhandenen Äquivalenzklassen.
Beispiel
[Bearbeiten | Quelltext bearbeiten]Gegeben sei die durch den regulären Ausdruck definierte Sprache über dem Alphabet . Diese Sprache induziert genau drei Äquivalenzklassen:
- , enthält alle Präfixe, welche aus Folgen von Nullen oder dem leeren Wort bestehen (also ).
- , besteht aus Wörtern, die mit 0en oder beginnen und mit 1en enden (also )
- , welche aus allen illegalen Präfixen besteht; das sind alle Wörter, die 10 enthalten (also ).
Weitere Beispiele finden sich in dem Artikel über den Satz von Myhill-Nerode.
Anwendung
[Bearbeiten | Quelltext bearbeiten]Die Nerode-Relation bildet den Ausgangspunkt für den Satz von Myhill-Nerode, mit dem sich bestimmen lässt, ob eine Sprache regulär ist oder nicht. Der Satz besagt, dass eine Sprache genau dann regulär ist, wenn es endlich viele Äquivalenzklassen bezüglich der Nerode-Relation gibt.[1]
Die Relation wird außerdem verwendet, um zu einer gegebenen regulären Sprache einen minimalen deterministischen endlichen Automaten zu konstruieren, also einen Automaten, der möglichst wenige Zustände besitzt. Der so konstruierte Automat enthält exakt Zustände. Dabei können Zustände auftreten, die vom Startzustand aus unerreichbar sind; nach Entfernung dieser hat der Automat tatsächlich die minimale Anzahl an Zuständen.
Einzelnachweise
[Bearbeiten | Quelltext bearbeiten]- ↑ Uwe Schöning: Theoretische Informatik – kurz gefasst. 5. Auflage. Spektrum Akademischer Verlag, Heidelberg 2008, ISBN 978-3-8274-1824-1, S. 34.