Demistificiranje principa kvantnog računalstva

Demistificiranje principa kvantnog računalstva
"Mislim da sa sigurnošću mogu reći da nitko ne razumije kvantnu mehaniku." - Richard Feynman

Tema kvantnog računalstva uvijek je fascinirala tehnološke pisce i novinare. Njegov računalni potencijal i složenost dali su mu određenu mističnu auru. Prečesto, članci i infografike detaljno opisuju različite izglede ove industrije, dok se jedva dotiču njene praktične primjene: to može dovesti u zabludu manje pažljivog čitatelja.

Popularni znanstveni članci izostavljaju opise kvantnih sustava i daju izjave poput:

Obični bit može biti 1 ili 0, ali qubit može biti 1 i 0 u isto vrijeme.

Ako budete imali puno sreće (u što nisam siguran), reći će vam sljedeće:

Qubit je u superpoziciji između "1" i "0".

Niti jedno od ovih objašnjenja ne čini se uvjerljivim, budući da pokušavamo formulirati kvantno mehanički fenomen koristeći se jezikom razvijenim u vrlo tradicionalnom svijetu. Da bismo jasno objasnili principe kvantnog računalstva, potrebno je koristiti još jedan jezik – matematički. 

U ovom vodiču ću pokriti matematičke alate potrebne za modeliranje i razumijevanje kvantnih računalnih sustava, kao i kako ilustrirati i primijeniti logiku kvantnog računalstva. Štoviše, dat ću primjer kvantnog algoritma i reći vam koja je njegova prednost u odnosu na tradicionalno računalo.

Dat ću sve od sebe da sve ovo objasnim jasnim jezikom, ali se ipak nadam da čitatelji ovog članka imaju osnovno razumijevanje linearne algebre i digitalne logike (linearna algebra je pokrivena здесь, o digitalnoj logici - здесь). 

Prvo, prođimo kroz principe digitalne logike. Temelji se na korištenju električnih krugova za izvođenje izračuna. Kako bi naš opis bio apstraktniji, pojednostavimo stanje električne žice na "1" ili "0", što će odgovarati stanjima "uključeno" ili "isključeno". Raspoređivanjem tranzistora u određenom nizu stvorit ćemo tzv. logičke elemente koji uzimaju jednu ili više vrijednosti ulaznog signala i pretvaraju ih u izlazni signal na temelju određenih pravila Booleove logike.

Demistificiranje principa kvantnog računalstva

Uobičajena logička vrata i njihove tablice stanja

Na temelju lanaca takvih osnovnih elemenata mogu se kreirati složeniji elementi, a na temelju lanaca složenijih elemenata možemo u konačnici, uz veliki stupanj apstrakcije, očekivati ​​da ćemo dobiti analog središnjeg procesora.

Kao što sam ranije spomenuo, potreban nam je način da matematički predstavimo digitalnu logiku. Prvo, uvedimo tradicionalnu matematičku logiku. Koristeći linearnu algebru, klasični bitovi s vrijednostima "1" i "0" mogu se predstaviti kao dva vektora stupca:
Demistificiranje principa kvantnog računalstva
gdje su brojevi s lijeve strane Dirac notacija vektor. Predstavljanjem naših bitova na ovaj način, možemo modelirati logičke operacije na bitovima koristeći vektorske transformacije. Imajte na umu: iako korištenje dva bita u logičkim vratima može izvesti mnoge operacije (AND, NE, XOR, itd.), kada se koristi jedan bit, mogu se izvesti samo četiri operacije: konverzija identiteta, negacija, izračun konstante "0" i izračun konstante “1”. Pretvorbom identiteta bit ostaje nepromijenjen, negacijom se vrijednost bita mijenja u suprotnu (iz “0” u “1” ili iz “1” u “0”), a izračun konstante “1” ili “0” postavlja bit na “1” ili “0” bez obzira na njegovu prethodnu vrijednost.
Demistificiranje principa kvantnog računalstva

Identitet Transformacija identiteta
negacija poricanje
Konstanta-0 Izračun konstante "0"
Konstanta-1 Izračun konstante "1"

Na temelju naše predložene nove reprezentacije bita, vrlo je jednostavno izvoditi operacije na odgovarajućem bitu koristeći vektorsku transformaciju:

Demistificiranje principa kvantnog računalstva

