Zum Inhalt springen
L

Wikipedia · einfach zusammengefasst · Stand

Rekursive Sprache

Der Vorteil ist, dass man alle Entscheidungsprobleme auf Sprachen zurückführen kann; diese können u. a. durch (Chomsky-)Grammatiken beschrieben werden: Eine …

Inhalt4 Abschnitte
  1. 1. Definition und Abgrenzung
  2. 2. Berechenbarkeit und Entscheidungsprobleme
  3. 3. Einordnung in die Chomsky-Hierarchie
  4. 4. Sprachen, Grammatiken und Automaten

Definition und Abgrenzung

In der theoretischen Informatik heißt eine formale Sprache L über einem Alphabet Σ rekursiv oder entscheidbar, wenn es eine Turingmaschine M gibt, die auf allen Eingaben w ∈ Σ* hält und eine Eingabe w genau dann akzeptiert, wenn w ∈ L ist. Σ* bezeichnet dabei die Menge aller Wörter über dem Alphabet Σ.

Der entscheidende Punkt ist das Halten auf allen Eingaben: Für eine rekursive Sprache muss die Turingmaschine für jedes mögliche Wort zu einer Ja- oder Nein-Antwort kommen. Das unterscheidet rekursive Sprachen von rekursiv aufzählbaren Sprachen. Bei einer rekursiv aufzählbaren Sprache muss die Turingmaschine nur dann halten, wenn das eingegebene Wort tatsächlich zur Sprache gehört; für Wörter außerhalb der Sprache darf sie endlos weiterlaufen.

Berechenbarkeit und Entscheidungsprobleme

Die Menge der rekursiven Sprachen stimmt mit allen bisher vorgeschlagenen Berechenbarkeitsmodellen überein. Dazu gehören besonders die Goto-Berechenbarkeit und die While-Berechenbarkeit, die aus gängigen Programmierkonstrukten am Computer hervorgehen. Diese Übereinstimmung ist ein Ausgangspunkt für die Churchsche These.

Nach der Churchschen These gibt es für ein Entscheidungsproblem überhaupt keinen Algorithmus, wenn es keine Turingmaschine gibt, die dieses Problem löst. Ein Entscheidungsproblem ist ein Problem, dessen Antwort nur Ja oder Nein sein kann. Obwohl diese Einschränkung zunächst stark wirkt, ist sie meist ausreichend, weil die zugehörigen Berechnungsprobleme meist nicht schwieriger zu lösen sind.

Wichtig ist außerdem: Die durch primitive Rekursion erzeugten Sprachen bilden nur eine echte Teilmenge der rekursiven Sprachen. Man kann zeigen, dass dies genau die Sprachen sind, die auch durch Loop-Berechenbarkeit erzeugt werden.

Einordnung in die Chomsky-Hierarchie

Die rekursiven Sprachen liegen in der Chomsky-Hierarchie zwischen zwei wichtigen Sprachklassen. Sie sind eine echte Teilmenge der Chomsky-Typ-0-Sprachen, also der rekursiv aufzählbaren Sprachen. Zugleich sind sie eine echte Obermenge der Chomsky-Typ-1-Sprachen, also der kontextsensitiven Sprachen.

Daraus folgen zwei wichtige Aussagen: Das Halteproblem ist rekursiv aufzählbar, also Typ 0, aber nicht rekursiv. Außerdem gibt es Sprachen, die rekursiv, aber nicht kontextsensitiv, also nicht Typ 1, sind.

Sprachen, Grammatiken und Automaten

Der Vorteil der Definition über Sprachen ist, dass sich alle Entscheidungsprobleme auf Sprachen zurückführen lassen. Für ein Entscheidungsproblem P gilt: Eine Eingabe w ist genau dann eine Lösung, wenn w in der zu P gehörenden Sprache L liegt. Das nennt man das Wortproblem.

Dadurch entsteht eine Brücke zwischen zwei Sichtweisen: dem erzeugenden Grammatik-Modell und dem akzeptierenden Automaten-Modell. Sprachen können unter anderem durch Chomsky-Grammatiken beschrieben werden, während Automaten wie Turingmaschinen Sprachen akzeptieren. Zu jeder Chomsky-Grammatik-Klasse gibt es eine Automatenklasse, die genau die Sprachen dieser Klasse akzeptiert, und umgekehrt. Das ist der Zusammenhang der Chomsky-Hierarchie.

Die Nicht-Rekursivität einer Sprache kann man mit dem Satz von Rice nachweisen.

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 Sprache Eine formale Sprache ist eine abstrakte Sprache, bei der im Unterschied zu natürlichen Sprachen oft nicht die Kommunikation im Vordergrund steht, … Alphabet (Informatik) Sie stellen das Zeicheninventar für Wörter zur Verfügung und bilden damit die Grundlage für formale Sprachen. Man muss unterscheiden zwischen dem Alphabet aus … Turingmaschine Eine Turingmaschine ist ein mathematisches Modell der theoretischen Informatik, das eine abstrakte Maschine definiert. Bei diesem Rechnermodell werden nach … Kontextsensitive Sprache Die kontextsensitiven Sprachen (englisch context-sensitive languages, abgekürzt durch CSL) sind eine Klasse der formalen Sprachen, einem Teilgebiet der … Halteproblem Das Halteproblem beschreibt eine Frage aus der theoretischen Informatik. Wenn für eine Berechnung mehrere Rechenschritte nach festen Regeln durchgeführt … Komplexitätstheorie Die Komplexität von Algorithmen wird in deren Ressourcenverbrauch gemessen, meist Rechenzeit oder Speicherplatzbedarf, manchmal auch speziellere Maße wie die … 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 … Chomsky-Hierarchie Sie ist eine Hierarchie von Klassen formaler Grammatiken, die formale Sprachen erzeugen, und wurde 1956 erstmals von Noam Chomsky beschrieben. Die …