Informatik

Wortproblem: Entscheidbarkeit einfach erklärt

Wortproblem: Entscheidbarkeit einfach erklärt
Wortproblem: Entscheidbarkeit einfach erklärt
Für Quiz, Lückentext, Lernkarten und Fortschritt ist JavaScript nötig. Alle Inhalte und Lösungen bleiben direkt lesbar.

Das Wortproblem fragt: Gehört ein gegebenes Wort $w$ zu einer formalen Sprache $L$? Ein Entscheidungsverfahren muss diese Frage für jedes Wort nach endlich vielen Schritten korrekt mit Ja oder Nein beantworten.

Auf dieser Seite lernst du, warum das je nach Sprachklasse unterschiedlich schwierig ist und weshalb das Wortproblem für Typ-1-Grammatiken durch eine endliche Suche entschieden werden kann.

Deine Lernziele

Hake ab, was du schon kannst — und komm am Ende hierher zurück!

Aus einer Grammatik wird eine Ja-Nein-Frage

Eine formale Sprache ist eine Menge von Wörtern über einem Alphabet. Ist das Alphabet zum Beispiel $Σ = \{a,b\}$, dann sind a, abba und das leere Wort mögliche Wörter über diesem Alphabet.

Eine Grammatik $G$ erzeugt Wörter mithilfe von Produktionsregeln. Ihre Sprache wird mit $L(G)$ bezeichnet. Das Wortproblem für $G$ lautet daher:

$$w ∈ L(G)?$$

Die Eingabe besteht aus einem Wort – beim allgemeinen Wortproblem zusätzlich aus der Grammatik. Die Ausgabe ist Ja oder Nein.

Beispiel

Die Sprache $L = \{a^n b^n \mid n ≥ 0\}$ enthält gleich viele a wie b, wobei alle a vor den b stehen.

  • aabb gehört zu $L$, denn es hat die Form $a^2b^2$.
  • abab gehört nicht zu $L$: Die Anzahl stimmt zwar, aber die Reihenfolge nicht.
  • aabbb gehört nicht zu $L$, weil die Anzahlen verschieden sind.

Das Wortproblem verlangt einen Algorithmus, der diese Entscheidung für jedes Eingabewort trifft.

Teste dich
Frage 1 von 2LeichtWelche Frage stellt das Wortproblem für eine Grammatik $G$ und ein Wort $w$?
Lösung: Gilt $w ∈ L(G)$? — Entscheidend ist die Zugehörigkeit des Eingabeworts zur erzeugten Sprache.
Frage 2 von 2MittelGegeben ist $L = \{a^n b^n \mid n ≥ 0\}$. Welches Wort gehört zu $L$?
Lösung: aaabbbaaabbb hat die Form $a^3b^3$. Damit stimmen Anzahl und Reihenfolge.
Entscheidbar und semi-entscheidbar sind nicht dasselbe
Definition

Entscheidbar

Eine Sprache ist entscheidbar, wenn ein Algorithmus für jede mögliche Eingabe nach endlich vielen Schritten hält und korrekt Ja oder Nein ausgibt.

Definition

Semi-entscheidbar

Eine Sprache ist semi-entscheidbar, wenn ein Verfahren jedes enthaltene Wort nach endlich vielen Schritten erkennt. Bei einem nicht enthaltenen Wort darf das Verfahren dagegen endlos weiterlaufen.

Eine Aufzählung aller erzeugbaren Wörter liefert deshalb nur eine „halbe“ Lösung: Taucht das gesuchte Wort auf, ist die Antwort Ja. Solange es nicht aufgetaucht ist, weißt du nicht, ob es später noch erscheint oder überhaupt nicht zur Sprache gehört.

Merke

Entscheidbar bedeutet: Ja- und Nein-Fälle enden immer. Semi-entscheidbar bedeutet: Nur für Ja-Fälle ist ein Ende garantiert.

Lückentext

