KVANTTILASKENTA. Klassinen laskettavuus vs. kvanttilaskenta (QC)

Samankaltaiset tiedostot
Etsintäongelman kvanttialgoritmi. Jari Tuominiemi

Tekijöihinjaon kvanttialgoritmi

Johdatus kvantti-informatiikkaan

Shorin algoritmin matematiikkaa Edvard Fagerholm

Kvanttitietokoneet, kvanttilaskenta ja kvanttikryptografia. Kvanttimekaniikka. Kvanttimekaniikan perusperiaatteet. Kvanttimekaniikan sovelluksia

Johdatus kvantti-informatiikkaan

Määritelmä Olkoon T i L (V i, W i ), 1 i m. Yksikäsitteisen lineaarikuvauksen h L (V 1 V 2 V m, W 1 W 2 W m )

1 + b t (i, j). Olkoon b t (i, j) todennäköisyys, että B t (i, j) = 1. Siis operaation access(j) odotusarvoinen kustannus ajanhetkellä t olisi.

(iv) Ratkaisu 1. Sovelletaan Eukleideen algoritmia osoittajaan ja nimittäjään. (i) 7 = , 7 6 = = =

Numeeriset menetelmät TIEA381. Luento 8. Kirsi Valjus. Jyväskylän yliopisto. Luento 8 () Numeeriset menetelmät / 35

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

MS-A0003/A Matriisilaskenta Laskuharjoitus 6

Ch7 Kvanttimekaniikan alkeita. Tässä luvussa esitellään NMR:n kannalta keskeiset kvanttimekaniikan tulokset.

Koodausteoria, Kesä 2014

Lineaarikuvausten. Lineaarikuvaus. Lineaarikuvauksia. Ydin. Matriisin ydin. aiheita. Aiheet. Lineaarikuvaus. Lineaarikuvauksen matriisi

Alijärjestelmän mittaus ja muita epätäydellisiä mittauksia

2017 = = = = = = 26 1

Ongelma 1: Onko datassa tai informaatiossa päällekkäisyyttä?

Vektorien pistetulo on aina reaaliluku. Esimerkiksi vektorien v = (3, 2, 0) ja w = (1, 2, 3) pistetulo on

Yhtälöryhmä matriisimuodossa. MS-A0004/A0006 Matriisilaskenta. Tarkastellaan esimerkkinä lineaarista yhtälöparia. 2x1 x 2 = 1 x 1 + x 2 = 5.

Laskennan teoria (kevät 2006) Harjoitus 3, ratkaisuja

Algebra I, harjoitus 5,

Paavo Kyyrönen & Janne Raassina

Paulin spinorit ja spinorioperaattorit

Konformigeometriaa. 5. maaliskuuta 2006

A ja B pelaavat sarjan pelejä. Sarjan voittaja on se, joka ensin voittaa n peliä.

Lukuteorian kertausta

Ristitulolle saadaan toinen muistisääntö determinantin avulla. Vektoreiden v ja w ristitulo saadaan laskemalla determinantti

Osoita, että täsmälleen yksi vektoriavaruuden ehto ei ole voimassa.

Satunnaisalgoritmit. Topi Paavilainen. Laskennan teorian opintopiiri HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Johdatus lukuteoriaan Harjoitus 2 syksy 2008 Eemeli Blåsten. Ratkaisuehdotelma

SIGNAALITEORIAN KERTAUSTA 1

Se mistä tilasta aloitetaan, merkitään tyhjästä tulevalla nuolella. Yllä olevassa esimerkissä aloitustila on A.

Tehtävä 1. Oletetaan että uv on neliö ja (u, v) = 1. Osoita, että kumpikin luvuista u ja v on. p 2j i. p j i

Pistetulo eli skalaaritulo

1 Tensoriavaruuksista..

Epädeterministisen Turingin koneen N laskentaa syötteellä x on usein hyödyllistä ajatella laskentapuuna

a ord 13 (a)

TIEA241 Automaatit ja kieliopit, kesä Antti-Juhani Kaijanaho. 29. toukokuuta 2013

