Kvantedatabehandling

Kvantedatabehandling er enhver mål-orienteret aktivitet som forudsætter, drager fordel af, eller skaber en matematisk sekvens af trin kendt som en algoritme — der kan udføres på en kvantecomputer. Kvantedatabehandling omfatter design, udvikling og bygning af hardware og software systemer.

En kvantecomputer er et apparat, der kan beregne ved hjælp af operationer (herunder kvantefysisk sammenfiltringer) på kvantetilstande. For nylig (før dec. 2008) er små kvantecomputere blevet bygget. Mange myndigheder og militære organer som f.eks. NATO støtter universiteter og kvanteberegningsforskningscentre til at udvikle en computer til f.eks. kryptering.

Det formodes at hvis stor-skala kvantecomputere kan bygges, vil de være i stand til at løse visse datalogiske problemer hurtigere end enhver klassisk computer. Kvantecomputere er forskellige fra klassiske computere som f.eks. DNA-computere og computere baseret på transistorer og evt. transistorer baseret på kvantemekaniske effekter uden kvantefysisk superposition.

Historie 
Det var fysikeren Richard Feynman, som i 1982 foreslog at man skulle forsøge at simulere kvantemekaniske objekter i kvantemekanikken selv i form af en kvantecomputer. I 1985 offentliggjorde David Deutsch en banebrydende artikel med en beskrivelse af den universelle kvantecomputer. I 1994 beviste Peter Shor at man med en kvantecomputer kunne faktorisere tal eksponentielt hurtigere end på en klassisk computer.

Dette betød et væld af forskningsmidler til forskning i kvantecomputere og deres algoritmer, da langt størstedelen af alle public key krypteringssytemer baserer deres "ubrydelighed" på, at det er vanskeligt at faktorisere heltal eller at det er vanskeligt at løse den diskrete logaritme.

Opbygning

Klassisk bit kontra kvantebit 

En klassisk computers hukommelse er lavet af bits. Hver af bittene kan lagre en af to mulige tilstande, disse kan f.eks. fortolkes som de klassiske bitværdier "0" og "1", som de to tilstande af bekvemmelighedsårsager kaldes, i næsten al faglitteratur. Bits kan ikke lave beregninger selv. Beregninger i en klassisk computer laves i en aritmetisk logisk enhed (ALU) - typisk på flere bits ad gangen.

En kvantecomputer, derimod, har en mængde af kvantebits. En kvantebit kan lagre de "klassiske" to tilstande "0", "1" som henholdsvis kvantetilstanderne, opgivet som ket-vektorer (=søljevektorer),  og  - eller en superposition af de to tilstande. Det er forkert at sige, at en kvantebit kan lagre to egentlige tilstande på samme tid – det den derimod kan, er at lagre en superposition af to vægtede kvantetilstande. Kvantecomputeren beregner ved at lave kvanteoperationer på disse kvantebits.

I faglitteratur, kvantecomputersimulatorer og kvantecomputere har kvantebittenes en ønsket startværdi, der er kendt og den er typisk . Kvantecomputeren kan beregne ved:
 at "nulstille" kvantebittene til fx .
 lave kvanteoperationer på kvantebittene - herunder input.
 måle kvantebittene og som output fås klassiske bits.
Typisk køres kvanteprogrammet hundreder eller tusinder af gange, så output fås som sandsynligheder for hver målt kvantebit tilstandskombination.
 Fx vil to kvantebits give anledning for fire sandsynligheder; nemlig for tilstandskombinationerne "00", "01", "10" og "11".
 Fx vil fire kvantebits give anledning for 16 sandsynligheder; nemlig for tilstandskombinationerne "0000", "0001", "0010", "0011", "0100", "0101", "0110", "0111", "1000", "1001", "1010", "1011", "1100", "1101", "1110" og "1111".

Kvantebit superposition 

Partikler i kvantemekanik er i stand til at være to kvantesteder på samme tid eller være i to kvantemekaniske tilstande på samme tid. Denne effekt er ofte beskrevet ved at anvende tankeeksperimentet Schrödingers kat, hvor en kat både kan være i live og død på samme tid. Denne mulighed til at være i flere kvantemekaniske tilstande samtidigt kaldes kvantemekanisk superposition.

