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 ?Ω(log⁡n)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?Ω(log⁡n)Ω(log⁡n)Ω(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(log⁡n)O(log⁡n)


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(log⁡n)
— 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.