Kvanttitietokoneet lupaavat valtavia mahdollisuuksia lääketeollisuudelle, koneoppimiselle ja jopa ilmastonmuutoksen torjunnalle. Lupausten lunastaminen kysyy kuitenkin räätälöityjä ohjelmistoja.
Helsingin yliopiston tietojenkäsittelytieteen osasto ratkaisee pulmaa professori Jukka K. Nurmisen vetämillä kvanttitietokoneen ohjelmointikursseilla. Parhaillaan etenevä kurssi on lajissaan jo kolmas.
”Meidän pitäisi pystyä nostamaan ohjelmistopuolen kyvykkyyttä, jotta meillä olisi osaajia myös kvanttitietokoneiden käyttämiseen”, Nurminen sanoo.
Kvanttiohjelmistojen kirjoittaminen on lähtökohtaisesti kaukana esimerkiksi arkisesta web-kehittämisestä. Tämä johtuu kvanttisuperposition ja kvanttilomittumisen kaltaisista ilmiöistä, joihin kvanttitietokoneiden äärimmäiset rinnakkaislaskentatehot perustuvat.
”Tämä vaatii aivojen asettamista eri asentoon kuin perinteisen koodin kehittäminen”, Nurminen sanoo.
Kvanttitietokoneiden ohjelmistokehityksessä käytetään useimmiten Python-kieltä, johon on saatavilla erityisiä kvanttilaskennan työkaluja. Kvanttitietokoneille ja niiden ohjelmoinnissa käytetyille simulaattoreille on luotu myös omia ohjelmointikieliä, kuten Microsoftin kehittämä Q#-kieli.
Itse kvanttilaskutoimitukset esitetään nuottiviivastoa muistuttavalla kvanttipiirikaaviolla. Kaaviossa aika etenee vaakasuoraan vasemmalta oikealle. Kubittien tilaa muuttavat kvanttiportit ja kvanttioperaatiot esitetään kubittien päälle asetettuina symboleina.
”Siitä on aika vaikea ottaa selvää, että mitä se ylipäätään tekee. Ja vielä vaikeampi on päästä sille tasolle, että pystyisi semmoisia itse myös luomaan”, Nurminen sanoo.
Tämä on lyhennelmä Tivin tilaajille tarkoitetusta artikkelista. Voit lukea sen pidemmästä versiosta tarkemmin, miten kvanttitietokoneet ja klassiset tietokoneet eroavat toisistaan.