Perché il problema di arresto è decidibile per LBA?


13

Ho letto su Wikipedia e altri testi che

Il problema dell'arresto è [...] decidibile per gli automi deterministici lineari (LBA) [e] con memoria finita.

Ma prima è stato scritto che il problema dell'arresto è un problema indecidibile e quindi TM non può risolverlo! Poiché gli LBA sono definiti come un tipo di TM, lo stesso non dovrebbe valere per loro?


9
Puoi usare una TM per determinare se una LBA si ferma su un dato input controllando se si ferma in, diciamo, O (2 ^ 2 ^ n) passi per simulazione. Qualsiasi LBA che lavora più a lungo è bloccato in un ciclo infinito. Questo non significa che gli LBA possano risolvere il problema di arresto per le TM generali!
Yonatan N,

Gli automi finiti sono anche un tipo di TM.
Raffaello

@Raphael Non puoi modificare domande del genere. Hai cambiato il significato della domanda, rendendo così la mia risposta esistente fuori tema, mentre l'altra risposta era fuori tema e ora è in discussione.
babou,

@babou Non vedo come ho cambiato il significato della domanda, e non vedo come nessuna delle due domande non rispondesse alla domanda (anche se usano approcci diversi).
Raffaello

@Rap La domanda originale riguarda più il discorso logico che la giustificazione formale delle proprietà LBA, ed è quello che hai rimosso dal titolo. Per me è chiaro che, sebbene si possa provare che l'arresto è decidibile per gli LBA, l'OP si sta chiedendo come possa essere compatibile con altre affermazioni riguardanti l'inclusione degli LBA nelle TM e l'indecidibilità dell'arresto per le TM (posso modificare indietro?) . A proposito, nessuna intenzione di denigrare la risposta di Yuval. Mi aspetto che otterrà la maggior parte dei voti, perché è quello che cercano i lettori (che è di per sé un problema pedagogico), anche se non mi concedo.
babou,

Risposte:


18

Il problema di arresto è risolvibile per qualsiasi macchina di Turing che utilizza una quantità limitata di spazio noto, mediante una generalizzazione dell'argomento fornito da Yonatan N. Se la quantità di spazio è , la dimensione dell'alfabeto è A e il numero di stati è Q , allora il numero di possibili configurazioni è Q S A S . Se la macchina si ferma, deve arrestarsi entro i passaggi di Q S A S , poiché altrimenti, secondo il principio del buco del piccione, ha una configurazione ripetuta e quindi è bloccata in un ciclo infinito. Pertanto, per determinare se la macchina si arresta, la eseguiamo solo per i passaggi di Q S e vediamo se si ferma entro tale intervallo di tempo.SAQQSASQSASQSAS


Perché tale argomento funziona per macchine non deterministiche?
Raffaello

1
A causa del teorema di Savitch.
Yuval Filmus,

Non conoscevo (o ricordavo) il teorema di Savitch oltre al nome (non ho mai fatto molta complessità). Ma non sono sicuro che possa essere utilizzato in questo modo, in quanto si applica alle procedure decisionali, ovvero all'arresto dei calcoli, mentre la decidibilità dell'arresto è esattamente ciò che deve essere provato. La dimostrazione potrebbe essere adattata per includere semi-decisioni limitate dallo spazio, ma sembra più semplice dimostrare separatamente che l'arresto è decidibile per le TM limitate dallo spazio, trasformando così le semi-decisioni limitate dallo spazio in decisioni complete. Questo è vicino a ciò che viene fatto da Hopcroft-Ullman-79 nel loro lemma 12-1, prima di dimostrare il teorema di Savitch.
babou,

1
Potrei essere io a fraintendere questo, ma è la risposta per eseguire letteralmente il programma e vedere se si blocca in un ciclo infinito o no?
Mikayla Maki,

1
@TrentonMaki Sì, è esattamente così.
Yuval Filmus,

10

Sembri bloccato con un problema logico.

Dal fatto che ci sono libri che non puoi leggere, non puoi dedurre che non puoi leggere alcun libro.

Dire che il problema dell'arresto è indecidibile per Turing Machines (TM) significa solo che ci sono macchine per le quali non c'è modo di determinare se si fermano o meno con una procedura uniforme che si fermerà sempre.

Tuttavia ci sono macchine di Turing che si fermano. Ora prendi un sottoinsieme di Turing Machines, chiamato Nice Turing Machines (NTM), in modo tale che contenga solo Turing Machines che si fermano se e solo se il nastro contiene un numero pari di simboli. Se è noto che una macchina M appartiene a quell'insieme, hai un modo semplice per decidere se M si fermerà: controlli se il numero di simboli del nastro è pari (richiede solo due dita).

Ma quella procedura non funzionerà per TM che non sono nel set NTM. (peccato!)

Quindi il problema di arresto è decidibile per NTM, ma non per TM in generale, anche se il set NTM è incluso nel set TM.

Questo è in realtà fondamentale, e talvolta dimenticato, nell'interpretazione del risultato di indecidibilità.

Può darsi che si possa dimostrare che una proprietà importante è indecidibile per una famiglia molto ampia di oggetti matematici o computazionali.

Questo non significa che dovresti smettere di cercare una soluzione, ma solo che non ne troverai una per tutta la famiglia.

Quello che puoi fare è identificare le sottofamiglie rilevanti per le quali la risoluzione del problema rimane importante e provare a fornire algoritmi per decidere se la proprietà è valida per i membri di quella famiglia più piccola.

In genere, l'arresto è indecidibile per la TM in generale, ma è decidibile, spesso molto semplicemente, per famiglie di automi grandi e utili, che possono essere viste come casi speciali di TM.


3
"Dire che il problema di arresto è indecidibile per Turing Machines (TM) significa solo che ci sono macchine per le quali non c'è modo di determinare se si fermano o meno con una procedura che si fermerà sempre." - Non del tutto vero. Per ogni dato TM, il problema di arresto è decidibile. È il problema decisionale generale che è indecidibile, cioè non esiste un algoritmo che gestisca tutte le TM. (Penso che questo debba essere reso molto, molto chiaro per i principianti. Cfr . Il problema pi .)
Raffaello

Un esempio più immediato è l'insieme di tutte le TM che sono sempre valide. Il tuo aggiunge un tocco in più perché si trova al di fuori della normale gerarchia.
Raffaello

Giusto. Avrei dovuto dire "procedura uniforme", ma era implicito nella mia mente poiché dicevo "procedura che si fermerà sempre", il che implica che posso usarla su qualsiasi input, ovvero su qualsiasi macchina. Ma è vero che una procedura potrebbe funzionare correttamente per una macchina e fare qualsiasi cosa per altre macchine. Bene ... - - - - - - - - Per quanto riguarda il secondo commento, è quello che ho scritto all'inizio. Ho quindi cambiato idea perché pensavo che il mio esempio sarebbe stato più semplice da comprendere in modo intuitivo, in quanto la selezione delle macchine non si basa sulla proprietà da decidere (anche se è vicina).
babou,

2

In breve, A LBA ha un numero finito di configurazioni, diciamo D. Quindi, possiamo correre per i passaggi D e concludere il risultato. Se corre per più di quei passi D, per principio del piccione, possiamo dire che è bloccato in un ciclo infinito.


1
Cosa aggiunge questo alla risposta esistente ? Questo sembra semplicemente ripeterlo, in modo meno dettagliato. Mentre apprezzo che stai cercando di contribuire, preferiremmo evitare di ripetere le risposte esistenti e concentrarci invece sul rispondere a domande che non hanno già una buona risposta.
DW
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.