Wähle in jeder Lücke die passende Form und prüfe anschließend deine Antworten.

Ein hält bei jeder Eingabe. Ein muss dagegen nur jedes enthaltene Wort nach endlich vielen Schritten erkennen. Läuft die Suche noch, ist die Zugehörigkeit daher .

Lösungen: Lücke 1: Entscheidungsverfahren; Lücke 2: Semi-Entscheidungsverfahren; Lücke 3: ungeklärt. Eine laufende Aufzählung beweist weder die Nichtzugehörigkeit noch, dass das Wort später erscheinen wird.
Die Sprachklasse bestimmt das Verfahren

Die Chomsky-Hierarchie ordnet Grammatiken nach der Form ihrer Regeln. Für das Wortproblem ergibt sich folgendes Grundbild:

TypSprachklasseWortproblem
Typ 3regulärentscheidbar, zum Beispiel mit einem endlichen Automaten
Typ 2kontextfreientscheidbar, zum Beispiel mit CYK nach Umformung in Chomsky-Normalform
Typ 1kontextsensitiventscheidbar durch eine endliche, längenbeschränkte Suche
Typ 0allgemeinim Allgemeinen nur semi-entscheidbar und nicht entscheidbar

Beim CYK-Verfahren werden Teilwörter systematisch untersucht. Für ein Wort der Länge $n$ gibt es $n(n+1)/2$ relevante Tabellenzellen. Bei einer festen Grammatik benötigt das Verfahren höchstens eine Laufzeit der Größenordnung $O(n^3)$.

Die Typ-1-Suche ist ebenfalls ein Entscheidungsverfahren, kann aber exponentiell viele Satzformen untersuchen müssen. Entscheidbar bedeutet daher nicht automatisch praktisch schnell.

Gut zu wissen

Die Mitgliedschaft eines einzelnen Wortes kann entscheidbar sein, obwohl andere Fragen über dieselbe Sprachklasse unentscheidbar sind. Für zwei kontextfreie Grammatiken ist etwa die Mitgliedschaft in ihrem Schnitt entscheidbar: Man prüft das Wort in beiden Sprachen. Ob der gesamte Schnitt leer ist, ist dagegen im Allgemeinen unentscheidbar.

Teste dich
Frage 1 von 2LeichtWelche Aussage trifft auf Typ-0-Sprachen im Allgemeinen zu?
Lösung: Ihr Wortproblem ist semi-entscheidbar, aber nicht immer entscheidbar. — Eine Typ-0-Grammatik kann ihre Wörter effektiv aufzählen. Das erkennt Ja-Fälle, liefert für Nein-Fälle aber nicht immer ein Ende.
Frage 2 von 2MittelWarum folgt aus der Entscheidbarkeit eines Problems noch keine praktische Effizienz?
Lösung: Ein stets terminierender Algorithmus kann trotzdem sehr viele Schritte benötigen. — Entscheidbarkeit verlangt ein korrektes Ende, setzt aber keine kleine Laufzeit voraus.
Warum die Typ-1-Suche endlich ist

Typ-1-Grammatiken sind im Kern nicht verkürzend: Bei einer Regel $u → v$ gilt $|u| ≤ |v|$. Eine Satzform kann während einer Ableitung also nicht kürzer werden.

Gesucht sei ein Zielwort $w$ der Länge $n$. Würde eine Ableitung zwischendurch eine Satzform mit mehr als $n$ Zeichen erreichen, könnte sie später nicht wieder auf Länge $n$ schrumpfen. Dieser Zweig kann das Zielwort nicht mehr erzeugen und darf verworfen werden.

Über dem endlichen Alphabet aus Terminalen und Nichtterminalen gibt es nur endlich viele Satzformen mit höchstens $n$ Zeichen. Genau diese endliche Menge kann der Algorithmus durchsuchen.

Merke

Nicht verkürzende Regeln + feste Ziellänge = endlicher relevanter Suchraum.

