Kvantedatabehandling

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.

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 wafer med Intels kvantecomputerchips
Kvantemekanik
Introduktion

 • Ordliste  • Historie

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 redigér

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 krypteringssytemer baserer deres "ubrydelighed" på, at det er vanskeligt at faktorisere heltal eller at det er vanskeligt at løse den diskrete logaritme.

Opbygning redigér

Klassisk bit kontra kvantebit redigér

 
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 redigér

  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 redigér

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

Kvantebit realiseringer redigér

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 redigér

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.

Udvikling redigér

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]

Referencer redigér

  1. ^ Deutsch, David (1985). "Quantum theory, the Church–Turing principle and the universal quantum computer". Proc. R. Soc. Lond. A. 400 (1818): 97-117. doi:10.1098/rspa.1985.0070.
  2. ^ Shor, Peter W. (1994). "Algorithms for quantum computation: discrete logarithms and factoring". Proceedings 35th Annual Symposium on Foundations of Computer Science: 124-134. doi:10.1098/rspa.1985.0070.
  3. ^ A short introduction to quantum computation
  4. ^ a b c QUANTUMLAB - Kvantetilstande Citat: "...Tilstandsvektoren for et system skal altid være normaliseret, dvs. have længden 1...Tilsvarende er en qubit et kvante-system med et tilstandsrum udspændt af to basisvektorer, som ofte betegnes   og  ...Qubit tilstande kan illustreres på en 3D-sfære kaldet Bloch sfæren. Tilstandene   og   ligger på sfærens poler og langs ækvator ligger de symmetriske superpositionstilstande. Ethvert punkts på sfæren svarer til en mulig qubit tilstand...En helt afgørende forskel mellem klassiske binære bits og qubits er, at qubits ikke kun kan være i tilstandene   og   men også i en hvilken som helst superpositionstilstand  , hvor koefficienterne blot skal opfylde, at |a|^2 + |b|^2 =1. Hvis du sidder og tænker, at det ligner ligningen for en cirkel med radius 1 [(x-x_0)^2 + (y-y_0)^2 = r^2, hvor   er cirklens centrum og   dens radius], så er det godt set. Men fordi   og   er komplekse tal, så bliver det i stedet til en tre-dimensionel sfære med radius 1. Alle de mulige kvantetilstande for qubiten ligger på overfladen af sfæren - I bunden af sfæren ligger   svarende til   og  , og på toppen har vi   svarende til   og  ...", backup
  5. ^ a b 25 June 2003, arxiv.org, Eli Biham, Gilles Brassard, Dan Kenigsberg and Tal Mor: Quantum Computing Without Entanglement Citat: "...It is generally believed that entanglement is essential for quantum computing. We present here a few simple examples in which quantum computing without entanglement is better than anything classically achievable, in terms of the reliability of the outcome after a fixed number of oracle calls...When information is lacking about the state of a qubit, we say that this qubit is in a mixed state...A quantum mixed state ρ of several qubits is called a product state if it can be written as a tensor product of the states of the individual qubits...Quantum computers can manipulate quantum information by means of unitary transformations [11, 14, 7]. In particular, they can work with superpositions...The linearity of quantum mechanics gives rise to two important phenomena. (1) Quantum parallelism: we can compute f on arbitrarily many classical inputs by a single application of Uf to a suitable superposition...On the other hand, it has been demonstrated that quantum computers can solve some problems exponentially faster than any classical computer provided the input is given as an oracle[8, 2], and even if we allow bounded errors [18]...A fundamental question is: Where does the surprising computational advantage provided by quantum mechanics come from? What is the nonclassical property of quantum mechanics that leads to such an advantage? Do superposition and interference provide the quantum advantage? Probably the most often heard answer is that the power of quantum computing comes from the use of entanglement, and indeed there are very strong arguments in favour of this belief. (See [12, 4, 13, 10, 15] for a discussion.) We show in this paper that this common belief is wrong..."
  6. ^ a b October 27, 2019, scitechdaily.com: Summit Supercomputer Harnessed for Quantum Supremacy Milestone (Video) Citat: "...The simulations took 200 seconds on the quantum computer; after running the same simulations on Summit the team extrapolated that the calculations would have taken the world’s most powerful system more than 10,000 years to complete with current state-of-the-art algorithms, providing experimental evidence of quantum supremacy and critical information for the design of future quantum computers. Not only was Sycamore faster than its classical counterpart, but it was also approximately 10 million times more energy efficient...", backup
  7. ^ 16 Jun 2018, codeproject.com: Quantum Computing for Everyone - Part II: Quantum Gates, backup
  8. ^ a b 16 Jun 2018, codeproject.com: Quantum Computing for Everyone - Part III: Quantum Circuits and OpenQASM, backup
  9. ^ Open Quantum Assembly Language. Andrew W. Cross, Lev S. Bishop, John A. Smolin, Jay M. Gambetta January 10th, 2017 Citat: "...Our goal in this document is to describe an interface language for the Quantum Experience that enables experiments with small depth quantum circuits...Compilation. This phase takes place on a classical computer in a setting where specific problem parameters are not yet known and no interaction with the quantum computer is required, i.e. it is offline...Circuit generation. This takes place on a classical computer in an environment where specific problem parameters are now known, and some interaction with the quantum computer may occur, i.e. this is an online phase...Execution. This takes place on physical quantum computer controllers in a real-time environment, i.e. the quantum computer is active...Post-processing. This takes place on a classical computer after all real-time processing is complete...The human-readable form of our quantum circuit IR is based on “quantum assembly language” [3, 23–26] or QASM (pronounced kazm). QASM is a simple text language that describes generic quantum circuits...We choose a simple language without higher level programming primitives. We define different gate sets using a subroutine-like mechanism that hierarchically specifies new unitary gates in terms of built-in gates and previously defined gate subroutines. In this way, the built-in basis is used to define hardware-supported operations via standard header files. The subroutine mechanism allows limited code reuse by hierarchically defining more complex operations [7, 26]. We also add instructions that model a quantum-classical interface, specifically measurement, state reset, and the most elemental classical feedback. The remaining sections of this document specify Open QASM and provide examples....", backup
  10. ^ Engelhardt, Robin; Jensen, Hans Siggaard. "I selverkendelsens lys", ERGO: Naturvidenskabens filosofiske historie (1. udgave), Nørhaven Book A/S 2007, s. 281. ISBN 978-87-595-2866-2.
  11. ^ https://ai.googleblog.com/2019/10/quantum-supremacy-using-programmable.html

Se også redigér

Mere information redigér

  • Gode generelle referencer:
  • 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 Arkiveret 8. oktober 2003 hos Wayback Machine 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 Arkiveret 24. april 2003 hos Wayback Machine)

Eksterne henvisninger redigér