Zum Inhalt springen
L

Wikipedia · einfach zusammengefasst · Stand

Leerheitsproblem

Als Leerheitsproblem bezeichnet man in der theoretischen Informatik das Problem, zu entscheiden, ob eine in Form einer formalen Grammatik gegebene formale …

Inhalt5 Abschnitte
  1. 1. Begriff und Entscheidbarkeit
  2. 2. Endliche Automaten
  3. 3. Naive Wortsuche
  4. 4. Markierung erreichbarer Zustände
  5. 5. Markierung bei Grammatiken

Begriff und Entscheidbarkeit

Das Leerheitsproblem ist ein Entscheidungsproblem der theoretischen Informatik. Zu einer formal beschriebenen Sprache L soll festgestellt werden, ob sie leer ist, also ob L = ∅ gilt. Bei einer Grammatik bedeutet dies: Es wird geprüft, ob überhaupt mindestens ein Wort existiert, das sich nach ihren Regeln erzeugen lässt.

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

Endliche Automaten

Bei einem deterministischen oder nichtdeterministischen endlichen Automaten A lautet die Frage, ob die von ihm erkannte Sprache L(A) leer ist. Eine Sprache ist genau dann nicht leer, wenn es mindestens ein Wort gibt, das den Automaten vom Startzustand zu einem Endzustand führt. Das Problem lässt sich deshalb als Erreichbarkeitsproblem in einem gerichteten Graphen auffassen.

Naive Wortsuche

Ein einfacher Ansatz prüft alle Wörter w, deren Länge höchstens der Zustandsanzahl des Automaten entspricht. Erkennt A mindestens eines dieser Wörter, gilt L(A) ≠ ∅. Wird keines erkannt, ist die Sprache leer.

Für Alphabete mit mehr als einem Symbol und größere Automaten ist dieses Verfahren praktisch ungeeignet, weil die Zahl der zu untersuchenden Wörter sehr schnell wächst. Der Zeitbedarf ist exponentiell und wird mit O(2^n) angegeben.

Markierung erreichbarer Zustände

Der Markierungsalgorithmus betrachtet den endlichen Automaten als gerichteten Graphen G = (Q, E). Die Elemente von Q sind die Zustände beziehungsweise Knoten, die Elemente von E die gerichteten Kanten beziehungsweise Übergänge. Existiert ein Wort w ∈ L(A), dann gibt es im Graphen einen Pfad vom Startzustand zu einem Endzustand.

Zunächst wird der Startzustand p1 markiert und in eine Liste aufgenommen. Danach bestimmt man alle von p1 aus erreichbaren, noch nicht markierten Zustände, markiert sie und fügt sie als p2, p3, … zur Liste hinzu. Der bereits bearbeitete Zustand p1 wird aus der Liste entfernt. Dieses Vorgehen wird für die weiteren Listeneinträge wiederholt, bis alle erreichbaren Zustände markiert sind und die als Schlange verwendete Liste leer ist.

Ist mindestens ein Endzustand markiert, ist L(A) nicht leer. Wurde kein Endzustand erreicht und markiert, gilt L(A) = ∅. Jeder Knoten wird höchstens einmal markiert und in die Liste eingefügt. Nach dem Artikel terminiert der Algorithmus daher mit einem Zeitaufwand von n².

Markierung bei Grammatiken

Für eine Grammatik G wird geprüft, ob sie mindestens ein Terminalwort erzeugt. Ein Terminalwort besteht vollständig aus Terminalsymbolen, also aus Zeichen, die im fertigen Wort vorkommen und nicht weiter ersetzt werden.

Auch hier kann ein Markierungsalgorithmus verwendet werden: Markiert werden die Symbole von Regeln, aus denen sich ein Terminalwort ableiten lässt. Wird auf diese Weise das Startsymbol der Grammatik markiert, ist die erzeugte Sprache nicht leer. Bleibt das Startsymbol unmarkiert, erzeugt G kein Terminalwort und ihre Sprache ist leer.

Weiterlesen

Theoretische Informatik Ihre Inhalte sind die Automatentheorie, die Theorie der formalen Sprachen, die Berechenbarkeits- und Komplexitätstheorie, aber auch die Logik und formale … Formale Grammatik Formale Grammatiken werden mithilfe von Semi-Thue-Systemen angegeben in der Chomsky-Hierarchie klassifiziert. Formale Sprache Eine formale Sprache ist eine abstrakte Sprache, bei der im Unterschied zu natürlichen Sprachen oft nicht die Kommunikation im Vordergrund steht, … Entscheidbarkeit In der theoretischen Informatik heißt eine Eigenschaft auf einer Menge ... (Halteproblem) oder die Funktionsgleichheit zweier Programme (Äquivalenzproblem). Chomsky-Hierarchie Sie ist eine Hierarchie von Klassen formaler Grammatiken, die formale Sprachen erzeugen, und wurde 1956 erstmals von Noam Chomsky beschrieben. Die … Endlicher Automat Ein endlicher Automat (EA, auch Zustandsmaschine, Zustandsautomat; englisch finite state machine, FSM) ist ein Modell eines Verhaltens, bestehend aus … Algorithmus Algorithmen bestehen aus endlich vielen, wohldefinierten Einzelschritten. ... Damit können sie zur Ausführung in ein Computerprogramm implementiert, aber auch in … Graph (Graphentheorie) Ein Graph ist in der Graphentheorie eine abstrakte Struktur, die eine Menge von Objekten zusammen mit den zwischen diesen Objekten bestehenden Verbindungen … Äquivalenzproblem Als Äquivalenzproblem bezeichnet man in der Theoretischen Informatik das Problem, zu entscheiden, ob zwei formale Definitionen von zwei Sprachen L 1 … Endlichkeitsproblem Für reguläre und kontextfreie Sprachen ist das Endlichkeitsproblem entscheidbar. Dagegen ist es für Sprachen vom Typ-1 und Typ-0 der Chomsky-Hierarchie … Wortproblem (Berechenbarkeitstheorie) Für die Chomsky-Hierarchie ist bekannt: Das Wortproblem für Typ-0-Sprachen ist rekursiv aufzählbar und nicht entscheidbar. Das Wortproblem für Typ-1 …