La domanda è l'esercizio 1.9 del libro Compora complessità computazionale di Arora-Barak : un approccio moderno :
Definire una macchina di Turing RAM come macchina di Turing con memoria ad accesso casuale. Formalizziamo questo come segue: La macchina ha un array infinito A che è inizializzato su tutti gli spazi. Accede a questo array come segue. Uno dei nastri di lavoro della macchina è designato come nastro degli indirizzi. Inoltre la macchina ha due simboli alfabetici speciali indicati con R e W e uno stato aggiuntivo che denotiamo con q_access. Ogni volta che la macchina immette q_access, se il suo nastro di indirizzo contiene 'i'R (dove' i 'indica la rappresentazione binaria di i), il valore A [i] viene scritto nella cella accanto al simbolo R. Se il suo nastro contiene 'i'Wa (dove a è un simbolo nell'alfabeto della macchina), A [i] è impostato sul valore a.
Mostra che se una funzione booleana è calcolabile nel tempo (per qualche tempo costruibile ) da una RAM TM, allora è in .T ( n ) T D T I M E ( T ( n ) 2 )
La banale soluzione utilizzando coppie di registrazione su nastro aggiuntive (indirizzo, valore) risulta essere in , poiché quel nastro può essere della dimensione con coppie mentre l'indirizzo di ciascuna coppia può essere della dimensione .O ( T ( n ) 2 ) O ( T ( n ) ) O ( T ( n ) )