Prije nego krenemo dalje, pogledajmo koncept reverzibilni proračuni, što jednostavno implicira da je za osiguranje reverzibilnosti operacije ili logičkog elementa potrebno odrediti popis vrijednosti ulaznog signala na temelju izlaznih signala i imena korištenih operacija. Dakle, možemo zaključiti da su transformacija identiteta i negacija reverzibilne, ali operacije za izračunavanje konstanti “1” i “0” nisu. Zahvaljujući unitarnost kvantna mehanika, kvantna računala koriste isključivo reverzibilne operacije, pa ćemo se na to usredotočiti. Zatim pretvaramo ireverzibilne elemente u reverzibilne elemente kako bismo ih mogli koristiti kvantnom računalu.

S tenzorski produkt pojedinačni bitovi mogu biti predstavljeni s mnogo bitova:
Demistificiranje principa kvantnog računalstva
Sada kada imamo gotovo sve potrebne matematičke koncepte, prijeđimo na naša prva kvantna logička vrata. Ovo je operater NOTE, ili kontrolirano Ne (NOT), što je od velike važnosti u reverzibilnom i kvantnom računalstvu. Element CNOT primjenjuje se na dva bita i vraća dva bita. Prvi bit je označen kao "kontrolni", a drugi kao "kontrolni". Ako je kontrolni bit postavljen na "1", kontrolni bit mijenja svoju vrijednost; Ako je kontrolni bit postavljen na "0", kontrolni bit se ne mijenja.
Demistificiranje principa kvantnog računalstva
Ovaj operator se može predstaviti kao sljedeći transformacijski vektor:
Demistificiranje principa kvantnog računalstva
Da demonstriram sve što smo dosad obradili, pokazat ću vam kako koristiti CNOT element na više bitova:
Demistificiranje principa kvantnog računalstva
Da sažmemo ono što je već rečeno: u prvom primjeru rastavljamo |10⟩ na dijelove njegovog tenzorskog umnoška i koristimo CNOT matricu da dobijemo novo odgovarajuće stanje umnoška; zatim ga faktoriziramo na |11⟩ prema tablici CNOT vrijednosti danoj ranije.

Dakle, prisjetili smo se svih matematičkih pravila koja će nam pomoći u razumijevanju tradicionalnog računalstva i običnih bitova te konačno možemo prijeći na moderno kvantno računalstvo i qubits.

Ako ste pročitali dovde, onda imam dobre vijesti za vas: kubiti se mogu lako izraziti matematički. Općenito, ako se klasični bit (cbit) može postaviti na |1⟩ ili |0⟩, qubit je jednostavno u superpoziciji i može biti i |0⟩ i |1⟩ prije mjerenja. Nakon mjerenja, kolabira u |0⟩ ili |1⟩. Drugim riječima, qubit se može predstaviti kao linearna kombinacija |0⟩ i |1⟩ prema donjoj formuli:
Demistificiranje principa kvantnog računalstva
gdje a₀ и a₁ predstavljaju amplitude |0⟩ i |1⟩. To se može smatrati "kvantnim vjerojatnostima", koje predstavljaju vjerojatnost kolapsa qubita u jedno od stanja nakon što se izmjeri, jer u kvantnoj mehanici objekt u superpoziciji kolabira u jedno od stanja nakon što je fiksiran. Proširimo ovaj izraz i dobijemo sljedeće:
Demistificiranje principa kvantnog računalstva
Kako bih pojednostavio svoje objašnjenje, ovo je prikaz koji ću koristiti u ovom članku.

Za ovaj qubit, šansa kolapsa na vrijednost a₀ nakon mjerenja jednak je |a₀|², i mogućnost kolapsa na vrijednost a₁ je jednako |a₁|². Na primjer, za sljedeći qubit:
Demistificiranje principa kvantnog računalstva
šansa kolapsa u "1" jednaka je |1/ √2|² ili ½, odnosno 50/50.

