Definizione del problema di arresto per automi non deterministici


18

La definizione principale di Turing machine (TM), almeno nel mio manuale di riferimento (Hopcroft + Ullman 1979) è deterministica.

Quindi la mia comprensione del problema dell'arresto è principalmente per la TM deterministica, anche se sono consapevole che può essere considerata per altri tipi di automi.

Ho anche notato che il determinismo è spesso più o meno implicito nel modo in cui le persone si riferiscono spesso alla MT o al problema dell'arresto. La pagina di Wikipedia sul problema dell'arresto è un buon esempio di ciò.

Ma non sembra esserci alcun motivo per tale limitazione. Data una famiglia di automi che può essere non deterministica, il problema di arresto per può essere definito come:FF

Esiste una procedura di decisione uniforme tale che, dato un automa e un input , può decidere se esiste un calcolo di arresto di sull'input .UNFXUNX

(Ciò non equivale a dire che il calcolo di con input terminerà.)UNX

In effetti, questo sembra l'unico modo per dare un senso alle discussioni sul problema dell'arresto degli automi lineari limitati (LBA) che sono principalmente automi non deterministici.

Quindi la mia domanda è se ho ragione e se esiste una ragione (e quale ragione) per questo trattamento apparentemente di seconda classe del problema di arresto degli automi non deterministici.


Se pensi che qualcosa non vada in questa domanda, saresti così gentile da dire di cosa si tratta, in modo che tutti noi possiamo trarre vantaggio dalle tue conoscenze e migliorare il post per tutti gli utenti. Grazie.
babou,

Risposte:


12

Ci sono alcune ragioni per cui penso che abbiamo fatto meno sforzi nel problema di Halting per i modelli non deterministici.

Il primo è che ci sono, in effetti, due problemi di arresto rilevanti per un modello ND. Dato un input e una macchina non deterministica M :xM

  • Esiste una corsa valida di su x che si ferma?Mx
  • Esiste una corsa valida di su x che non si ferma? cioè tutte le corse valide si fermano?Mx

Per le macchine deterministiche, queste sono identiche, poiché esiste esattamente una corsa valida di su un input x . Ma per le macchine non deterministiche, potrebbero esserci più esecuzioni. Quale ti interessa dipende dalla tua applicazione.MX

In secondo luogo, i modelli non deterministici sono già irrealistici: presumono che tu abbia una scatola magica che ti dice quale strada prendere o che hai una qualche forma di parallelismo infinito. Poiché le macchine di Turing non deterministiche e deterministiche sono equivalenti in termini di potenza, nella maggior parte dei casi basta convertire la macchina in una deterministica prima di preoccuparsi di fermarsi.

Come estensione di questo, non ci interessa perché provare qualcosa su una macchina non deterministica è almeno tanto difficile quanto provare qualcosa su una macchina deterministica equivalente. Sappiamo già che non esiste una soluzione al problema deterministico di arresto, quindi tutto ciò per cui è davvero utile è dimostrare altri problemi indecidibili attraverso riduzioni. E sarà sempre meno lavoro per ridurre il problema di arresto deterministico, poiché è più facile della sua controparte non deterministica.


Affermate: " Ma per le macchine non deterministiche, potrebbero esserci più esecuzioni. A quale vi interessa dipende dalla vostra applicazione. " Potreste illustrare questa affermazione con un esempio? Quindi affermi " devi solo convertire la macchina in una deterministica prima di preoccuparti di fermarti ". Come viene fatto per un LBA?
babou,

Gli LBA sono un sottoinsieme di macchine di Turing non deterministiche, quindi possono sempre essere convertiti in macchine di Turing deterministiche usando il solito metodo. Ho il sospetto che ci sia una costruzione speciale che può essere utilizzata per convertire in una macchina con proprietà specifiche, in modo da poter mantenere l'abilità di ragionamento extra che otteniamo dagli LBA. Penso che sembrerà un algoritmo di backtracking in cui viene utilizzato lo spazio lineare, tranne per il fatto che lo stack di chiamate potrebbe essere potenzialmente esponenzialmente ampio (non sono sicuro, dovrei cercarlo).
jmite,

Per percorsi multipli, considera due macchine , una che si ferma sempre sull'input x e una che non fa mai per x . Possiamo creare una nuova LBA M che inizia scegliendo non deterministicamente un valore booleano. Se sceglie true, esegue M 1 sull'ingresso x. Se sceglie false, esegue M 2 su x . Ogni scelta di vero e falso è una "corsa" diversa. Questa macchina si ferma per x ? Esiste un percorso in cui si ferma su x , ma non si ferma per tutti i percorsi che leggono x . M1,M2xxMM1M2xxxx
jmite

1
@HendrikJan Sembra che l'arresto della NLBA sia piuttosto affrontato con il teorema di Savitch . Ma cambia il limite lineare in uno quadratico.
babou,

