Kvanttilaskennan periaatteiden selvittäminen

Kvanttilaskennan periaatteiden selvittäminen
"Luulen, että voin turvallisesti sanoa, että kukaan ei ymmärrä kvanttimekaniikkaa." - Richard Feynman

Kvanttilaskennan aihe on aina kiehtonut tekniikan kirjoittajia ja toimittajia. Sen laskennallinen potentiaali ja monimutkaisuus antoivat sille tietyn mystisen auran. Liian usein ominaisuusartikkelit ja infografiikka kuvaavat yksityiskohtaisesti tämän alan erilaisia ​​tulevaisuudennäkymiä, mutta eivät juurikaan kosketa sen käytännön sovellusta: tämä voi johtaa vähemmän tarkkaavaisen lukijan harhaan.

Populaaritieteelliset artikkelit jättävät pois kvanttijärjestelmien kuvaukset ja esittävät väitteitä, kuten:

Tavallinen bitti voi olla 1 tai 0, mutta kubitti voi olla 1 ja 0 samanaikaisesti.

Jos olet erittäin onnekas (josta en ole varma), sinulle kerrotaan seuraavaa:

Kubitti on superpositiossa "1" ja "0" välillä.

Mikään näistä selityksistä ei vaikuta uskottavalta, koska yritämme muotoilla kvanttimekaanista ilmiötä käyttämällä hyvin perinteisessä maailmassa kehitettyä kieltä. Kvanttilaskennan periaatteiden selkeää selittämistä varten on käytettävä toista kieltä - matemaattista. 

Tässä opetusohjelmassa käsittelen matemaattisia työkaluja, joita tarvitaan kvanttilaskentajärjestelmien mallintamiseen ja ymmärtämiseen, sekä kuinka havainnollistaa ja soveltaa kvanttilaskennan logiikkaa. Lisäksi annan esimerkin kvanttialgoritmista ja kerron, mikä sen etu on perinteiseen tietokoneeseen verrattuna.

Teen parhaani selittääkseni kaiken tämän selkeällä kielellä, mutta toivon silti, että tämän artikkelin lukijoilla on perusymmärrys lineaarisesta algebrasta ja digitaalisesta logiikasta (lineaarialgebra on käsitelty täällä, digitaalisesta logiikasta - täällä). 

Käydään ensin läpi digitaalisen logiikan periaatteet. Se perustuu sähköpiirien käyttöön laskelmien suorittamiseen. Tehdäksemme kuvauksestamme abstraktimman, yksinkertaistetaan sähköjohdon tila "1" tai "0", mikä vastaa tiloja "on" tai "off". Järjestämällä transistorit tiettyyn järjestykseen, luomme niin sanottuja logiikkaelementtejä, jotka ottavat yhden tai useamman tulosignaalin arvon ja muuntavat ne lähtösignaaliksi tiettyjen Boolen logiikan sääntöjen perusteella.

Kvanttilaskennan periaatteiden selvittäminen

Yleiset logiikkaportit ja niiden tilataulukot

Tällaisten peruselementtien ketjujen perusteella voidaan luoda monimutkaisempia elementtejä, ja monimutkaisempien elementtien ketjujen perusteella voimme lopulta suurella abstraktioasteella odottaa saavamme keskusprosessorin analogin.

Kuten aiemmin mainitsin, tarvitsemme tavan esittää digitaalista logiikkaa matemaattisesti. Ensin esitellään matemaattinen perinteinen logiikka. Lineaarista algebraa käyttämällä klassiset bitit arvoilla "1" ja "0" voidaan esittää kahtena sarakevektorina:
Kvanttilaskennan periaatteiden selvittäminen
missä vasemmalla olevat numerot ovat Dirac-merkintä vektori. Esittämällä bittejämme tällä tavalla voimme mallintaa biteille loogisia operaatioita käyttämällä vektorimuunnoksia. Huomaa: vaikka käyttämällä kahta bittiä logiikkaporteissa voidaan suorittaa monia operaatioita (AND, NOT, XOR jne.), yhtä bittiä käytettäessä voidaan suorittaa vain neljä operaatiota: identiteetin muuntaminen, negaatio, vakion "0" laskenta ja vakion "1" laskeminen. Identiteettimuunnoksen yhteydessä bitti pysyy muuttumattomana, negaatiolla bitin arvo muuttuu päinvastaiseksi ("0":sta "1" tai "1":stä "0") ja vakion "1" laskenta. tai "0" asettaa bitin arvoon "1" tai "0" riippumatta sen edellisestä arvosta.
Kvanttilaskennan periaatteiden selvittäminen