Budući da u klasičnom sustavu sve vjerojatnosti moraju biti jednake jedan (za potpunu distribuciju vjerojatnosti), možemo zaključiti da kvadrati apsolutnih vrijednosti amplituda |0⟩ i |1⟩ moraju biti jednaki jedan. Na temelju ovih informacija možemo formulirati sljedeću jednadžbu:
Demistificiranje principa kvantnog računalstva
Ako ste upoznati s trigonometrijom, primijetit ćete da ova jednadžba odgovara Pitagorinom teoremu (a²+b²=c²), odnosno možemo grafički prikazati moguća stanja qubita kao točke na jediničnoj kružnici, naime:
Demistificiranje principa kvantnog računalstva
Logički operatori i elementi primjenjuju se na qubitove na isti način kao iu slučaju s klasičnim bitovima - na temelju matrične transformacije. Svi operatori invertibilne matrice kojih smo se do sada prisjetili, posebno CNOT, mogu se koristiti za rad s kubitima. Takvi matrični operatori omogućuju vam korištenje svake od amplituda qubita bez njegova mjerenja i kolapsiranja. Dopustite mi da vam dam primjer korištenja operatora negacije na qubitu:
Demistificiranje principa kvantnog računalstva
Prije nego što nastavimo, podsjetit ću vas da vrijednosti amplitude a₀ i a₁ su zapravo kompleksni brojevi, tako da se stanje qubita može najtočnije preslikati na trodimenzionalnu jediničnu sferu, također poznatu kao Kugla buha:
Demistificiranje principa kvantnog računalstva
Međutim, kako bismo pojednostavili objašnjenje, ovdje ćemo se ograničiti na stvarne brojeve.

Čini se da je vrijeme za raspravu o nekim logičkim elementima koji imaju smisla isključivo u kontekstu kvantnog računalstva.

Jedan od najvažnijih operatora je "Hadamardov element": uzima bit u stanju "0" ili "1" i stavlja ga u odgovarajuću superpoziciju s 50% šanse da kolabira u "1" ili "0" nakon mjerenja. 
Demistificiranje principa kvantnog računalstva
Primijetite da postoji negativan broj u donjoj desnoj strani Hadamardovog operatora. To je zbog činjenice da rezultat primjene operatora ovisi o vrijednosti ulaznog signala: - |1⟩ ili |0⟩, pa je izračun reverzibilan.

Još jedna važna točka o Hadamardovom elementu je njegova reverzibilnost, što znači da može uzeti qubit u odgovarajućoj superpoziciji i transformirati ga u |0⟩ ili |1⟩.
Demistificiranje principa kvantnog računalstva
Ovo je vrlo važno jer nam daje mogućnost transformacije iz kvantnog stanja bez određivanja stanja qubita – i, sukladno tome, bez njegovog kolapsa. Stoga možemo strukturirati kvantno računalstvo na temelju determinističkog, a ne probabilističkog načela.

Kvantni operatori koji sadrže samo realne brojeve sami su sebi suprotni, tako da rezultat primjene operatora na qubit možemo prikazati kao transformaciju unutar jediničnog kruga u obliku stroja stanja:
Demistificiranje principa kvantnog računalstva
Tako se qubit, čije je stanje prikazano na gornjem dijagramu, nakon primjene Hadamardove operacije transformira u stanje označeno odgovarajućom strelicom. Isto tako, možemo konstruirati još jedan stroj stanja koji će ilustrirati transformaciju qubita koristeći operator negacije kao što je prikazano gore (također poznat kao Paulijev operator negacije ili inverzija bitova), kao što je prikazano u nastavku:
Demistificiranje principa kvantnog računalstva
Za izvođenje složenijih operacija na našem qubitu, možemo ulančati više operatora ili primijeniti elemente više puta. Primjer serijske transformacije na temelju prikazi kvantnih kola je kako slijedi:
Demistificiranje principa kvantnog računalstva
To jest, ako počnemo s bitom |0⟩, primijenimo inverziju bita, a zatim Hadamardovu operaciju, zatim još jednu inverziju bita, i opet Hadamardovu operaciju, nakon koje slijedi konačna inverzija bita, završit ćemo s vektorom danim na desna strana lanca. Postavljanjem različitih automata stanja jedan na drugi, možemo početi od |0⟩ i pratiti obojene strelice koje odgovaraju svakoj od transformacija da bismo razumjeli kako sve to funkcionira.
Demistificiranje principa kvantnog računalstva
Budući da smo došli dovde, vrijeme je da razmotrimo jednu od vrsta kvantnih algoritama, naime - Deutsch-Jozsa algoritam, te pokazati svoju prednost u odnosu na klasično računalo. Vrijedno je napomenuti da je Deutsch-Jozsa algoritam potpuno deterministički, odnosno vraća točan odgovor u 100% slučajeva (za razliku od mnogih drugih kvantnih algoritama temeljenih na probabilističkoj definiciji kubita).

