Rekursive Sprache
Eine Formale Sprache heißt rekursiv (entscheidbar), wenn eine Turingmaschine existiert, die immer hält und Eingaben genau dann akzeptiert, wenn ist.Der Nachweis der Nicht-Rekursivität einer Sprache bedeutet, dass man die Suche nach einem Algorithmus für das Problem aufgeben kann, das durch die Sprache beschrieben wird. Wenn es nämlich keine Turingmaschine gibt, die ein solches "Entscheidungsproblem" löst, so gibt es nach der Churchschen These überhaupt keinen Algorithmus für das Problem. Man beschränkt sich bei dieser Definition auf Entscheidungsprobleme, also auf Probleme, deren Antwort nur 'Ja' oder 'Nein' sein kann. Es stellt sich aber heraus, dass sie trotz dieser Einschränkung meist ausreichend ist, da die zu Entscheidungsproblemen gehörenden, "echten" Probleme meist nicht schwieriger zu lösen sind.
Der Vorteil ist, dass man alle Entscheidungsprobleme auf Sprachen zurückführen kann; diese können u.a. durch (Chomsky-) Grammatiken beschrieben werden: Eine Eingabe w ist für ein Entscheidungsproblem P genau dann eine Lösung, wenn w in der zu P gehörigen Sprache L liegt (Wortproblem). Somit besteht eine Brücke zwischen dem "erzeugenden" Grammatik-Modell und dem "akzeptierenden" Automaten-Modell. In der Tat kann man zu jeder Chomsky-Grammatik-Klasse eine Automatenklasse finden, die genau die Sprachen der jeweiligen Klasse akzeptiert und umgekehrt (Chomsky-Hierarchie).
Die Menge der rekursiven Sprachen ist echte Teilmenge der Chomsky-Typ-0 (oder rekursiv aufzählbaren) Sprachen und echte Obermenge der Chomsky-Typ-1 Sprachen:
- Das Halteproblem ist rekursiv aufzählbar (Chomsky 0), aber nicht rekursiv
- .... ist rekursiv, aber nicht kontextsensitiv (Chomsky 1)
Es gibt (noch) kein Automatenmodell, welches genau die rekursiven Sprachen beschreibt.
Die Menge der rekursiven Sprachen stimmt mit allen bisher vorgeschlagenen Berechenbarkeitsmodellen überein. Hierzu gehören insbesondere die Goto-Berechenbarkeit und die While-Berechenbarkeit welche aus den gängigsten Programmierkonstrukten am Computer hervorgehen. Diese Übereinstimmungen sind Ausgangspunkt für die Churchsche These (s.a. erweiterte Churchsche These).
(Beachte: die durch primitive Rekursion erzeugten Sprachen bilden nur eine echte Teilmenge der rekursiven Sprachen; man kann zeigen, dass dies dann die gleichen Sprachen sind, die auch durch die Loop-Berechenbarkeit erzeugt werden.)
Der Unterschied zu den rekursiv aufzählbaren Sprachen ist definitionsgemäß, dass eine Turingmaschine für eine rekursive Sprache immer halten muss, während eine für eine rekursiv aufzählbare Sprache nur halten muss, wenn das Wort in der Sprache liegt.