Universalità della porta di Toffoli


20

Per quanto riguarda la porta quantistica di Toffoli :

  1. è classicamente universale, e se sì, perché?
  2. è quanticamente universale, e perché?

Nella logica non quantistica, mostri che un altro set di operatori booleani noto come universale può essere simulato dal set a portata di mano. Non so se sia lo stesso nel mondo quantico, ma lo penso.
Raffaello

8
Nella logica quantistica, la porta di Toffoli non è universale, perché con essa puoi fare solo calcoli classici. È inoltre necessario un gate quantico che, se l'ingresso si trova in uno stato di base, mette l'output in una sovrapposizione di stati di base.
Peter Shor,

Mi rendo conto che la domanda potrebbe essere fonte di confusione, forse dovrebbe essere modificata per porre la differenza tra universalità nel mondo quantico / classico.
Ran G.

Ho modificato la mia risposta per coprire il caso quantistico. Cosa pensi ora?
Victor Stafusa,

1
@Suonò. Dovremmo mostrare la strada per domande future, questa domanda è taggata a casa, ma sembra che tu non spieghi perché non puoi risolverlo da solo (e dove risiede il problema). Penso che non sia una buona domanda per la beta privata (vedi la meta discussione ). Voto per chiudere questa domanda.
Gopi,

Risposte:


13

Toffoli è universale per il calcolo classico (come mostrato da @Victor). Tuttavia, Toffoli NON è universale per il calcolo quantistico (a meno che non abbiamo qualcosa di folle come ).P=BQP

Per essere universale per il calcolo quantistico (secondo la solita definizione), il gruppo generato dalle tue porte deve essere denso negli unitari. In altre parole, dato un arbitrario e una unitaria bersaglio, esiste un modo per applicare un numero finito di porte quantiche per ottenere una unitaria tale che .εUU'||U-U'||<ε

Toffoli da solo non è chiaramente universale sotto questa definizione poiché prende sempre gli stati base per gli stati base, e quindi non può implementare qualcosa che prende per esempio. In altre parole, non può creare sovrapposizione.|012(|0+|1)


10

Dalla articolo di Wikipedia che hai citato :

La porta di Toffoli è universale; questo significa che per qualsiasi funzione booleana f (x1, x2, ..., xm), esiste un circuito costituito da porte Toffoli che accetta x1, x2, ..., xm e alcuni bit extra impostati su 0 o 1 e uscite x1, x2, ..., xm, f (x1, x2, ..., xm) e alcuni bit extra (chiamati immondizia). In sostanza, questo significa che si possono usare le porte di Toffoli per costruire sistemi che eseguiranno qualsiasi calcolo della funzione booleana desiderato in modo reversibile.

Il che significa in parole semplici che qualsiasi funzione booleana può essere costruita solo con porte Toffoli.

Le funzioni booleane sono in genere costruite da porte OR, AND e NOT, che possono essere combinate per formare qualsiasi funzione booleana. È risaputo che lo stesso è possibile solo con cancelli NOR o solo con cancelli NAND.

La porta di Toffoli può essere sintetizzata come:

Toffoli(a,b,c)={(a,b,¬c)when a=b=1(a,b,c)altrimenti.

Dal momento che la prima e la seconda uscita sono sempre uguali al primo e al secondo ingresso, è possibile disconsiderarli. Quindi abbiamo:

Toffolio'(un',B,c)={¬cquando un'=B=1caltrimenti.

Con ciò, è possibile definire la porta NAND come:

NAND(un',B)=Toffolio'(un',B,1)

Poiché la porta NAND è universale e la porta NAND può essere definita come una porta Toffoli, la porta Toffoli è universale.

C'è un altro modo per dimostrare che Toffoli è universale, costruendo direttamente le porte AND e NOT:

NON(X)=Toffolio'(1,1,X)

E(un',B)=Toffolio'(un',B,0)

Quindi, possiamo costruire la porta OR usando le leggi di De Morgan :

OR(a,b)=NOT(AND(NOT(a),NOT(b))=Toffoli(1,1,Toffoli(Toffoli(1,1,a),Toffoli(1,1,b),0))


EDIT, poiché la domanda è stata modificata e il suo ambito è cambiato:

Innanzitutto, non capisco il calcolo quantico, quindi se c'è qualcosa di sbagliato, per favore aggiungi un commento. Ho fatto una piccola ricerca per provare a completare questa risposta e ho concluso con questo:

Il cancello di Toffoli è reversibile (ma il Toffoli 'usato sopra non lo è). Ciò significa che qualsiasi calcolo fatto con esso può essere annullato. Questo è:

(a,b,c)=Toffoli(Toffoli(a,b,c))

Ciò significa che per ogni triplo (a, b, c) se il Toffoli viene applicato due volte, l'input originale viene visualizzato come output.

La reversibilità è importante perché le porte quantistiche devono essere reversibili, quindi la porta (classica) di Toffoli può essere utilizzata come porta quantica per questo motivo.

Come dimostrato qui , la porta Deutsch è definita in modo simile alla porta Toffoli, ma invece di una porta classica, è una porta quantica:

Deutsch(a,b,c)=|a,b,c{icos(θ)|a,b,c+sin(θ)|a,b,1cfor a=b=1|a,b,cotherwise.

In questo modo, la porta Toffoli è un caso particolare della porta Deutsch dove:

Toffoli(a,b,c)=Deutsch(π2)(a,b,c)

π2

Un set quantico universale di Tgate può essere ottenuto se combiniamo la porta Toffoli con la porta Hadamard. Questo è esattamente ciò che fa la porta Deutsch.

Riferimenti interessanti possono essere trovati qui , qui e qui . Un possibile riferimento utile, che mostra le basi della trasformazione di Deutsch, dovrebbe essere qui , tuttavia il collegamento è protetto da password.


Toffolli non è universale per il calcolo quantistico, né lo è CNOT da solo. Questo è facile da vedere poiché non possono creare sovrapposizioni.
Artem Kaznatcheev,

{}

Il tuo riferimento in EDIT 2 è errato. Questo articolo afferma chiaramente che Toffoli + Hadamard è universale, non Toffoli da solo
Artem Kaznatcheev

@ArtemKaznatcheev: l'articolo dice "Toffoli e Hadamard". Poi ho pensato che questo significasse "Toffoli è un esempio e Hadamart è un altro". Comunque è chiaro ora.
Victor Stafusa,

L'ho modificato, dovrebbe essere ok ora.
Victor Stafusa,
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.