Identiteetti Identiteetin muunnos
negaatio kieltäminen
Vakio-0 Vakion "0" laskenta
Vakio-1 Vakion "1" laskenta

Ehdottamamme uuden bitin esityksen perusteella on melko helppoa suorittaa operaatioita vastaavalle bitille vektorimuunnoksen avulla:

Kvanttilaskennan periaatteiden selvittäminen

Ennen kuin siirrymme pidemmälle, katsotaanpa konseptia käännettävät laskelmat, mikä tarkoittaa yksinkertaisesti sitä, että toiminnan tai logiikkaelementin palautuvuuden varmistamiseksi on tarpeen määrittää luettelo tulosignaalin arvoista lähtösignaalien ja käytettyjen toimintojen nimien perusteella. Siten voimme päätellä, että identiteettimuunnos ja negaatio ovat palautuvia, mutta vakioiden “1” ja “0” laskentatoimet eivät. Kiitokset yhtenäisyys kvanttimekaniikka, kvanttitietokoneet käyttävät yksinomaan palautuvia operaatioita, joten siihen keskitymme. Seuraavaksi muunnamme irreversiibelit elementit palautuviksi elementeiksi, jotta kvanttitietokone voi käyttää niitä.

Kanssa tensorituote yksittäiset bitit voidaan esittää useilla biteillä:
Kvanttilaskennan periaatteiden selvittäminen
Nyt kun meillä on melkein kaikki tarvittavat matemaattiset käsitteet, siirrytään ensimmäiseen kvanttilogiikkaporttiin. Tämä on operaattori EI, tai ohjattu Not (NOT), jolla on suuri merkitys palautuvassa ja kvanttilaskennassa. CNOT-elementti koskee kahta bittiä ja palauttaa kaksi bittiä. Ensimmäinen bitti on nimetty "ohjausbitiksi" ja toinen "ohjausbitiksi". Jos ohjausbitti on asetettu arvoon "1", ohjausbitti muuttaa arvoaan; Jos ohjausbitti on asetettu arvoon "0", ohjausbittiä ei muuteta.
Kvanttilaskennan periaatteiden selvittäminen
Tämä operaattori voidaan esittää seuraavana muunnosvektorina:
Kvanttilaskennan periaatteiden selvittäminen
Havainnollistaakseni kaiken, mitä olemme tähän mennessä käsitelleet, näytän sinulle, kuinka CNOT-elementtiä käytetään useissa biteissä:
Kvanttilaskennan periaatteiden selvittäminen
Yhteenvetona jo sanotusta: ensimmäisessä esimerkissä hajotamme |10⟩ sen tensoritulon osiin ja käytämme CNOT-matriisia saadaksemme tuotteen uuden vastaavan tilan; kerromme sen sitten arvoon |11⟩ aiemmin annetun CNOT-arvotaulukon mukaisesti.

Olemme siis muistaneet kaikki matemaattiset säännöt, jotka auttavat meitä ymmärtämään perinteistä laskentaa ja tavallisia bittejä, ja voimme vihdoin siirtyä moderniin kvanttilaskentaan ja kubitteihin.

Jos olet lukenut tähän asti, minulla on sinulle hyviä uutisia: kubitit voidaan ilmaista helposti matemaattisesti. Yleensä, jos klassinen bitti (cbit) voidaan asettaa arvoon |1⟩ tai |0⟩, qubit on yksinkertaisesti superpositiossa ja voi olla sekä |0⟩ että |1⟩ ennen mittausta. Mittauksen jälkeen se romahtaa arvoon |0⟩ tai |1⟩. Toisin sanoen kubitti voidaan esittää lineaarisena yhdistelmänä |0⟩ ja |1⟩ alla olevan kaavan mukaisesti:
Kvanttilaskennan periaatteiden selvittäminen
missä a₀ и aXNUMX edustavat vastaavasti amplitudeja |0⟩ ja |1⟩. Näitä voidaan pitää "kvanttitodennäköisyyksinä", jotka edustavat todennäköisyyttä, että kubitti romahtaa johonkin tilaan sen mittauksen jälkeen, koska kvanttimekaniikassa superpositiossa oleva kohde romahtaa johonkin tiloista kiinnityksen jälkeen. Laajennataan tätä lauseketta ja saadaan seuraava:
Kvanttilaskennan periaatteiden selvittäminen
Selitykseni yksinkertaistamiseksi käytän tässä artikkelissa tätä esitystapaa.

