Wortproblem: Entscheidbarkeit einfach erklärt
Du formulierst das Wortproblem, unterscheidest Entscheidbarkeit und Semi-Entscheidbarkeit und erklärst die endliche Suche für Typ 1.
Kurz gesagt
Das Wortproblem fragt, ob eine Zeichenfolge zu einer festgelegten Sprache gehört. Es ist entscheidbar, wenn ein Verfahren für jede Eingabe nach endlich vielen Schritten richtig mit Ja oder Nein antwortet.
Ein Wort ist hier eine endliche Folge von Zeichen; auch eine Folge ohne Zeichen ist ein Wort. Eine formale Sprache ist eine festgelegte Menge solcher Wörter. Beim Wortproblem prüfst du, ob ein gegebenes Wort zu dieser Menge gehört.
Deine Lernziele
Beim Wortproblem sind eine formale Sprache und ein Wort gegeben. Die Frage lautet: Gehört dieses Wort zu dieser Sprache? Die Antwort ist Ja oder Nein. Die Sprache muss dafür eindeutig beschrieben sein, etwa durch eine vollständige Wortliste oder durch Regeln.
Ein Alphabet ist eine endliche Menge erlaubter Zeichen. Dass ein Wort aus erlaubten Zeichen besteht, reicht für die Zugehörigkeit zur Sprache nicht aus. Auch die Reihenfolge der Zeichen und die Regeln der Sprache zählen. Das Wortproblem fragt weder nach der Wortlänge noch nach einer Bedeutung im Deutschen.
Wortproblem
Das Wortproblem einer formalen Sprache ist die Aufgabe, für ein gegebenes Wort richtig mit Ja oder Nein zu beantworten, ob es zur Sprache gehört.
Beispiel: Zwei Wörter einer ausgedachten Sprache
- 1Das Alphabet besteht aus „p“ und „q“. Die Sprache enthält genau „pq“ und „qqp“.
- 2Für das Wort „pq“ lautet die Antwort Ja, weil es in der vollständigen Liste steht.
- 3Für das Wort „qp“ lautet die Antwort Nein. Seine Zeichen sind erlaubt, aber ihre Reihenfolge ergibt keines der beiden Wörter.
Teste dich
Ein Algorithmus ist ein eindeutig beschriebenes Verfahren mit ausführbaren Schritten. Eine Sprache heißt entscheidbar, wenn es einen Algorithmus gibt, der für jedes Eingabewort nach endlich vielen Schritten die richtige Antwort Ja oder Nein liefert. Ein solches Verfahren heißt Entscheider.
Eine Sprache heißt semi-entscheidbar, wenn es einen Algorithmus gibt, der jedes zugehörige Wort nach endlich vielen Schritten mit Ja erkennt. Für Wörter außerhalb der Sprache ist keine beendete Nein-Antwort garantiert: Das Verfahren darf dort unbegrenzt weiterlaufen. Eine falsche Ja-Antwort ist nicht erlaubt.
Jede entscheidbare Sprache ist auch semi-entscheidbar: Ihr Entscheider erkennt insbesondere die Ja-Fälle. Der umgekehrte Schluss gilt nicht allgemein. Es gibt semi-entscheidbare Sprachen ohne Entscheider; sie heißen unentscheidbar. Dass ein bestimmtes Verfahren bei manchen Eingaben endlos läuft, beweist aber noch keine Unentscheidbarkeit. Ein anderes Verfahren könnte die Sprache entscheiden.
| Eigenschaft | Wort gehört dazu | Wort gehört nicht dazu |
|---|---|---|
| Entscheidbar | Richtiges Ja nach endlich vielen Schritten | Richtiges Nein nach endlich vielen Schritten |
| Semi-entscheidbar | Richtiges Ja nach endlich vielen Schritten | Keine beendete Antwort garantiert |
Merke: Langes Warten ist keine Nein-Antwort. Ohne eine zusätzliche Begründung weißt du nicht, ob das Verfahren später noch ein Ja liefert.
Teste dich
Eine formale Grammatik beschreibt eine Sprache durch endlich viele Ersetzungsregeln. Diese erzeugen Wörter aus einem Startsymbol, also einem festgelegten Anfangszeichen. Die Chomsky-Hierarchie ist eine Einteilung formaler Sprachen nach den erlaubten Formen solcher Regeln. Sie unterscheidet die Typen 0, 1, 2 und 3.
Die Sprachklassen sind ineinander enthalten: Jede Typ-3-Sprache ist auch eine Typ-2-Sprache, jede Typ-2-Sprache auch eine Typ-1-Sprache und jede Typ-1-Sprache auch eine Typ-0-Sprache. Für Typ 1, Typ 2 und Typ 3 ist das Wortproblem entscheidbar.
Für jede Typ-0-Sprache ist das Wortproblem semi-entscheidbar. Unter den Typ-0-Sprachen gibt es aber auch Sprachen mit unentscheidbarem Wortproblem. Die Aussage „Typ 0 ist im Allgemeinen nicht entscheidbar“ bedeutet deshalb nicht, dass jede einzelne Typ-0-Sprache unentscheidbar ist. Der Typ 0 allein garantiert weder Entscheidbarkeit noch Unentscheidbarkeit.
| Sprachtyp | Wortproblem |
|---|---|
| Typ 0 | Semi-entscheidbar; darunter sind auch unentscheidbare Fälle. |
| Typ 1 | Entscheidbar |
| Typ 2 | Entscheidbar |
| Typ 3 | Entscheidbar |
Merke: Die Einordnung beschreibt garantierte Lösbarkeit. Sie sagt noch nicht, wie viele Schritte ein bestimmtes Suchverfahren benötigt.
Teste dich
Terminalsymbole sind die Zeichen fertiger Wörter. Nichtterminalsymbole sind Platzhalter, die durch Regeln ersetzt werden. Eine Herleitung ist eine Folge solcher Regelanwendungen. Jede dabei entstehende Zeichenfolge heißt Satzform; sie kann noch Platzhalter enthalten. Ihre Länge zählt jedes Symbol, auch jeden Platzhalter. Das endliche Vokabular einer Grammatik besteht aus ihren Terminalsymbolen und Nichtterminalsymbolen. Der Pfeil \to in einer Regel bedeutet „ersetze durch“.
Wir verwenden hier die Typ-1-Konvention, bei der das Startsymbol S auf keiner rechten Regelseite vorkommt. Die Regeln verkürzen Satzformen nicht. Als Ausnahme darf die Regel S \to \varepsilon vorkommen. Dabei bezeichnet \varepsilon das leere Wort, also das Wort mit null Zeichen. Für ein leeres Zielwort prüfst du gesondert: Ist diese Ausnahmeregel vorhanden, lautet die Antwort Ja; andernfalls Nein.
Für ein nichtleeres Zielwort bezeichne n seine Zeichenanzahl. Beginne mit der Satzform S. Speichere sie als besucht und in einer Liste der noch zu untersuchenden Satzformen. Nimm jeweils eine Satzform aus dieser Liste. Ist sie genau das Zielwort, antworte Ja. Andernfalls wende jede passende Regel an jeder passenden Stelle an. Berücksichtige dabei alle entstehenden Satzformen bis zur Länge n. Eine noch nicht besuchte Satzform speicherst du als besucht und nimmst sie in die Liste auf. Bereits besuchte Satzformen untersuchst du nicht erneut. Die Ausnahmeregel für das leere Wort lässt du bei dieser Suche weg: Das Startsymbol kann nicht später wieder auftreten, und das leere Wort hilft nicht beim Erzeugen eines nichtleeren Zielworts.
Längere Satzformen kannst du ausschließen, weil sie nicht mehr auf die Zielwortlänge schrumpfen können. Über dem endlichen Vokabular gibt es nur endlich viele Satzformen der Längen eins bis n. Jede wird höchstens einmal zur Untersuchung aufgenommen. Auch ein Kreis von längenerhaltenden Regeln kann die Suche deshalb nicht endlos machen. Eine bekannte Satzform hat dieselben möglichen Fortsetzungen, unabhängig davon, auf welchem Weg du sie erreicht hast. Ist die Liste leer, ohne dass das Zielwort gefunden wurde, antworte Nein.
Besuchte Satzform
Eine Satzform gilt als besucht, sobald sie zur Untersuchung gespeichert wurde. Ein erneuter Weg zu derselben Zeichenfolge erzeugt keinen zusätzlichen Suchfall.
Beispiel: Eine ausgedachte Suche mit einem Kreis
- 1Die Terminalsymbole sind „d“, die Platzhalter sind „S“, „A“ und „B“. Die Regeln lauten S \to A, A \to B, B \to A und B \to dd. Es gibt keine weiteren Regeln.
- 2Das Zielwort „dd“ hat Länge zwei. Die Suche beginnt bei „S“.
- 3Aus „S“ entsteht „A“, aus „A“ entsteht „B“. Diese Satzformen werden als besucht gespeichert.
- 4Aus „B“ entsteht erneut „A“. Weil „A“ bereits besucht ist, wird es nicht erneut aufgenommen.
- 5Aus „B“ entsteht außerdem „dd“. Das ist genau das Zielwort; die Antwort lautet Ja.
Merke: Für eine vollständige Suche musst du jede passende Regel an jeder passenden Stelle berücksichtigen. Ein erfolgloser einzelner Herleitungsweg reicht für Nein nicht aus.
Teste dich
Alles auf einen Blick
Wortproblem
Gesucht ist die Ja-Nein-Antwort auf die Zugehörigkeit eines Wortes zu einer festgelegten Sprache.
Ein Entscheider beendet jede Eingabe mit der richtigen Antwort.
Die Ja-Fälle werden nach endlich vielen Schritten erkannt; bei Nein-Fällen ist keine beendete Antwort garantiert.
Typ 0 ist semi-entscheidbar und im Allgemeinen nicht entscheidbar; Typ 1, Typ 2 und Typ 3 sind entscheidbar.
Für nichtleere Zielwörter genügen Satzformen bis zur Zielwortlänge; besuchte Satzformen werden nicht erneut untersucht.
Unter der beschriebenen Typ-1-Konvention wird die Ausnahmeregel gesondert geprüft; das Startsymbol steht auf keiner rechten Regelseite.
Ein Zielwort in einer ausgedachten Grammatik prüfen
- 1Gegeben ist eine Typ-1-Grammatik mit den Terminalsymbolen „x“, „y“ und „z“, den Platzhaltern „S“ und „C“ sowie den Regeln S \to xC, C \to xC und C \to y. Es gibt keine weiteren Regeln.
- 2Gesucht ist „xz“. Die Zielwortlänge ist zwei. Starte mit „S“ und speichere es als besucht.
- 3Die Regel für „S“ liefert „xC“. Diese Satzform hat Länge zwei und wird zur Untersuchung aufgenommen.
- 4Aus „xC“ liefert die Regel C \to xC die Satzform „xxC“. Ihre Länge ist drei; sie überschreitet die Grenze und wird ausgeschlossen.
- 5Die andere Regel für „C“ liefert aus „xC“ das Wort „xy“. Es ist nicht das Zielwort „xz“ und enthält keinen Platzhalter für weitere Regelanwendungen.
- 6Damit sind alle erreichbaren Satzformen innerhalb der Grenze untersucht. Die offene Liste ist leer. Die Antwort für „xz“ lautet Nein.
Fehler finden
Fehler in Zeile 3Der neue Weg zu „uD“ eröffnet keine zusätzlichen Fortsetzungen, weil „uD“ bereits untersucht wurde. Richtig: Beim Weg von „E“ zu „uD“ wird „uD“ nicht erneut zur Untersuchung aufgenommen.
Lückentext
Ein Verfahren liefert für jedes Eingabewort nach endlich vielen Schritten die richtige Antwort Ja oder Nein. Damit ist das Wortproblem . Bei einer Typ-1-Suche nach einem nichtleeren Zielwort der Länge vier entsteht eine Satzform der Länge fünf. Sie wird wegen der Längengrenze . Unter der beschriebenen Typ-1-Konvention enthält die Grammatik keine Regel für das leere Wort. Für das leere Zielwort lautet die Antwort .