La question est l'exercice 1.9 du livre d'Arora-Barak Computational Complexity - A Modern Approach :
Définissez une machine RAM Turing comme une machine Turing disposant d'une mémoire à accès aléatoire. Nous formalisons ceci comme suit: La machine a un tableau infini A qui est initialisé à tous les blancs. Il accède à ce tableau comme suit. L'une des bandes de travail de la machine est désignée comme bande d'adresse. De plus, la machine a deux symboles alphabétiques spéciaux dénotés par R et W et un état supplémentaire que nous dénotons par q_access. Chaque fois que la machine entre q_access, si sa bande d'adresse contient 'i'R (où' i 'dénote la représentation binaire de i) alors la valeur A [i] est écrite dans la cellule à côté du symbole R. Si sa bande contient 'i'Wa (où a est un symbole dans l'alphabet de la machine), alors A [i] est réglé sur la valeur a.
Montrer que si une fonction booléenne est calculable dans le temps (pendant un certain temps constructible T ) par une RAM TM, alors elle est dans D T I M E ( T ( n ) 2 ) .
La solution triviale en utilisant une paire supplémentaire d'enregistrement sur bande (adresse, valeur) se révèle être en , car cette bande peut être de taille O ( T ( n ) 2 ) avec O ( T ( n ) ) paires tandis que l'adresse de chaque paire peut être de taille O ( T ( n ) ) .
Réponses:
Vous écrivez dans les commentaires :
Pouvez-vous utiliser un argument similaire pour améliorer les limites
vous mentionnez dans la question? Vous devrez peut-être vous rappeler quelles opérations sont possibles en temps constant sur la RAM, c'est-à-dire en utilisant la définition précise que les auteurs utilisent.
la source