Tällä kubitilla mahdollisuus romahtaa arvoon a₀ mittauksen jälkeen on yhtä suuri kuin |a₀|² ja romahtamisen mahdollisuus arvoon a₁ on yhtä suuri kuin |a₁|². Esimerkiksi seuraavalle qubitille:
Kvanttilaskennan periaatteiden selvittäminen
mahdollisuus romahtaa "1":ksi on yhtä suuri kuin |1/ √2|² tai ½ eli 50/50.

Koska klassisessa järjestelmässä kaikkien todennäköisyyksien on laskettava yhteen (täydellinen todennäköisyysjakauma), voidaan päätellä, että amplitudien |0⟩ ja |1⟩ absoluuttisten arvojen neliöiden on laskettava yhteen. Näiden tietojen perusteella voimme muodostaa seuraavan yhtälön:
Kvanttilaskennan periaatteiden selvittäminen
Jos olet perehtynyt trigonometriaan, huomaat, että tämä yhtälö vastaa Pythagoraan lausetta (a²+b²=c²), eli voimme esittää graafisesti kubitin mahdolliset tilat yksikköympyrän pisteinä, nimittäin:
Kvanttilaskennan periaatteiden selvittäminen
Loogisia operaattoreita ja elementtejä sovelletaan kubitteihin samalla tavalla kuin klassisten bittien tapauksessa - matriisimuunnoksen perusteella. Kaikkia käännettävät matriisioperaattorit, jotka olemme tähän mennessä muistaneet, erityisesti CNOT, voidaan käyttää kubittien kanssa työskentelemiseen. Tällaiset matriisioperaattorit antavat sinun käyttää kubitin jokaista amplitudia mittaamatta ja romuttamatta sitä. Annan sinulle esimerkin negaatiooperaattorin käyttämisestä qubitissä:
Kvanttilaskennan periaatteiden selvittäminen
Ennen kuin jatkamme, haluan muistuttaa, että amplitudiarvot a₀ ja a₁ ovat itse asiassa kompleksiluvut, joten kubitin tila voidaan kuvata tarkimmin kolmiulotteiseen yksikköpalloon, joka tunnetaan myös nimellä Kirppupallo:
Kvanttilaskennan periaatteiden selvittäminen
Selityksen yksinkertaistamiseksi rajoitamme kuitenkin tässä reaalilukuihin.

Näyttää siltä, ​​että on aika keskustella joistakin logiikkaelementeistä, jotka ovat järkeviä yksinomaan kvanttilaskennan yhteydessä.

Yksi tärkeimmistä operaattoreista on "Hadamard-elementti": se vie vähän "0"- tai "1"-tilassa ja asettaa sen sopivaan superpositioon 50%:n todennäköisyydellä romahtaa "1"- tai "0"-tilaan. mittauksen jälkeen. 
Kvanttilaskennan periaatteiden selvittäminen
Huomaa, että Hadamard-operaattorin oikeassa alakulmassa on negatiivinen luku. Tämä johtuu siitä, että operaattorin soveltamisen tulos riippuu tulosignaalin arvosta: - |1⟩ tai |0⟩, ja siksi laskenta on reversiibeli.

Toinen tärkeä seikka Hadamard-elementissä on sen palautuvuus, mikä tarkoittaa, että se voi ottaa kubitin sopivassa superpositiossa ja muuttaa sen muotoon |0⟩ tai |1⟩.
Kvanttilaskennan periaatteiden selvittäminen
Tämä on erittäin tärkeää, koska se antaa meille mahdollisuuden muuttua kvanttitilasta määrittämättä kubitin tilaa - ja vastaavasti romuttamatta sitä. Siten voimme strukturoida kvanttilaskentaa deterministisen eikä todennäköisyyden periaatteen perusteella.

