Zum Inhalt springen

Informatik · Klasse 12–13 · aktualisiert

Kellerautomat einfach erklärt: Aufbau und Beispiel

Du lernst, wie ein Kellerautomat mit seinem Keller Klammern prüft, und welche Sprachen deterministische und nichtdeterministische Automaten erkennen.

0 von 11 Aufgaben gelöst

Kellerautomat einfach erklärt: Aufbau und Beispiel

Kurz gesagt

Ein Kellerautomat ist ein endlicher Automat mit einem Keller, der nach dem LIFO-Prinzip arbeitet. Typischerweise bestimmen Zustand, Eingabezeichen und oberstes Kellerzeichen den neuen Zustand und das neue Kellerwort. Nichtdeterministische Kellerautomaten erkennen die kontextfreien Sprachen.

Stell dir vor, du sollst prüfen, ob in einem Ausdruck zu jeder öffnenden Klammer eine schließende gehört. Ein Kellerautomat löst das mit einem Keller, in dem er sich offene Klammern merkt. Das Prinzip zeigt, wie man Verschachtelungen prüfen kann. Hier lernst du es Schritt für Schritt.

Deine Lernziele

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

4 Abschnitte

Ein Keller (auch Stapelspeicher, Stapel oder Stack genannt) ist eine Datenstruktur. Stell dir einen Stapel Umzugskisten vor. Du kannst nur oben eine Kiste daraufstellen oder von oben eine herunternehmen. Der Zugriff ist im Regelfall nur auf das oberste Element möglich. Weiter unten im Stapel kannst du nichts hinzufügen oder entfernen.

Deshalb kommen die Elemente in umgekehrter Reihenfolge wieder heraus. Das zuerst abgelegte (unterste) Element wird als letztes abgerufen. Das zuletzt abgelegte (oberste) Element wird zuerst abgerufen. Dieses Prinzip heißt Last In – First Out, kurz LIFO.

Das Ablegen eines neuen Objekts nennt man „Push“. Bei „Pop“ wird das oberste Objekt gelesen und gleichzeitig gelöscht. Soll das oberste Objekt nur gelesen werden, benutzt man „Top“ oder „Peek“.

Definition

LIFO-Prinzip

LIFO heißt „Last In – First Out“. Elemente werden in der umgekehrten Reihenfolge abgerufen, in der sie abgelegt wurden. Das zuletzt abgelegte Element kommt zuerst wieder heraus.

Beispiel: Stapel mit A und B (ausgedachte Namen)

  1. 1in: A wird abgelegt, im Keller liegt nur A
  2. 2in: B kommt oben darauf, oben liegt B, unten A
  3. 3out: B wird zuerst wieder abgerufen
  4. 4out: danach wird A abgerufen

Merke: Beim Keller zählt nur das oberste Element: Dort wird abgelegt und von dort wird abgerufen.

Teste dich

LeichtWas geschieht bei der Operation Pop?

Alles auf einen Blick

Kellerautomat

  • LIFO

    Das zuletzt abgelegte Element wird zuerst abgerufen.

  • Ein Schritt

    Zustand, Eingabezeichen und oberstes Kellerzeichen bestimmen typischerweise den neuen Zustand und das neue Kellerwort.

  • Klammern

    Eine öffnende Klammer kommt in den Keller, eine schließende löscht die oberste öffnende.

  • Erfolg

    Die Eingabe ist zu Ende und im Keller liegt nur #.

  • Sprachklassen

    Nichtdeterministische Kellerautomaten erkennen die kontextfreien Sprachen, deterministische eine echte Teilklasse davon.

Musteraufgabe · Schritt für Schritt

Die Klammerfolge { { } { } } prüfen (ausgedachtes Beispiel)

  1. 1Regeln: öffnende Klammer → Push, schließende Klammer → oberstes { löschen. Oberstes Zeichen steht rechts. Start in z0, Keller: #
  2. 2Zeichen { → Push, Keller: # { · Zeichen { → Push, Keller: # { {
  3. 3Zeichen } → oberstes { löschen, Keller: # { · Zeichen { → Push, Keller: # { {
  4. 4Zeichen } → oberstes { löschen, Keller: # { · Zeichen } → oberstes { löschen, Keller: #
  5. 5Eingabe zu Ende, im Keller nur #: Zu jeder öffnenden Klammer gehört eine schließende.

Fehler finden

Prüfe die Schritte bei der Eingabe { { (ausgedachtes Beispiel) 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 Keller wird das zuerst abgelegte Element als abgerufen. Am Ende einer erfolgreichen Klammerprüfung liegt im Keller . Die von nichtdeterministischen Kellerautomaten akzeptierten Sprachen sind genau die Sprachen.

Karteikasten

Erst selbst überlegen, dann umdrehen.

Übung mit Feedback

Abschluss-Check: Kellerautomat

LeichtDu stellst nacheinander eine rote, eine blaue und eine grüne Kiste auf einen Stapel und nimmst dann eine Kiste von oben herunter (ausgedachtes Beispiel). Welche ist es?
MittelEin Kellerautomat liest die Eingabe { { } } } (ausgedachtes Beispiel). Was geschieht beim letzten Zeichen?
SchwerDie deterministisch kontextfreien Sprachen sind eine echte Teilklasse der kontextfreien Sprachen. Was folgt daraus?

Weiterlesen in Informatik