Koodausteoria, Kesä 2014

FYSA2031 Potentiaalikuoppa

Fermat n pieni lause. Heikki Pitkänen. Matematiikan kandidaatintutkielma

a b 1 c b n c n

Topologia Syksy 2010 Harjoitus 4. (1) Keksi funktio f ja suljetut välit A i R 1, i = 1, 2,... siten, että f : R 1 R 1, f Ai on jatkuva jokaisella i N,

Kantavektorien kuvavektorit määräävät lineaarikuvauksen

x = y x i = y i i = 1, 2; x + y = (x 1 + y 1, x 2 + y 2 ); x y = (x 1 y 1, x 2 + y 2 );

Numeeriset menetelmät

Lisää pysähtymisaiheisia ongelmia

TIEA241 Automaatit ja kieliopit, kevät Antti-Juhani Kaijanaho. 26. tammikuuta 2012

811120P Diskreetit rakenteet

Algoritmit 1. Luento 1 Ti Timo Männikkö

MS-A0004/A0006 Matriisilaskenta

Esimerkki A1. Jaetaan ryhmä G = Z 17 H = 4 = {1, 4, 4 2 = 16 = 1, 4 3 = 4 = 13, 4 4 = 16 = 1}.

Rekursiiviset palautukset [HMU 9.3.1]

1 Lineaariavaruus eli Vektoriavaruus

M = (Q, Σ, Γ, δ, q 0, q acc, q rej )

6. Tekijäryhmät ja aliryhmät

MS-A0003/A0005 Matriisilaskenta Laskuharjoitus 2 / vko 45

Ratkeavuus ja efektiivinen numeroituvuus

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 16. marraskuuta 2015

Numeeriset menetelmät TIEA381. Luento 5. Kirsi Valjus. Jyväskylän yliopisto. Luento 5 () Numeeriset menetelmät / 28

Todistus: Aiemmin esitetyn mukaan jos A ja A ovat rekursiivisesti lueteltavia, niin A on rekursiivinen.

1 Sisätulo- ja normiavaruudet

TIEA341 Funktio-ohjelmointi 1, kevät 2008

Diracin yhtälö Björkenin ja Drellin formulaation mukaan on I 0. 0 i 1 0

δ : (Q {q acc, q rej }) (Γ k {, }) Q (Γ k {, }) {L, R}.

R : renkaan R kääntyvien alkioiden joukko; R kertolaskulla varustettuna on

802320A LINEAARIALGEBRA OSA II

(1.1) Ae j = a k,j e k.

Kokonaislukuoptimointi

Mat Lineaarinen ohjelmointi

on Abelin ryhmä kertolaskun suhteen. Tämän joukon alkioiden lukumäärää merkitään

LUKUTEORIA A. Harjoitustehtäviä, kevät (c) Osoita, että jos. niin. a c ja b c ja a b, niin. niin. (e) Osoita, että

Chomskyn hierarkia ja yhteysherkät kieliopit

Koodausteoria, Kesä 2014

4.0.2 Kuinka hyvä ennuste on?

Ominaisvektoreiden lineaarinen riippumattomuus

Tilat ja observaabelit

811120P Diskreetit rakenteet

Johdatus matemaattiseen päättelyyn

Kvanttifysiikan perusteet 2017

LUKU 3. Ulkoinen derivaatta. dx i 1. dx i 2. ω i1,i 2,...,i k

MS-A0003/A0005 Matriisilaskenta Malliratkaisut 4 / vko 47

Kvanttimekaniikan tulkinta

Lineaarikombinaatio, lineaarinen riippuvuus/riippumattomuus

3.1 Lineaarikuvaukset. MS-A0004/A0006 Matriisilaskenta. 3.1 Lineaarikuvaukset. 3.1 Lineaarikuvaukset

Sisätuloavaruudet. 4. lokakuuta 2006

Numeeriset menetelmät TIEA381. Luento 12. Kirsi Valjus. Jyväskylän yliopisto. Luento 12 () Numeeriset menetelmät / 33

Koodausteoria, Kesä 2014

