Beweisen Sie, dass eine in T (n) von einer RAM-Maschine berechenbare Boolesche Funktion in DTIME (T (n) ^ 2) ist.

10

Die Frage ist Übung 1.9 aus Arora-Baraks Buch Computational Complexity - A Modern Approach :


Definieren Sie eine RAM-Turing-Maschine als Turing-Maschine mit Direktzugriffsspeicher. Wir formalisieren dies wie folgt: Die Maschine hat ein unendliches Array A, das für alle Leerzeichen initialisiert wird. Es greift wie folgt auf dieses Array zu. Eines der Arbeitsbänder der Maschine wird als Adressband bezeichnet. Außerdem hat die Maschine zwei spezielle Alphabetsymbole, die mit R und W bezeichnet sind, und einen zusätzlichen Zustand, den wir mit q_access bezeichnen. Wenn die Maschine q_access eingibt und ihr Adressband 'i'R enthält (wobei' i 'die binäre Darstellung von i bezeichnet), wird der Wert A [i] in die Zelle neben dem R-Symbol geschrieben. Wenn das Band 'i'Wa' enthält (wobei a ein Symbol im Alphabet der Maschine ist), wird A [i] auf den Wert a gesetzt.

Zeigen Sie, dass, wenn eine Boolesche Funktion innerhalb der Zeit T ( n ) (für einige Zeit konstruierbar T ) durch einen RAM TM berechenbar ist, sie sich in D T I M E ( T ( n ) 2 ) befindet .fT(n)TDTIME(T(n)2)


Die triviale Lösung unter Verwendung zusätzlicher Bandaufzeichnungspaare (Adresse, Wert) stellt sich als , da dieses Band mit O die Größe O ( T ( n ) 2 ) haben kann ( T ( n ) ) Paare, während die Adresse jedes Paares die Größe O ( T ( n ) ) haben kann .DTIME(T(n)3)O(T(n)2)O(T(n))O(T(n))

cc
quelle
22T(n)T(n)log(T(n))T(n)
1
T(n)O(T(n))O(2T(n))
3
Beachten Sie, dass Arora und Barak in ihrer Einführung ausdrücklich nach anderen Antworten auf ihre Fragen fragen. Siehe auch die Richtlinie zu Hausaufgabenfragen .
Kaveh
O(T(n)2)
Weitere Informationen finden Sie im ersten Kapitel des Handbuchs der theoretischen Informatik.
Kaveh

Antworten:

2

Sie schreiben in den Kommentaren :

T(n)O(T(n))

Können Sie ein ähnliches Argument verwenden, um die Grenzen zu verbessern?

O(T(n)2)O(T(n))O(T(n))

Sie erwähnen in der Frage? Möglicherweise müssen Sie sich merken, welche Operationen in konstanter Zeit im RAM möglich sind, dh unter Verwendung der genauen Definition, die die Autoren verwenden.

Raphael
quelle
Ich hoffe, dieser Hinweis ist vage genug, um die Wünsche der Autoren des Buches zu respektieren, aber auch etwas hilfreich. (Heuristik: Ich würde einem Schüler so viel erzählen, wenn das Problem als Übung angegeben würde. Wahrscheinlich jedoch nicht in einer Prüfung.)
Raphael