Haben alle Komplexitätsklassen eine Blattsprachcharakterisierung?

20

Blattsprachen sind eine schöne Möglichkeit, viele Komplexitätsklassen einheitlich zu definieren. Die meisten Komplexitätsklassen werden normalerweise durch ein Rechenmodell (z. B. deterministisches / randomisiertes TM) und eine Ressourcengrenze (logarithmische Zeit, Polyraum usw.) spezifiziert. In der Blattsprachenformulierung gibt es jedoch nur ein Berechnungsmodell, und die Klasse wird durch Angabe ihrer Blattsprache spezifiziert.

Die Details sind zu lang, um sie zu erklären. Daher möchte ich interessierte Leser auf eine dieser beiden Umfragen verweisen:

  1. Einheitliche Charakterisierung von Komplexitätsklassen nach H Vollmer
  2. Blattsprachkurse von KW Wagner

Beide Umfragen erklären die Formulierung auf den ersten Seiten hervorragend.

In Wagners Umfrage sagt er: "Es stellt sich heraus, dass praktisch jede Komplexitätsklasse, die bisher betrachtet wurde, durch Blattsprachen beschrieben werden kann."

Meine Frage bezieht sich auf diese Aussage. Ich weiß, dass es einige Klassen gibt, für die wir keine Blattsprachcharakterisierung kennen. Das bedeutet, dass die Klassen entweder nicht unbedingt eine solche Charakterisierung haben oder dass wir sie nicht gefunden haben.

Erwarten wir für jede Komplexitätsklasse (etwa zwischen P und PSPACE) eine Blattsprachcharakterisierung? (Beschränken wir uns auf "natürliche" Komplexitätsklassen.) Gibt es ein Ergebnis dieser Art in der Literatur?

(Eine verwandte Frage, die ich gerne beantworten würde: Gibt es eine (heuristische) Methode, um eine Blattsprache für eine bestimmte Klasse zu finden?)


EDIT: Suresh weist darauf hin, dass es in dem Wikipedia-Artikel eine kurze Definition von Blattsprachen gibt. Ich kopiere es unten.

Verschiedene Komplexitätsklassen werden typischerweise in Bezug auf eine nicht-deterministische Turing-Maschine mit Polynomzeit definiert, wobei jede Verzweigung entweder akzeptieren oder ablehnen kann und die gesamte Maschine als eine Funktion der Bedingungen der Verzweigungen akzeptiert oder ablehnt. Beispielsweise akzeptiert eine nicht deterministische Turing-Maschine, wenn mindestens eine Verzweigung akzeptiert, und lehnt sie nur ab, wenn alle Verzweigungen abgelehnt werden. Eine nicht-deterministische Turing-Maschine akzeptiert dagegen nur, wenn alle Zweige akzeptieren, und lehnt ab, wenn ein Zweig lehnt. Auf diese Weise können viele Klassen definiert werden.

Robin Kothari
quelle
1
wikipedia hat eine ziemlich prägnante Definition einer Blattsprache: Vielleicht können Sie das der Frage anpassen?
Suresh Venkat
Vielen Dank. Ich wusste nicht, dass Wikipedia einen Artikel darüber hat. Ich habe ihre Definition am Ende meiner Frage kopiert.
Robin Kothari

Antworten:

21

Schau es dir an

Bernd Borchert, Riccardo Silvestri: Eine Charakterisierung der Blattsprachklassen. Inf. Verarbeiten. Lette. 63 (3): 153-158 (1997) ( Link hier )

Die Autoren charakterisieren die Blattsprachklassen als diejenigen, die (a) "zählbar" sind, (b) "abwärts" geschlossen für die Vielfachreduzierbarkeit und (c) "zusammengeschlossen" (dh disjunkte Vereinigung) für die Mehrfachzeit Reduzierbarkeit von mehreren.

LC,DLEmPCDEL

P/polySPACE[n]SPACE[n]PSPACE[n]nicht unter solchen Reduzierungen geschlossen.)

Ryan Williams
quelle
3
Groß. Das habe ich gebraucht. (Irgendeine Idee, wie man eine solche Charakterisierung findet, nachdem man gewusst hat, dass sie existiert? Vielleicht sogar eine Heuristik und etwas, das nicht immer funktioniert?)
Robin Kothari
2
In diesem Fall habe ich den Eindruck, dass die Autoren, die auf bekannten Ergebnissen der Form "Alle Blattsprachen haben die Eigenschaft X" und "Keine Blattsprache hat die Eigenschaft Y" aufbauen, einen direkten Weg gefunden haben, um all diese zusammenzufügen, indem sie genau das Richtige hinzufügten Bedingungen.
Ryan Williams