Johdatus matematiikkaan

ja jäännösluokkien joukkoa

Turingin koneen laajennuksia

1 Kannat ja kannanvaihto

Rajoittamattomat kieliopit

Latinalaiset neliöt ja taikaneliöt

Matriisilaskenta, LH4, 2004, ratkaisut 1. Hae seuraavien R 4 :n aliavaruuksien dimensiot, jotka sisältävät vain

x = y x i = y i i = 1, 2; x + y = (x 1 + y 1, x 2 + y 2 ); x y = (x 1 y 1, x 2 + y 2 );

FYSA234 Potentiaalikuoppa, selkkarityö

Laskennan mallit (syksy 2009) Harjoitus 11, ratkaisuja

Symmetrisistä ryhmistä symmetriaryhmiin

Transkriptio:

KVANTTILASKENTA Klassinen laskettavuus vs. kvanttilaskenta (QC) Algoritmin konemallit (Turingin kone, RAM-kone, rekisterikone, laskurikone jne.) [QC: Jonkinlaiset versiot on, eivät kovin käyttökelpoiset, Paul Benioff 1981] Funktionaalinen laskenta (lambdalaskenta, rekursiiviset funktiot, Lisp, Haskell jne.) [QC: Ei ole vielä] Logiikkalaskenta (logiikkaohjelmointi, Prolog jne.) [QC: Ei ole vielä, kvanttilogiikka ei salli vastaavia konstruktioita] 1

Proseduraalikielet (C++, Java jne.) [QC: Ei ole, monista yrityksistä huolimatta] Piirit, portit, prosessorit [QC: On, David Deutsch, 1985, Richard Feynman, 1982] Reversiibelisyys (jokainen klassinen algoritmi voidaan toteuttaa reversiibelillä Turingin koneella, joka ei hävitä informaatiota millään askeleella, Yves Lecerf, 1963) [QC: Kvanttifysiikka on reversiibeli, joten kvanttialgoritmienkin on oltava sitä!] 2

Äärellinen kvanttiautomaatti (Cris Moore, Jim Crutchfield, 2000) Tarvitaan, tila-avaruus S (äärellisulotteinen), alkutila α, lopputilaavaruus T ja aakkosto {a 1,..., a n }. Kutakin aakkoston kirjainta a i vastaa unitaarioperaattori (-matriisi) U i : S S. Syötteen a i1 a im lukeminen vastaa operointia β = U im U i1 α. Syöte hyväksytään, jos mittaus ilmoittaa sen olevan T :ssä (mikä Bornin tulkinnan mukaan tapahtuu vain tietyllä todennäköisyydellä). 3

Tässä itse automaatti on kiinteä, syötteet vaihtuvat. Kvanttitietokone (perusmuodossaan) on samantapainen konstruktio, mutta siinä syöte on kiinteä ja alkutila (kvanttitietokoneen syöte) vaihtuu. Kvanttibitti (kubitti) ja kvanttirekisteri Tarvitaan kaksiulotteinen kompleksinen tila-avaruus ja sen kantatilat (puhtaat kvanttibitit) 0 = 1 ja 1 = 0 0 1. 4

Yleinen kvanttibitti on silloin muotoa α 0 0 + α 1 1, missä α 0 2 + α 1 2 = 1. Mitattaessa ko. kvanttibitti (kannan 0, 1 suhteen) saadaan tulos 0 todennäköisyydellä α 0 2 ja 1 todennäköisyydellä α 1 2 (Bornin tulkinnan mukaan). Kvanttibittiin operoidaan 2 2-unitaarimatriisilla (millä tahansa). Operoitaessa ns. Hadamardin matriisilla (portilla) saadaan H = 1 1 1 2 1 1 H 0 = 1 2 ( 0 + 1 ) = + ja H 1 = 1 2 ( 0 1 ) =. 5

