Leerheitsproblem

Leerheitsproblem

Als Leerheitsproblem bezeichnet man in der Theoretischen Informatik das Problem, zu entscheiden, ob eine in Form einer formalen Grammatik gegebene formale Sprache L leer ist, also L = \empty, oder nicht. Das Problem ist es also herauszufinden, ob es Wörter gibt, die den Regeln der Grammatik genügen, oder nicht.

Die Entscheidbarkeit des Leerheitsproblems hängt von der Komplexität der zugrundeliegenden Grammatik ab: Für die Grammatiken vom Typ 2 oder höher in der Chomsky-Hierarchie ist das Leerheitsproblem entscheidbar, für die Grammatiken bis Typ 1 im Allgemeinen jedoch nicht.

Inhaltsverzeichnis

Leerheitsproblem für endliche Automaten

Gegeben ist ein (nicht-)deterministischer endlicher Automat A. Es soll entschieden werden, ob die formale Sprache L(A) = \empty ist oder nicht.

Gesucht ist ein Algorithmus zur Lösung des Leerheitsproblems.

Naiver Ansatz

Man überprüft alle Wörter w (mit Länge ≤ Zustandsanzahl des Automatens), ob diese von A erkannt werden. Wird ein Wort erkannt, so gilt L(A)\empty, ansonsten ist die Sprache leer.

Der Ansatz ist für Alphabete mit mehr als einem Symbol und größere Automaten in der Praxis nicht einsetzbar - der Zeitbedarf ist exponentiell (O(2^n)).

Markierungsalgorithmus

Der Markierungsalgorithmus betrachtet einen endlichen Automaten als gerichteten Graphen G=(Q,E). Q-Elemente heißen Knoten und E-Elemente Kanten. Wenn ein Wort w in L(A) existiert, gibt es einen Pfad vom Startzustand in den Endzustand, des Automaten. Es wird nun überprüft, ob ein markierter Zustand des Graphen ein Endzustand des Automaten ist.

Beginnend vom Startzustand p1: p1 wird markiert und in die Liste der markierten Zustände aufgenommen. Dann wird überprüft welche Zustände von p1 erreichbar sind. Markiere diese Zustände und füge p2, p3... in die Liste ein und streiche p1 aus der Liste. Dies wird solange wiederholt, bis alle zu erreichenden Zustände markiert sind und die Schlange leer ist. Ist kein Endzustand erreicht (und somit nicht markiert), gilt dass die Sprache leer ist.

Der Algorithmus fügt jeden Knoten maximal einmal in die Liste hinzu und markiert ihn. Somit terminiert der Algorithmus im Zeitaufwand von n².

Leerheitsproblem für Grammatiken

Bei dem Leerheitsproblem für eine Grammatik G ist die Frage, ob G eine leere Sprache erzeugt oder nicht.

Lösung über den Markierungsalgorithmus: Dabei werden die Symbole der Regeln markiert, aus denen ein Terminalwort ableitbar ist. Ist das Startsymbol markiert, dann ist die Sprache nicht leer.

Siehe auch


Wikimedia Foundation.

Игры ⚽ Поможем написать курсовую

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Chain Code Pictures — Ketten Kode Bilder (Chain Code Pictures) sind Bilder, die in erster Linie mit Hilfe von formalen Grammatiken erzeugt werden. Die von solchen Grammatiken generierten Wörter werden hierbei jeweils als genau ein Bild interpretiert, indem die… …   Deutsch Wikipedia

  • Chomsky-Hierarchie — Chomsky Hierarchie, gelegentlich Chomsky–Schützenberger Hierarchie (benannt nach dem Linguisten Noam Chomsky und dem Mathematiker Marcel Schützenberger), ist ein Begriff aus der Theoretischen Informatik. Sie ist eine Hierarchie von Klassen… …   Deutsch Wikipedia

  • Entscheidbare Menge — Eine Eigenschaft auf einer Menge heißt entscheidbar (auch: rekursiv), wenn es ein Entscheidungsverfahren für sie gibt. Ein Entscheidungsverfahren ist ein Algorithmus, der für jedes Element der Menge beantworten kann, ob es die Eigenschaft hat… …   Deutsch Wikipedia

  • Entscheidbarkeit — Eine Eigenschaft auf einer Menge heißt entscheidbar (auch: rekursiv), wenn es ein Entscheidungsverfahren für sie gibt. Ein Entscheidungsverfahren ist ein Algorithmus, der für jedes Element der Menge beantworten kann, ob es die Eigenschaft hat… …   Deutsch Wikipedia

  • Entscheidungsproblem — Eine Eigenschaft auf einer Menge heißt entscheidbar (auch: rekursiv), wenn es ein Entscheidungsverfahren für sie gibt. Ein Entscheidungsverfahren ist ein Algorithmus, der für jedes Element der Menge beantworten kann, ob es die Eigenschaft hat… …   Deutsch Wikipedia

  • Ketten-Code-Bilder — Ketten Kode Bilder (Chain Code Pictures) sind Bilder, die in erster Linie mit Hilfe von formalen Grammatiken erzeugt werden. Die von solchen Grammatiken generierten Wörter werden hierbei jeweils als genau ein Bild interpretiert, indem die… …   Deutsch Wikipedia

  • Ketten-Kode-Bilder — (Chain Code Pictures) sind Bilder, die in erster Linie mit Hilfe von formalen Grammatiken erzeugt werden. Die von solchen Grammatiken generierten Wörter werden hierbei jeweils als genau ein Bild interpretiert, indem die einzelnen Buchstaben als… …   Deutsch Wikipedia

  • Kontextfrei — In diesem Artikel oder Abschnitt fehlen folgende wichtige Informationen: OMA Verständlichkeit bei den Beispielen ausbauen Du kannst Wikipedia helfen, indem du sie recherchierst und einfügst. Als Kontextfreie Sprache ( …   Deutsch Wikipedia

  • Rekursiv entscheidbar — Eine Eigenschaft auf einer Menge heißt entscheidbar (auch: rekursiv), wenn es ein Entscheidungsverfahren für sie gibt. Ein Entscheidungsverfahren ist ein Algorithmus, der für jedes Element der Menge beantworten kann, ob es die Eigenschaft hat… …   Deutsch Wikipedia

  • Rekursiv entscheidbare Menge — Eine Eigenschaft auf einer Menge heißt entscheidbar (auch: rekursiv), wenn es ein Entscheidungsverfahren für sie gibt. Ein Entscheidungsverfahren ist ein Algorithmus, der für jedes Element der Menge beantworten kann, ob es die Eigenschaft hat… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”