Sådan fungerer kvantecomputere. At lægge puslespillet sammen

Sådan fungerer kvantecomputere. At lægge puslespillet sammen

Kvantecomputere og kvantecomputere - nyt buzzword, som blev tilføjet til vores informationsrum sammen med kunstig intelligens, maskinelæring og andre højteknologiske udtryk. Samtidig var jeg aldrig i stand til at finde materiale på Internettet, der kunne samle puslespillet i mit hoved kaldet "Sådan fungerer kvantecomputere". Ja, der er mange fremragende værker, herunder om Habr (se. Liste over ressourcer), kommentarer, som, som det normalt er tilfældet, er endnu mere informative og nyttige, men billedet i mit hoved, som de siger, stemte ikke.

Og for nylig kom mine kolleger hen til mig og spurgte: "Forstår du, hvordan en kvantecomputer fungerer? Kan du fortælle os det?" Og så indså jeg, at jeg ikke er den eneste, der har et problem med at sammensætte et sammenhængende billede i mit hoved.

Som et resultat blev der gjort et forsøg på at kompilere information om kvantecomputere til et konsistent logisk kredsløb, hvori grundlæggende niveau, uden dyb fordybelse i matematik og kvanteverdenens struktur, blev det forklaret, hvad en kvantecomputer er, hvilke principper den opererer efter, og hvilke problemer videnskabsmænd står over for, når de skaber og betjener den.


indholdsfortegnelse

Ansvarsfraskrivelse

(til indhold)

Forfatteren er ikke ekspert i kvanteberegning, og Artiklens målgruppe er de samme it-folk, ikke kvantespecialister, som også ønsker at sammensætte et billede i deres hoveder kaldet "Sådan fungerer kvantecomputere." På grund af dette er mange begreber i artiklen bevidst forenklet for bedre at forstå kvanteteknologier på et "grundlæggende" niveau, men uden en meget stærk forenkling med tab af informationsindhold og tilstrækkelighed.

Artiklen bruger nogle steder materialer fra andre kilder, en liste over hvilke er angivet i slutningen af ​​artiklen. Hvor det er muligt, indsættes direkte links og indikationer til den originale tekst, tabel eller figur. Hvis jeg har glemt noget (eller nogen) et sted, så skriv og jeg retter det.

Indledning

(til indhold)

I dette kapitel vil vi kort se på, hvordan kvanteæraen begyndte, hvad var den motiverende årsag til ideen om en kvantecomputer, hvem (hvilke lande og virksomheder) i øjeblikket er de førende aktører på dette felt, og også kort tale om de vigtigste udviklingsretninger for kvanteberegning.

Hvordan det hele begyndte

(til indhold)

Sådan fungerer kvantecomputere. At lægge puslespillet sammen

Udgangspunktet for kvantetiden anses for at være 1900, hvor M. Planck første gang fremsatte hypotese at energi udsendes og absorberes ikke kontinuerligt, men i separate kvanter (portioner). Ideen blev opfanget og udviklet af mange fremragende videnskabsmænd på den tid - Bohr, Einstein, Heisenberg, Schrödinger, hvilket i sidste ende førte til skabelsen og udviklingen af ​​en sådan videnskab som kvantefysikken. Der er en masse gode materialer på internettet om dannelsen af ​​kvantefysik som en videnskab; i denne artikel vil vi ikke dvæle ved dette i detaljer, men det var nødvendigt at angive datoen, hvor vi trådte ind i den nye kvanteæra.

Kvantefysik har bragt mange opfindelser og teknologier ind i vores hverdag, uden hvilke det nu er svært at forestille sig verden omkring os. For eksempel en laser, som nu bruges overalt, lige fra husholdningsapparater (laserniveauer osv.) til højteknologiske systemer (lasere til synskorrektion, hej meklon ). Det ville være logisk at antage, at nogen før eller siden vil komme med ideen om, hvorfor ikke bruge kvantesystemer til beregning. Og så skete det i 1980.

Wikipedia indikerer, at den første idé om kvanteberegning blev udtrykt i 1980 af vores videnskabsmand Yuri Manin. Men de begyndte for alvor først at tale om det i 1981, da den kendte R. Feynman tale ved den første Computational Physics Conference afholdt på MIT, bemærkede, at det er umuligt at simulere udviklingen af ​​et kvantesystem på en klassisk computer på en effektiv måde. Han foreslog en elementær model kvantecomputer, som vil være i stand til at udføre en sådan modellering.

Der er en det er jobbet, hvori tidslinje for udvikling af kvantecomputere overvejes mere akademisk og detaljeret, men vi vil kort gennemgå:

Store milepæle i historien om at skabe kvantecomputere:

Som du kan se, er der gået 17 år (fra 1981 til 1998) fra idéøjeblikket til dens første implementering i en computer med 2 qubits, og 21 år (fra 1998 til 2019), indtil antallet af qubits steg til 53. Det tog 11 år (fra 2001 til 2012) at forbedre resultatet af Shors algoritme (vi vil se nærmere på det lidt senere) fra tallet 15 til 21. Også for kun tre år siden kom vi til det punkt, at implementere det Feynman talte om, og lære at modellere de enkleste fysiske systemer.

Udviklingen af ​​kvanteberegning er langsom. Forskere og ingeniører står over for meget vanskelige opgaver, kvantetilstande er meget kortvarige og skrøbelige, og for at bevare dem længe nok til at udføre beregninger, skal de bygge sarkofager for titusinder af millioner dollars, hvor temperaturen holdes. lige over det absolutte nulpunkt, og som er maksimalt beskyttet mod ydre påvirkninger. Dernæst vil vi tale om disse opgaver og problemer mere detaljeret.

Førende spillere

(til indhold)

Sådan fungerer kvantecomputere. At lægge puslespillet sammen

Slides til dette afsnit er taget fra artiklen Kvantecomputer: et stort tyreløb. Foredrag i Yandex, fra forsker Russisk kvantecenter Alexey Fedorov. Lad mig give dig direkte citater:

Alle teknologisk succesrige lande udvikler i øjeblikket aktivt kvanteteknologier. En enorm mængde penge bliver investeret i denne forskning, og særlige programmer til støtte for kvanteteknologier bliver skabt.

Sådan fungerer kvantecomputere. At lægge puslespillet sammen

Ikke kun stater, men også private virksomheder deltager i kvanteløbet. I alt har Google, IBM, Intel og Microsoft for nylig investeret omkring 0,5 milliarder dollars i udviklingen af ​​kvantecomputere og skabt store laboratorier og forskningscentre.
Sådan fungerer kvantecomputere. At lægge puslespillet sammen

Der findes mange artikler om Habré og på internettet, f.eks. her, her и her, hvor den aktuelle situation med udviklingen af ​​kvanteteknologier i forskellige lande undersøges nærmere. Det vigtigste for os nu er, at alle førende teknologisk udviklede lande og aktører investerer enorme summer i forskning i denne retning, hvilket giver håb om en vej ud af det nuværende teknologiske dødvande.

Udviklingsanvisninger

(til indhold)

Sådan fungerer kvantecomputere. At lægge puslespillet sammen

I øjeblikket (jeg kan tage fejl, ret mig venligst), er hovedindsatsen (og mere eller mindre væsentlige resultater) af alle førende spillere koncentreret om to områder:

  • Specialiserede kvantecomputere, som har til formål at løse ét specifikt specifikt problem, for eksempel et optimeringsproblem. Et eksempel på et produkt er D-Wave kvantecomputere.
  • Universelle kvantecomputere — som er i stand til at implementere vilkårlige kvantealgoritmer (Shor, Grover osv.). Implementeringer fra IBM, Google.

Andre udviklingsvektorer, som kvantefysikken giver os, såsom:

Det er selvfølgelig også på listen over forskningsområder, men på nuværende tidspunkt ser der ikke ud til at være mere eller mindre markante resultater.