Man kan vælge at benytte superpositionen i kvanteberegningerne - eller lade være.

Hvis man vælger at benytte superpositionen i kvanteberegningerne, kan en eksponentiel algoritme hastighedsforøgelse fås, hvis man kan finde ud af at lave en sådan algoritme. Det bemærkelsesværdige er, at denne hastighedsforøgelse fås med eksponentiel mindre brugt energi, i forhold til en klassisk algoritme på en traditionel supercomputer!

Energiforbruget i en kvantecomputer stiger cirka lineart med antallet af kvantebits og kvanteoperationer på kvantebittene, men beregningshastigheden stiger potentielt eksponentielt med antallet af kvantebits, når superposition anvendes aktivt.

Kvantebit operationer og kvantekredsløb 
Kvantecomputeren beregner ved at udføre disse valgte kvanteoperationer på kvantebits. En del af operationsnavnene er også anvendt i kvanteprogrammeringssproget OpenQASM:
 Enkelt kvantebit operationer:
 reset (sæt kvantebit til )
 U(theta,phi,lambda) = u3(theta,phi,lambda) universal rotations-gate. Kan rotere en kvantetilstand til en vilkårlig anden kvantetilstand på Bloch sfæren.
 Specialtilfælde rotations-gates:
 Identity, id = u3(0,0,0)
 u1(lambda) = u3(0,0,lambda)
 Clifford gate: Hadamard, H = u3(pi/2,0,pi).
 Clifford gate: sqrt(Z) phase gate S = u1(pi/2)
 Clifford gate: konjugeret sqrt(Z) phase gate Sdg = u1(-pi/2)
 C3 gate: sqrt(S) phase gate T = u1(pi/4)
 C3 gate: konjugeret sqrt(S) phase gate Tdg = u1(-pi/4)
 Pauli-X gate, X gate (NOT gate) = u3(pi,0,pi)
 Pauli-Y gate, Y gate = u3(pi,pi/2,pi/2)
 Pauli-Z gate, Z gate (phase flip gate) = u1(pi) = u3(0,0,pi)
 rx(theta) = u3(theta,-pi/2,pi/2).
 ry(theta) = u3(theta,0,0).
 rz(phi) = u1(phi).
 measure (dansk måling) - måler kvantetilstanden på en eller flere kvantebits og output er klassiske bits med værdierne "0" og "1".
 To kvantebit gates:
 Controlled NOT gate, Toffoli gate, CNOT eller endnu kortere CX.

Gates der kan opbygges af ovenstående:
 To kvantebit gates:
 Fredkin Gate, CSWAP
 sqrt(NOT) gate
 Tre kvantebit gates:
 Controlled Controlled NOT gate, CCNOT eller endnu kortere CCX.
 sqrt(SWAP) gate

Herudover haves en barrier (dansk "barriere") som er et compiler-direktiv, som signalerer at compileren ikke må simplificere kvanteoperationerne på tværs af barrieren for de valgte kvantebits.

Kvantebit realiseringer 
En kvantecomputer kan realiseres ved at anvende en lille mængde partikler, som hver kan have en separat skriv/læsbar kvantetilstand. Partiklerne, med de tilgængelige kvantetilstande, kan være fx fotoner, atomkerner, molekyler - eller cooper-par (Transmon).

Funktionsmåde 
En klassisk computer med 3 bits kan kun lagre et mønster af 3 digitale et-taller eller nuller. Eksempelvis kan bittene på et tidspunkt have lagret "101".

En kvantecomputer med 3 kvantebits kan faktisk lagre en superposition af 16 analoge tilstande/værdier, der med fordel kan modelleres som 8 komplekse tal. På et vilkårligt tidspunkt, kan kvantebitene lagre:

     Tilstand     Amplitude    Sandsynlighed
                   (a+ib)        (a²+b²)
      000       0,37 + i 0,04      0,14
      001       0,11 + i 0,18      0,04        
      010       0,09 + i 0,31      0,10
      011       0,30 + i 0,30      0,18
      100       0,35 + i 0,43      0,31
      101       0,40 + i 0,01      0,16
      110       0,09 + i 0,12      0,02
      111       0,15 + i 0,16      0,05
      ---------------------------------
       na           na             1,00 Sum

