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.
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.
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.