Cosa significa spazio sublineare per le macchine di Turing?


10

È stato provato che il problema di decidere se un input è un palindromo richiede spazio su una macchina Turing. Tuttavia, anche la memorizzazione dell'input occupa spazio  quindi ciò non significa che tutte le macchine Turing richiedano spazio ?Ω(logn)nΩ(n)

Ovviamente, non c'è contraddizione qui, dal momento che qualsiasi funzione che utilizza almeno lo spazio lineare utilizza almeno lo spazio logaritmico. Ma scrivere suggerisce che è possibile per una macchina di Turing usare meno dello spazio lineare - dopo tutto, perché le persone dovrebbero passare tutto quel tempo a provare se fosse esattamente la stessa cosa quello che sembra essere un limite banale ? Quindi cosa significa per una macchina di Turing usare meno dello spazio lineare?Ω(logn)Ω(logn)Ω(n)


3
Dopo tutto, la complessità dello spazio di solito considera la memoria aggiuntiva proprio per questo motivo. (Nota che la tua domanda è sbagliata; vuoi chiedere "come ottenere O (log n) ...".)
Raffaello

Risposte:


15

Quando si tratta di spazio limitato, utilizziamo il modello seguente. La macchina Turing ha tre nastri: un nastro di input di sola lettura, un nastro di lavoro di lettura e scrittura e un nastro di output di sola scrittura. Misuriamo solo il consumo di spazio sul nastro di lavoro. Per i palindromi, con lo spazio sul nastro di lavoro possiamo implementare loop FOR che vanno oltre l'input, confrontando i caratteri corrispondenti su entrambe le estremità. Ogni indice occupa spazio per l'archiviazione.O(logn)O(logn)


Grazie per la risposta. Perché dobbiamo convertire l'indice in un formato binario? Pensavo che le macchine di Turing fossero modelli astratti di calcolo, quindi perché dovrebbero convertire i numeri decimali nelle loro rappresentazioni binarie?
jsguy,

4
@jsguy Perché pensi che i numeri siano in decimali? Ma, certo, anche il decimale funzionerebbe bene. Ci vogliono ancora cifre . O(logn)
David Richerby,

@DavidRicherby, una cella a nastro non può contenere un numero che ha più di una cifra?
jsguy,

4
@jsguy Aggiorna la definizione di macchine Turing. Una cella a nastro contiene un singolo simbolo dell'alfabeto.
David Richerby,

@DavidRicherby, grazie penso che abbia senso per me adesso!
jsguy,
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.