1
@Raphael quello che intendo con questo è che, per mostrare il problema indecidibile, mostri che puoi usare P per simulare un altro problema indecidibile. Poiché esiste una banale mappatura iniettiva da DTM a NTM, qualsiasi riduzione dall'arresto di NTM è anche una riduzione dall'arresto di DTM. Di solito sarebbe meno lavoro ridurre dall'arresto del DTM, poiché è un problema meno difficile che stai cercando di simulare. PP
jmite,

4

Il problema di arresto è il problema per eccellenza , poiché può essere dichiarato come:Σ1

.H(P,X)c st c è un arresto del calcolo di P su X

Ciò suggerisce che la tua definizione sia corretta. In generale, ogni definizione completa di è "corretta".Σ1


Sfortunatamente, non so quasi nulla della gerarchia aritmetica. Ho ragione nel capire che rappresenta problemi semi-decidibili? Che dire di: K ( P , x ) c , c  è un calcolo di  P  su  xΣ1. Lo sto chiedendo perché le quantificazioni esistenziali e universali sembrano finire in classi diverse, ma per me è tutto confuso. Kè anche semi-decidibile. K(P,x)c,c is a computing of P on xc is halting.K
babou,

Questo è quello che temevo rispondessi. Ho chiesto perché penso di avere una procedura semi-decisionale per questo. Quindi o la mia prova è sbagliata o ho formalizzato il mio problema in modo errato. Fondamentalmente è il suggerimento di jmite che l'arresto non deterministico sull'input potrebbe essere definito richiedendo che tutti i calcoli su x halt. E fino ad ora ho creduto di avere una semi-decisione per questo. XX
babou,

In realtà la tua definizione non è buona per un altro motivo: cosa intendi con " sta fermando"? O vuoi dire che c , che è a priori solo un calcolo incompleto, è in realtà completo. In tal caso, K ( P , x ) non è mai vero, dal momento che puoi prendere c come calcolo vuoto. In ogni altro caso, non è chiaro che la descrizione di c sia finita, e non è nemmeno chiaro che il predicato " c stia fermando" sia calcolabile. ccK(P,X)ccc
Yuval Filmus,

Quindi in effetti il ​​problema è in ma probabilmente non Π 1 -completo. Π1Π1
Yuval Filmus,

Grazie e scusate per la mia lettura ingenua. Pensavo che il hai usato significasse calcoli "completi", che apparentemente è un errore sul dominio quantificato. Immagino che si possano usare solo domini numerabili e l'insieme di calcoli non-stop di una TM non deterministica non si qualifica. Suppongo anche che i quantificatori ci diano quanto può essere negativa la calcolabilità, ma non offrono alcuna garanzia che sia così grave. Quindi sembra che la proposta di jmite non sia facilmente espressa in modo diretto nel "formato" richiesto, ma la mia procedura di semi-decisione potrebbe essere corretta. c
babou,

2

dici che esiste un "apparente trattamento di seconda classe" del problema di arresto per macchine non deterministiche. sembra che il non determinismo non sia stato considerato storicamente fino a molto tempo dopo la creazione di Turings della TM deterministica e questo potrebbe avere a che fare con il focus della ricerca nell'area. tuttavia il punto principale qui è che il problema non deterministico può essere facilmente ridotto al problema deterministico, quindi è sufficiente studiare il problema deterministico "senza perdita di generalità".

inoltre, per contrastare l'idea di "2a classe" qui c'è almeno un riferimento / carta che studia il problema dell'arresto per macchine non deterministiche e trova connessioni utili / profonde. alcune prove circostanziali sulla falsariga che la ricerca CS è così vasta / specializzata, a volte alcune ricerche iniziali sono state condotte nella maggior parte delle aree, anche apparentemente strette, e possono avvicinarsi quasi senza senso o spaccare i capelli per classificare diversi problemi nella loro importanza. e al contrario, il non determinismo sembra un concetto molto profondo / onnipresente / trasversale in CS (domande chiave come P vs NP sono su di esso) e tale aspetto è probabile che continui a lungo nel futuro.

Astratto. Il problema parametrizzato p-Halt prende come input una macchina di Turing non deterministica M e un numero naturale n, la dimensione di M come parametro. Chiede se ogni esecuzione accettabile di M su nastro di input vuoto richiede più di n passaggi. Questo problema è nella classe XPuni, la classe "XP uniforme", se esiste un algoritmo che lo decide, che per la macchina fissa M viene eseguito nel polinomio temporale in n. Si scopre che vari problemi aperti di diverse aree dell'informatica teorica sono correlati o addirittura equivalenti a p-Halt ∈ XPuni. Quindi questa affermazione forma un ponte che consente di ricavare equivalenze tra affermazioni di aree diverse (teoria della dimostrazione, teoria della complessità, complessità descrittiva, ...) che a prima vista sembrano non essere correlate. Come mostra la nostra presentazione,


2

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):

  • MX

  • MX

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 :

  • MXMX

  • MXMX

MXMX

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 :

LMXXL

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.

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.