Problema lui Simon

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

În teoria complexității de calcul și în calculul cuantic , problema Simon este o problemă de calcul care poate fi rezolvată într-un mod exponențial mai rapid pe un computer cuantic decât un computer clasic (sau tradițional). Problema lui Simon încorporează utilizarea unei cutii negre. Problemele cu cutia neagră oferă algoritmilor cuantici un avantaj față de algoritmii clasici.

Problema în sine are un interes practic redus, deoarece există puține situații realiste în care problema lui Simon trebuie rezolvată. Cu toate acestea, problema este importantă, deoarece se poate demonstra că un algoritm cuantic poate rezolva această problemă atât de exponențial mai rapid decât orice algoritm clasic cunoscut. Acesta este primul exemplu de problemă de calcul care poate fi rezolvată în timp polinomial pe un computer cuantic.

Problema a fost creată de Daniel Simon în 1994. Simon a arătat un algoritm cuantic , adesea a spus algoritmului Simon, care rezolvă problema exponențial necesitând mai puțin timp de calcul (sau mai precis, apeluri) decât cel mai bun algoritm clasic. În algoritmul lui Simon este necesar să efectuați un număr liniar de apeluri, în timp ce algoritmul clasic are nevoie de un număr exponențial. Această problemă oferă o separare oracolă între clasele de complexitate BPP și BQP , spre deosebire de data separării de algoritmul ' Deutsch-Jozsa , care separă P și EQP. Separarea este exponențială (în raport cu un oracol) între complexitatea clasică și cea cuantică.

Algoritmul Simon a fost, de asemenea, inspirația pentru algoritmul lui Shor . Ambele probleme sunt cazuri particulare ale problemei subgrupului ascuns abelian, dintre care se cunosc algoritmi cuantici eficienți.

Descrierea problemei

Ambele au o funcție (implementată de o cutie neagră sau oracol) , care se bucură de proprietate pentru unii și pentru fiecare ,

dacă și numai dacă sau

Scopul este de a identifica dacă să identifice dacă sau apelând f (x).

Aici, clasificarea unei funcții de injecție (unu-la-unu). Dacă în schimb , funcția este două-la-unu astfel încât

Cu alte cuvinte, este o funcție două la unu astfel încât , pentru fiecare unde este este necunoscut.

Domeniul de aplicare

Scopul problemei este de a reduce numărul de apeluri către o casetă neagră pentru a determina s atât de exponențial de repede.

Exemplu

De exemplu, dacă , atunci următoarea funcție este un exemplu de funcție care satisface proprietatea deja menționată:

000 101
001 010
010 000
011 110
100 000
101 110
110 101
111 010

În acest caz aveți soluția . Se poate verifica cu ușurință că fiecare ieșire a Apare de două ori și că produsul XOR în biți între cele două șiruri corespunzătoare oricărei ieșiri de intrare este egal cu .

De exemplu, șirurile de intrare Și ambele sunt mapate (din ) la aceeași ieșire , adică Și . Dacă aplicați XOR la ​​010 și 100 obțineți 110, adică Șirul poate fi, de asemenea, verificat folosind șirurile de intrare 001 și 111, care sunt mapate (de la f) la același șir de intrare 010. Chiar dacă aveți XOR 001 și 111, obțineți 110, adică . Aceasta oferă aceeași soluție rezolvat primul.

În acest exemplu, funcția este de fapt două-la-unu unde .

De cand , puteți rescrie coeficientul după cum urmează:

Dificultatea problemei

Intuitiv, aceasta este o problemă foarte dificil de rezolvat într-un mod „clasic”. Intuiția din spatele dificultății este destul de simplă: dacă doriți să rezolvați problema clasic, trebuie să găsiți două intrări diferite Și pentru care . Nu există neapărat o structură în funcție ceea ce ar putea ajuta la găsirea a două astfel de intrări: mai precis, este posibil să descoperiți ceva (sau ce face) numai atunci când, pentru două intrări diferite, obțineți aceeași ieșire. În orice caz, ar trebui luat mai multe intrări înainte de a găsi probabil o pereche din care este mapată același rezultat ca și paradoxul zilei de naștere . Întrucât, în mod clasic, pentru a găsi s cu 100% certitudine ar trebui să verificați până la de intrare, problema lui Simon încearcă să găsească s folosind mult mai puține apeluri decât metoda clasică.

