Eine explizite Trennung zwischen Zeitkonstruierbarkeit und Raumkonstruierbarkeit?

10

Zeigen Sie eine Funktion die räumlich, aber nicht zeitlich konstruierbar ist.f(n)

Hängt dieses Problem mit einer möglichen Trennung zwischen den Komplexitätsklassen DTIME (f (n)) und SPACE (f (n)) zusammen?

Tian Liu
quelle
3
en.wikipedia.org/wiki/Constructible_function Soweit ich weiß, hat diese Frage nichts mit TIME (f (n)) und SPACE (f (n)) zu tun. Beachten Sie jedoch, dass diese beiden Klassen bekanntermaßen unterschiedlich sind. Suchen Sie nach den Artikeln "On Time Versus Space", "On Time Versus Space II", "On Time Versus Space III"
Ryan Williams
Eine kurze Beobachtung: Ich denke, dass das Problem der Frage entspricht, ob DTIME (f (n)) ALLTALLY und SPACE (f (n)) ∩TALLY für eine raumkonstruierbare Funktion f (n) unterschiedlich sein können, wobei TALLY ist die Klasse der Sprachen, die Teilmengen von 1 ^ * sind.
Tsuyoshi Ito
Hoppla, sie sind möglicherweise nicht gleichwertig. Hier ist ein Beweis für eine Richtung. Wenn es eine Sprache L = {1 ^ n | gibt n∈S} ∈ TALLY∩ (SPACE (f (n)) ∖ DTIME (f (n))) für eine raumkonstruierbare Funktion f (n), dann sowohl f (n) als auch f (n) + χ_S (n ) (wobei χ_S (n) die charakteristische Funktion von S ist) sind räumlich konstruierbar, aber nicht beide sind zeitlich konstruierbar, und daher ist mindestens eine von ihnen eine raumkonstruierbare, aber nicht zeitkonstruierbare Funktion.
Tsuyoshi Ito
2
Dank Ryan weiß ich durch Ihren Kommentar, dass TIME (f (n)) in SPACE (f (n) / log f (n)) von Hopcroft et al. Enthalten ist und letzteres ordnungsgemäß in SPACE (f (n) enthalten ist )) nach dem Satz der Raumhierarchie.
Tian Liu
Dank Tsuyoshi, sehr kluge Ideen, wenn sowohl f (n) als auch f (n) + χ_S (n) zeitkonstruierbar sind, können wir entscheiden, ob n∈S höchstens f (n) + 1 Zeit beträgt, also L. ∈TALLY ∩ DTIME (f (n)), ein Widerspruch. Aber können Ihre Konstruktionen "explizieren" genannt werden? welches ist nicht zeitkonstruierbar, f (n) oder f (n) + χ_S (n)? Mit "explizit" meine ich, dass wir den Wert f (n) für alle n bestimmen können, dann ist Ihre Konstruktion explizit.
Tian Liu

Antworten:

6

Eine Funktion ist zeitlich konstruierbar, wenn es eine Turingmaschine M gibt, die bei Eingabe 1 n die Funktion x T ( | x | ) in der Zeit O ( T ( n ) ) berechnet .T:NNM1nxT(|x|)O(T(n))

Eine Funktion ist raumkonstruierbar, wenn es eine Turingmaschine M gibt, die bei Eingabe 1 n die Funktion x S ( | x | ) im Raum O ( S ( n ) ) berechnet .S:NNM1nxS(|x|)O(S(n))

Einige Texte erfordern, dass die zeitlich / räumlich konstruierbaren Funktionen nicht abnehmen. Einige Texte erfordern, dass die zeitkonstruierbaren Funktionen erfüllen und die raumkonstruierbaren Funktionen S ( n ) log n erfüllen . Einige Texte verwenden in der Definition nicht die O ( ) -Notation.T(n)nS(n)lognO()

Wie auch immer, es ist leicht zu zeigen, dass jede "gewöhnliche" Funktion , die f ( n ) log n und f ( n ) = o ( n ) erfüllt, räumlich konstruierbar ist, aber nicht zeitkonstruierbar.ff(n)lognf(n)=o(n)

Das Konstruierbarkeitsproblem hängt nicht direkt mit einer möglichen Trennung zwischen den Komplexitätsklassen DTIME (f (n)) und SPACE (f (n)) zusammen. Die Aussage der Zeit- und Raumhierarchiesätze beinhaltet jedoch die Konstruierbarkeit. Zum Beispiel:

Zeithierarchiesatz Wenn , g zeitkonstruierbare Funktionen sind, die f ( n ) log f ( n ) = o ( g ( n ) ) erfüllen , dann ist D T I M E ( f ( n ) ) eine geeignete Teilmenge von D T. I M E ( g ( n ) ) .fgf(n)logf(n)=o(g(n))DTIME(f(n))DTIME(g(n))

Weitere Informationen finden Sie in Arora & Baraks Buch oder Papadimitriou . (Letzterer verwendet den Begriff "richtige Komplexitätsfunktion", um sich auf eine zu beziehen, die sowohl zeitlich als auch räumlich konstruierbar ist.)

MS Dousti
quelle
Vielen Dank. Ich bevorzuge die Definition, dass eine Funktion zeitlich / räumlich konstruierbar ist, wenn es eine Turing-Maschine gibt, die genau in diesen Schritten / Bandquadraten läuft. Nach den linearen Zeit- / Raumbeschleunigungssätzen entspricht dies natürlich Ihren / Lehrbuchdefinitionen.
Tian Liu
Sadeq, Ihre Definitionen für "Zeit konstruierbar" und "Raum konstruierbar" sind Wort für Wort identisch. Wollen Sie damit sagen, dass dies nur zwei verschiedene Namen für genau dasselbe Konzept sind? Wenn nicht, sollten Sie vielleicht Ihre Definitionen korrigieren.
Yitz
Es ist nur ein Tippfehler.
Tsuyoshi Ito
Entschuldigung Yitz. Ich habe den Tippfehler behoben.
MS Dousti
4

ist räumlich konstruierbar, aber nicht zeitkonstruierbar. Der Grund ist, dass Sie 1 n der binären Darstellung im Raum O ( log n ) zuordnen können,jedoch nicht in der Zeit O ( log n ) .f(n)=logn1nO(logn)O(logn)

Mohammad Al-Turkistany
quelle
Danke an den Kommentar und die Antwort. Aber können Sie für die Trennung eine Funktion f (n) zeigen, die mindestens linear ist, dh f (n)> = n? Es scheint, dass eine zeitkonstruierbare Funktion aus einem offensichtlichen Grund nicht kleiner als n sein kann: Sie müssen alle Eingabebits lesen, andernfalls kann ein gegnerisches Argument zeigen, dass die Funktion nicht korrekt berechnet wird.
Tian Liu
f(n)=n
f(n)=n+1
2

EXPTIME=EXPSPACEEXPSPACECOMPLETELEXPSPACEL{0,1}kNLM2nk

f(n)={8n+2if (first logn+1k bits of bin(n))L8n+1else

2nffL

Diese Antwort verwendet dieselbe Idee.

David G.
quelle