Kvanttioperaattorit, jotka sisältävät vain reaalilukuja, ovat omat vastakohtansa, joten voimme esittää operaattorin soveltamisen tuloksen kubitille muunnoksena yksikköympyrän sisällä tilakoneen muodossa:
Kvanttilaskennan periaatteiden selvittäminen
Siten kubitti, jonka tila on esitetty yllä olevassa kaaviossa, muunnetaan Hadamard-operaation jälkeen vastaavan nuolen osoittamaan tilaan. Samoin voimme rakentaa toisen tilakoneen, joka havainnollistaa kubitin muunnoksen negaatiooperaattorilla yllä esitetyllä tavalla (tunnetaan myös nimellä Paulin negaatiooperaattori tai bitin inversio), kuten alla on esitetty:
Kvanttilaskennan periaatteiden selvittäminen
Suorittaaksemme monimutkaisempia operaatioita qubitillemme voimme ketjuttaa useita operaattoreita tai käyttää elementtejä useita kertoja. Esimerkki sarjamuunnoksesta, joka perustuu kvanttipiirin esitykset on seuraava:
Kvanttilaskennan periaatteiden selvittäminen
Eli jos aloitamme bitillä |0⟩, käytämme bitin inversiota ja sitten Hadamard-operaatiota, sitten toista bitin inversiota ja jälleen Hadamard-operaatiota, jota seuraa viimeinen bitin inversio, päädymme vektoriin, jonka on antanut ketjun oikealla puolella. Kerrostelemalla eri tilakoneita päällekkäin voimme aloittaa |0⟩:sta ja jäljittää kutakin muunnosa vastaavat värilliset nuolet ymmärtääksemme, miten se kaikki toimii.
Kvanttilaskennan periaatteiden selvittäminen
Koska olemme päässeet näin pitkälle, on aika harkita yhtä kvanttialgoritmien tyyppejä, nimittäin - Deutsch-Jozsa-algoritmija näyttää sen edut klassiseen tietokoneeseen verrattuna. On syytä huomata, että Deutsch-Jozsa-algoritmi on täysin deterministinen, eli se palauttaa oikean vastauksen 100% ajasta (toisin kuin monet muut kvanttialgoritmit, jotka perustuvat kubittien todennäköisyyteen).