Prezentare generală a algoritmului

Idee

Ideea din spatele algoritmului lui Simon este de a „testa” (sau „proba”) un circuit cuantic (vezi figura de mai jos) „suficient timp” pentru a găsi șiruri la n -bit liniar independent , adică

astfel încât următoarele ecuații să fie satisfăcute

unde este Este forma produsului scalar 2 ; asta inseamna, unde este , pentru si pentru .

Deci, acest sistem liniar conține ecuații liniare în necunoscute (adică biții de ), iar scopul este de a rezolva pentru a obține , Și este fixat pentru o funcție dată . Nu există întotdeauna o soluție (unică).

Circuitul cuantic

Circuit cuantic reprezentând / implementând algoritmul lui Simon

Circuitul cuantic (în imagine) este implementarea (și vizualizarea) părții cuantice a algoritmului lui Simon.

Mai întâi pregătiți o stare cuantică de zero (ușor de realizat). Statul reprezintă unde este este numărul de qubiți. Jumătate din această stare este apoi transformată cu o poartă Hadamard . Rezultatul este apoi trimis la oracol (sau „cutie neagră”), care știe să calculeze . Operatorul acționează asupra celor două registre ca . După aceea, o parte din ieșirea produsă de oracol este transformată folosind o altă transformare Hadamard. În cele din urmă, se face o măsurare a stării cuantice rezultate. În timpul acestei măsurători, șirurile de n-bit sunt recuperate, , menționat în secțiunea anterioară.

Algoritmul lui Simon poate fi considerat un algoritm iterativ, care folosește un circuit cuantic, urmat de un algoritm (posibil) clasic pentru a găsi soluția unui sistem liniar de ecuații.

Algoritmul lui Simon

Intrare

Algoritmul lui Simon începe cu intrare , unde este este starea cuantică cu zerouri.

(Simbolul Este simbolul tipic folosit pentru a reprezenta produsul tensor . Pentru a nu aglomera notația, simbolul este omis uneori: de exemplu în propoziția anterioară, este echivalent cu . În această intrare, este adesea folosit pentru a evita ambiguitatea sau confuzia.)

Exemplu

De exemplu, pentru , intrarea inițială este

.

Prima transformare a lui Hadamard

În primul rând, intrarea este transformată cu o transformată Hadamard. Mai exact, transformarea Hadamard (produsul tensorial poate fi aplicat și matricelor) se aplică primelor qubit, adică în starea „parțială” , deci starea după această operațiune se dovedește a fi

unde este denotă un șir de n biți (adică suma este peste toate n șirurile de biți). Termenul poate fi ales din însumare deoarece nu depinde de , Și .

Exemplu

Să presupunem (încă) , atunci intrarea este iar transformarea Hadamard Și

Dacă se aplică la primul , adică statului

primesti

Pentru a obține starea compusă, produsul tensor al cu , sau

Oracol

Acum se numește oracol sau cutie neagră ( în figură) pentru a calcula funcția pe intrarea transformată , pentru a obține statutul

A doua transformare a lui Hadamard

Transformarea lui este apoi aplicată din nou la stările celor dintâi stat qubit , si tu ai

unde este poate fi sau sau , depinde de , unde este , pentru . Deci, de exemplu, dacă Și , asa de , ceea ce este egal, deci în acest caz, ; este întotdeauna un număr non-negativ.

Acum statul este rescris

după cum urmează:

Măsura

După efectuarea tuturor operațiunilor de mai sus, trebuie efectuată o măsurare.