Der Fixpunktalgorithmus arbeitet so:

  1. Setze $n = |w|$ und beginne mit der Menge $M = \{S\}$.
  2. Wende auf alle Formen in $M$ jede mögliche Regel an jeder passenden Stelle an.
  3. Füge nur neue Satzformen mit Länge höchstens $n$ zu $M$ hinzu.
  4. Ist $w$ enthalten, antworte Ja.
  5. Entstehen keine neuen Formen mehr, ist der Fixpunkt erreicht. Antworte dann Nein.

Der Algorithmus terminiert: Entweder findet er das Zielwort, oder die wachsende Menge kann nach endlich vielen Ergänzungen nicht mehr wachsen.

Teste dich
Frage 1 von 2MittelWarum darf eine Satzform der Länge $n+1$ bei der Suche nach einem Wort der Länge $n$ verworfen werden?
Lösung: Typ-1-Regeln können ihre Länge später nicht wieder auf $n$ verkürzen. — Die Längenmonotonie verhindert die Rückkehr von $n+1$ zu $n$.
Frage 2 von 2SchwerWarum beweist ein Fixpunkt die Antwort Nein, wenn das Zielwort fehlt?
Lösung: Alle erreichbaren Formen innerhalb der relevanten Längengrenze wurden bereits erfasst. — Nach dem Fixpunkt wiederholen weitere Suchrunden nur bereits bekannte Satzformen. Das fehlende Ziel kann deshalb nicht später auftauchen.
Eine Typ-1-Suche vollständig durchführen

Gegeben ist die Grammatik

$$G = (\{S,B\},\{a,b,c\},P,S)$$

mit den Regeln

  • $S → aSBc$
  • $S → abc$
  • $cB → Bc$
  • $bB → bb$

Zu prüfen ist das Wort aabbcc. Seine Länge beträgt $6$, daher werden nur Satzformen mit höchstens sechs Zeichen berücksichtigt.

Beispiel

Die erreichbaren Mengen wachsen schrittweise:

  • $M_0 = \{S\}$
  • $M_1 = \{S, aSBc, abc\}$
  • $M_2 = M_1 ∪ \{aabcBc\}$
  • $M_3 = M_2 ∪ \{aabBcc\}$
  • $M_4 = M_3 ∪ \{aabbcc\}$

Der erfolgreiche Ableitungsweg lautet:

$$S ⇒ aSBc ⇒ aabcBc ⇒ aabBcc ⇒ aabbcc$$

Der Schritt $aSBc ⇒ aaSBcBc$ wird bei dieser Suche verworfen, weil die neue Satzform sieben Zeichen lang wäre. Sie kann wegen der nicht verkürzenden Regeln kein Zielwort der Länge sechs mehr ergeben.

Da aabbcc in $M_4$ liegt, lautet die Entscheidung Ja.

Wäre das Zielwort bis zum Fixpunkt nicht erschienen, dürfte der Algorithmus mit Nein enden. Genau dieses sichere Abbruchkriterium fehlt bei der bloßen Aufzählung einer allgemeinen Typ-0-Grammatik.

