Dimostra che una funzione booleana calcolabile in T (n) da una macchina RAM è in DTIME (T (n) ^ 2)


10

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 )fT(n)TDTIME(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 ) )DTioME(T(n)3)O(T(n)2)O(T(n))O(T(n))


Come conosci la dimensione dell'indirizzo associato? La mia prima scrittura non potrebbe essere ? E se puoi associarlo a , la dimensione dell'indirizzo è , non . T ( n ) log ( T ( n ) ) T ( n )22T(n)T(n)log(T(n))T(n)
Xodarap,

1
Poiché l'indirizzo dovrebbe essere scritto nel nastro da una macchina di Turing -time, la dimensione (cioè la lunghezza della stringa) dell'indirizzo non può superare , lo spazio degli indirizzi accessibile è . O ( T ( n ) ) O ( 2 T ( n ) )T(n)O(T(n))O(2T(n))
cc

3
Nota che Arora e Barak chiedono esplicitamente nella loro introduzione altre risposte non postate alle loro domande. Vedi anche la politica relativa alle domande sui compiti .
Kaveh,

Scusa per quello. Studio il libro da solo e mi preoccupo di quella domanda. Non so se tale simulazione esiste davvero o è solo un refuso. Se conosci la risposta, inviami un'e-mail in privato a ccqmpux@gmail.com e chiuderò la domanda. O(T(n)2)
cc,

Puoi trovare di più nel primo capitolo del manuale di informatica teorica.
Kaveh,

Risposte:


2

Scrivi nei commenti :

Poiché l'indirizzo deve essere scritto nel nastro da una macchina di Turing -time, la dimensione (cioè la lunghezza della stringa) dell'indirizzo non può superare .O ( T ( n ) )T(n)O(T(n))

Puoi usare un argomento simile per migliorare i limiti

[Il] 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))

hai citato nella domanda? Potrebbe essere necessario ricordare quali operazioni sono possibili a tempo costante sulla RAM, ovvero utilizzando la definizione precisa utilizzata dagli autori.


Spero che questo suggerimento sia abbastanza vago da rispettare i desideri degli autori del libro, ma anche un po 'utile. (Euristico: direi a uno studente se il problema fosse stato dato come esercizio fisico. Probabilmente non in un esame.)
Raffaello
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.