Zum Inhalt springen

Informatik · Klasse 11–13 · aktualisiert

Reguläre Sprache: Automaten, Ausdrücke und Beweise

Du lernst reguläre Sprachen kennen: Wortmengen, die ein Automat mit endlich vielen Zuständen genau erkennt.

0 von 9 Aufgaben gelöst

Reguläre Sprache: Automaten, Ausdrücke und Beweise

Kurz gesagt

Eine Sprache ist regulär, wenn ein endlicher Automat genau ihre Wörter erkennt. Gleichwertige Beschreibungen sind reguläre Ausdrücke als Formeln für Wortmuster und reguläre Grammatiken als Ersetzungsregeln.

In der Informatik kann schon eine Zeichenfolge wie „001“ ein Wort sein. Eine Sprache legt fest, welche Wörter dazugehören. Du beschreibst solche Wortmengen, prüfst einzelne Wörter und begründest, warum ein endlicher Automat manche Regeln nicht erkennen kann.

Deine Lernziele

Hake ab, was du schon kannst. Löst du alle Aufgaben eines Abschnitts, hakt Termi das Ziel für dich ab.

4 Abschnitte

Ein Alphabet ist eine endliche Menge erlaubter Zeichen. Der griechische Buchstabe \Sigma bezeichnet hier das Alphabet. Ein Wort ist eine endliche Folge dieser Zeichen. Das leere Wort \varepsilon enthält kein Zeichen. \Sigma^* bezeichnet die Menge aller Wörter über diesem Alphabet, einschließlich des leeren Wortes. Eine Sprache L ist eine Menge solcher Wörter. w\in L bedeutet: Das Wort w gehört zur Sprache L. Die Schreibweise |w| bezeichnet die Anzahl seiner Zeichen. Eine leere Sprache enthält kein Wort; eine Sprache mit dem leeren Wort ist dagegen nicht leer.

Eine Sprache heißt regulär, wenn ein endlicher Automat genau ihre Wörter erkennt: Er nimmt jedes zugehörige Wort an und lehnt jedes andere Wort über dem Alphabet ab. Ein endlicher Automat besitzt eine feste, endliche Menge von Zuständen. Ein Zustand beschreibt seine aktuelle Situation und bildet seinen gesamten veränderlichen Speicher. Trotzdem kann der Automat unendlich viele verschiedene Wörter erkennen, denn Zustände können mehrfach besucht werden.

Drei Beschreibungen sind gleichwertig: ein endlicher Automat, ein regulärer Ausdruck und eine reguläre Grammatik. Ein regulärer Ausdruck ist eine Formel, die erlaubte Wortmuster beschreibt. Ein Stern hinter einem Zeichen erlaubt beliebig viele Wiederholungen, auch null. Nebeneinanderstehende Teile werden aneinandergehängt. Eine reguläre Grammatik erzeugt Wörter durch eine endliche Liste von Ersetzungsregeln. Dafür genügen Regeln, die einen Platzhalter durch ein Zeichen, durch ein Zeichen mit folgendem Platzhalter oder durch das leere Wort ersetzen. Ein Automat oder eine solche Beschreibung muss die ganze Sprache erfassen. Einige passende Testwörter allein beweisen das nicht.

Definition

Reguläre Sprache

Eine Sprache ist regulär, wenn ein Automat mit endlich vielen Zuständen genau ihre Wörter erkennt. Gleichwertig kannst du sie durch einen regulären Ausdruck oder eine reguläre Grammatik beschreiben.

Beispiel: Wörter aus r und z beschreiben

  1. 1Das Alphabet besteht aus den Zeichen r und z. Gesucht sind beliebig viele r, gefolgt von genau einem z.
  2. 2Der reguläre Ausdruck lautet r^*z. Dazu gehören „z“, „rz“ und „rrz“, aber weder „zr“ noch „rr“.
  3. 3Für eine reguläre Grammatik sei S der Startplatzhalter. Der Pfeil bedeutet „ersetze durch“. Die Regeln lauten S\to rS und S\to z.
  4. 4Beispielsweise entsteht S\to rS\to rrS\to rrz. Der Platzhalter wird am Ende durch z ersetzt.
  5. 5Weil beliebig viele r erlaubt sind, enthält diese reguläre Sprache unendlich viele Wörter.

Teste dich

LeichtWelche Aussage über reguläre Sprachen stimmt?

Alles auf einen Blick

Reguläre Sprache

  • Regularität

    Ein endlicher Automat erkennt genau die Wörter der Sprache; die Wortmenge darf unendlich sein.

  • Beschreibungen

    Endliche Automaten, reguläre Ausdrücke und reguläre Grammatiken beschreiben dieselbe Klasse von Sprachen.

  • Wortprüfung

    Ein DEA liest das ganze Wort; der danach erreichte Zustand entscheidet über Annahme oder Ablehnung.

  • Abschluss

    Vereinigung, Durchschnitt, Komplement, Konkatenation, Kleene-Stern und Differenz erhalten die Regularität.

  • Pumping-Lemma

    Für den Gegenbeweis musst du jede zulässige Zerlegung ausschließen; das Erfüllen des Lemmas beweist keine Regularität.

Musteraufgabe · Schritt für Schritt

Das Wort „10010“ mit dem DEA prüfen

  1. 1Verwende den vollständigen DEA für Wörter ohne „01“ über dem Alphabet aus 0 und 1. Starte in s.
  2. 2Die erste Eins führt von s nach s.
  3. 3Die erste Null führt nach t; die zweite Null lässt den Zustand t unverändert.
  4. 4Die nächste Eins führt von t nach f. Damit ist „01“ vorgekommen.
  5. 5Die letzte Null lässt den Zustand f unverändert. Insgesamt ergibt sich s\to s\to t\to t\to f\to f.
  6. 6Der Endzustand f akzeptiert nicht. Deshalb gehört „10010“ nicht zur Sprache.

Fehler finden

Prüfe den Durchlauf für „01011“ In einer Zeile steckt ein Fehler. Tippe sie an.

Lückentext

Wähl in jeder Lücke das passende Wort und prüf dann deine Antworten.

Beim DEA für Wörter ohne „01“ endet der Durchlauf für „110“ in . Bei zwei regulären Sprachen umfasst der Durchschnitt die Wörter, die zu der beiden Sprachen gehören. Im Pumping-Beweis für a^n b^n gilt |uv|\le n und |v|>0. Der Teil v besteht deshalb aus .

Karteikasten

Erst selbst überlegen, dann umdrehen.

Übung mit Feedback

Abschluss-Check: Reguläre Sprache

LeichtWelche Frage ist ein Wortproblem?
MittelWelches Wort nimmt der beschriebene DEA für Wörter ohne „01“ an?
SchwerFür die Sprache L mit gleich vielen a und nachfolgenden b sei die Pumping-Länge n gleich vier. Für „aaaabbbb“ wählst du u als „a“, v als „aa“ und w als „abbbb“. Beide Längenbedingungen sind erfüllt. Welches Ergebnis entsteht beim Pumpen mit i gleich null?

Weiterlesen in Informatik