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.
Gegeben sei eine Sprache über dem Alphabet . Die Nerode-Relation (auch , falls aus dem Kontext klar wird) ist definiert durch:
Formal gilt also für alle :
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.
Gegeben sei die durch den regulären Ausdruck definierte Sprache über dem Alphabet . Diese Sprache induziert genau drei Äquivalenzklassen:
Weitere Beispiele finden sich in dem Artikel über den Satz von Myhill-Nerode.
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.
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.