Hvis der havde været n kvantebits, skulle tabellen have 2n rækker. For flere hundrede n, skulle der være flere rækker end der er atomer i det kendte univers. Omformuleret gælder det, at n antal kvantebits kan foretager 2n beregninger, hvilket matematisk er en eksponentiel sammenhæng. Det ses, at antallet af mulige beregninger fordobles for hver kvantebit.

Den første søjle viser alle mulige tilstande for 3 bits. En klassisk computer kan kun lagre et af disse mønstre ad gangen. En kvantecomputer kan være i en superposition af alle 8 tilstande på samme tid. Den anden søjle viser en selvvalgt "amplitude" med en bestemt "retning" for hver af de 8 tilstande. Disse 8 komplekse tal er et øjebliksbillede af kvantecomputeren på et givet tidspunkt. Ved en beregning bliver disse 8 tal ændret og interagerer med hinanden.

Dette at kvantecomputeren kan lagre og beregne på de 8 amplituder på samme tid, viser at kvantecomputeren kan lagre meget mere end en 3-bit klassisk computer.

Det skal dog bemærkes at de 8 amplituder ikke kan aflæses udenfor kvantebittene. Når en algoritme er slut, foretages en enkelt måling/aflæsning. Aflæsningen får kun et 3 bit mønster og i aflæsningsprocessen slettes de 8 amplituder. Aflæsningen returnerer et tilfældigt af de 8 mønstre med sandsynligheden fra tabellen. I eksemplet er der 14% sandsynlighed for at det aflæste mønster er "000", 4% sandsynlighed for at det aflæste mønster er "001" osv. Hver af de komplekse tal (a+bi) kaldes en amplitude og hver sandsynlighed (a²+b²) kaldes den kvadrerede amplitude, fordi de er lig |a+bi|². De 8 sandsynligheder summer til 1.

Udvikling 
Den 23 oktober 2019 bekræftede Google at deres kvantekomputer kunne udføre een målberegning på 200 sekunder, der ellers ville tage verdens hurtigste supercomputer 10.000 år at gøre.

Referencer

Se også 
 Kvantecomputertidslinje
 Nanoteknologi