Mm. Paulin matriisit σ x = 0 1, σ 1 0 y = 0 i ja σ i 0 z = 1 0 0 1 sekä identiteettimatriisi I 2 ja vaihesiirtomatriisi R θ = antavat lisää portteja. 1 0 0 e iθ Puhtaita kvanttibittejä b 1,..., b k yhdistetään k kvanttibitin muodostamaksi tilaksi, käyttäen vektorien Kroneckerin tuloa (eli tensorituloa): b 1 b m = merk. b 1 b m. 6

Näin saadut tilat muodostavat 2 m -ulotteisen avaruuden kannan ja superpositioina saadut tilat tulkitaan kvanttirekisterin sisällöiksi. Näihin voidaan operoida 2 m 2 m -unitaarimatriiseilla tavalliseen tapaan. Toisaalta yksittäisiin kvanttibitteihin tai useamman kvanttibitin muodostamiin osarekistereihin voidaan myös operoida käyttäen matriisien Kroneckerin tulon laskusääntöä (U 1 U 2 )( b 1 b 2 ) = (U 1 b 1 ) (U 2 b 2 ). Esimerkiksi i:nteen kvanttibittiin voidaan operoida Hadamardin matriisilla (jättäen muut silleen) matriisilla I (i 1) 2 H I (m i) 2 7

(missä eksponentti i tarkoittaa i:ttä Kronecker-tulopotenssia). Näitä matemaattisia valtavia matriiseja ei tietenkään tarvita operoitaessa fysikaalisesti rekisteriin. Kahden kvanttibitin rekistereille voidaan nyt määritellä omia operaatioitaan (porttejaan, vrt. loogiset NAND, NOR, XOR jne.), esimerkiksi kontrolloitu NOT (CNOT) 1 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 (kannalle 00, 01, 10, 11 ) ja lomituksia (Bellin tiloja) aikaansaava 8

B = 1 2 1 0 0 1 0 1 1 0 0 1 1 0 1 0 0 1, jolle B 00 = 1 2 ( 00 + 11 ). Rekisteritilassa, joka ei ole kvanttibittien Kroneckerin tulo, kvanttibitit ovat tavalla tai toisella lomittuneet kuten yo. B 00 :ssa. Kvanttialgoritmi on sellainen m:n kvanttibitin rekisterille tehty lista unitaarioperaatioita U 1,..., U l, että operoimalla niillä järjestyksessä tekien tarvittaessa välillä joillekin rekisterin osille mittauksia, saadaan lähtötilasta (syöte + aputilat) lopuksi mittaustulos, josta tietyllä todennäköisyydellä saadaan haluttu tuloste. 9

Kvanttivirheenkorjaus Klassisessa laskennassa bitit voivat muuttua virheellisesti tiedonsiirrossa, talletuksessa ja laskennassa itsessään. Tällaisia virheitä ovat bitin vaihtuminen, kahden bitin vaihtuminen keskenään sekä bitin pyyhkiytyminen. Nämä virhetyypit esiintyvät myös kvanttibiteillä, mutta yksittäiselle kvanttibitille saadaan eri vaihtoehtoja, mm. α 0 0 + α 1 1 α 0 1 + α 1 0 (bit-flip, Paulin σ x ), α 0 0 + α 1 1 α 0 0 α 1 1 (sign-flip, Paulin σ z ) sekä erilaiset muut vaihevirheet. 10

Pitkään luultiin, että dekoherenssi yms. virhelähteet tuhoaisivat kvanttibitin niin nopeasti ja peruuttamattomasti, ettei kvanttilaskenta olisi lainkaan mahdollista. Klassinen virheenkorjaus nimittäin perustuu redundanssiin eli informaation esittämiseen osin moneen kertaan, jonka avulla muutama virhe voidaan korjata. Yksinkertaisin klassinen virheen korjaava koodaus on sanan w esittäminen kolminkertaisena: www. Yhteen esiintymistä sattuva yhden symbolin virhe voidaan silloin korjata. Tämäntapainen redundanssi ei ole mahdollista kvanttilaskennassa, sillä 11