Derudover kan du læse køreplan for udvikling af kvanteteknologiertja, google "udvikling af kvanteteknologier", For eksempel, her, her и her.

Grundlæggende. Kvanteobjekt og kvantesystemer

(til indhold)

Sådan fungerer kvantecomputere. At lægge puslespillet sammen

Det vigtigste at forstå fra dette afsnit er det

Kvantecomputer (i modsætning til sædvanlige) anvendelser som informationsbærere kvanteobjekter, og for at udføre beregninger skal kvanteobjekter tilsluttes kvantesystem.

Hvad er et kvanteobjekt?

Kvanteobjekt - et objekt fra mikroverdenen (kvanteverdenen), der udviser kvanteegenskaber:

  • Har en defineret tilstand med to grænseniveauer
  • Er i en superposition af sin tilstand indtil måleøjeblikket
  • Vikler sig sammen med andre objekter for at skabe kvantesystemer
  • Opfylder ikke-kloningssætningen (et objekts tilstand kan ikke kopieres)

Lad os se nærmere på hver ejendom:

Har en defineret tilstand med to grænseniveauer (sluttilstand)

Et klassisk eksempel fra den virkelige verden er en mønt. Den har en "side"-tilstand, som antager to grænseniveauer - "hoveder" og "haler".

Er i en superposition af sin tilstand indtil måleøjeblikket

De smed en mønt, den flyver og snurrer. Mens den roterer, er det umuligt at sige, i hvilket af grænseniveauerne dens "side"-tilstand er placeret. Men så snart vi smækker det ned og ser på resultatet, kollapser superpositionen af ​​stater straks i en af ​​to grænsetilstande - "hoveder" og "haler". At slå en mønt i vores tilfælde er en måling.

Vikler sig sammen med andre objekter for at skabe kvantesystemer

Det er svært med en mønt, men lad os prøve. Forestil dig, at vi smed tre mønter, så de roterer klamrende til hinanden, dette er jonglering med mønter. På hvert tidspunkt af tiden er ikke kun hver af dem i en superposition af stater, men disse tilstande påvirker hinanden gensidigt (mønterne kolliderer).

Opfylder ikke-kloningssætningen (et objekts tilstand kan ikke kopieres)

Mens mønterne flyver og snurrer, er der ingen måde, vi kan oprette en kopi af roterende tilstand for nogen af ​​mønterne, adskilt fra systemet. Systemet lever i sig selv og er meget jaloux på at frigive enhver information til omverdenen.

Et par ord mere om selve konceptet "superpositioner", i næsten alle artikler er superposition forklaret som "er i alle stater på samme tid", hvilket selvfølgelig er rigtigt, men til tider unødvendigt forvirrende. En superposition af tilstande kan også forestilles som det faktum, at et kvanteobjekt på hvert tidspunkt har der er visse sandsynligheder for at kollapse i hvert af dets grænseniveauer, og i sum er disse sandsynligheder naturligt lig med 1. Senere, når vi overvejer qubit, vil vi dvæle ved dette mere detaljeret.

For mønter kan dette visualiseres - afhængigt af starthastigheden, kastevinklen, tilstanden af ​​det miljø, hvori mønten flyver, på hvert tidspunkt er sandsynligheden for at få "hoveder" eller "haler" forskellig. Og som tidligere nævnt kan tilstanden af ​​en sådan flyvende mønt forestilles som "at være i alle dens grænsetilstande på samme tid, men med forskellige sandsynligheder for deres implementering."

Ethvert objekt, for hvilket ovenstående egenskaber er opfyldt, og som vi kan oprette og kontrollere, kan bruges som informationsbærer i en kvantecomputer.

Lidt længere vil vi tale om den aktuelle situation med den fysiske implementering af qubits som kvanteobjekter, og hvad videnskabsmænd nu bruger i denne egenskab.

Så den tredje egenskab siger, at kvanteobjekter kan blive viklet ind for at skabe kvantesystemer. Hvad er et kvantesystem?

Kvantesystem — et system af sammenfiltrede kvanteobjekter med følgende egenskaber:

  • Et kvantesystem er i en superposition af alle mulige tilstande af de objekter, som det består af
  • Det er umuligt at kende systemets tilstand indtil måleøjeblikket
  • I måleøjeblikket implementerer systemet en af ​​de mulige varianter af dets grænsetilstande

(og ser lidt fremad)

Følge for kvanteprogrammer:

  • Et kvanteprogram har en given tilstand af systemet ved input, en superposition inde, en superposition ved output
  • Ved udgangen af ​​programmet efter måling har vi en probabilistisk implementering af en af ​​de mulige sluttilstande af systemet (plus mulige fejl)
  • Ethvert kvanteprogram har en skorstensarkitektur (input -> output. Der er ingen sløjfer, du kan ikke se systemets tilstand midt i processen.)

Sammenligning af en kvantecomputer og en konventionel

(til indhold)

Sådan fungerer kvantecomputere. At lægge puslespillet sammen

Lad os nu sammenligne en konventionel computer og en kvantecomputer.

almindelig computer Kvantecomputer

logik

