Qual è la differenza tra TM quantistica e TM non dedetermica?


30

Stavo attraversando la discussione sulla domanda Come definire le macchine quantistiche di Turing? e sento che la MT quantistica e la TM non etermica sono la stessa cosa. Le risposte all'altra domanda non toccano questo. Questi due modelli sono uguali?

Se no,

  1. Quali sono le differenze tra Quantum TM e NDTM?
  2. Esiste un calcolo che un NDTM farebbe più velocemente di Quantum TM?
  3. Se questo è il caso, allora la Quantum TM è un DTM, quindi perché c'è così tanta confusione su questa tecnologia, ne abbiamo già così tanti DTM. Perché progettare un nuovo DTM alla fine?

1
"In questo caso, allora la quantum TM è un DTM" - Da dove viene?
Raffaello

Risposte:


20

Come preambolo generale, QTM, TM e NTM sono tutte cose diverse (prendendo enormi libertà con un mucchio di ipotesi non dette).

Immagino che tu sappia cos'è una Turing Machine.

  1. Un NTM è una TM in cui, in qualsiasi stato, con qualsiasi simbolo, la funzione di transizione può avere un numero di scelte di azione che non è precisamente , cioè 0 o più di 1 (una TM deterministica deve avere esattamente un'azione per ogni simbolo in ogni stato, sebbene il caso 0 sia facile da gestire). Di fronte a una situazione in cui esistono diverse scelte di transizione, un NTM farà la scelta che alla fine lo porterà a uno stato accettante, se esiste una tale opzione. Al contrario, un QTM è un modello di calcolo quantico , come dettagliato nel thread collegato. E ' non è1 010

    non deterministico, non tutti. Probabilmente le principali differenze di alto livello tra un QTM e un TM sono che un QTM ha come stato una combinazione lineare degli stati di base (di nuovo, è tutto in quell'altro thread) e che è probabilistico, cioè l'accuratezza del suo risultato è limitato da una probabilità inferiore a (in generale). Giusto per essere davvero molto chiari su un punto che cattura molte persone, il non determinismo non è casualità, non è parallelismo, è un costrutto teorico che non ha nulla a che fare con nessuno di questi. 1

  2. La risposta completa a questo dipende da alcune ipotesi teoriche di complessità. Prendendo un punto di vista particolare (che e N P P ), la risposta è sì. I problemi N- P completi possono essere risolti da un NTM in tempo polinomiale e sembra anche che N P -completo B Q P = , quindi non possono essere risolti da un QTM in tempo polinomiale. Ancora una volta, tutto dipende dal modo in cui le carte cadono con una varietà di classi di complessità. Se risulta che Q M A = BQMUNBQPNPPNPNP-completareBQP=

    allora la risposta è no, per esempio. QMUN=BQP
  3. La prima cosa da dire qui è fare attenzione a confondere TM (di qualsiasi tipo) e computer. Una TM non è un computer, una QTM non è un computer quantistico. Calcolo del modello di TM (di qualsiasi tipo). Ciò che un determinato computer può fare è regolato da questo, ma questo è molto diverso dal dire che la cosa su cui sto scrivendo è una TM.

    Detto questo, se parliamo vagamente e pigramente identifichiamo QTM con computer quantistici e TM con computer standard, allora (sempre con alcune ipotesi di complessità) sembra che i computer quantistici possano rapidamente svolgere determinate attività che sembrano difficili per i computer standard (factoring, registri discreti , un tipo di ricerca davvero particolare e un paio di altri). Tuttavia, questi problemi non sono noti per essere difficili in NPsenso -Complete sia, a quanto pare i computer quantistici offrono funzionalità che estendono un computer standard, ma in una direzione diversa da quello che sarebbe necessario per risolvere problemi COMPLETO rapidamente. NP

Ancora una volta, per essere davvero chiari, ho esaminato un sacco di complessità computazionale qui, se vuoi davvero capire come tutto combacia, dovrai iniziare a scavare nella letteratura.


Grazie mille @ LukeMathieson. Proverò a digerire tutto e a inviare eventuali domande.
bongubj,

Sono contento di aver potuto aiutare. Ovviamente mancano molti dettagli tecnici, nel tentativo di arrivare al significato e all'intuizione. L'articolo di Wikipedia su Turing Machines è abbastanza decente, per coprire le cose tecniche lì. Quello QTM è doloroso, ma l'altro thread è comunque eccellente. Le cose del QTM tuttavia possono essere un po 'oscure se non hai fatto un corso su Hilbert Spaces o simili.
Luke Mathieson,

3
"il non determinismo non è casualità, non è parallelismo, è un costrutto teorico che non ha nulla a che fare con nessuno dei due." - questa è probabilmente una frase chiave qui.
Raffaello

13

Sul significato di non determinismo

Ci sono due diversi significati di "non determinismo" qui in discussione. La meccanica quantistica viene generalmente descritta come "non deterministica", ma la parola "non deterministica" viene utilizzata in modo specializzato nell'informatica teorica.

  1. Un significato, che si applica alla meccanica quantistica, è semplicemente "non deterministico ". Questo è di solito un modo ragionevole per interpretare la parola e, di fatto, né le macchine di Turing quantistiche né le macchine di Turing probabilistiche sono deterministiche nel modo in cui risolvono i problemi di decisione.

  2. Tuttavia, quando si descrivono i modelli di calcolo, il non deterministico è usato specificamente per indicare che la macchina può (in un certo senso) fare delle scelte che non sono determinate dal suo stato o dal suo input, per ottenere un obiettivo particolare. Questo significato è usato altrove nella descrizione di modelli di calcolo, come Automi finiti non deterministici .

Quindi, le macchine quantistiche di Turing sono un modello di calcolo non deterministico, ma diverso da una " macchina di Turing non deterministica ".

Macchine di Turing non deterministiche

Una macchina di Turing non deterministica è una macchina che può esplorare molteplici possibili transizioni. La transizione che effettua in una determinata fase dipende, ma non è determinata, dallo stato in cui si trova e dal simbolo che sta leggendo. Esistono due modi in cui questo viene comunemente presentato:

  • Soprattutto ai fini della definizione della classe di complessità NP , si può descrivere la macchina come fare delle scelte (o ipotesi) ad ogni passo per cercare di raggiungere uno stato accettante. Se pensi a ciò che la macchina non deterministica sta esplorando un albero decisionale, sta cercando un percorso accettante nell'albero. Sebbene nessun meccanismo descritto per suggerire come debba essere trovato un tale percorso, immaginiamo che troverà un percorso accettante se ne esiste solo uno.

  • È anche abbastanza comune affermare che una macchina non deterministica esplora tutti i possibili percorsi nell'albero decisionale in parallelo e dà una risposta "sì" se qualcuno di essi si rivela essere un percorso accettante.

Trattamenti più moderni del non determinismo considerano anche non solo l'esistenza, ma il numero di percorsi accettanti; e questo si adatta perfettamente alla descrizione dell'esplorazione di tutti i percorsi in parallelo. Possiamo imporre ulteriori vincoli, ad esempio che tutti i percorsi computazionali abbiano la stessa lunghezza (che la macchina impiega sempre lo stesso tempo per eseguire un calcolo) e che ogni percorso esegua un'ipotesi in ogni passaggio o ogni secondo passaggio, anche se l'ipotesi non è usata. Se lo facciamo, possiamo formulare modelli probabilistici di calcolo, come le macchine di Turing casuali (motivando classi di complessità come BPP ), in termini di numerodi accettare percorsi di una macchina di Turing non deterministica. Possiamo anche invertire questa tendenza e descrivere macchine di Turing non deterministiche in termini di computer randomizzati che possono in qualche modo distinguere tra risultati che hanno probabilità zero da quelli con probabilità diversa da zero .

Macchine Quanting Turing

La differenza principale tra una macchina di Turing quantistica e una non deterministica è questa: invece di "scegliere" non deterministicamente una singola transizione su due o più ad ogni passo, una macchina di Turing quantistica fa una transizione verso una sovrapposizione di una o più transizioni possibili. Lo stato completo della macchina è definito come un vettore unitario in uno spazio vettoriale complesso, definito da combinazioni lineari di stati di base descritti dagli stati classici del nastro, dalla posizione della testa della macchina e dallo "stato interno" della testa della macchina . (Vedi ad esempio pagina 9, Definizione 3.2.2, della teoria della complessità quantisticaper la descrizione completa di come le macchine quantistiche di Turing effettuano le transizioni.) La condizione in cui la macchina quantistica di Turing accetta un input è anche più restrittiva e coinvolge intrinsecamente la probabilità, che richiede una sostanziale probabilità di osservare il risultato corretto per avere successo.

Di conseguenza, le macchine quantistiche di Turing differiscono dalle macchine non deterministiche in quanto il modo in cui effettuano le loro transizioni non è completamente non specificato. Anche se la transizione "sembra misteriosa", è anche lo stesso tipo di evoluzione nel tempo che la nostra migliore teoria della materia indica che accade nel mondo reale. Mentre è comune descrivere i computer quantistici come "esplorare diversi percorsi computazionali in parallelo", non è particolarmente utile fare: le ampiezze sui diversi percorsi significano che non hanno tutti la stessa importanza e, a differenza delle macchine di Turing non deterministiche, esso non è sufficiente avere un'ampiezza diversa da zero su alcuni risultati; deve essere possibile ottenere una probabilità molto grande di ottenere il risultato corretto, come ad esempio 2/3. (La classe di problemi BQPche una macchina di Turing quantistica può risolvere in modo efficiente richiede un gap di probabilità dello stesso tipo di BPP per il calcolo randomizzato.) Inoltre, in contrasto con le macchine di Turing non deterministiche, una macchina di Turing quantistica può interferire tra loro dopo che si sono divise , che è semplicemente impossibile nella formulazione tipica di una macchina di Turing non deterministica (e rende la descrizione in termini di un albero decisionale in primo luogo meno utile).

Confronto tra i due modelli

Non sappiamo se una di queste macchine sia più potente dell'altra; i diversi modi in cui non sono deterministici sembrano diversi l'uno dall'altro e difficili da confrontare.

Per quanto riguarda i problemi che ogni macchina può fare rapidamente, che l'altra non può (per quanto ne sappiamo):

  • Non sappiamo in alcun modo che una macchina quantistica di Turing possa risolvere rapidamente il problema della SODDISFATTABILITÀ . Una macchina di Turing non deterministica può, facilmente.
  • Il lavoro di Aaronson e Archipov ( La complessità computazionale dell'ottica lineare ) suggerisce che è improbabile che le macchine di Turing non deterministiche siano in grado di simulare in modo efficiente alcuni esperimenti di ottica lineare che potrebbero essere simulati da una macchina di Turing quantistica.

Ma anche se qualcuno mostra come collegare i due tipi di macchina tra loro - e anche nello scenario estremamente improbabile che qualcuno mostri che BQP  =  NP (i problemi che una macchina di Turing quantistica e una macchina di Turing non deterministica, possono rispettivamente risolvere rapidamente ) - le due macchine che definiscono questi modelli di calcolo sono abbastanza diverse l'una dall'altra.


Non c'è bisogno di aver paura di non essere d'accordo! Ho certamente scelto un approccio semplificato per chiarire che esistono differenze tra le diverse macchine. Le uniche cose che aggiungerei a ciò che hai detto sono che continuo a sostenere che la casualità non è la stessa del non determinismo - puoi definire (per esempio) la BPP usando il non determinismo, ma anche con condizioni molto specifiche e puoi facilmente definirla nello stesso spirito con le macchine deterministiche (cosa che non puoi fare per NP, NEXP ecc., devi passare alla verifica piuttosto che al calcolo per quello).
Luke Mathieson,

1
La seconda parte è che trovo fuorviante la concezione del non determinismo come parallelismo (sebbene ci pensassi anche in questo modo). È una buona idea, purché si tenga presente che non si collega a qualcosa di simile al parallelismo "reale". Una semplice macchina non deterministica può simulare efficacemente un numero esponenziale di macchine deterministiche (purché ti interessi solo di ottenere la risposta giusta, non guardare tutti i percorsi di calcolo e la differenza tra NP e #P è piuttosto grande). Quindi l'idea che sta controllando tutti i percorsi in parallelo copre le cose.
Luke Mathieson,

Spero che tu sia felice di inserire i dettagli ragionevoli lì, questi commenti sono troppo brevi! ;)
Luke Mathieson,

@LukeMathieson: In realtà non sono sicuro di quello che stai ottenendo con i tuoi commenti, poiché faccio un punto per distinguere il "non determinismo computazionale" dalla casualità, descrivo chiaramente il tipo grossolano di esplorazione in parallelo che una macchina NP può essere detto di fare, e così via. Puoi chiarire cosa ritieni debba essere aggiunto?
Niel de Beaudrap,

Oh, non penso che nulla debba essere cambiato in quello che hai detto, stavo solo tentando (non riuscendo?;)) Di aggiungere commenti che potrebbero aiutare a sottolineare alcuni aspetti interessanti del non determinismo e le sue relazioni con altre idee computazionali.
Luke Mathieson,
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.