Algorisme Bernstein-Vazirani

De testwiki
Salta a la navegació Salta a la cerca
L'algorisme de Bernstein Vazirani en el model de circuit

LPlantilla:'algorisme de Bernstein–Vazirani, que resol el problema de Bernstein–Vazirani, és un algorisme quàntic inventat per Ethan Bernstein i Umesh Vazirani el 1997.[1] És una versió restringida de l'algorisme Deutsch–Jozsa on en comptes de distingir entre dues classes diferents de funcions, intenta aprendre una cadena codificada en una funció.[2] L'algorisme de Bernstein-Vazirani va ser dissenyat per demostrar una separació d'oracle entre les classes de complexitat BQP i BPP.[1]

Esquema gràfic de l'algorisme de Bernstein-Vazirani

Declaració del problema

Donat un oracle que implementa una funció f:{0,1}n{0,1} en el qual f(x) es promet que serà el producte puntual entre x i una cadena secreta s{0,1}n mòdul 2, f(x)=xs=x1s1x2s2xnsn, trobar s.

Algorisme

Clàssicament, el mètode més eficient per trobar la cadena secreta és avaluar la funció n vegades amb els valors d'entrada x=2i per a tots i{0,1,...,n1}: [3]

f(10000n)=s1f(01000n)=s2f(00100n)=s3f(00001n)=sn

En contrast amb la solució clàssica que necessita almenys n consultes de la funció a trobar s, només es necessita una consulta mitjançant la computació quàntica. L'algorisme quàntic és el següent: [4]

Cal aplicar una transformació Hadamard al n estat qubit |0n per aconseguir

12nx=02n1|x.

A continuació, apliqueu l'oracle Uf que es transforma |x(1)f(x)|x. Això es pot simular mitjançant l'oracle estàndard que transforma |b|x|bf(x)|x aplicant aquest oracle a |0|12|x. ( denota addició mod dos.) Això transforma la superposició en

12nx=02n1(1)f(x)|x.

Una altra transformada Hadamard s'aplica a cada qubit, la qual cosa fa que sigui per a qubits on si=1, el seu estat es converteix de | a |1 i per a qubits on si=0, el seu estat es converteix de |+ a |0. Per obtenir s, una mesura en la base estàndard ( {|0,|1} ) es realitza als qubits.

Gràficament, l'algorisme es pot representar amb el diagrama següent, on Hn denota la transformada de Hadamard n qubits:

|0nHn12nx{0,1}n|xUf12nx{0,1}n(1)f(x)|xHn12nx,y{0,1}n(1)f(x)+xy|y=|s

El motiu pel qual és l'últim estat |s és perquè, per a un particular y ,

12nx{0,1}n(1)f(x)+xy=12nx{0,1}n(1)xs+xy=12nx{0,1}n(1)x(sy)=1 if sy=0,0 altrament.

Des de sy=0 només és cert quan s=y, això vol dir que l'única amplitud diferent de zero està activada |s. Per tant, mesurant la sortida del circuit en la base computacional s'obté la cadena secreta s.

S'ha proposat una generalització del problema de Bernstein-Vazirani que implica trobar una o més claus secretes mitjançant un oracle probabilístic.[5] Aquest és un problema interessant per al qual un algorisme quàntic pot proporcionar solucions eficients amb certesa o amb un alt grau de confiança, mentre que els algorismes clàssics no resolen completament el problema en el cas general.

Referències

Plantilla:Referències