Pytanie brzmi: ćwiczenie 1.9 z książki Arory-Barak Computational Complexity - A Modern Approach :
Zdefiniuj maszynę RAM Turing jako maszynę Turinga, która ma pamięć o dostępie swobodnym. Sformalizujemy to w następujący sposób: Maszyna ma nieskończoną tablicę A, która jest inicjalizowana dla wszystkich spacji. Uzyskuje dostęp do tej tablicy w następujący sposób. Jedna z taśm roboczych urządzenia jest oznaczona jako taśma adresowa. Również maszyna ma dwa specjalne symbole alfabetu oznaczone przez R i W oraz dodatkowy stan oznaczony przez q_access. Ilekroć maszyna wprowadza q_access, jeśli jej taśma adresowa zawiera „i'R (gdzie„ i ”oznacza binarną reprezentację i), wówczas wartość A [i] jest zapisywana w komórce obok symbolu R. Jeśli taśma zawiera „i'Wa (gdzie a to jakiś symbol w alfabecie maszyny), wówczas A [i] jest ustawiane na wartość a.
Pokaż, że jeśli funkcja boolowska jest obliczalna w czasie T (n) (przez pewien czas T konstruowalny w czasie ) przez pamięć RAM TM, to jest w \ mathrm {DTIME} (T (n) ^ 2) .T D T I M E ( T ( n ) 2 )
Trywialne rozwiązanie polegające na użyciu dodatkowych par zapisu taśmy (adres, wartość) okazuje się w , ponieważ taśma może mieć rozmiar z parami podczas gdy adres każdej pary może mieć rozmiar .
Odpowiedzi:
W komentarzach piszesz :
Czy możesz użyć podobnego argumentu, aby poprawić granice
wspomniałeś w pytaniu? Być może będziesz musiał pamiętać, jakie operacje są możliwe w stałym czasie na pamięci RAM, czyli przy użyciu dokładnej definicji używanej przez autorów.
źródło