Nerode-Relation

Konzept der theoretischen Informatik

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

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

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:

 

Der Index einer Nerode-Relation ist die Anzahl der vorhandenen Äquivalenzklassen.

Beispiel

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

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
  1. Uwe Schöning: Theoretische Informatik – kurz gefasst. 5. Auflage. Spektrum Akademischer Verlag, Heidelberg 2008, ISBN 978-3-8274-1824-1, S. 34.