A questão é o exercício 1.9 do livro de Arora-Barak, Computational Complexity - A Modern Approach :
Defina uma máquina de RAM Turing para ser uma máquina de Turing com memória de acesso aleatório. Formalizamos da seguinte maneira: A máquina possui uma matriz infinita A que é inicializada em todos os espaços em branco. Ele acessa esse array da seguinte maneira. Uma das fitas de trabalho da máquina é designada como a fita de endereço. Além disso, a máquina possui dois símbolos especiais do alfabeto denotados por R e W e um estado adicional que denotamos por q_access. Sempre que a máquina digitar q_access, se sua fita de endereço contiver 'i'R (onde' i 'denota a representação binária de i), o valor A [i] será gravado na célula ao lado do símbolo R. Se a fita contiver 'i'Wa (onde a é algum símbolo no alfabeto da máquina), então A [i] é definido como o valor a.
Mostre que se uma função booleana é computável no tempo (por algum tempo construtível ) por uma RAM TM, então ela está em .
A solução trivial, usando pares adicionais de gravação em fita (endereço, valor), está em , pois essa fita pode ser do tamanho com pares enquanto o endereço de cada par pode ser do tamanho O ( T ( n ) ) .
Respostas:
Você escreve nos comentários :
Você pode usar um argumento semelhante para melhorar os limites
você menciona na pergunta? Talvez você precise se lembrar de quais operações são possíveis em tempo constante na RAM, ou seja, usando a definição precisa usada pelos autores.
fonte