NO-CLONING-LAUSE. Kvanttitilaa ei ole mahdollista kopioida. Todistus. Jos kvanttitila (rekisterin sisältö) olisi kopioitavissa, olisi unitaarioperaatio C, jolle C( ψ 0 ) = ψ ψ kaikille rekisterin sisällöille ψ. Unitaarisena C säilyttää sisätulon, joten ψ φ = ψ φ 0 0 = ( ψ 0 )( φ 0 ) = ( ψ 0 )C C( φ 0 ) = ( ψ ψ )( φ φ ) = ψ φ 2, mikä ei voi yleisesti pitää paikkaansa. 12

Vuonna 1995 Peter Shor (ja vähän myöhemmin myös Andrew Steane) löysi kuitenkin tavan korjata virheitä kvanttilaskennassa, korvaamalla redundanssin lomituksella. Shorin koodauksessa kvanttibitti korvataan yhdeksällä kvanttibitillä: 13

Shorin tekijöihinjakoalgoritmi m-pituisen kvanttirekisterin kantavektorien voidaan ajatella vastaavan binääriesityksen kautta kokonaislukuja välillä 0,..., 2 m 1 ja voidaan ottaa käyttöön merkintä k = b m 1 b m 2 b 1 b 0, kun k:n binääriesitys on b m 1 b m 2 b 1 b 0, mahdollisesti alkunollia lisäten. Tehtävänä on löytää luvun esitys alkulukupotenssien tulona. k = p j 1 1 p j 2 2 p j N N. 14

Algoritmin riittää löytää yksi aito tekijä, toistamalla saadaan kaikki alkutekijät. Tekijöihinjako on kuitenkin tehtävä, johon ei tunneta ole nopeita algoritmeja. Käytännössä jo 200-desimaaliset kokonaisluvut ovat liian pitkiä. Shorin algoritmi perustuu siihen, että seuraavat kaksi tehtävää voidaan suorittaa kvanttilaskentaa käyttäen. Syötteestä k 0 0 lasketaan k (w k, mod n), missä w ja n 2 m ovat kiinteitä annettuja lukuja. 15

Syötteestä k lasketaan sen ns. kvantti-fourier-muunnos F Q ( k ) = 1 2 m/2 2 m 1 j=0 e 2πijk 2 m j. Kvantti-Fourier-muunnos toimii kuten tavallinenkin diskreetti Fourier n muunnos, ts. se poimii syötejonosta periodisia osia. Muistetaan, että kvanttialgoritmien on oltava reversiibelejä, klassiset lukuteorian algoritmit eivät sitä ole sellaisenaan. Itse Shorin algoritmi perustuu seuraavaan lukuteorian menettelyyn, jolla luvun n tekijöihinjako onnistuu, mikäli algoritmi A vain olisi käytettävissä. 16

1. Valitaan satunnaisesti luku w, 1 w < n. 2. Lasketaan d = syt(w, n) Eukleideen algoritmilla. 3. Jos 1 < d < n, jatketaan d:stä ja n/d:stä. 4. Jos d = 1, etsitään oletetulla algoritmilla A sellainen luku r > 0, että (w r, mod n) = 1. 5. Jos r on pariton, mennään kohtaan #7. 17

6. Jos r on parillinen, asetetaan r r 2 ja mennään kohtaan #5. 7. Lasketaan ω = (w r, mod n) venäläisten talonpoikien algoritmilla. 8. Jos (ω, mod n) = 1, luovutaan tehtävästä ja lopetetaan. 9. Jos (ω, mod n) 1, asetetaan ω ω ja ω (ω 2, mod n) ja mennään kohtaan #9. 18

10. Lopulta saadaan sellainen 1:n neliöjuuri ω modulo n, että (ω, mod n) 1. Mikäli nyt (ω, mod n) = n 1, luovutetaan ja lopetetaan. Muutoin lasketaan t = syt(ω 1, n) ja jatketaan t:stä ja n/t:stä. Huomaa, että nyt n on ω 2 1:n tekijä mutta ei ω ±1:n tekijä. Koska ω 2 1 = (ω +1)(ω 1), niin n:n jokin alkutekijä on ω 1:n tekijä. Voidaan osoittaa, että jos n ei ole alkuluku, algoritmi onnistuu löytämään sille tekijän ainakin todennäköisyydellä 1/2. (Aluksi voidaan tietysti testata onko n alkuluku vai ei, siihen on nopeita algoritmeja.) 19