Teste dich
Frage 1 von 2MittelWelche Regel erzeugt im Beispiel aus aabcBc die Form aabBcc?
Lösung: $cB → Bc$ — Die Teilkette cB wird vertauscht. Dadurch entsteht aabBcc.
Frage 2 von 2SchwerDie Suche erreicht bei einem anderen Ziel der Länge sechs einen Fixpunkt, ohne das Ziel zu enthalten. Was folgt?
Lösung: Das Zielwort gehört nicht zur Sprache dieser Grammatik. — Der Fixpunkt enthält alle erreichbaren Satzformen bis zur relevanten Länge. Fehlt das Ziel dort, lautet die Antwort Nein.
Typische Verwechslungen vermeiden
  • Wortproblem oder Sprachvergleich? Das Wortproblem prüft ein einzelnes Wort. Es fragt nicht, ob zwei ganze Sprachen gleich sind.
  • Nicht gefunden oder widerlegt? Bei einer unbegrenzten Aufzählung bedeutet „noch nicht gefunden“ nicht Nein. Erst ein begründeter endlicher Suchraum erlaubt diesen Schluss.
  • Entscheidbar oder effizient? Ein Algorithmus kann sicher terminieren und dennoch exponentiell lange brauchen.
  • Grammatiktyp oder konkretes Verfahren? Die Sprachklasse bestimmt, welche allgemeinen Verfahren und Garantien verfügbar sind.
  • Leeres Wort: Bei Typ-1-Grammatiken gibt es unterschiedliche Konventionen. Manche Definitionen schließen verkürzende Regeln vollständig aus; andere erlauben unter einer Zusatzbedingung die Sonderregel $S → ε$. Der dargestellte Fixpunktalgorithmus behandelt nichtleere Zielwörter.
Teste dich
Frage 1 von 1SchwerEine Aufzählung hat das gesuchte Wort nach einer Million Schritten noch nicht ausgegeben. Welche Folgerung ist sicher?
Lösung: Es ist noch nicht entschieden, ob das Wort zur Sprache gehört. — Bei einem Semi-Entscheidungsverfahren kann ein Nein-Fall endlos laufen. Die bisherige Suchdauer ändert daran nichts.
Karteikasten
Karteikasten

Überlege zuerst selbst und drehe die Karte anschließend zum Prüfen um.

Alles auf einen Blick
Mindmap
  • Wortproblem
    • Eingabe: Wort und gegebenenfalls Grammatik
    • Ausgabe: Ja oder Nein
    • entscheidbar: Ende für jede Eingabe
    • semi-entscheidbar: garantiertes Ende nur für Ja-Fälle
    • Typ 3: endlicher Automat
    • Typ 2: zum Beispiel CYK
    • Typ 1: längenbeschränkte Fixpunktsuche
    • Typ 0: im Allgemeinen unentscheidbar

Der entscheidende Zusammenhang lautet: Die Regeln einer Sprachklasse bestimmen, ob eine Suche begrenzt werden kann. Bei Typ 1 liefert die Nichtverkürzung eine Längengrenze und damit einen endlichen Suchraum. Bei Typ 0 fehlt eine solche allgemeine Grenze.

Abschluss-Check
Teste dich
Frage 1 von 3LeichtWas muss ein Entscheidungsverfahren leisten?
Lösung: Es muss auf jeder Eingabe halten und korrekt Ja oder Nein liefern. — Ein Entscheidungsverfahren garantiert Terminierung und Korrektheit für Ja- und Nein-Fälle.
Frage 2 von 3MittelEine Typ-1-Grammatik soll ein Wort der Länge $8$ erzeugen. Welche Satzformen sind für die beschriebene Suche relevant?
Lösung: Nur erreichbare Satzformen mit höchstens acht Zeichen. — Kürzere Zwischenformen bleiben wichtig. Formen mit mehr als acht Zeichen können das Ziel dagegen nicht mehr erreichen.
Frage 3 von 3SchwerZwei Verfahren suchen nach einem Wort. Verfahren A zählt bei einer Typ-0-Grammatik immer weitere Ableitungen auf. Verfahren B durchsucht bei einer Typ-1-Grammatik alle relevanten Formen bis zum Fixpunkt. Warum kann nur B sicher Nein ausgeben?
Lösung: B besitzt wegen der Längengrenze einen endlichen vollständigen Suchraum. — Beim Fixpunkt von B sind alle relevanten Formen erfasst. Bei A kann ein bislang fehlendes Wort theoretisch noch später erscheinen.

Du beherrschst den Kern des Wortproblems, wenn du bei einer Lösung immer drei Fragen trennst: Was ist die Eingabe? Hält das Verfahren auch bei Nein? Welche Eigenschaft begrenzt die Suche?

Passend dazu