Kvanttitietokoneet ja kvanttilaskennan perusteet

Matti Heikkinen ja Ilkka Tittonen

Teknolgiakasvatusta Otaniemen lukiossa

Tausta

Kvanttifysiikka on osoittautunut hyvin menestykselliseksi teoriakokonaisuudeksi kuvaamaan  ja ennustamaan mikrotason (atomitason) fysikaalisia ilmiöitä. Kvanttitietokoneet ovat kvanttifysiikan teoriaan perustuvia sovelluksia. Viime vuosina kvanttitietokoneiden tutkimus- ja kehitystyö sekä kvanttilaskenta eli kvantti-ilmiöihin perustuvien tietokoneiden hyödyntäminen laskennassa ovat kehittyneet voimakkaasti yliopistojen sekä suurten teknologiayhtiöiden kuten IBM, Microsoft ja Google tutkimustyön seurauksena.

Nykyisin verkossa (pilvessä) toisiinsa yhdistettyjen tietokoneiden suurta laskentatehoa höydynnetään yhteiskunnan kaikilla osa-alueilla. Näiden ns. klassisten tietokoneiden muistissa kaikki digitaalinen informaatio esitetään bittien avulla, bitin tila voi olla joko  0 tai 1. Esimerkiksi 10-järjestelmän luku 11 saa binäärijärjestelmässä esitysmuodon 1011 , koska 

    \[ 11_{10}=8+2+1=1\cdot2^3+0\cdot2^2+1\cdot2^1+1\cdot2^0=1011_2 \]

Klassisten tietokoneiden digitaalisen informaation käsittely eli laskenta suoritetaan tietokoneen sisällä loogisten porttien avulla, jotka on käytännössä toteutettu erilaisilla transistorikytkennöillä.  Nämä muuttavat syötteenä saamansa bitin tai bittien tilaa porttien ulostulolle määritetyn toimintalogiikan mukaisesti. 

Kvanttikoneessa informaatiota käsitellään mahdollisimman hyvin ympäristöstä eristettyjen kubittien ja kvanttiporttien yhdistelmänä. Fyysisesti kubitit voivat olla esimerkiksi suprajohtavassa tilassa olevia virtasilmukoita, ionisoituneita atomeja tai elektroneja.  Kvanttitilat ovat hyvin “hauraita”, kvanttimekaanisen tilan aikakehitys häiriytyy äärimmäisen helposti, siksi systeemit joudutaan eristämään ulkoisista magneettikentistä ja jäähdytetään lähelle absoluuttista nollapistettä atomien lämpöliikkeen  minimoimiseksi. Tästä syystä kvanttikoneita ei voi kuvitella edes tulevaisuudessa olevan mahdollista rakentaa henkilökohtaisiksi koneiksi, vaan niitä käytetään kalliiden jäähdytyslaitteiden yhteydessä ja ennen kaikkea internetin kautta. Toisena suurena erona on, että jos kvanttitilan tila mitataan, saadaan tilastollisia vastauksia, samalla kvanttitila tuhotaan, ts. se ei enää jatka omaa elämäänsä “kvanttimaailmassa”, vaan tilan kannalta kvanttikoherenssi loppuu.  Kvanttikone voidaan kuitenkin alustaa uudelleen suorittamaan samaa identtistä  “koodia”. Suorittamalla riittävä määrä mittauksia aivan samalla systeemillä, saadaan selville todennäköisimmät lopputilat, joihin kubitit asettautuvat kvanttiporttien vaikutuksesta. Nämä useimmiten esiintyvät tilat ovat kvanttikoneen tulokset. Jos häiriötekijöitä ei onnistuta poistamaan, on lopputuloksissa niin paljon kohinaa, ettei oikeita tuloksia voi enää helposti tunnistaa laskentadatasta. 

Kvanttitietokoneet eivät ole syrjäyttämässä klassisia tietokoneita yhteiskunnassamme, mutta kvanttitietokoneiden hyvin erilainen toimintaperiaate mahdollistaa kvanttikoneiden hyödyntämisen sellaisten ongelmien ratkaisemisessa, joihin nykyisten supertietokoneiden laskentateho ei riitä edes parhaimmilla rinnakkaislaskenta optimoinneilla. 

