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 .
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 .
Antworten:
Sie schreiben in den Kommentaren :
Können Sie ein ähnliches Argument verwenden, um die Grenzen zu verbessern?
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.
quelle