Kvanttitietokoneella suoritettavaksi jää algoritmi A. Tämä perustuu siihen, että (w j, mod n) on periodinen j:n suhteen ja jokin periodi r voidaan tällöin löytää kvantti-fourier-muunnoksella. Itse menettely on seuraava: A.1 Valitaan sellainen luku 2 m, että n 2 2 m < 2n 2 (tekninen yksityiskohta). A.2 Alustetaan kaksi m-pituista rekisteriä nolliksi: 0 0. 20

A.3 Sovelletaan ensimmäiseen rekisteriin kvantti-fourier-muunnosta: F Q ( 0 ) 0 = 1 2 m/2 = 1 2 m/2 2 m 1 j=0 2 m 1 j=0 e 2πij 0 2 m j 0 j 0. Ensimmäiseen rekisteriin on näin saatu kokonaislukujen 0,..., 2 m 1 tasainen superpositio. Kvanttitietokone on valmis käsittelemään niitä yhtaikaa! A.4 Lasketaan sopivalla operaatiolla (ks. edellä) kerralla 1 2 m/2 2 m 1 j=0 j (w j, mod n). 21

Rekisterit ovat nyt lomittuneet kvanttifysikaalisessa mielessä toisiinsa. A.5 Mitataan toinen rekisteri, jolloin saadaan kokonaisluku v ja rekisterit ovat γ 2m 1 j=0 (w j, mod n)=v j v, missä γ on skaalausvakio ja indeksit j esiintyvät periodisesti. Skaalausvakio tarvitaan, koska kyseessä on oltava mittauksen jälkeenkin kvanttifysikaalinen tila. 22

A.6 Sovelletaan ensimmäiseen rekisteriin kvantti-fourier-muunnosta: γ 2 m/2 2 m 1 2 m 1 j=0 l=0 (w j, mod n)=v e 2πilj 2 m l v. A.7 Mitataan ensimmäinenkin rekisteri. Tulos l saadaan silloin todennäköisyydellä g(l) 2, missä g(l) = γ 2 m/2 2 m 1 j=0 e 2πilj 2 m. (w j, mod n)=v Mutta g(l) on kerrointa vaille sellaisen jonon diskreetti Fourier n muunnos, jossa esiintyy 1 samalla periodilla kuin j kohdassa #A.5 muiden alkioiden ollessa nollia. 23

0.12 0.1 0.08 0.06 0.04 0.02 Oheisessa kuvassa on esitetty mainittu todennäköisyys, kun m = 8 ja r = 10. Nämä arvot ovat tietysti aivan liian pienet ollakseen käytännössä kovin mielenkiintoisia. r vastaa taajuutta 2 8 0 /10 = 25.6, 0 50 100 150 200 250 joka näkyy monikertoineen kuvassa hyvin selvästi. Sangen todennäköisesti mitattu l on lähellä jotain näistä. A.8 Näin saadaan arvo l, joka on likimain jokin taajuuden 2 m /r 24

monikerta, ts. on j jolle j r = l 2 m. r voidaan ehkä löytää kokeillen lähtien rationaaliluvusta l/2 m. Joka tapauksessa, käyttäen hyväksi kohdan #A.1 ehtoa m:lle voidaan ns. Diofantoksen approksimaatiolla tai ketjumurtoluvuilla löytää hyvin todennäköisesti oikea r. Hidas tekijöihinjako on oleellinen esimerkiksi RSA-kryptosysteemin turvallisuuden takaava tekijä. Isot kvanttitietokoneet siis tuhoaisivat sen (ja monia muitakin systeemejä). 25

Groverin etsintäalgoritmi (Lov Grover, 1996) Tehtävä on etsiä kantavektorien k (k = 1, 2,..., n) joukosta sellainen tila q, joka toteuttaa annetun ehdon. Ehto annetaan mustana laatikkona unitaarioperaattorina (-matriisina) U q k = q, jos k = q k, jos k q eli U q = I n 2 q q. Kvantti-Fourier-muunnoksella tms. (vrt. edellä) saadaan alustetuksi tila β = 1 n n k=1 k. 26