Mere information 
 For den interesserede lægmand:
 "DEN FORUNDERLIGE KVANTEVERDEN" vises på www.dr.dk indtil: d. 05. feb. 2014

 West, J.(2000). The Quantum Computer – An Introduction. (Let forståelig forklaring af kvantecomputere. )

 Gode generelle referencer:
 Centre for Quantum Computation, University of Oxford http://www.qubit.org

 Termiske Ensembler
 Overview of early developments, with links
 De første to artikler skrevet om emnet: D.G Cory, A.F. Fahmy, T.F. Havel, Proc. Nat. Acad. of Science, 94, 1634 (1997), and N. Gershenfeld and I. Chuang, Science, 275, pp. 350-356, 1997. (download)

 Anvendelse af kvantecomputere til at simulere kvantesystemer:
 Feynman, R. P. "Simulating Physics with Computers" International Journal of Theoretical Physics, Vol. 21 (1982) pp. 467-488.

 Kvantekryptografi:
 Den første artikel skrevet om emnet: Wiesner, S. "Conjugate Coding" SIGACT News, Vol. 15, 1983, pp. 78-88; Brassard, G. and Bennett, C.H., Proceedings of the IEEE International Conference on Computer Systems and Signal Processing, 1984, p. 175 Ekert, A. "Quantum Cryptography Based on Bell's Theorem" Physical Review Letters, Vol. 67 1991 pp. 661-663.
 Den første artikel publiceret om emnet: Bennett, C. H., Brassard, G., Breidbart, S. and Wiesner, S., "Quantum cryptography, or unforgeable subway tokens", Advances in Cryptology: Proceedings of Crypto 82, August 1982, Plenum Press, pp. 267 – 275.
 En lang liste over artikler om kvantekryptografi, med kommentarer, finde på http://www.cs.mcgill.ca/~crepeau/CRYPTO/Biblio-QC.html

 Shor's faktoriseringsalgoritme:
 John-Pierre Seifert, "Using fewer Qubits in Shor's Factorization Algorithm via Simultaneous Diophantine Approximation," (download)
 IBMs annoncering  af den første virkelige afvikling af algoritmen, som også giver historien om de forstekvantecomputere med 2, 3, 5, og 7 kvantebits. Publiceret i 19. december 2001 udgaven af Nature.

 Kvantedatabase opslag:
 Grover, L. K. "A Fast Quantum Mechanical Algorithm for Database Search" Proceedings of the 28th Annual ACM Symposium on the Theory of Computing, Philadelphia, (1996) pp. 212-219.

 Kvantecomputer simulatorer:
 libquantum – Et library til kvantecomputer simulering
 QCL – Simulation af kvanteberegning med et kvantecomputer sprog
 Quantum::Entanglement – Kvanteberegningsmodul til Perl.

 Kvantemekanisk fejlkorrektion:
 Shor, P. W. "Scheme for reducing decoherence in quantum computer memory" Phys. Rev. A 52,(1995) pp. 2493-2496.
 Calderbank, A. R. and Shor, P.W. "Good quantum error-correcting codes exist" Phys. Rev. A 54, (1996) pp. 1098-1106.
 Shor. P. W. "Fault-tolerant quantum computation" Proc. 37nd Annual Symposium on Foundations of Computer Science, IEEE Computer Society Press, (1996) pp. 56-65.

 Kvantemekanisk fejlforebyggelse:
 D. A. Lidar, I.L. Chuang, K.B. Whaley, "Decoherence free subspaces for quantum computation", Phys. Rev. Lett 81, (1998) pp. 2594-2587

 Løsning af NP-Complete og #P-Complete problemer:
 Daniel S. Abrams (1), Seth Lloyd (2) ( (1) Dept. of Physics, MIT, (2) Dept. of Mechanical Engineering, MIT), 1988, "Nonlinear quantum mechanics implies polynomial-time solution for NP-complete and #P problems"(download)
 Phil Gossett, 1988, "NP in BQP with Nonlinearity", (download)
 Yu Shi, 2001, "Entanglement Between Bose-Einstein Condensates", Int. J. Mod. Phys. B, Vol. 15 (Sept 10, 2001) 3007-3030. (download her eller her )

Eksterne henvisninger 
 Number 570 #4, December 21, 2001, AIP: A Quantum Computer Has Factored the Number 15 
 EETIMES 17-1-2001: Optical components proposed for viable quantum computer Citat: "...SANTA FE, N.M. – Researchers at Los Alamos National Laboratories claim to have originated a blueprint for room-temperature quantum computers using such optical components as beam splitters, phase shifters and photodetectors...."
 December 19, 2001, IBM's Test-Tube Quantum Computer Makes History,  First demonstration of Shor's historic factoring algorithm
 December 10, 1997 Science fact: Scientists achieve 'Star Trek'-like feat Citat: "... If the notion of entanglement leaves your head spinning, don't feel bad. Zeilinger said he doesn't understand how it works either. "And you can quote me on that," he said. Prof. Anton Zeilinger ..."
 UniSci, 26-Nov-2001 Holograms Based On 'Spooky Action At A Distance' Citat: "...It's the interference of the possible paths that encodes the holographic image of the hidden object, which is very spooky indeed. ..."
 Physics Web, 17 Mar 2000, Quantum leap for entanglement Citat: "...Entanglement is one of the most mysterious and fundamental properties of quantum mechanics. When two or more particles are "entangled", the wavefunction describing them cannot be factorized into a product of single-particle wavefunctions. This means that a measurement on one particle will immediately influence the state of the other particles in the entangled system. A group of physicists in the US has now "entangled" four particles for the first time (Nature 404 256)..."

 
Kvantemekanik
Kvanteinformatik
Matematisk modellering
Informationsteori
Teoretisk datalogi
Fremspirende teknologi
Uløste problemer