Kvanttitietokoneiden muistissa informaatio on esitetty kubittien avulla. Yhden kubitin tila on samanaikaisesti molempien tilojen 0 ja 1 yhdistelmä eli yhtälön (1) superpositio.  Yhtälö (1) näyttää periaatteessa helpolta, sillä tila on vain painotettu summa tiloista 0 ja 1. Kertoimet a ja b liittyvät kummankin tilan esiintymistodennäköisyyksiin.  Kvanttilaskenta perustuu paljolti siihen, että yhtälön (1) esittämä tilanne on oikeasti fysikaalisesti olemassa ja realisoitavissa jopa monellakin tavalla eri fysikaalisella systeemillä.

    \[ \mid\Psi>\ =\ a\mid 1>\ +b\mid 0> \]

Kubitin lopullinen tila määräytyy vasta kun kvanttitietokoneessa mitataan kubitin sisältämä informaatio ja tallennetaan se klassisen tietokoneen muistiin. Toinen kvanttiteoriaan perustuva ei-klassinen piirre on kahden (tai usemman) kubitin lomittuminen (quantum entanglement):  Kun kvanttisysteemin tila kuvataan kahden  lomittuneen kubitin avulla, niin ensimmäisen kubitin tilan määritys mittaamalla aiheuttaa samalla toisen kubitin tilan määräytymisen. Mittauksessa kahden kubitin kvanttitilan avulla kuvattu systeemin tila on romahtanut kaikkien mahdollisten tilojen yhdistelmästä eli superpositiotilasta johonkin tiettyyn mahdolliseen lopputilaan. Lomittuneiden kubittiparien lopputilat eivät valikoidu toisistaan riippumatta, kubittiparin lopputilojen määräytymistä ohjaa tilojen kytkeytyminen.

https://bloch.ollpu.fi/

Kvanttipiiri rakentuu systeemin tilan kuvaamiseksi tarvittavista kubiteista ja ns kvanttiporteista, joiden avulla rakennetaan kubittien väliset kytkennät ja määritetään kvanttipiirin kuvaaman kvanttialgoritmin toiminta. Kun kubittiin operoidaan tietyllä kvanttiportilla, niin tällöin kubitin tila muuttuu. Kubitin tilaa havainnollistetaan usein ns. Blochin pallon pinnalle päättyvänä vektorina, ja porttien H, X, Y  tai  Z-kvanttiporttien operaatiot ovat kubittivektorin kiertoja tämän pallon pinnalla. Voit tutkia eri porttien vaikutusta tilassa kubittiin linkin simulaation avulla.

Kuva 1. Hyvin yksinkertainen kvanttilaskennan koodi graafisena esityksenä. Kuvassa on 3 kubittia (q0), jotka kytketään toisiinsa ja M-portit siirtävät mittaustulokset klassisille biteille (c0), jolloin kvanttilaskenta päättyy.

Kuva 1. Hyvin yksinkertainen kvanttilaskennan koodi graafisena esityksenä. Kuvassa on 3 kubittia (q0), jotka kytketään toisiinsa ja M-portit siirtävät mittaustulokset klassisille biteille (c0), jolloin kvanttilaskenta päättyy.

Kuva 2. Tähän kuvaan liittyvän laskennan olisi pitänyt tuottaa tulokset 000 ja 111. Nähdään kuitenkin, että oikea kvanttikone tekee hieman tilastollisia virheitä, vaikkakin oikeiden vastausten päätteleminen on ilmeistä. Kvanttikonetta voidaan äärelliseen määrään kubitteja asti simuloida myös klassisilla koneilla (simulators). Hyvin suurelle määrälle kubitteja simulointi muuttuu kuitenkin lähes mahdottomaksi.

Tarkastellaan mikä on klassisen ja kvanttikoneen ero laskentatehossa. Jos klassisen tietokoneen muistissa n bittiä, se voi laskea kerrallaan vain yhden mahdollisen tilan 2n vaihtoehdosta (bitin tilat ovat 0 tai 1).  Jos kvanttitietokoneen muistissa on n kubittia, niin se voi samanaikaisesti tutkia  2^n  tilan ratkaisun. Tätä eroa havainnollistetaan usein labyrinttiesimerkillä, jossa tietokoneen on laskettava reitti labyrintin läpi. Kun klassisen tietokoneen on käytävä läpi yksitellen kaikki mahdolliset reittivaihtoehdot, niin vastaavasti kvanttitietokone laskee yhdellä kerralla kaikki vaihtoehdot,  ja löytää heti ratkaisun.

