In poche parole
Non sembra esserci alcuna buona ragione per trascurare il problema dell'arresto in ambienti che non sono quelli classici delle macchine deterministiche di Turing, oltre al fatto che il problema dell'arresto classico risponde ad alcune importanti domande matematiche (come il problema di
Entscheidungs ), mentre le varianti sono solo questioni tecniche interessanti (?), ma con un impatto minore sulle basi.
UNX
Secondo la risposta di jmite, questo arresto non deterministico può essere definito come corrispondente all'esistenza di almeno un calcolo di arresto ( arresto esistenziale ), o in alternativa alla necessità che tutto il calcolo possibile sia fermo ( arresto universale ). Queste due definizioni corrispondono a due diverse definizioni del problema di arresto non deterministico.
Mostro che, per le macchine di Turing, le due definizioni corrispondono a due modi distinti di determinare la macchina a coda di rondine. Da ciò, desumo che le due varianti del problema di arresto non deterministico sono entrambe Turing equivalenti al classico problema di arresto deterministico
.
Tuttavia, mostro anche che ciascuna di queste definizioni di arresto è direttamente correlata a una corrispondente definizione della lingua riconosciuta da una macchina di Turing, e questa relazione può essere semplicemente espressa a condizione di scegliere definizioni coerenti.
Quindi, data la solita definizione della lingua riconosciuta da un automa non deterministico, la definizione naturale di arresto non deterministico è arresto esistenziale, come proposto nella domanda originale.
La maggior parte di questa analisi si estende naturalmente ad altri tipi di automi, sebbene le costruzioni a coda di rondine non siano spesso disponibili all'interno di famiglie meno potenti delle macchine di Turing.
introduzione
Sto scrivendo questo come una risposta poiché risponde parzialmente alla mia domanda dopo ulteriori riflessioni a riguardo, tenendo conto delle risposte esistenti. Inoltre, modificare la mia domanda dopo tre risposte potrebbe in questo caso confondere i problemi, e preferirei lasciare la domanda come originariamente scritta per evitarlo.
Discuto prima alcuni dei miei disaccordi con le risposte fornite. Il punto non è quello di denigrare i tentativi equi di rispondere alla mia domanda (i miei ringraziamenti per tutte le risposte), ma di arrivare in fondo alle questioni discutendo o contestando i punti tecnici.
Penso che la domanda originale difficilmente abbia bisogno del contesto o della motivazione. Il problema dell'arresto è una delle principali domande che poniamo sugli automi da un lato, e il non determinismo è una caratteristica molto comune e utile di molti automi dall'altro. Inoltre, il non determinismo non è solo un dispositivo teorico comune per semplificare le prove, ma una caratteristica essenziale di alcune famiglie di automi, come l'automa a limite lineare (LBA), almeno al momento della stesura di questo scritto.
Quindi è del tutto naturale chiedersi se il problema dell'arresto abbia un significato, o un significato preferito, che e perché, nel caso di automi non deterministici.
Il problema dell'arresto non sterministico è ben affrontato?
La mia domanda si chiede perché l'arresto del problema per gli automi non deterministici sembra ricevere un trattamento di seconda classe , che ha generato un downvote e una risposta di VZN. La risposta di vzn , che è in realtà un commento più lungo, insiste sul fatto che "il non determinismo sembra un concetto molto profondo / ubiquitario / trasversale in CS", di cui non ho mai dubitato. Fornisce anche un riferimento a qualche ricerca sull'arresto di macchine non deterministiche, il che non sorprende, ma non affronta realmente il mio punto. Il punto è che non ricordo di aver visto una definizione del problema di arresto mirato su macchine non deterministiche, anche se ho letto un po 'di letteratura sul campo. Non è affrontato, AFAIK, nel mio libro di testo di riferimento (Hopcroft + Ullman 1979). Sembra spesso implicito nella mente delle persone che stanno prendendo in considerazione automi deterministici, di solito Turing macchine, la cui definizione di riferimento è deterministica.
Ad esempio, nella domanda Perché il problema di arresto è decidibile per LBA? , Yuval Filmus ha dimenticato nella sua risposta che gli LBA sono dispositivi non deterministici - ma ha brillantemente salvato la sua risposta con un commento di 4 parole .
Come ultima testimonianza del fatto che questo problema non è ben affrontato in generale (nonostante alcune ricerche specializzate), vorrei chiamare il fatto che il problema deve essere discusso qui.
La risposta di jmite è l'unica che in realtà tenta di spiegare perché potrebbe non essere ben indirizzata. Il suo primo argomento è che ci sono due possibili definizioni, ma credo che questa situazione dovrebbe piuttosto incoraggiare ulteriori analisi per determinare quale definizione sarebbe più appropriata. Tento di farlo di seguito.
Suggerisce anche che, dal momento che una TM non deterministica può sempre essere convertita in una deterministica equivalente, non ha senso preoccuparsi della questione dell'arresto nel caso non deterministico. Non ne sono pienamente convinto, ma può essere percepito come una buona ragione da molti. Tuttavia, l'argomento non si applica agli automi lineari limitati (LBA), poiché è ancora un problema aperto se l'LBA deterministica è equivalente all'LBA non deterministica. E ci sono altre famiglie di automi per le quali la sottofamiglia deterministica è più debole dell'intera famiglia non deterministica (PDA per esempio).
Sono anche in disaccordo con l'ultimo punto, affermando che non dovremmo preoccuparci di fermarci non deterministici perché le prove sono più facili con le macchine deterministiche. Raphael ha obiettato a questo in un commento : "Di solito trovo più facile ridurre i problemi più difficili ". In effetti, per molti tipi di automi, la versione non deterministica serve principalmente a semplificare le prove, come la riduzione a quel tipo di automa. Avere in aggiunta due forme di arresto che possono essere utilizzate, come suggerito dallo stesso jmite, potrebbe anche essere considerato un vantaggio in quanto offre una maggiore flessibilità per affrontare i problemi.
Sulla definizione del problema di arresto non deterministico
Nota: l'uso della parola "universale" nel seguente testo si riferisce alla quantificazione universale , NON alle macchine universali di Turing
La risposta di jmite è la più dettagliata.
Questa risposta ipotizza che gli automi non deterministici promuovano meno sforzi per risolvere il problema perché può essere definito in due modi diversi (la terminologia è mia):
L'unica definizione che avevo suggerito adeguata è l'arresto esistenziale .
X
Prova : questo è facilmente dimostrato con il lemma di König , poiché il numero di possibili scelte non deterministiche ad ogni passo è limitato per un dato automa. Se ci fossero infiniti calcoli di arresto, potremmo etichettare ogni configurazione con ciascuno dei percorsi computazionali che conducono ad essa, il che farebbe un grafico di calcolo con infiniti nodi, ma solo ramificazione non deterministica finita su ciascun nodo. Secondo il lemma di König, ciò implica l'esistenza di un percorso computazionale infinito, corrispondente a un calcolo senza sosta.
Il caso delle macchine (non deterministiche) di Turing
Quindi ora esaminiamo l'arresto nel caso della macchina di Turing non deterministica (NTM).
Per analizzare le due definizioni, la più semplice è infatti quella di considerare le versioni deterministiche di macchine non deterministiche, che possono essere raggiunte, come ricordato da Hendrik Jan , combinando tutti i possibili calcoli.
Ma ci sono (almeno) due modi di calcolare i calcoli a coda di rondine per la determinazione, sebbene di solito ne venga considerato solo uno:
la determinazione esistenziale a coda di rondine che simula tutti i calcoli in parallelo e termina quando termina uno dei calcoli simulati.
determinazione universale a coda di rondine che simula tutti i calcoli in parallelo e termina solo quando tutti i calcoli simulati terminano. Ma può in qualche modo enumerare in qualche modo i calcoli finali o contarli.
Proposta 2 :
MXM∀X
Teorema 3 : Il problema di arresto per TM deterministico, e i problemi di arresto esistenziale e universale per TM non deterministico sono equivalenti di Turing.
Prova : Ciò deriva dalla proposizione 2 e dal fatto che le TM deterministiche sono un sottoinsieme delle TM non deterministiche, in cui sia l'arresto esistenziale che quello universale si riducono al semplice arresto deterministico.
Quindi, da un punto di vista della calcolabilità, e sono tentato di dire da un punto di vista che spinge il simbolo, sembra che non importa davvero quale definizione sia scelta, esistenziale o universale, per il problema di fermarsi non deterministico.
Perché scegliere una definizione di arresto NTM e quale
Tuttavia, ha molto senso un processo di determinazione che non preserva il linguaggio riconosciuto dall'automa originale?
L'essenza dell'uso del non determinismo nel riconoscimento del linguaggio è che assume un oracolo che dovrebbe indovinare un giusto percorso computazionale ogni volta che ce n'è uno che porterà all'accettazione,
una visione fondamentalmente esistenziale .
ε
Pertanto, l'accettazione mediante l'interruzione può essere vista come una forma canonica di accettazione per automi non deterministici.
Considerando questa visione canonica, il problema dell'arresto può anche essere espresso in modo equivalente come problema di riconoscimento :
LMXx ∈ L
MXXM
Tuttavia, nel caso dell'arresto universale, questa stretta relazione viene persa. Un'affermazione simile può essere fatta, ma per una lingua diversa da quella riconosciuta da NTM (o in alternativa per una definizione diversa, universale, di quale sia la lingua riconosciuta da un NTM).
Quando si sviluppa una teoria, è essenziale utilizzare definizioni coerenti in modo da enfatizzare le strutture e le relazioni nella loro forma più semplice e appariscente. È abbastanza chiaro che nel presente caso, la coerenza con altre definizioni suggerisce che
l'arresto esistenziale è la definizione naturale di arresto per macchine di Turing non deterministiche.
XX
Il caso di altre famiglie di automi
Parti dell'analisi di cui sopra non possono essere estese alla maggior parte delle famiglie di automi non deterministici. Ad esempio un atomaton pushdown (PDA) può definire lingue che non possono essere riconosciute da un PDA deterministico. Lo stesso può valere per gli LBA. Altre parti possono essere estese a tutte le famiglie non deterministiche.
Per quanto riguarda la definizione di arresto non deterministico, anche se il ragionamento usato nel caso della macchina di Turing potrebbe non essere utilizzabile, sembra che l'unica scelta sensata sia quella di adottare una definizione coerente con quella utilizzata per le macchine di Turing non deterministiche, da cui la definizione esistenziale .
Segue la definizione del problema di Halting per queste famiglie di automi non deterministici, e si conforma alla definizione proposta nella domanda.