Oletetaan, että sinulla on musta laatikko, joka sisältää funktion/operaattorin yhdellä bitillä (muista - yhdellä bitillä voidaan suorittaa vain neljä toimintoa: identiteetin muuntaminen, negaatio, vakion "0" arviointi ja vakion "1" arviointi "). Mitä toiminto laatikossa tarkalleen ottaen suoritetaan? Et tiedä mikä niistä, mutta voit käydä läpi niin monta syöttöarvovaihtoehtoa kuin haluat ja arvioida tulosten tuloksia.

Kvanttilaskennan periaatteiden selvittäminen
Kuinka monta tuloa ja lähtöä sinun pitäisi ajaa mustan laatikon läpi saadaksesi selville, mitä toimintoa käytetään? Mieti tätä hetki.

Jos kyseessä on perinteinen tietokone, sinun on tehtävä kaksi kyselyä käytettävän toiminnon määrittämiseksi. Esimerkiksi jos tulo "2" tuottaa "1"-lähdön, käy selväksi, että käytetään joko vakion "0" laskentafunktiota tai negaatiofunktiota, jonka jälkeen joudut muuttamaan tulosignaalin arvoa. kohtaan "0" ja katso mitä uloskäynnissä tapahtuu.

Kvanttitietokoneen tapauksessa tarvitaan myös kaksi kyselyä, koska tarvitset silti kaksi eri lähtöarvoa määrittääksesi tarkasti syöttöarvoon käytettävän funktion. Jos kuitenkin muotoilee kysymystä hieman uudelleen, käy ilmi, että kvanttitietokoneilla on edelleen vakava etu: jos halutaan tietää, onko käytettävä funktio vakio vai muuttuva, kvanttitietokoneilla olisi etu.

Laatikossa käytetty toiminto on muuttuva, jos eri tulosignaalin arvot tuottavat erilaisia ​​tuloksia lähdössä (esim. identiteetin muunnos ja bitin inversio), ja jos lähtöarvo ei muutu tuloarvosta riippumatta, funktio on vakio (esimerkiksi laskemalla vakio "1" tai laskemalla vakio "0").

Kvanttialgoritmin avulla voit määrittää, onko mustassa laatikossa oleva funktio vakio vai muuttuva vain yhden kyselyn perusteella. Mutta ennen kuin tarkastelemme, kuinka tämä tehdään yksityiskohtaisesti, meidän on löydettävä tapa jäsentää jokainen näistä toiminnoista kvanttitietokoneella. Koska kaikkien kvanttioperaattoreiden on oltava käännettäviä, kohtaamme välittömästi ongelman: vakioiden "1" ja "0" laskentafunktiot eivät ole.

Kvanttilaskennassa käytetty yleinen ratkaisu on lisätä ylimääräinen lähtökubitti, joka palauttaa funktion vastaanottaman tuloarvon. 

To: jälkeen:
Kvanttilaskennan periaatteiden selvittäminen Kvanttilaskennan periaatteiden selvittäminen

Tällä tavalla voimme määrittää tuloarvot pelkästään lähtöarvon perusteella, ja funktio muuttuu käännettäväksi. Kvanttipiirien rakenne luo tarpeen lisätulobitille. Vastaavien operaattoreiden kehittämisen vuoksi oletetaan, että lisätulon qubit on asetettu arvoon |0⟩.

Käyttämällä samaa kvanttipiiriesitystä, jota käytimme aiemmin, katsotaanpa, kuinka kukin neljästä elementistä (identiteettimuunnos, negaatio, vakion "0" arviointi ja vakion "1" arviointi) voidaan toteuttaa käyttämällä kvanttioperaattoreita. 

Esimerkiksi näin voit toteuttaa funktion vakion "0" laskemiseksi:

Vakion "0" laskenta:
Kvanttilaskennan periaatteiden selvittäminen
Täällä emme tarvitse lainkaan operaattoreita. Ensimmäinen syöte qubit (jonka oletimme olevan |0⟩) palauttaa samalla arvolla ja toinen tuloarvo palauttaa itsensä - kuten tavallisesti.

Vakion “1” laskentatoiminnolla tilanne on hieman erilainen:

Vakion "1" laskenta:
Kvanttilaskennan periaatteiden selvittäminen
Koska olemme olettaneet, että ensimmäinen tulo qubit on aina asetettu arvoon |0⟩, tuloksena bitin inversiooperaattorin soveltaminen on, että se tuottaa aina ykkösen lähtöön. Ja kuten tavallista, toinen qubit antaa oman arvonsa lähdössä.

Kun kartoitetaan identiteettimuunnosoperaattoria, tehtävä alkaa muuttua monimutkaisemmaksi. Voit tehdä sen seuraavasti:

Identtinen muunnos:
Kvanttilaskennan periaatteiden selvittäminen
Tässä käytetty symboli tarkoittaa CNOT-elementtiä: ylärivi tarkoittaa ohjausbittiä ja alin rivi ohjausbittiä. Muistutan, että CNOT-operaattoria käytettäessä ohjausbitin arvo muuttuu, jos ohjausbitti on yhtä suuri kuin |1⟩, mutta pysyy muuttumattomana, jos ohjausbitti on yhtä suuri kuin |0⟩. Koska oletimme, että ylärivin arvo on aina |0⟩, sen arvo määrätään aina alimmalle riville.

Toimimme samalla tavalla negatiivisen operaattorin kanssa:

negaatio:
Kvanttilaskennan periaatteiden selvittäminen
Kääntelemme yksinkertaisesti ulostulorivin lopussa olevan bitin.

Nyt kun tämä alustava ymmärrys on poissa tieltä, tarkastellaan kvanttitietokoneen erityisiä etuja perinteiseen tietokoneeseen verrattuna, kun on kyse mustaan ​​laatikkoon piilotetun funktion pysyvyyden tai vaihtelevuuden määrittämisestä yhdellä kyselyllä.

Tämän ongelman ratkaisemiseksi käyttämällä kvanttilaskentaa yhdessä pyynnössä on välttämätöntä asettaa syötetyt kubitit superpositioon ennen niiden välittämistä funktiolle, kuten alla on esitetty:
Kvanttilaskennan periaatteiden selvittäminen
Hadamard-elementtiä sovelletaan uudelleen funktion tulokseen kubittien katkaisemiseksi superpositiosta ja algoritmin tekemiseksi deterministiseksi. Käynnistämme järjestelmän tilassa |00⟩ ja syistä, jotka selitän lyhyesti, saamme tuloksen |11⟩, jos käytetty funktio on vakio. Jos mustan laatikon sisällä oleva funktio on muuttuva, niin mittauksen jälkeen järjestelmä palauttaa tuloksen |01⟩.

Ymmärtääksesi artikkelin muun osan, katsotaanpa aiemmin näyttämääni kuvaa:
Kvanttilaskennan periaatteiden selvittäminen
Käyttämällä bitin inversiooperaattoria ja soveltamalla sitten Hadamard-elementtiä molempiin |0⟩:n tuloarvoihin varmistamme, että ne muunnetaan samaksi superpositioksi |0⟩ ja |1⟩ seuraavasti:
Kvanttilaskennan periaatteiden selvittäminen
Käyttämällä esimerkkiä tämän arvon välittämisestä musta laatikko -funktiolle on helppo osoittaa, että molemmat vakioarvofunktiot tuottavat |11⟩.

Vakion "0" laskenta:
Kvanttilaskennan periaatteiden selvittäminen
Samoin näemme, että vakion “1” laskentafunktio tuottaa myös |11⟩ ulostulona, ​​eli:

Vakion "1" laskenta:
Kvanttilaskennan periaatteiden selvittäminen
Huomaa, että lähtö on |1⟩, koska -1² = 1.

Samalla periaatteella voimme todistaa, että molempia muuttujafunktioita käytettäessä saamme aina |01⟩ lähdössä (jos käytämme samaa menetelmää), vaikka kaikki onkin hieman monimutkaisempaa.

Identtinen muunnos:
Kvanttilaskennan periaatteiden selvittäminen
Koska CNOT on kahden qubitin operaattori, sitä ei voida esittää yksinkertaisena tilakoneena, ja siksi on tarpeen määrittää kaksi lähtösignaalia, jotka perustuvat molempien tulokubittien tensorituloon ja kertomiseen CNOT-matriisilla edellä kuvatulla tavalla:
Kvanttilaskennan periaatteiden selvittäminen
Tällä menetelmällä voimme myös varmistaa, että lähtöarvo |01⟩ vastaanotetaan, jos negatiivinen funktio on piilotettu mustaan ​​laatikkoon:

negaatio:
Kvanttilaskennan periaatteiden selvittäminen
Olemme siis juuri osoittaneet tilanteen, jossa kvanttitietokone on selvästi tehokkaampi kuin perinteinen tietokone.

Mitä seuraavaksi?

Ehdotan, että lopetamme tähän. Teimme jo hienoa työtä. Jos olet ymmärtänyt kaiken, mitä olen käsitellyt, uskon, että sinulla on nyt hyvä käsitys kvanttilaskennan ja kvanttilogiikan perusteista ja siitä, miksi kvanttialgoritmit voivat olla tehokkaampia kuin perinteinen laskenta tietyissä tilanteissa.

Kuvaustani ei voi tuskin kutsua täysimittaiseksi kvanttilaskennan ja -algoritmien oppaaksi - pikemminkin se on lyhyt johdatus matematiikkaan ja merkintätapaan, joka on suunniteltu hälventämään lukijoiden ajatuksia aiheesta populaaritieteellisten lähteiden pakosta (vakavasti, monet eivät todellakaan ymmärrä tilanne!). Minulla ei ollut aikaa käsitellä monia tärkeitä aiheita, kuten kubittien kvanttisekoittuminen, amplitudiarvojen|0⟩ ja |1⟩ monimutkaisuus ja erilaisten kvanttilogiikan elementtien toiminta Bloch-pallon muunnoksen aikana.

Jos haluat systematisoida ja jäsentää tietoasi kvanttitietokoneista, voimakkaasti Suosittelen lukemaan "Johdatus kvanttialgoritmeihin" Emma Strubel: Matemaattisten kaavojen runsaudesta huolimatta tässä kirjassa käsitellään kvanttialgoritmeja paljon yksityiskohtaisemmin.

Lähde: will.com

Lisää kommentti