Zamislimo da imate crnu kutiju koja sadrži funkciju/operator na jednom bitu (zapamtite - s jednim bitom se mogu izvesti samo četiri operacije: konverzija identiteta, negacija, evaluacija konstante "0" i evaluacija konstante "1" "). Koja se točno funkcija obavlja u kutiji? Ne znate koji, ali možete proći kroz onoliko varijanti ulaznih vrijednosti koliko želite i procijeniti izlazne rezultate.

Demistificiranje principa kvantnog računalstva
Koliko biste ulaza i izlaza morali proći kroz crnu kutiju da biste otkrili koja se funkcija koristi? Razmislite o ovome na trenutak.

U slučaju klasičnog računala, morat ćete napraviti 2 upita kako biste odredili funkciju koju ćete koristiti. Na primjer, ako ulaz "1" daje izlaz "0", postaje jasno da se koristi ili funkcija izračunavanja konstante "0" ili funkcija negacije, nakon čega ćete morati promijeniti vrijednost ulaznog signala. na "0" i vidjeti što se događa na izlazu.

U slučaju kvantnog računala također će biti potrebna dva upita, jer još uvijek trebate dvije različite izlazne vrijednosti kako biste precizno definirali funkciju koja će se primijeniti na ulaznu vrijednost. Međutim, ako malo preformulirate pitanje, ispada da kvantna računala ipak imaju ozbiljnu prednost: ako želite znati je li funkcija koja se koristi konstantna ili varijabilna, kvantna računala bi imala prednost.

Funkcija koja se koristi u okviru je varijabilna ako različite vrijednosti ulaznog signala daju različite rezultate na izlazu (na primjer, konverzija identiteta i inverzija bitova), a ako se izlazna vrijednost ne mijenja bez obzira na ulaznu vrijednost, tada funkcija je konstantna (na primjer, izračunavanje konstante "1" ili izračunavanje konstante "0").

Pomoću kvantnog algoritma možete odrediti je li funkcija u crnoj kutiji konstantna ili varijabilna na temelju samo jednog upita. Ali prije nego što pogledamo kako to učiniti u detalje, moramo pronaći način strukturiranja svake od ovih funkcija na kvantnom računalu. Budući da svaki kvantni operator mora biti invertibilan, odmah se suočavamo s problemom: funkcije za izračunavanje konstanti "1" i "0" nisu.

Uobičajeno rješenje koje se koristi u kvantnom računalstvu je dodavanje dodatnog izlaznog qubita koji vraća bilo koju ulaznu vrijednost koju funkcija primi. 

Prije: Nakon:
Demistificiranje principa kvantnog računalstva Demistificiranje principa kvantnog računalstva

Na taj način možemo odrediti ulazne vrijednosti isključivo na temelju izlazne vrijednosti, a funkcija postaje invertibilna. Struktura kvantnih sklopova stvara potrebu za dodatnim ulaznim bitom. U svrhu razvoja odgovarajućih operatora, pretpostavit ćemo da je dodatni ulazni qubit postavljen na |0⟩.

Koristeći isti prikaz kvantnog sklopa koji smo koristili ranije, pogledajmo kako se svaki od četiri elementa (transformacija identiteta, negacija, procjena konstante "0" i procjena konstante "1") može implementirati pomoću kvantnih operatora. 

Na primjer, ovako možete implementirati funkciju za izračunavanje konstante “0”:

Izračun konstante "0":
Demistificiranje principa kvantnog računalstva
Ovdje nam operateri uopće ne trebaju. Prvi ulazni qubit (za koji smo pretpostavili da je |0⟩) vraća se s istom vrijednošću, a druga ulazna vrijednost se vraća sama - kao i obično.

S funkcijom za izračunavanje konstante “1” situacija je malo drugačija:

Izračun konstante "1":
Demistificiranje principa kvantnog računalstva
Budući da smo pretpostavili da je prvi ulazni qubit uvijek postavljen na |0⟩, rezultat primjene operatora inverzije bita je da uvijek proizvodi jedan na izlazu. I kao i obično, drugi kubit daje vlastitu vrijednost na izlazu.

Prilikom preslikavanja operatora transformacije identiteta, zadatak postaje kompliciraniji. Evo kako to učiniti:

Identična transformacija:
Demistificiranje principa kvantnog računalstva
Simbol koji se ovdje koristi označava CNOT element: gornja linija označava kontrolni bit, a donja linija označava kontrolni bit. Dopustite mi da vas podsjetim da se pri korištenju operatora CNOT vrijednost kontrolnog bita mijenja ako je kontrolni bit jednak |1⟩, ali ostaje nepromijenjen ako je kontrolni bit jednak |0⟩. Budući da smo pretpostavili da je vrijednost gornjeg retka uvijek jednaka |0⟩, njegova se vrijednost uvijek dodjeljuje donjem retku.

Na sličan način nastavljamo s operatorom negacije:

Negacija:
Demistificiranje principa kvantnog računalstva
Jednostavno invertiramo bit na kraju izlazne linije.

Sada kada smo riješili to preliminarno razumijevanje, pogledajmo specifične prednosti kvantnog računala u odnosu na tradicionalno računalo kada je u pitanju određivanje konstantnosti ili varijabilnosti funkcije skrivene u crnoj kutiji pomoću samo jednog upita.

Da biste riješili ovaj problem korištenjem kvantnog računalstva u jednom zahtjevu, potrebno je staviti ulazne kubite u superpoziciju prije nego što ih proslijedite funkciji, kao što je prikazano u nastavku:
Demistificiranje principa kvantnog računalstva
Hadamardov element ponovno se primjenjuje na rezultat funkcije kako bi se qubiti izvadili iz superpozicije i algoritam učinio determinističkim. Pokrećemo sustav u stanju |00⟩ i, iz razloga koje ću uskoro objasniti, dobivamo rezultat |11⟩ ako je primijenjena funkcija konstantna. Ako je funkcija unutar crne kutije varijabilna, tada nakon mjerenja sustav vraća rezultat |01⟩.

Da bismo razumjeli ostatak članka, pogledajmo ilustraciju koju sam ranije pokazao:
Demistificiranje principa kvantnog računalstva
Korištenjem operatora inverzije bitova i zatim primjenom Hadamardovog elementa na obje ulazne vrijednosti jednake |0⟩, osiguravamo da su prevedene u istu superpoziciju |0⟩ i |1⟩, kako slijedi:
Demistificiranje principa kvantnog računalstva
Koristeći primjer prosljeđivanja ove vrijednosti funkciji crne kutije, lako je pokazati da obje funkcije konstantne vrijednosti izlaze |11⟩.

Izračun konstante "0":
Demistificiranje principa kvantnog računalstva
Slično, vidimo da funkcija za izračunavanje konstante “1” također proizvodi |11⟩ kao izlaz, to jest:

Izračun konstante "1":
Demistificiranje principa kvantnog računalstva
Imajte na umu da će izlaz biti |1⟩, budući da je -1² = 1.

Po istom principu možemo dokazati da ćemo pri korištenju obje varijabilne funkcije na izlazu uvijek dobiti |01⟩ (pod uvjetom da koristimo istu metodu), iako je sve malo kompliciranije.

Identična transformacija:
Demistificiranje principa kvantnog računalstva
Budući da je CNOT dvokubitni operator, ne može se predstaviti kao jednostavan stroj stanja, pa je stoga potrebno definirati dva izlazna signala temeljena na tenzorskom produktu obaju ulaznih kubita i množenju s CNOT matricom kao što je ranije opisano:
Demistificiranje principa kvantnog računalstva
Ovom metodom također možemo potvrditi da je izlazna vrijednost |01⟩ primljena ako je funkcija negacije skrivena u crnoj kutiji:

Negacija:
Demistificiranje principa kvantnog računalstva
Dakle, upravo smo pokazali situaciju u kojoj je kvantno računalo očito učinkovitije od konvencionalnog računala.

Što je sljedeće?

Predlažem da ovdje završimo. Već smo napravili sjajan posao. Ako ste razumjeli sve što sam pokrio, mislim da sada dobro razumijete osnove kvantnog računalstva i kvantne logike, te zašto kvantni algoritmi mogu biti učinkovitiji od tradicionalnog računalstva u određenim situacijama.

Moj se opis teško može nazvati potpunim vodičem za kvantno računalstvo i algoritme - radije, to je kratki uvod u matematiku i notaciju, osmišljen kako bi odagnao ideje čitatelja o temi nametnute popularnim znanstvenim izvorima (ozbiljno, mnogi stvarno ne mogu razumjeti Situacija!). Nisam imao vremena dotaknuti se mnogih važnih tema, kao na pr kvantna isprepletenost kubita, složenost vrijednosti amplitude |0⟩ i |1⟩ i funkcioniranje različitih kvantnih logičkih elemenata tijekom transformacije pomoću Blochove sfere.

Ako želite sistematizirati i strukturirati svoje znanje o kvantnim računalima, hitno Preporučam da pročitate "Uvod u kvantne algoritme" Emma Strubel: unatoč obilju matematičkih formula, ova knjiga mnogo detaljnije raspravlja o kvantnim algoritmima.

Izvor: www.habr.com

Dodajte komentar