Seuraavaksi tutkimme esimerkin avulla mitä tarkoitetaan kvanttipiirillä, joka rakentuu systeemin tilan kuvaamiseksi tarvittavista kubiteista ja ns kvanttiporteista, joiden avulla rakennetaan kubittien väliset kytkennät ja määritetään kvanttipiirin kuvaaman kvanttialgoritmin toiminta. Kvanttipiiri määritellään IBM Qiskit -ohjelmointiympäristössä python-ohjelmointikielellä. IBM:n ohjelmointiympäristö Qiskitin työkalut on asennettu omalle koneelle, jossa tehdään kvanttipiirin määrittely ja piirin toiminnan simulointi.  Tämän jälkeen kvanttipiiri on mahdollista lähettää verkon yli oikealle kvanttitietokoneelle suoritettavaksi.

Koodissa luodaan kahden kubitin kvanttipiiri. Kubitia q0 operoidaan Hadamard-portilla, jolloin kubitti q0 asettuu tilojen 0 ja 1 superpositioon. Kubittien q0 ja q1 välille muodostetaan lomittuminen eli kytkentä ns CNOT-portilla (Controlled NOT). Kvanttipiirin piirroksessa kytkennässä ylempi (pisteellä merkitty) kubitti q0 on ohjaava kubitti ja q1 ja alempi (+ merkillä ) toimii kohteena. Kvantipiirin toiminnan aikakehitys esitetään piirroksena, jota luetaan kuin nuottiviivastoa vasemmalta oikealle.

Koodissa kvanttirekisterien tila mitataan ja mittaustulokset tallennetaan klassisen tietokoneen rekisteriin cl. Koska kubittien q0 ja q1 välillä on kytkentä, niin ohjaavan kubitin q0 mittaustulos vaikuttaa siihen mihin tilaan kubitti q1 asettuu mittauksessa. CNOT- portin toiminta kahden kubitin voidaan esittää seuraavasti:

Tulos tarkoittaa, että jos ensimmäinen, ns. ohjaava kubitti on 0, niin kohdekubitin tila ei muutu. Jos ohjaavakubitti on tilassa 1, niin kohdekubitin tila muuttuu.

Simuloinnin tuloksista havaitaan, että mittauksessa kvanttipiiri asettuu 51.6% todennäiköisyydellä tilaan, jossa molempien kubittien tila on 0 , tai 48.8% todennäköisyydellä tilaan jossa molempien kubittien lopputilaksi mitattiin1. Tulokset eivät jakaudu aivan tasan 50% ja 50%, koska simuloinnissa kvanttipiirin toimintaa simuloitiin rajallisella määrällä kierrosta. Tämän simuloinnin jälkeen koodissa määritetty kahden kubitin kvanttipiiri on mahdollista lähettää verkon yli oikean kvanttitietokoneen laskentajonoon seuravalla koodilla.

Kuvassa on esitetty tulokset, jotka on saatu suorittamalla algoritmi oikella kvanttikoneella (1.11.2020). Tuloksista nähdään, että oikea kvanttikone saa laskennan tulokseksi myös virheellisiä arvoja 01 ja 10.

Varsinkin alkuvaiheessa kvanttilaskennan opettelua on hyödyllistä laskea ihan suoraan numeerisesti mitä lyhyestä koodista pitäisi tulla tuloksena. Qiskit antaa siihen mahdollisuuden, sillä komennoista löytyy statevector, joka antaa ihan suoraan kompleksilukuna tilan. Joskus on myös epäselvyyttä missä järjestyksessä tulokset ovat, joten ihan lähes käsin laskeminen helpolla esimerkillä selventää asiaa.

Kvanttitietokoneiden kehittämiseen ja erilaisten sovelluskohteiden tutkimukseen on panostettu runsaasti maailmalla ja myös Suomessa. Kvanttikoneiden sovelluskohteena on tietoliikenteessä tiedon salaaminen eli kryptaus. Neuroverkkojen tutkimuksessa kvanttikoneita voidaan höydyntää oppivien neuroverkkojen kehittämisessä. Vastavasti talousteoriassa on tehty ennustemalleja talouden käännekohdista kvanttilaskennan avulla (https://arxiv.org/abs/1810.07690).  Kvanttilaskentaa on sovellettu laskennallisessa kemiassa esimerkiksi akkujen toiminnan kehittämiseen (https://arxiv.org/abs/2001.01120). Myös Suomen talouselämä on mukana kvanttiteknologian kehittymisessä. Suomalainen Bluefors on yksi johtavista jäähdytinvalmistajista, jonka tuotteita todella moni kvanttikonevalmistaja käyttää.  Aalto-yliopistossa on kvanttilaskennan- ja laitteiden tutkimusyksikkö, joka kehittää alan tutkimusta ja tuotekehitystyötä Suomessa.