Algoritmissa tarvitaan lisäksi unitaarioperaattori (-matriisi) U β = 2 β β I n (ns. Groverin diffuusio). Geometrisesti U q on peilaus sellaisen koordinaattihypertason suhteen, joka on kohtisuorassa q :ta vastaan. Samoin U β on peilaus β :n määräämän suoran suhteen. Algoritmi on yksinkertaisesti seuraava: Lähtien alustetusta tilasta q iteroi r kertaa operaatiota U q U β. Koko ajan pysytään vektorien q ja β virittämässä aliavaruudessa (tasossa). Ilmeisesti q β = 1 n, joten cos γ = 1 n, 27

missä γ = ( q, β ). Pienellä laskulla näkee, että U q U β on itse asiassa rotaatio q :n ja β :n virittämässä tasossa kulman π 2γ = 2 arcsin 1 n = 2 n verran. Iterointikertojen määrä r on siis kertalukua n. Todennäköisyys saada mittauksella esille q saadaan suuntakosinista: cos 2 ( γ r(π 2γ) ), josta maksimoimalla saadaan r = π n 4. Klassisesti tarvitaan n askelta ja keskimäärinkin n 2 askelta. 28

Muita algoritmeja Shorin kvanttialgoritmi diskreetin logaritmin laskemiseksi Etsittävä i, kun g, p (alkuluku) sekä (g i, mod p) tiedetään. Nopeaa klassista algoritmia ei tunneta. Deutsch Josza-algoritmi Testattava onko mustana laatikkona annettu n bittimuuttujan bittiarvoinen funktio f vakiofunktio, kun tiedetään että muussa tapauksessa se saa yhtä monta 0-arvoa kuin 1-arvoakin. Klassinen algoritmi vie pahimmassa tapauksessa 2 n /2 + 1 = 2 n 1 + 1 askelta, kvanttialgoritmi yhden askeleen! Varsinaisia sovelluksia ei liene. 29

Piilevän aliryhmän etsiminen Algebran tehtävä, jolle ei tiedetä nopeaa klassista algoritmia. Shorin algoritmit voidaan katsoa tämän erikoistapauksiksi, kyseessä on siis eräänlainen yleiskvanttialgoritmi. Muita formalismeja Adiabaattinen kvanttilaskenta Alustetaan alkutilaksi unitaarioperaattorin U alku alin ominaistila (vastaa pienintä ominaisarvoa). Lopputila on (ideaalisesti) toisen unitaarioperaattorin U loppu alin ominaistila, josta mittaamalla saadaan tuloste. 30

Liikkumalla suoraa U t = (1 t)u alku + tu loppu (0 t 1) hitaasti (adiabaattisesti) saadaan lopuksi lopputila, ainakin melko tarkasti (ns. Adiabaattilauseen mukaan). Tehokkuus riippuu operaattorien U t alimman spektrivälin pituuksista. Kestää hyvin dekoherenssia, kvanttikohinaa jms. ja on universaali. Mittausperustainen eli yksisuuntainen kvanttilaskenta Alustetaan mutkikas kvanttitila (resurssitila), jossa on runsaasti lomittumista, ns. klusteritila eli graafitila. Varsinainen lasku 31

muodostuu useista peräkkäisistä yhden kvanttibitin mittauksista. Mittaus voi riippua edellisten mittausten tuloksista. On universaali laskentamalli. Nämä molemmat tuovat mieleen äärellisen kvanttiautomaatin. Kirjallisuutta: NIELSEN, M.A. & CHUANG, I.L.: Quantum Computation and Quantum Information. Cambridge University Press (2011) HIRVENSALO, M.: Quantum Computing. Springer (2010) KAYE, P. & LAFLAMME, R. & MOSCA, M.: An Introduction to Quantum Computing. Oxford University Press (2007) 32