Acum există două cazuri posibile care trebuie analizate separat

  • sau
  • , cu .

Primul caz

Să analizăm cazul în care , ceea ce înseamnă că Este unu-la-unu ( injectiv ).

Starea înainte de măsurare este

Acum, probabilitatea ca măsura să dea orice șir Și

Aceasta rezultă din faptul că

deoarece cei doi vectori diferă doar în ordinea componentelor lor, având în vedere că este injectiv .

Valoarea membrului din dreapta se menține pur și simplu

Prin urmare, când Rezultatul măsurării este pur și simplu un șir de n-biți distribuit uniform .

Al doilea caz

Să analizăm acum cazul în care , unde este . În acest caz, este o funcție două la unu, adică există două intrări care sunt mapate din la aceeași ieșire.

Analiza efectuată în prima este încă valabilă: probabilitatea de a măsura orice șir poate fi totuși reprezentat de

Cu toate acestea, în acest al doilea caz, este necesar să înțelegem care este valoarea .

Este , setul de imagini al . Este (o ieșire a funcției), apoi pentru fiecare , există unul și unul singur , astfel încât ; în plus, avem asta , care este echivalent cu .

Deci, iată-l

De cand , puteți rescrie în continuare ca

Acum dacă este ciudat atunci . Atunci,

Categoric, poate fi scris ca

Numar impar

Dacă în schimb, este uniform, atunci . În acest caz,

În consecință, avem

De cand , niciun șir nu va fi măsurat vreodată . Si ha interferenza distruttiva.

Numero pari

Quindi si ha

Si tratta del caso di interferenza costruttiva ,

.

Quindi, per riassumere, in questo caso si hanno le seguenti probabilità

Elaborazione classica

Facendo girare il circuito, risultano due casi:

  • Nel caso (particolare) in cui , i risultati della misura sono con probabilità
  • nel caso in cui ( ), la probabilità di ottenere una stringa è data da

Perciò, in ambo i casi i risultati della misura danno che soddisfa , e la distribuzione è uniforme su tutte le stringhe che soddisfano questa condizione.

Si hanno informazioni a sufficienza per determinare ? Sì, a patto che il processo sia ripetuto molte volte. Nello specifico, se il processo sopra viene ripetuto volte, si ottengono stringhe , tali che

Questo è un sistema di equazioni lineari in incognite (cioè i bit di ), e lo scopo è risolverlo per ottenere . Si noti che ognuna delle che si ottengono dalle misura è, naturalmente, l'esito di una misura, quindi è conosciuta.

Si otterrà una unica soluzione non nulla se sono linearmente indipendenti. La probabilità che siano linearmente indipendente è almeno

Se sono linearmente indipendenti, si può risolvere il sistema e trovare una candidata per la soluzione e verificare che . Se , allora e il problema è risolto. Se , deve essere . Se così non fosse, l'unica soluzione non nulla delle equazioni lineari sarebbe stata ). Ad ogni modo, con l'indipendenza lineare delle equazioni, si può risolvere il problema.

Complessità

L'algoritmo di Simon necessita di chiamate all'oracolo, mentre un algoritmo classico ne necessita almeno . Si sa anche che l'algoritmo di Simon è ottimale, nel senso che ogni altro algoritmo quantistico che risolve questo problema necessiterà di chiamate. [1] [2]

Note

  1. ^ P. Koiran, V. Nesme e N. Portier, The quantum query complexity of the Abelian hidden subgroup problem ( ps ), in Theoretical Computer Science , vol. 380, n. 1-2, 2007, pp. 115–126, DOI : 10.1016/j.tcs.2007.02.057 .
  2. ^ P. Koiran, V. Nesme e N. Portier, A quantum lower bound for the query complexity of Simon's Problem ( ps ), in Proc. ICALP. , vol. 3580, 2005, pp. 1287–1298, Bibcode : 2005quant.ph..1060K , arXiv : quant-ph/0501060 .