Reguläre Sprache
Eine reguläre Sprache ist eine formale Sprache, die einer Reihe von relativ strengen Einschränkungen unterliegt. Ob eine Sprache mehr oder weniger eingeschränkt ist, ergibt sich aus ihrer Stellung innerhalb der Chomsky-Hierarchie. Meint man die Menge aller regulären Sprachen, so spricht man auch von der Klasse der regulären Sprachen. Die Klasse der regulären Sprachen gehört innerhalb der Chomsky-Hierarchie den am meisten eingeschränkten Sprachklassen vom sogenannten Typ 3 an. Sie bilden damit eine echte Teilmenge der kontextfreien Sprachen, die weniger eingeschränkt sind. Dennoch handelt es sich um eine sehr natürliche Sprachklasse, die in der Linguistik, der Informatik, sowie auch bei der Konstruktion mechanischer Geräte eine hohe praktische Bedeutung erlangt hat.
Im Unterschied zu einer natürlichen Sprache bezeichnet man im Rahmen der Theorie der formalen Sprachen beliebige Symbolfolgen als Wort. Die Menge der für ein Wort erlaubten Symbole heißt Alphabet. Eine Menge von Worten, die aus solchen erlaubten Symbolen bestehen, nennt man eine formale Sprache. Eine Sprache über einem Alphabet , das heißt eine Menge von Worten , heißt dann regulär, wenn sie eine der folgenden äquivalenten Bedingungen erfüllt:
- wird von einer regulären Grammatik erzeugt. Die regulären Grammatiken sind gerade die rechtslinearen und linkslinearen Grammatiken.
- wird von einem endlichen Automaten akzeptiert.
- kann durch einen regulären Ausdruck dargestellt werden.
- Die auf durch durch definierte Relation hat endlichen Index.
Will man für eine gegebene Sprache L nachweisen, dass sie regulär ist, so muss man sie demnach auf eine reguläre Grammatik, einen endlichen Automaten oder einen regulären Ausdruck oder auf bereits bekannte regulären Sprachen zurückführen. Dies führt zu den Abschlusseigenschaften regulärer Sprachen.
Abschlusseigenschaften
Die Klasse der regulären Sprachen ist abgeschlossen unter den gewöhnlichen Mengenoperationen Vereinigung, Durchschnitt und Komplement. Darüber hinaus gilt die Abgeschlossenheit auch für die Konkatenation und den sogenannten Kleene-Stern. Im einzelnen gilt also:
- Die Vereinigung zweier regulärer Sprachen und ist regulär.
- Der Durchschnitt zweier regulärer Sprachen und regulär.
- Das Komplement einer regulären Sprache ist regulär.
- Die Konkatenation zweier regulärer Sprachen und ist regulär.
- Der Kleene-Stern einer regulären Sprache , d.h. die beliebig häufige Konkatenation von Worten aus der Sprache vereinigt mit dem leeren Wort, ist regulär.
Typische Entscheidungsprobleme
Seien , und gegebene reguläre Sprachen über dem Alpabet . Dann ergeben folgende typische Problemstellungen:
- Wortproblem: Gehört ein Wort zu ?
- Leerheitsproblem: Ist die leere Menge?
- Endlichkeitsproblem: Besteht aus einer endlichen Menge von Worten?
- Äquivalenzproblem: Gilt ?
Alle diese Probleme sind entscheidbar. Sie gelten — mit einer Ausnahme — auch noch für die analog formulierten Probleme über den kontextfreien Sprachen. Die Ausnahme ist das Äquivalenzproblem, das bereits ab den kontextfreien Sprachen (also der nach der Chomsky-Hierarchie nächst höheren Sprachklasse) nicht mehr entscheidbar ist.