0 / 1 `a|0> + b|1>, a^2+b^2=1'

fysik

Halvleder transistor Kvanteobjekt

Mediebærer

Spændingsniveauer Polarisering, spin,...

operationer

IKKE, OG, ELLER, XOR over bits Ventiler: CNOT, Hadamard,...

Forhold

Halvleder chip Forvirring med hinanden

Algoritmer

Standard (se pisk) Tilbud (Shore, Grover)

princip

Digital, deterministisk Analog, sandsynlig

Logisk niveau
Sådan fungerer kvantecomputere. At lægge puslespillet sammen

I en almindelig computer er dette lidt. Velkendt for os hele vejen igennem deterministisk bit. Kan tage værdier på enten 0 eller 1. Det takler rollen perfekt logisk enhed til en almindelig computer, men er helt uegnet til at beskrive tilstanden kvanteobjekt, der, som vi allerede har sagt, i naturen er placeret isuperpositioner af deres grænsetilstande.

Dette er, hvad de kom frem til qubit. I dens grænsetilstande realiserer den tilstande svarende til 0 og 1 |0> og |1>, og i superposition repræsenterer sandsynlighedsfordeling over dens grænsetilstande |0> и |1>:

 a|0> + b|1>, такое, что a^2+b^2=1

a og b repræsenterer sandsynlighedsamplituder, og kvadraterne af deres moduler er de faktiske sandsynligheder for at opnå præcis sådanne værdier af grænsetilstandene |0> и |1>, hvis du kollapser qubit med en måling lige nu.

Fysisk lag

På det nuværende teknologiske udviklingsniveau er den fysiske implementering af en bit til en konventionel computer halvledertransistor, for kvante, som vi allerede har sagt, ethvert kvanteobjekt. I næste afsnit vil vi tale om, hvad der i øjeblikket bruges som fysiske medier til qubits.

Opbevaringsmedium

For en almindelig computer er dette elektricitet - spændingsniveauer, tilstedeværelse eller fravær af strøm osv., for kvante - det samme tilstand af et kvanteobjekt (polarisationsretning, spin osv.), som kan være i en tilstand af superposition.

operationer

For at implementere logiske kredsløb på en almindelig computer, bruger vi velkendte logiske operationer, for operationer på qubits var det nødvendigt at komme med et helt andet system af operationer, kaldet kvanteporte. Gates kan være enkelt-qubit eller dobbelt-qubit, afhængigt af hvor mange qubits, der konverteres.

Eksempler på kvanteporte:
Sådan fungerer kvantecomputere. At lægge puslespillet sammen

Der er et koncept universal ventilsæt, som er tilstrækkelige til at udføre enhver kvanteberegning. For eksempel inkluderer et universalsæt en Hadamard-gate, en faseforskydningsgate, en CNOT-gate og en π⁄8-gate. Med deres hjælp kan du udføre enhver kvanteberegning på et vilkårligt sæt qubits.

I denne artikel vil vi ikke dvæle i detaljer ved systemet med kvanteporte; du kan læse mere om dem og logiske operationer på qubits, for eksempel, her. Det vigtigste at huske:

  • Operationer på kvanteobjekter kræver oprettelse af nye logiske operatorer (kvanteporte)
  • Quantum gates kommer i enkelt-qubit og dobbelt-qubit typer.
  • Der er universelle sæt af porte, der kan bruges til at udføre enhver kvanteberegning

Forhold

En transistor er fuldstændig ubrugelig for os; for at udføre beregninger skal vi forbinde mange transistorer med hinanden, det vil sige at skabe en halvlederchip fra millioner af transistorer, som vi kan bygge logiske kredsløb på. ALU og i sidste ende få en moderne processor i sin klassiske form.

Én qubit er også fuldstændig ubrugelig for os (nå, hvis kun i akademiske termer),

for at udføre beregninger har vi brug for et system af qubits (kvanteobjekter)

som, som vi allerede har sagt, skabes ved at vikle qubits ind i hinanden, så ændringer i deres tilstande sker på en koordineret måde.

Algoritmer

De standardalgoritmer, som menneskeheden har akkumuleret til dato, er fuldstændig uegnede til implementering på en kvantecomputer. Ja, generelt er der ikke behov for det. Kvantecomputere baseret på gatelogik over qubits kræver oprettelse af helt andre algoritmer, kvantealgoritmer. Af de mest kendte kvantealgoritmer kan tre skelnes:

princip

Og den vigtigste forskel er driftsprincippet. For en standard computer er dette digitalt, strengt deterministisk princip, baseret på det faktum, at hvis vi sætter en eller anden indledende tilstand af systemet og passerer det gennem en given algoritme, så vil resultatet af beregningerne være det samme, uanset hvor mange gange vi kører denne beregning. Faktisk er denne adfærd præcis, hvad vi forventer af en computer.

Quantum computer kører på analogt, sandsynlighedsprincip. Resultatet af en given algoritme i en given begyndelsestilstand er stikprøve fra en sandsynlighedsfordeling endelige implementeringer af algoritmen plus mulige fejl.

Denne probabilistiske karakter af kvanteberegning skyldes selve den sandsynlige essens af kvanteverdenen. "Gud spiller ikke terninger med universet.", sagde gamle Einstein, men alle eksperimenter og observationer indtil videre (i det nuværende videnskabelige paradigme) bekræfter det modsatte.

Fysiske implementeringer af qubits

(til indhold)

Sådan fungerer kvantecomputere. At lægge puslespillet sammen

Som vi allerede har sagt, kan en qubit repræsenteres af et kvanteobjekt, det vil sige et fysisk objekt, der implementerer kvanteegenskaberne beskrevet ovenfor. Det vil sige, groft sagt, ethvert fysisk objekt, hvor der er to tilstande, og disse to tilstande er i en tilstand af superposition, kan bruges til at bygge en kvantecomputer.

"Hvis vi kan sætte et atom i to forskellige niveauer og kontrollere dem, så har du en qubit. Hvis vi kan gøre dette med en ion, er det en qubit. Det er det samme med strøm. Hvis vi kører det med uret og mod uret på samme tid, har du en qubit." (C)

Der er vidunderlig kommentar к artiklen, hvor den nuværende række af fysiske implementeringer af qubit overvejes mere detaljeret, vil vi blot liste de mest kendte og almindelige:

Af al denne sort er den mest udviklede den første metode til at opnå qubits baseret på superledere. Google, IBM, Intel og andre førende aktører bruger det til at bygge deres systemer.

Nå, læs mere oversigt muligt fysiske implementeringer qubits fra Andrew Daley, 2014.

Grundlæggende. Sådan fungerer en kvantecomputer

(til indhold)

Sådan fungerer kvantecomputere. At lægge puslespillet sammen

Materialer til dette afsnit (opgave og billeder) er taget fra artiklen “Bare om de svære ting. Hvordan fungerer en kvantecomputer?.

Så forestil dig, at vi har følgende opgave:

Der er en gruppe på tre personer: (A)ndrey, (B)olodya og (C)erezha. Der er to taxaer (0 og 1).

Det er også kendt, at:

  • (A)ndrey, (B)olodya er venner
  • (A)ndrey, (C)erezha er fjender
  • (B)olodya og (C)erezha er fjender

Opgave: Placer folk i taxaer, så Max (venner) и Min (fjender)

Evaluering: L = (antal venner) - (antal fjender) for hver overnatningsmulighed

VIGTIGT: Forudsat at der ikke er nogen heuristik, er der ingen optimal løsning. I dette tilfælde kan problemet kun løses ved en komplet søgning af muligheder.

Sådan fungerer kvantecomputere. At lægge puslespillet sammen

Løsning på en almindelig computer

Hvordan man løser dette problem på en almindelig (super) computer (eller klynge) - det er klart, at du skal gennemgå alle mulige muligheder. Hvis vi har et multiprocessorsystem, så kan vi parallelisere beregningen af ​​løsninger på tværs af flere processorer og derefter samle resultaterne.

Vi har 2 mulige overnatningsmuligheder (taxa 0 og taxa 1) og 3 personer. Løsningsplads 2 ^ 3 = 8. Du kan endda gå gennem 8 muligheder ved hjælp af en lommeregner, dette er ikke et problem. Lad os nu komplicere problemet - vi har 20 personer og to busser, løsningsrummet 2^20 = 1. Heller ikke noget kompliceret. Lad os øge antallet af personer med 2.5 gange - tag 50 personer og to tog, løsningsrummet er nu 2^50 = 1.12 x 10^15. En almindelig (super) computer begynder allerede at få alvorlige problemer. Lad os øge antallet af personer med 2 gange, 100 personer vil give os allerede 1.2 x 10^30 mulige muligheder.

Det er det, denne opgave kan ikke beregnes inden for en rimelig tid.

Tilslutning af en supercomputer

Den mest kraftfulde computer i øjeblikket er nummer 1 af Top500er Summit, produktivitet 122 Pflops. Lad os antage, at vi har brug for 100 operationer for at beregne én mulighed, så for at løse problemet for 100 personer, skal vi bruge:

(1.2 x 10^30 100) / 122×10^15 / (606024365) = 3 x 10^37 år.

Som vi kan se efterhånden som dimensionen af ​​de indledende data stiger, vokser løsningsrummet ifølge en magtlov, i det generelle tilfælde har vi for N bit 2^N mulige løsningsmuligheder, som for relativt små N (100) giver os et uberegnet (på det nuværende teknologiske niveau) løsningsrum.

Er der nogen alternativer? Som du måske har gættet, ja, det er der.

Men før vi kommer ind på, hvordan og hvorfor kvantecomputere effektivt kan løse problemer som disse, lad os tage et øjeblik på at opsummere, hvad de er. Sandsynlighedsfordeling. Bliv ikke forskrækket, dette er en anmeldelsesartikel, der vil ikke være nogen hård matematik her, vi nøjes med det klassiske eksempel med en taske og bolde.

Bare lidt kombinatorik, sandsynlighedsteori og en mærkelig eksperimentator

Lad os tage en pose og putte den i den 1000 hvide og 1000 sorte kugler. Vi laver et eksperiment - tag kuglen ud, skriv farven ned, læg kuglen tilbage i posen og bland kuglerne i posen.

Forsøget blev udført 10 gange, trak 10 sorte kugler ud. Måske? Temmelig. Giver denne prøve os nogen rimelig idé om den sande fordeling i posen? Tydeligvis ikke. Hvad skal der gøres - rigtigt, sgentag eksperimentet en million gange og beregn frekvenserne af sorte og hvide kugler. Vi får f.eks 49.95% sort og 50.05% hvid. I dette tilfælde er strukturen af ​​den fordeling, hvorfra vi sampler (tager en bold ud), allerede mere eller mindre klar.

Det vigtigste er at forstå det eksperimentet i sig selv har en sandsynlighedsmæssig karakter, med en prøve (bold) vil vi ikke kende den sande struktur af fordelingen, vi skal gentage eksperimentet mange gange og gennemsnit af resultaterne.

Lad os tilføje det til vores taske 10 røde og 10 grønne kugler (fejl). Lad os gentage eksperimentet 10 gange. Itrukket 5 røde og 5 grønne ud. Måske? Ja. Vi kan sige noget om den sande fordeling - Nej. Hvad skal der gøres - ja, du forstår.

For at få en forståelse af strukturen af ​​en sandsynlighedsfordeling er det nødvendigt gentagne gange at stikprøve individuelle udfald fra denne fordeling og gennemsnit af resultaterne.

Forbind teori med praksis

Lad os nu i stedet for sorte og hvide kugler tage billardkugler og lægge dem i en pose 1000 kugler med nummer 2, 1000 med nummer 7 og 10 kugler med andre tal. Lad os forestille os en eksperimentator, der er trænet i de enkleste handlinger (tag en bold frem, skriv tallet ned, læg bolden tilbage i posen, bland boldene i posen), og han gør dette på 150 mikrosekunder. Nå, sådan en eksperimentator på hastighed (ikke en medicinreklame!!!). Så på 150 sekunder vil han være i stand til at udføre vores eksperiment 1 million gange og give os de gennemsnitlige resultater.

De satte forsøgslederen ned, gav ham en pose, vendte sig væk, ventede 150 sekunder og modtog:

nummer 2 - 49.5%, nummer 7 - 49.5%, de resterende tal i alt - 1%.

Ja det er rigtigt, vores taske er en kvantecomputer med en algoritme, der løser vores problem, og kuglerne er mulige løsninger. Da der er to rigtige løsninger, altså en kvantecomputer vil give os enhver af disse mulige løsninger med samme sandsynlighed og 0.5 % (10/2000) fejl, som vi vil tale om senere.

For at opnå resultatet af en kvantecomputer skal du køre kvantealgoritmen flere gange på det samme inputdatasæt og gennemsnittet resultatet.

Skalerbarhed af en kvantecomputer

Forestil dig nu, at for en opgave, der involverer 100 personer (løsningsrum 2^100 vi husker dette), er der også kun to rigtige beslutninger. Så, hvis vi tager 100 qubits og skriver en algoritme, der beregner vores objektivfunktion (L, se ovenfor) over disse qubits, så får vi en pose, hvori der vil være 1000 bolde med nummeret på det første rigtige svar, 1000 med nummeret på det andet rigtige svar og 10 kugler med andre tal. Og inden for de samme 150 sekunder vil vores eksperimentator give os et skøn over sandsynlighedsfordelingen af ​​rigtige svar.

Udførelsestiden for en kvantealgoritme (med nogle antagelser) kan betragtes som konstant O(1) med hensyn til dimensionen af ​​løsningsrummet (2^N).

Og dette er netop egenskaben ved en kvantecomputer - køretidskonstans i forhold til den stigende magtlovskompleksitet i løsningsrummet er nøglen.

Qubit og parallelle verdener

Hvordan sker dette? Hvad gør det muligt for en kvantecomputer at udføre beregninger så hurtigt? Det hele handler om qubittens kvantenatur.

Se, vi sagde, at en qubit er som et kvanteobjekt realiserer en af ​​sine to tilstande, når de observeres, men i "vild natur" er det inde staters superpositioner, det vil sige, at den er i begge sine grænsetilstande samtidigt (med en vis sandsynlighed).

tage (A)ndreya og forestil dig dens tilstand (i hvilket køretøj den er - 0 eller 1) som en qubit. Så har vi (i kvanterummet) to parallelle verdener, i en (OG) sidder i taxa 0, i en anden verden - i taxa 1. I to taxaer på samme tid, men med en vis sandsynlighed for at finde det i hver af dem under observation.

tage (B) ung og lad os også forestille os dens tilstand som en qubit. To andre parallelle verdener opstår. Men for nu disse par af verdener (OG) и (PÅ) ikke interagere overhovedet. Hvad skal der gøres for at skabe relaterede system? Det er rigtigt, vi har brug for disse qubits binde op (forvirre). Vi tager det og forvirrer det (A) med (B) — vi får et kvantesystem på to qubits (A, B), realisere fire i sig selv indbyrdes afhængige parallelle verdener. Tilføje (S)ergey og vi får et system med tre qubits (ABC), implementering af otte indbyrdes afhængige parallelle verdener.

Essensen af ​​kvanteberegning (implementeringen af ​​en kæde af kvanteporte over et system af forbundne qubits) er det faktum, at beregningen foregår i alle parallelle verdener samtidigt.

Og det er lige meget, hvor mange af dem vi har, 2^3 eller 2^100, kvantealgoritmen vil blive eksekveret i begrænset tid over alle disse parallelle verdener og vil give os et resultat, som er en prøve fra sandsynlighedsfordelingen af ​​algoritmens svar.

For bedre forståelse kan man forestille sig det en kvantecomputer på kvanteniveau kører 2^N parallelle løsningsprocesser, som hver især arbejder på én mulig mulighed, samler derefter resultaterne af arbejdet - og giver os svaret i form af en superposition af løsningen (sandsynlighedsfordeling af svar), hvorfra vi prøver en hver gang (for hvert eksperiment).

Husk den tid, som vores eksperimentator kræver (150 µs) for at udføre eksperimentet, vil dette være nyttigt for os lidt længere, når vi taler om kvantecomputeres hovedproblemer og dekohærenstiden.

Kvantealgoritmer

(til indhold)

Sådan fungerer kvantecomputere. At lægge puslespillet sammen

Som allerede nævnt er konventionelle algoritmer baseret på binær logik ikke anvendelige på en kvantecomputer, der bruger kvantelogik (kvanteporte). For ham var det nødvendigt at komme med nye, der fuldt ud udnytter potentialet i databehandlingens kvantenatur.

De mest kendte algoritmer i dag er:

I modsætning til klassiske er kvantecomputere ikke universelle.
Kun et lille antal kvantealgoritmer er blevet fundet indtil videre.(C)

Tak oxoron for linket til Kvantealgoritme Zoo, et sted, hvor ifølge forfatteren ("Stephen Jordan"), er de bedste repræsentanter for den kvante-algoritmiske verden blevet samlet og fortsætter med at samles.

I denne artikel vil vi ikke analysere kvantealgoritmer i detaljer; der er en masse fremragende materialer på internettet for ethvert kompleksitetsniveau, men vi mangler stadig kort at gennemgå de tre mest berømte.

Shors algoritme.

(til indhold)

Den mest berømte kvantealgoritme er Shors algoritme (opfundet i 1994 af den engelske matematiker Peter Shore), som har til formål at løse problemet med at faktorisere tal til primfaktorer (faktoriseringsproblem, diskret logaritme).

Det er denne algoritme, der nævnes som eksempel, når de skriver, at dine banksystemer og adgangskoder snart bliver hacket. I betragtning af, at længden af ​​de nøgler, der bruges i dag, er ikke mindre end 2048 bit, er tiden til et cap endnu ikke kommet.

Til dato resultaterne mere end beskedent. Bedste faktoriseringsresultater med Shor's algoritme - tal 15 и 21, hvilket er meget mindre end 2048 bit. For de resterende resultater fra tabellen, en anden algoritme beregninger, men selv det bedste resultat ifølge denne algoritme (291311) er meget langt fra reel anvendelse.

Sådan fungerer kvantecomputere. At lægge puslespillet sammen

Du kan læse mere om Shors algoritme, f.eks. her. Om praktisk implementering - her.

En af de nuværende skøn kompleksitet og påkrævet kraft til at faktorisere et 2048-bit tal er en computer med 20 millioner qubits. Vi sover roligt.

Grovers algoritme

(til indhold)

Grovers algoritmekvantealgoritme at løse opregningsproblemet, det vil sige at finde en løsning på ligningen F(X) = 1, hvor F er boolesk funktion fra n variabler. Blev foreslået af en amerikansk matematiker Fishing Grover в 1996 år.

Grovers algoritme kan bruges til at finde medianer и aritmetisk middelværdi nummerserie. Derudover kan den bruges til at løse NP-komplet problemer gennem en udtømmende søgning blandt mange mulige løsninger. Dette kan medføre en betydelig hastighedsforøgelse sammenlignet med klassiske algoritmer, dog uden at give "polynomiel løsning" generelt.(C)

Du kan læse mere herEller her. Mere her Der er en god forklaring på algoritmen ved at bruge eksemplet med kasser og en bold, men desværre, af årsager uden for nogens kontrol, åbner denne side ikke for mig fra Rusland. Hvis du har dette websted er også blokeret, så her er en kort oversigt:

Grovers algoritme. Forestil dig, at du har N stykker nummererede lukkede kasser. De er alle tomme undtagen én, som indeholder en bold. Din opgave: Find ud af nummeret på boksen, hvori bolden er placeret (dette ukendte tal er ofte angivet med bogstavet w).
Sådan fungerer kvantecomputere. At lægge puslespillet sammen

Hvordan løser man dette problem? Den dummeste måde er at skiftes til at åbne kasserne, og før eller siden støder du på en kasse med en bold. Hvor mange kasser skal der i gennemsnit tjekkes, før en kasse med en bold findes? I gennemsnit skal du åbne omkring halvdelen af ​​N/2 kasser. Det vigtigste her er, at hvis vi øger antallet af kasser med 100 gange, så vil det gennemsnitlige antal kasser, der skal åbnes, før kassen med bolden findes, også stige med de samme 100 gange.

Lad os nu komme med endnu en afklaring. Lad os ikke selv åbne kasserne med vores hænder og tjekke, om der er en bold i hver, men der er en vis mellemmand, lad os kalde ham Oracle. Vi fortæller Oracle, "tjek boks nummer 732", og Oracle tjekker ærligt og svarer, "der er ingen bold i boks nummer 732." I stedet for at sige, hvor mange kasser vi i gennemsnit skal åbne, siger vi "hvor mange gange skal vi i gennemsnit gå til Oracle for at finde nummeret på boksen med bolden"

Det viser sig, at hvis vi oversætter dette problem med kasser, en bold og Oraklet til kvantesprog, får vi et bemærkelsesværdigt resultat: for at finde nummeret på en kasse med en bold blandt N kasser, skal vi kun forstyrre Oraklet omkring SQRT (N) gange!

Det vil sige, at kompleksiteten af ​​søgeopgaven ved hjælp af Grovers algoritme reduceres med kvadratroden af ​​gange.

Deutsch-Jozi algoritme

(til indhold)

Deutsch-Jozsa algoritme (også omtalt som Deutsch-Jozsa algoritme) - [kvantealgoritme](https://ru.wikipedia.org/wiki/%D0%9A%D0%B2%D0%B0%D0%BD%D1%82%D0%BE%D0%B2%D1%8B%D0%B9%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC), предложенный David Deutsch и Richard Jozsa в 1992 år, og blev et af de første eksempler på algoritmer designet til at blive eksekveret på kvantecomputere. _

Deutsch-Jozsi-problemet er at bestemme, om en funktion af flere binære variable F(x1, x2, ... xn) er konstant (tager enten værdien 0 eller 1 for alle argumenter) eller balanceret (for halvdelen af ​​domænet, det tager værdien 0, for den anden halvdel 1). I dette tilfælde anses det for at være kendt a priori, at funktionen enten er konstant eller balanceret. (C)

Du kan også læse her. En enklere forklaring:

Deutsch (Deutsch-Jozsi) algoritmen er baseret på brute force, men gør det muligt at gøre det hurtigere end normalt. Forestil dig, at der ligger en mønt på bordet, og du skal finde ud af, om den er falsk eller ej. For at gøre dette skal du se på mønten to gange og bestemme: "hoveder" og "haler" er ægte, to "hoveder", to "haler" er falske. Så hvis du bruger Deutsch kvantealgoritme, så kan denne bestemmelse foretages med et blik - måling. (C)

Problemer med kvantecomputere

(til indhold)

Sådan fungerer kvantecomputere. At lægge puslespillet sammen

Når de designer og betjener kvantecomputere, står forskere og ingeniører over for et stort antal problemer, som til dato er blevet løst med varierende grad af succes. Ifølge Exploration (og også her) følgende række problemer kan identificeres:

  • Følsomhed over for miljøet og samspil med miljøet
  • Akkumulering af fejl under beregninger
  • Vanskeligheder med initialisering af qubit-tilstande
  • Vanskeligheder med at skabe multi-qubit-systemer

Jeg kan varmt anbefale at læse artiklen "Karakteristika for kvantecomputere”, især kommentarerne til den.

Lad os organisere alle hovedproblemerne i tre store grupper og se nærmere på hver af dem:

Dekohærens

(til indhold)

Sådan fungerer kvantecomputere. At lægge puslespillet sammen

Beskrivelse fra N+1.

Kvantetilstand meget skrøbelig tingqubits i en sammenfiltret tilstand er ekstremt ustabile, enhver ekstern påvirkning kan (og gør) ødelægge denne forbindelse. En ændring i temperatur med den mindste brøkdel af en grad, tryk, en tilfældig foton, der flyver i nærheden - alt dette destabiliserer vores system.

For at løse dette problem bygges lavtemperatursarkofager, hvor temperaturen (-273.14 grader Celsius) er lidt over det absolutte nulpunkt, med maksimal isolering af det indre kammer med processoren fra alle (mulige) påvirkninger fra det eksterne miljø.

Den maksimale levetid for et kvantesystem med flere sammenfiltrede qubits, hvor det bevarer sine kvanteegenskaber og kan bruges til beregninger, kaldes dekohærenstid.

I øjeblikket er dekohærenstiden i de bedste kvanteløsninger i størrelsesordenen ti og hundreder af mikrosekunder.

Der er en vidunderlig сайтhvor du kan kigge sammenligningstabeller af parametre af alle skabte kvantesystemer. Denne artikel indeholder kun to topprocessorer som eksempler - fra IBM IBM Q System One og fra Google Sycamore. Som vi kan se, overstiger dekohærenstiden (T2) ikke 200 μs.

Jeg fandt ikke nøjagtige data om Sycamore, men i de fleste artikel om kvanteoverherredømme to tal er givet - 1 million beregninger på 200 sekunder, andetsteds - for 130 sekunder uden tab af styresignaler mv.. Det giver os i hvert fald dekohærenstiden er omkring 150 μs. Husk vores eksperimentator med en taske? Nå, her er han.

computer Navn N Qubits Max parret T2 (µs)
IBM Q System One 20 6 70
Google Sycamore 53 4 ~ 150-200

Hvad truer dekohærensen os med?

Hovedproblemet er, at efter 150 μs vil vores computersystem med N sammenfiltrede qubits begynde at udsende sandsynlig hvid støj i stedet for en sandsynlighedsfordeling af korrekte løsninger.

Det vil sige, vi har brug for:

  • Initialiser qubit-systemet
  • Udfør en beregning (kæde af portoperationer)
  • Læs resultat

Og gør alt dette på 150 mikrosekunder. Jeg havde ikke tid - resultatet blev til et græskar.

Men det er ikke alt…

Fejl

(til indhold)

Sådan fungerer kvantecomputere. At lægge puslespillet sammen

Som vi sagde, kvanteprocesser og kvanteberegning er af sandsynlighed, vi kan ikke være 100% sikre på noget, men kun med en vis sandsynlighed. Situationen forværres yderligere af, at kvanteberegning er tilbøjelig til fejl. De vigtigste typer af fejl i kvanteberegning er:

  • Dekohærensfejl er forårsaget af systemets kompleksitet og interaktion med det eksterne miljø
  • Gateberegningsfejl (på grund af beregningens kvantekarakter)
  • Fejl ved læsning af den endelige tilstand (resultat)

Fejl forbundet med dekohærens, vises, så snart vi vikler vores qubits ind og begynder at lave beregninger. Jo flere qubits vi sammenfiltrer, jo mere komplekst er systemet, og jo nemmere er det at ødelægge det. Lavtemperatursarkofager, beskyttede kamre, alle disse teknologiske tricks er netop rettet mod at reducere antallet af fejl og forlænge dekohærenstiden.

Gateberegningsfejl - enhver operation (gate) på qubits kan med en vis sandsynlighed ende med en fejl, og for at implementere algoritmen skal vi udføre hundredvis af gates, så forestil dig hvad vi får i slutningen af ​​udførelsen af ​​vores algoritme. Det klassiske svar på spørgsmålet er "Hvad er sandsynligheden for at møde en dinosaur i en elevator?" - 50x50, enten møder du eller ej.

Problemet forværres yderligere af det faktum, at standardfejlkorrektionsmetoder (duplikering af beregninger og gennemsnit) ikke virker i kvanteverdenen på grund af ikke-kloningssætningen. Til fejlretning inden for kvantecomputere skulle opfindes kvantekorrektionsmetoder. Groft sagt tager vi N almindelige qubits og laver 1 af dem logisk qubit med en lavere fejlprocent.

Men her opstår et andet problem - det samlede antal qubits. Se, lad os sige, at vi har en processor med 100 qubits, hvoraf 80 qubits bruges til fejlkorrektion, så har vi kun 20 tilbage til beregninger.

Fejl ved læsning af det endelige resultat - som vi husker, præsenteres resultatet af kvanteberegninger for os i formularen sandsynlighedsfordeling af svar. Men at læse den endelige tilstand kan også mislykkes med en fejl.

På det samme Online Der er sammenligningstabeller over processorer efter fejlniveauer. Til sammenligning, lad os tage de samme processorer som i det foregående eksempel - IBM IBM Q System One и Google Sycamore:

Computer 1-Qubit Gate Fidelity 2-Qubit Gate Fidelity Aflæsning Fidelity
IBM Q System One 99.96 % 98.31 %
Google Sycamore 99.84 % 99.38 % 96.2 %

Her Troskab er et mål for ligheden mellem to kvantetilstande. Størrelsen af ​​fejlen kan groft udtrykkes som 1-Fidelity. Som vi kan se, er fejl på 2-qubit-gates og udlæsningsfejl den største hindring for at udføre komplekse og lange algoritmer på eksisterende kvantecomputere.

Du kan også læse køreplan fra 2016 år fra NQIT for at løse problemet med fejlretning.

Processor arkitektur

(til indhold)

Sådan fungerer kvantecomputere. At lægge puslespillet sammen

I teorien bygger og driver vi kredsløb af snesevis af sammenfiltrede qubits, i virkeligheden er alt mere kompliceret. Alle eksisterende kvantechips (processorer) er bygget på en sådan måde, at de yder smertefrit sammenfiltring af kun én qubit med sine naboer, hvoraf der ikke er mere end seks.

Hvis vi skal sammenfiltre den 1. qubit, f.eks. med den 12., så bliver vi nødt til opbygge en kæde af yderligere kvanteoperationer, involverer yderligere qubits osv., hvilket øger det samlede fejlniveau. Ja, og glem det ikke dekohærens tid, måske når du er færdig med at forbinde qubits til det kredsløb, du har brug for, vil tiden ende, og hele kredsløbet bliver til flot hvid støjgenerator.

Glem heller ikke det Arkitekturen af ​​alle kvanteprocessorer er forskellig, og programmet skrevet i emulatoren i tilstanden "alt-til-alle-forbindelse" skal "genkompileres" til arkitekturen af ​​en specifik chip. Der er endda særlige optimeringsprogrammer for at udføre denne operation.

Maksimal tilslutning og maksimalt antal qubits for de samme topchips:

computer Navn N Qubits Max parret T2 (µs)
IBM Q System One 20 6 70
Google Sycamore 53 4 ~ 150-200

Og til sammenligning, tabel med data fra den tidligere generation af processorer. Sammenlign antallet af qubits, dekohærenstid og fejlrate med det, vi har nu med den nye generation. Alligevel går fremskridtene langsomt, men bevæger sig.

Sådan fungerer kvantecomputere. At lægge puslespillet sammen

So:

  • Der er i øjeblikket ingen fuldt forbundne arkitekturer med > 6 qubits
  • For at sammenfiltre qubit 0 s på en rigtig processor, for eksempel, kan qubit 15 kræve flere dusin ekstra operationer
  • Flere operationer -> flere fejl -> stærkere indflydelse af dekohærens

Resultaterne af

(til indhold)

Dekohærens er den prokrusteske seng af moderne kvantecomputere. Vi skal passe alt ind i 150 μs:

  • Initialisering af starttilstanden af ​​qubits
  • Beregning af et problem ved hjælp af kvanteporte
  • Ret fejl for at få meningsfulde resultater
  • Læs resultatet

Indtil videre er resultaterne dog skuffende her hævder at opnå 0.5s kohærens retentionstid på en kvantecomputer baseret på ionfælder:

Vi måler en qubit kohærens tid på over 0.5 s, og med magnetisk afskærmning forventer vi, at denne forbedres til at være længere end 1000 s

Du kan også læse om denne teknologi her eller for eksempel her.

Situationen kompliceres yderligere af, at det ved udførelse af komplekse beregninger er nødvendigt at bruge kvantefejlkorrektionskredsløb, som også æder både tid og tilgængelige qubits.

Og endelig tillader moderne arkitekturer ikke implementering af sammenfiltringsordninger bedre end 1 ud af 4 eller 1 ud af 6 til minimale omkostninger.

Måder at løse problemer på

(til indhold)

For at løse ovenstående problemer anvendes følgende tilgange og metoder i øjeblikket:

  • Brug af kryokamre med lave temperaturer (10 mK (–273,14°C))
  • Brug af processorenheder, der er maksimalt beskyttet mod ydre påvirkninger
  • Brug af Quantum Error Correction Systems (Logic Qubit)
  • Brug af optimizere ved programmering af kredsløb til en specifik processor

Der udføres også forskning med det formål at øge dekohærenstiden, søge efter nye (og forbedre kendte) fysiske implementeringer af kvanteobjekter, optimere korrektionskredsløb osv. osv. Der er fremskridt (se ovenfor på karakteristikaene for tidligere og nutidens top-end chips), men indtil videre er det langsomt, meget, meget langsomt.

D-Wave

(til indhold)

Sådan fungerer kvantecomputere. At lægge puslespillet sammen

D-Wave 2000Q 2000-qubit computer. Kilde: D-Wave Systems

Midt i Googles meddelelse om at opnå kvanteoverherredømme ved hjælp af en 53-qubit-processor, computere и meddelelser fra firmaet D-Wave, hvor antallet af qubits er i tusindvis, er noget forvirrende. Tja, virkelig, hvis 53 qubits var i stand til at opnå kvanteoverherredømme, hvad er så en computer med 2048 qubits i stand til? Men ikke alt er så godt...

Kort sagt (taget fra wikien):

Computere D-Wave arbejde efter princippet kvanteafslapning (kvanteudglødning), kan løse en meget begrænset underklasse af optimeringsproblemer og er ikke egnet til at implementere traditionelle kvantealgoritmer og kvanteporte.

For flere detaljer kan du læse f.eks. her, her (forsigtig, må ikke åbne fra Rusland), eller Scott Aaronson в artiklen fra hans blogindlæg. Jeg kan i øvrigt varmt anbefale at læse hans blog generelt, der er en masse godt materiale der

Generelt havde det videnskabelige samfund helt fra begyndelsen af ​​meddelelserne spørgsmål om D-Wave-computere. For eksempel satte IBM i 2014 spørgsmålstegn ved, at D-Wave bruger kvanteeffekter. Det nåede dertil, at Google i 2015 sammen med NASA købte en af ​​disse kvantecomputere og efter forskning bekræftet, at ja, computeren virker og beregner problemet hurtigere end en almindelig. Du kan læse mere om Googles udtalelse her og f.eks. her.

Det vigtigste er, at D-Wave-computere med deres hundreder og tusinder af qubits ikke kan bruges til at beregne og køre kvantealgoritmer. Du kan for eksempel ikke køre Shors algoritme på dem. Alt de kan gøre er at bruge bestemte kvantemekanismer til at løse et bestemt optimeringsproblem. Vi kan overveje, at D-Wave er en kvante-ASIC til en specifik opgave.

Lidt om kvantecomputeremulering

(til indhold)

Sådan fungerer kvantecomputere. At lægge puslespillet sammen

Quantum computing kan emuleres på en almindelig computer. Ja, se:

  • Tilstanden af ​​qubit kan være indsende komplekst tal, optager fra 2x32 til 2x64 bit (8-16 bytes) afhængigt af processorarkitekturen
  • Tilstanden af ​​N forbundne qubits kan repræsenteres som 2^N komplekse tal, dvs. 2^(3+N) for 32-bit arkitektur og 2^(4+N) for 64-bit.
  • En kvanteoperation på N qubits kan repræsenteres af en 2^N x 2^N matrix

Derefter:

  • For at gemme de emulerede tilstande på 10 qubits kræves 8 KB
  • For at gemme tilstandene på 20 qubits skal du bruge 8 MB
  • For at gemme tilstandene på 30 qubits er der brug for 8 GB
  • 40 Terabyte er nødvendige for at gemme tilstandene på 8 qubits
  • For at gemme tilstandene på 50 qubits er der brug for 8 Petabytes osv.

(C)

Til sammenligning, Summit (Top-1 fra Top-500) bærer kun 2.8 Petabyte hukommelse.

Aktuel simuleringsrekord — 49 qubit leveret sidste år til den største kinesiske supercomputer (Sunway Taihu Light)

Grænsen for at simulere en kvantecomputer på klassiske systemer bestemmes af mængden af ​​RAM, der kræves for at lagre tilstanden af ​​qubits.

Jeg anbefaler også at læse denne kommentar. Derfra:

Ved drift - til nøjagtig emulering af et 49-qubit-kredsløb bestående af omkring 39 "cyklusser" (uafhængige lag af porte) det tog 2^63 komplekse multiplikationer - 4 Pflops af en supercomputer i 4 timer

At emulere en 50+ qubit kvantecomputer på klassiske systemer anses for umuligt inden for rimelig tid. Dette er også grunden til, at Google brugte en 53-qubit-processor til sit kvanteoverherredømme-eksperiment.

Kvantecomputere overherredømme.

(til indhold)

Sådan fungerer kvantecomputere. At lægge puslespillet sammen

Wikipedia giver os følgende definition af kvanteberegningsoverherredømme:

Kvanteoverherredømme - evne kvanteberegning enheder til at løse problemer, som klassiske computere praktisk talt ikke kan løse.

Faktisk betyder opnåelse af kvanteoverherredømme, at for eksempel faktorisering af store tal ved hjælp af Shor-algoritmen kan løses i passende tid, eller komplekse kemiske molekyler kan emuleres på kvanteniveau, og så videre. Det vil sige, at en ny æra er kommet.

Men der er et smuthul i formuleringen af ​​definitionen, "som klassiske computere praktisk talt ikke kan løse" Faktisk betyder dette, at hvis du opretter en kvantecomputer på 50+ qubits og kører et kvantekredsløb på den, så, som vi diskuterede ovenfor, kan resultatet af dette kredsløb ikke emuleres på en almindelig computer. Det er en klassisk computer vil ikke være i stand til at genskabe resultatet af et sådant kredsløb.

Hvorvidt et sådant resultat udgør reel kvanteoverherredømme eller ej, er snarere et filosofisk spørgsmål. Men forstå, hvad Google gjorde, og hvad det er baseret på annoncerede for nylig, at den havde opnået kvanteoverlegenhed med sin nye Sycamore-processor nødvendig.

Googles Quantum Supremacy Statement

(til indhold)

Sådan fungerer kvantecomputere. At lægge puslespillet sammen
Sycamore 54-qubit processor

Så i oktober 2019 offentliggjorde Google-udviklere en artikel i den videnskabelige publikation Nature "Kvanteoverlegenhed ved hjælp af en programmerbar superledende processor" Forfatterne annoncerede opnåelsen af ​​kvanteoverherredømme for første gang i historien ved hjælp af 54-qubit Sycamore-processoren.

Sycamore-artikler online refererer ofte til enten en 54-qubit-processor eller en 53-qubit-processor. Sandheden er, at iflg original artikel, processoren består fysisk af 54 qubits, men en af ​​dem virker ikke og er taget ud af drift. Således har vi i virkeligheden en 53-qubit processor.

På nettet lige der dukkede op mange materialer om dette emne, hvis grad varierede fra entusiastisk til skeptisk.

IBM's kvantecomputerteam udtalte det senere Google har fejlagtigt rapporteret at opnå Quantum Supremacy. Virksomheden hævder, at en konventionel computer vil klare denne opgave i værste fald på 2,5 dage, og det resulterende svar vil være mere præcist end en kvantecomputers. Denne konklusion er lavet på baggrund af resultaterne af en teoretisk analyse af flere optimeringsmetoder.

Og selvfølgelig, Scott Aaronson i hans blogindlæg Jeg kunne ikke ignorere denne udtalelse. Hans анализ sammen med alle links og Scott's Supreme Quantum Supremacy FAQ! som sædvanligt er de værd at bruge din tid på. På navet der er en oversættelse denne FAQ, og sørg for at læse kommentarerne, der er links til foreløbige dokumenter, der blev lækket online før den officielle meddelelse.

Hvad gjorde Google egentlig? For en detaljeret forståelse, læs Aaronson, men kort her:

Det kan jeg selvfølgelig fortælle dig, men jeg føler mig ret dum. Beregningen er som følger: Eksperimentatoren genererer et tilfældigt kvantekredsløb C (dvs. en tilfældig sekvens af 1-qubit og 2-qubit porte mellem nærmeste naboer, med en dybde på for eksempel 20, der virker på et 2D-netværk på n = 50-60 qubits). Eksperimentatoren sender derefter C til kvantecomputeren og beder den om at anvende C til en begyndelsestilstand på 0, måle resultatet i {0,1}-basis, sende en n-bit observeret sekvens (streng) tilbage og gentage flere tusind eller millioner af gange. Til sidst, ved hjælp af sin viden om C, udfører forsøgslederen en statistisk test for at se, om resultatet matcher det forventede output fra kvantecomputeren.

Sådan fungerer kvantecomputere. At lægge puslespillet sammen

Meget kort:

  • Et tilfældigt kredsløb med længde 20 på 53 qubits skabes ved hjælp af porte
  • Kredsløbet starter med starttilstanden [0...0] til udførelse
  • Udgangen af ​​kredsløbet er en tilfældig bitstreng (prøve)
  • Fordelingen af ​​resultatet er ikke tilfældig (interferens)
  • Fordelingen af ​​de opnåede prøver sammenlignes med den forventede
  • Afslutter Quantum Supremacy

Det vil sige, at Google implementerede et syntetisk problem på en 53-qubit-processor og baserer sin påstand om at opnå kvanteoverherredømme på, at det er umuligt at efterligne en sådan processor på standardsystemer inden for rimelig tid.

For at forstå - Denne sektion formindsker ikke på nogen måde Googles præstation, ingeniørerne er virkelig fantastiske, og spørgsmålet om, hvorvidt dette kan betragtes som ægte kvanteoverlegenhed eller ej, er som tidligere nævnt mere filosofisk end ingeniørkunst. Men vi må forstå, at efter at have opnået en sådan beregningsmæssig overlegenhed, er vi ikke gået et skridt frem mod evnen til at køre Shors algoritme på 2048-bit tal.

Resumé

(til indhold)
Sådan fungerer kvantecomputere. At lægge puslespillet sammen

Kvantecomputere og kvantecomputere er et meget lovende, meget ungt og indtil videre lidt industrielt anvendeligt område inden for informationsteknologi.

Udviklingen af ​​kvanteberegning vil (en dag) give os mulighed for at løse problemer:

  • Modellering af komplekse fysiske systemer på kvanteniveau
  • Uløselig på en almindelig computer på grund af beregningsmæssig kompleksitet

De vigtigste problemer med at skabe og betjene kvantecomputere:

  • Dekohærens
  • Fejl (dekohærens og gate)
  • Processorarkitektur (fuldt tilsluttede qubit-kredsløb)

Aktuel tilstand:

  • Faktisk - selve begyndelsen F & U.
  • Der er endnu ingen RIGTIG kommerciel udnyttelse (og det er uklart, hvornår det vil være)

Hvad kan hjælpe:

  • En form for fysisk opdagelse, der reducerer omkostningerne til ledninger og drift af processorer
  • At opdage noget, der vil øge dekohærenstiden med en størrelsesorden og/eller reducere fejl

Efter min mening (rent personlig mening), I det nuværende videnskabelige paradigme for viden vil vi ikke opnå væsentlig succes i udviklingen af ​​kvanteteknologier, her har vi brug for et kvalitativt gennembrud inden for et eller andet område af grundlæggende eller anvendt videnskab, som vil sætte gang i nye ideer og metoder.

I mellemtiden får vi erfaring med kvanteprogrammering, indsamling og skabelse af kvantealgoritmer, test af ideer osv. osv. Vi venter på et gennembrud.

Konklusion

(til indhold)

I denne artikel gennemgik vi de vigtigste milepæle i udviklingen af ​​kvantecomputere og kvantecomputere, undersøgte princippet for deres drift, undersøgte de vigtigste problemer, som ingeniører står over for i udvikling og drift af kvanteprocessorer, og så også på, hvad multi-qubit Det er D-computere faktisk. Wave og Googles nylige meddelelse om at opnå kvanteoverherredømme.

Tilbage bag kulisserne er spørgsmål om programmering af kvantecomputere (sprog, tilgange, metoder osv.) og spørgsmål relateret til den specifikke fysiske implementering af processorer, hvordan qubits administreres, linkes, læses mv. Måske bliver dette emnet for den eller de næste artikler.

Tak for din opmærksomhed, jeg håber, at denne artikel vil være nyttig for nogen.

(C) Kruegger

Tak

(til indhold)

Sådan fungerer kvantecomputere. At lægge puslespillet sammen

@Oxoron til korrekturlæsning og kommentarer til kildeteksten, samt til artiklen "Karakteristika ved kvantecomputere"

@a5b for informationsrige kommentarer vedr "Karakteristika ved kvantecomputere", og ikke kun til hende, hvilket i høj grad hjalp mig med at finde ud af dette puslespil.

Til alle forfattere af artikler og publikationer, hvis materiale blev brugt til at skrive denne artikel.

Liste over ressourcer

(til indhold)

Sådan fungerer kvantecomputere. At lægge puslespillet sammen

Aktuelle artikler fra [The National Academies Press]

http://cs.brown.edu/courses/csci1800/sources/2018_NAE_QuantumComputing_ProgressAndProspects.pdf
https://www.nap.edu/catalog/25196/quantum-computing-progress-and-prospects

Artikler fra Habr (i tilfældig rækkefølge)

https://habr.com/ru/post/458450/
https://habr.com/ru/post/401315/
https://habr.com/ru/post/458134/
https://habr.com/ru/post/246483/
https://habr.com/ru/post/95428/
https://habr.com/ru/post/387761/
https://habr.com/ru/post/468911/
https://habr.com/ru/post/435560/
https://habr.com/ru/post/316810/
https://habr.com/ru/company/microsoft/blog/351624/
https://habr.com/ru/company/microsoft/blog/351628/
https://habr.com/ru/company/ua-hosting/blog/377533/
https://habr.com/ru/company/acronis/blog/455559/
https://habr.com/ru/company/yandex/blog/332106/
https://habr.com/ru/company/mailru/blog/350208/
https://habr.com/ru/company/mailru/blog/476444/
https://habr.com/ru/company/misis/blog/470445/
https://habr.com/ru/company/it-grad/blog/452424/
https://habr.com/ru/company/piter/blog/450480/

Usorterede (men ikke mindre interessante) artikler fra internettet

http://homepages.spa.umn.edu/~duplij/publications/Duplij-Shapoval_TOPOLOGICAL-QUANTUM-COMPUTERS.pdf
https://quantum.country/qcvc
http://extremal-mechanics.org/wp-content/uploads/2015/07/RIFFEL.pdf
https://thecode.media/quantum/
https://naked-science.ru/article/nakedscience/quantum-computers
https://ru.ihodl.com/technologies/2018-10-29/prosto-o-slozhnom-kak-rabotaet-kvantovyj-kompyuter/
https://pikabu.ru/story/chto_takoe_kvantovyiy_kompyuter_5204054
https://nplus1.ru/search?q=%D0%9A%D0%B2%D0%B0%D0%BD%D1%82%D0%BE%D0%B2%D0%B0%D1%8F+%D0%B0%D0%B7%D0%B1%D1%83%D0%BA%D0%B0
https://www.scottaaronson.com/blog/?p=4372
https://ru.wikipedia.org/wiki/%D0%9A%D0%B2%D0%B0%D0%BD%D1%82%D0%BE%D0%B2%D1%8B%D0%B9_%D0%BA%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80
https://quantumcomputingreport.com/scorecards/qubit-quality/
https://quantumcomputing.stackexchange.com/questions/2499/is-quantum-computing-just-pie-in-the-sky
https://quantumcomputing.stackexchange.com/questions/1289/how-does-a-quantum-computer-do-basic-math-at-the-hardware-level
https://www.extremetech.com/extreme/284306-how-quantum-computing-works
https://techno.nv.ua/it-industry/chto-takoe-kvantovyy-kompyuter-i-kvantovoe-prevoshodstvo-google-protiv-ibm-50049940.html
https://www.nature.com/articles/s41586-019-1666-5?utm_source=commission_junction&utm_medium=affiliate
https://petrimazepa.com/nemnogo_o_kvantovykh_kompyuterakh
https://www.forbes.ru/tehnologii/371669-ibm-protiv-d-wave-nastupila-li-era-kvantovyh-kompyuterov

Kurser og foredrag

https://www.coursera.org/learn/kvantovyye-vychisleniya
https://www.youtube.com/watch?v=uPw9nkJAwDY&amp=&index=4&amp=&t=0s
https://courses.edx.org/courses/BerkeleyX/CS191x/2013_Spring/course/#
https://www.youtube.com/watch?v=xLfFWXUNJ_I&list=PLnbH8YQPwKbnofSQkZE05PKzPXzbDCVXv
https://cs269q.stanford.edu/syllabus.html
https://quantum-computing.ibm.com/support/guides/user-guide?section=5dcb2b45330e880045abccb0
https://gitlab.com/qkitchen/basics-of-quantum-computing

Kilde: www.habr.com

Tilføj en kommentar