Kvantedatabehandling

From Wikipedia, the free encyclopedia

Kvantedatabehandling
Remove ads

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 til disse systemer.

Der er for få eller ingen kildehenvisninger i denne artikel, hvilket er et problem. Du kan hjælpe ved at angive troværdige kilder til de påstande, som fremføres i artiklen.
Denne artikel bør gennemlæses af en person med fagkendskab for at sikre den faglige korrekthed.
Thumb
En wafer med Intels kvantecomputerchips
Hurtige fakta Baggrund, Grundlæggende koncepter ...

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.

Remove ads

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.[1] I 1994 beviste Peter Shor[2] at man med en kvantecomputer kunne faktorisere tal eksponentielt hurtigere end på en klassisk computer.[3]

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

Remove ads

Opbygning

Klassisk bit kontra kvantebit

Thumb
En kvantebits kvantetilstand modelleres typisk med en Bloch sfære.[4] En kvantebits tilstand har altid længde "1". To navngivne kvantetilstande er (blå) og (rød). Den viste kvantebits kvantetilstand er (grøn). En vigtig erkendelse er at er en vektor med længde én. Navnet på den vektor er 0 (nul).

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.[4] 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:

  1. at "nulstille" kvantebittene til fx .
  2. lave kvanteoperationer på kvantebittene - herunder input.
  3. 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

Uddybende Uddybende artikel: Kvantemekanisk 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.[4]

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![5][6]

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.[5]

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:[7][8][9]

  • 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 de klassiske bitværdier "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.[8]

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).

En pt (2025) hypotetisk kvantebit er baseret på ikke-abelske anyoner, der muligvis kan realiseres af visse kvasipartikler. En kvantecomputer baseret på ikke-abelske anyoner kaldes en topologisk kvantecomputer og kvantebittene kaldes for topologiske kvantebits.

Remove ads

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.[10]

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.

Remove ads

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. [11][6]

Se også

Referencer

Mere information

Eksterne henvisninger

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads