È determinabile l'insieme delle macchine di Turing che si ferma al massimo in 50 passi su tutti gli ingressi?


19

Sia . Devo decidere se F è decidibile o enumerabile in modo ricorsivo. Penso che sia decidibile, ma non so come dimostrarlo.F={M:M is a TM which stops for every input in at most 50 steps}

I miei pensieri

Questa parte "50 passi" trasforma immediatamente il segno R per me. Se fosse per input specifici sarebbe decidibile. Tuttavia, qui è per ogni input. Controllarlo per input infiniti mi fa pensare che il problema sia co-RE , cioè che il suo complemento sia accettabile.

Forse, posso controllare le configurazioni e vedere che tutte le configurazioni dopo 50 passaggi non portano ad accettare lo stato. Come posso farlo?

Risposte:


21

Consideriamo il problema più generale delle macchine che si fermano dopo al massimo passaggi, per alcuni . (Quanto segue è una sostanziale semplificazione di una versione precedente di questa risposta, ma è effettivamente equivalente.)NN1

Come Swegi osserva in una risposta precedente, se la macchina si ferma dopo al massimo N passaggi, solo le celle 0,1,,N1 sul nastro sono significative. Quindi è sufficiente simulare la macchina M su tutte le stringhe di input della forma xΣN , di cui esiste un numero finito.

  • Se una di queste simulazioni non riesce a entrare in uno stato di arresto da Nthtransizione, ciò indica che qualsiasi stringa di input che inizia con x è una per la quale la macchina non si ferma entro i primi N passi.
  • Se tutte queste simulazioni si arrestano contransizione, quindi ferma in passi su tutti gli input di qualsiasi lunghezza (di cui la sottostringa della lunghezza è tutto ciò su cui agisce).NthN NMNN

E- Presumo che tale che la sua lunghezza sia più lunga di venga automaticamente respinto? NxN
Jozef,

Perché non riesce a saltare oltre la cella N all'interno delle fasi N del calcolo?
Jozef,

@Jozef: le simulazioni semplicemente scorrere tutti possibili stringhe di input di lunghezza N . Potresti scorrere più stringhe, ma non imparerai più nulla, perché comunque contano solo i primi N simboli. Il motivo per cui non può andare oltre le N celle è perché le macchine di Turing (o comunque la loro definizione standard) muovono solo una cella per passo.
Niel de Beaudrap,

Bene, l'ho capito. quindi ti dispiace solo i primi N simboli di ogni parola, quindi controlli tutte le loro combinazioni. perché hai eliminato la descrizione delle configurazioni?
Jozef,

È ancora visibile se si osservano le modifiche precedenti. Ho rivisto a questo perché mentre l'altra risposta è stata forse interessante, un sacco di ciò che ha reso "interessante" servita solo a oscurare il fatto che la procedura di decisione è nulla di più o di meno di simulare su tutti i possibili ingressi di lunghezza . Ho pensato che fosse meglio rivedere la risposta a qualcosa di molto più semplice, e che fondamentalmente è arrivato alla radice di ciò che rende il problema decifrabile. NMN
Niel de Beaudrap,

4

Se ferma in non più di 50 passi, le posizioni che può raggiungere sul nastro normalmente infinito sono limitate. Quindi il nastro infinito può essere simulato da uno finito. Ciò significa che il nastro può essere simulato da un automa finito. Ne consegue che una macchina turing che si arresta in non più di 50 passi è analoga a qualche automa finito .M M M MMMM

Sia l'insieme degli stati di , l'insieme degli stati accettanti e sia l'alfabeto. Quindi costruiamo l'insieme degli stati di come segue: dove è la posizione della testina di lettura / scrittura sopra il nastro. Possiamo limitare la posizione a perché il numero di passaggi di calcolo consentiti limita il numero di posizioni raggiungibili.M F Q Γ Q ' M ' Q ' = { n , q , s , p , un QMFQΓQMQ={n,q,s,p,a|n{0,...,50}qQ,sΓ,p{50,...,50},aqF}p{50,...,50}

Avere uno stato dell'automa finito significa quindi che siamo allo stato dell'automa originale, con sul nastro in posizione dove anche la testina di lettura / scrittura è posizionato dopo il -esimo passo di calcolo. Lo stato è accettabile se .n,q,s,p,aMqspnatrue

Trasformare la relazione di transizione di una turing machine in calcestruzzo è un po 'più di lavoro ma non è necessario per la domanda originale, perché è sufficiente per dimostrare che lo spazio degli stati è finito (e quindi possiamo semplicemente testare ogni input con una lunghezza di al massimo 50 simboli su ciascuno di questi automi). L'idea è quella di costruire una nuova relazione di transizione che va da uno stato a uno stato in il -esimo calcolo passo sse transizione era in relazione di transizione originale.n + 1 , q ' , s ' , p ' , un 'n q , s , p q ' , s ' , p 'n,q,s,p,an+1,q,s,p,anq,s,pq,s,p


Come si simula l'archiviazione sul nastro, ovvero la capacità di rivisitare i simboli già letti, su un automa finito?
Niel de Beaudrap,

@NieldeBeaudrap: si enumera l'intero spazio degli stati, ovvero si esegue il controllo del modello del nastro finito e dell'automa di controllo della macchina di turing.
swegi,

1
Dato che l'OP sta ponendo domande di base sulla computabilità per le macchine di Turing, potresti voler decomprimere quello schizzo in qualcosa di più pieno. (Io stesso non ho mai sentito la frase "controllo del modello" in un contesto computazionale prima.) Nel contesto, assumerei tipicamente da "automa finito" che significherebbe un DFA o simile se non diversamente specificato, e non mi è chiaro cosa corrisponderebbe al contributo del DFAE in tale costruzione. Se intendi solo un grafico che rappresenta le possibili traiettorie della TM, allora sono d'accordo.
Niel de Beaudrap,

Con il modello che controlla la parte finita del nastro intendo fondamentalmente ciò che hai scritto nella tua risposta: prova ogni input di dimensione al massimo 50 e controlla se viene raggiunto uno stato accettante.
swegi,

1
Vorrei che la gente smettesse di propagare il mito secondo cui un nastro di Turing deve essere infinito. Non lo fa - può essere finito purché sia ​​esteso se necessario.
reinierpost,
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.