Hvordan kvantedatamaskiner fungerer. Å legge puslespillet

Hvordan kvantedatamaskiner fungerer. Å legge puslespillet

Kvantedatamaskiner og kvantedatabehandling – nytt buzzword, som ble lagt til informasjonsområdet vårt sammen med kunstig intelligens, maskinlæring og andre høyteknologiske termer. Samtidig klarte jeg aldri å finne materiale på Internett som ville sette sammen puslespillet i hodet mitt kalt "hvordan kvantedatamaskiner fungerer". Ja, det er mange utmerkede verk, inkludert på Habr (se. Liste over ressurser), kommentarer som, som vanligvis er tilfellet, er enda mer informative og nyttige, men bildet i hodet mitt, som de sier, stemte ikke.

Og nylig kom kollegene mine bort til meg og spurte: «Forstår du hvordan en kvantedatamaskin fungerer? Kan du fortelle oss?" Og så innså jeg at jeg ikke er den eneste som har problemer med å sette sammen et sammenhengende bilde i hodet mitt.

Som et resultat ble det gjort et forsøk på å kompilere informasjon om kvantedatamaskiner til en konsistent logisk krets der grunnleggende nivå, uten dyp fordypning i matematikk og strukturen til kvanteverdenen, ble det forklart hva en kvantedatamaskin er, hvilke prinsipper den opererer etter, og hvilke problemer forskere møter når de lager og betjener den.


innholdsfortegnelsen

Ansvarsfraskrivelse

(til innhold)

Forfatteren er ikke ekspert på kvanteberegning, og Målgruppen for artikkelen er de samme IT-folkene, ikke kvantespesialister, som også ønsker å sette sammen et bilde i hodet kalt "Hvordan kvantedatamaskiner fungerer." På grunn av dette er mange konsepter i artikkelen bevisst forenklet for bedre å forstå kvanteteknologier på et "grunnleggende" nivå, men uten en meget sterk forenkling med tap av informasjonsinnhold og tilstrekkelighet.

Artikkelen bruker noen steder materialer fra andre kilder, en liste over disse er gitt på slutten av artikkelen. Der det er mulig, legges det inn direkte lenker og indikasjoner til den originale teksten, tabellen eller figuren. Hvis jeg har glemt noe (eller noen) et sted, skriv så retter jeg det.

Innledning

(til innhold)

I dette kapittelet vil vi kort se på hvordan kvanteæraen begynte, hva var den motiverende årsaken til ideen om en kvantedatamaskin, hvem (hvilke land og selskaper) for tiden er de ledende aktørene på dette feltet, og også kort snakke om hovedretningene for utvikling av kvanteberegning.

Hvordan det hele begynte

(til innhold)

Hvordan kvantedatamaskiner fungerer. Å legge puslespillet

Utgangspunktet for kvantetiden regnes for å være 1900, da M. Planck først fremsatte hypotese at energi slippes ut og absorberes ikke kontinuerlig, men i separate kvanter (porsjoner). Ideen ble plukket opp og utviklet av mange fremragende forskere på den tiden - Bohr, Einstein, Heisenberg, Schrödinger, som til slutt førte til opprettelsen og utviklingen av en slik vitenskap som kvantefysikken. Det er mye godt materiale på Internett om dannelsen av kvantefysikk som vitenskap; i denne artikkelen vil vi ikke dvele ved dette i detalj, men det var nødvendig å angi datoen da vi gikk inn i den nye kvanteæraen.

Kvantefysikk har brakt mange oppfinnelser og teknologier inn i hverdagen vår, uten hvilke det nå er vanskelig å forestille seg verden rundt oss. For eksempel en laser, som nå brukes overalt, fra husholdningsapparater (lasernivåer osv.) til høyteknologiske systemer (lasere for synskorreksjon, hei meklon ). Det ville være logisk å anta at noen før eller siden vil komme på ideen om hvorfor ikke bruke kvantesystemer for databehandling. Og så i 1980 skjedde det.

Wikipedia indikerer at den første ideen om kvanteberegning ble uttrykt i 1980 av vår vitenskapsmann Yuri Manin. Men de begynte virkelig å snakke om det først i 1981, da den velkjente R. Feynman foredrag på den første Computational Physics Conference holdt ved MIT, bemerket at det er umulig å simulere utviklingen av et kvantesystem på en klassisk datamaskin på en effektiv måte. Han foreslo en elementær modell kvantedatamaskin, som vil kunne utføre slik modellering.

Det er en det er jobbenhvori tidslinje for utvikling av kvantedatabehandling vurderes mer akademisk og i detalj, men vi skal kort gå gjennom:

Viktige milepæler i historien om å lage kvantedatamaskiner:

Som du kan se, har det gått 17 år (fra 1981 til 1998) fra ideen til den første implementeringen i en datamaskin med 2 qubits, og 21 år (fra 1998 til 2019) til antallet qubits økte til 53. Det tok 11 år (fra 2001 til 2012) å forbedre resultatet av Shors algoritme (vi skal se nærmere på det litt senere) fra tallet 15 til 21. For bare tre år siden kom vi til punktet implementere det Feynman snakket om, og lære å modellere de enkleste fysiske systemene.

Utviklingen av kvanteberegning går sakte. Forskere og ingeniører står overfor svært vanskelige oppgaver, kvantetilstander er svært kortvarige og skjøre, og for å bevare dem lenge nok til å utføre beregninger, må de bygge sarkofager for titalls millioner dollar, der temperaturen opprettholdes. like over absolutt null, og som er maksimalt beskyttet mot ytre påvirkninger. Deretter vil vi snakke om disse oppgavene og problemene mer detaljert.

Ledende spillere

(til innhold)

Hvordan kvantedatamaskiner fungerer. Å legge puslespillet

Lysbildene for denne delen er hentet fra artikkelen Kvantedatamaskin: et stort okseløp. Forelesning i Yandex, fra forsker Russisk kvantesenter Alexey Fedorov. La meg gi deg direkte sitater:

Alle teknologisk vellykkede land utvikler for tiden aktivt kvanteteknologier. En enorm sum penger blir investert i denne forskningen, og spesielle programmer for å støtte kvanteteknologier blir opprettet.

Hvordan kvantedatamaskiner fungerer. Å legge puslespillet

Ikke bare stater, men også private selskaper deltar i kvanteløpet. Totalt har Google, IBM, Intel og Microsoft nylig investert rundt 0,5 milliarder dollar i utviklingen av kvantedatamaskiner og laget store laboratorier og forskningssentre.
Hvordan kvantedatamaskiner fungerer. Å legge puslespillet

Det finnes mange artikler om Habré og på Internett, f.eks. her, her и her, der den nåværende tilstanden med utviklingen av kvanteteknologier i forskjellige land undersøkes mer detaljert. Hovedsaken for oss nå er at alle ledende teknologisk utviklede land og aktører investerer enorme mengder penger i forskning i denne retningen, noe som gir håp om en vei ut av dagens teknologiske blindgate.

Utviklingsretninger

(til innhold)

Hvordan kvantedatamaskiner fungerer. Å legge puslespillet

For øyeblikket (jeg kan ta feil, vennligst korriger meg), er hovedinnsatsen (og mer eller mindre betydelige resultater) til alle ledende spillere konsentrert om to områder:

  • Spesialiserte kvantedatamaskiner, som er rettet mot å løse ett spesifikt problem, for eksempel et optimaliseringsproblem. Et eksempel på et produkt er D-Wave kvantedatamaskiner.
  • Universelle kvantedatamaskiner - som er i stand til å implementere vilkårlige kvantealgoritmer (Shor, Grover, etc.). Implementeringer fra IBM, Google.

Andre utviklingsvektorer som kvantefysikk gir oss, for eksempel:

Det er selvfølgelig også på listen over forskningsområder, men foreløpig ser det ikke ut til å være mer eller mindre signifikante resultater.

I tillegg kan du lese veikart for utvikling av kvanteteknologier, vel, google "utvikling av kvanteteknologier", For eksempel, her, her и her.

Grunnleggende. Kvanteobjekt og kvantesystemer

(til innhold)

Hvordan kvantedatamaskiner fungerer. Å legge puslespillet

Det viktigste å forstå fra denne delen er det

Kvantedatamaskin (i motsetning til vanlig) bruk som informasjonsbærere kvanteobjekter, og for å utføre beregninger må kvanteobjekter kobles inn kvantesystem.

Hva er et kvanteobjekt?

Kvanteobjekt - et objekt fra mikroverdenen (kvanteverdenen) som viser kvanteegenskaper:

  • Har en definert tilstand med to grensenivåer
  • Er i en superposisjon av sin tilstand frem til måleøyeblikket
  • Vikler seg sammen med andre objekter for å lage kvantesystemer
  • Tilfredsstiller ikke-kloningsteoremet (et objekts tilstand kan ikke kopieres)

La oss se på hver eiendom mer detaljert:

Har en definert tilstand med to grensenivåer (slutttilstand)

Et klassisk eksempel fra den virkelige verden er en mynt. Den har en "side"-tilstand, som tar på to grensenivåer - "hoder" og "haler".

Er i en superposisjon av sin tilstand frem til måleøyeblikket

De kastet en mynt, den flyr og snurrer. Mens den roterer, er det umulig å si i hvilket av grensenivåene dens "side"-tilstand er plassert. Men så snart vi slår det ned og ser på resultatet, kollapser superposisjonen av stater umiddelbart til en av to grensetilstander - "hoder" og "haler". Å slå en mynt i vårt tilfelle er en måling.

Vikler seg sammen med andre objekter for å lage kvantesystemer

Det er vanskelig med en mynt, men la oss prøve. Tenk deg at vi kastet tre mynter slik at de roterer klamrende til hverandre, dette er å sjonglere med mynter. I hvert øyeblikk av tiden er ikke bare hver av dem i en superposisjon av stater, men disse statene påvirker hverandre gjensidig (myntene kolliderer).

Tilfredsstiller ikke-kloningsteoremet (et objekts tilstand kan ikke kopieres)

Mens myntene flyr og spinner, er det ingen måte vi kan lage en kopi av spinnetilstanden til noen av myntene, atskilt fra systemet. Systemet lever i seg selv og er veldig sjalu på å gi ut informasjon til omverdenen.

Noen flere ord om selve konseptet "superposisjoner", i nesten alle artikler er superposisjon forklart som "er i alle stater samtidig", noe som selvfølgelig er sant, men til tider unødvendig forvirrende. En superposisjon av tilstander kan også tenkes som det faktum at et kvanteobjekt i hvert øyeblikk har det er visse sannsynligheter for å kollapse inn i hvert av grensenivåene, og totalt er disse sannsynlighetene naturlig lik 1. Senere, når vi vurderer qubiten, vil vi dvele ved dette mer detaljert.

For mynter kan dette visualiseres - avhengig av starthastigheten, kastevinkelen, tilstanden til miljøet som mynten flyr i, i hvert øyeblikk er sannsynligheten for å få "hoder" eller "haler" forskjellig. Og, som nevnt tidligere, kan tilstanden til en slik flygende mynt tenkes som "å være i alle dens grensetilstander samtidig, men med forskjellige sannsynligheter for implementering."

Ethvert objekt som de ovennevnte egenskapene er oppfylt for og som vi kan lage og kontrollere kan brukes som en informasjonsbærer i en kvantedatamaskin.

Litt lenger vil vi snakke om den nåværende tilstanden med den fysiske implementeringen av qubits som kvanteobjekter, og hva forskere nå bruker i denne egenskapen.

Så den tredje egenskapen sier at kvanteobjekter kan bli viklet inn for å lage kvantesystemer. Hva er et kvantesystem?

Kvantesystem – et system av sammenfiltrede kvanteobjekter med følgende egenskaper:

  • Et kvantesystem er i en superposisjon av alle mulige tilstander av objektene det består av
  • Det er umulig å vite systemets tilstand før måleøyeblikket
  • I måleøyeblikket implementerer systemet en av de mulige variantene av grensetilstandene

(og ser litt fremover)

Følge for kvanteprogrammer:

  • Et kvanteprogram har en gitt tilstand av systemet ved inngangen, en superposisjon inne, en superposisjon ved utgangen
  • Ved utgangen av programmet etter måling har vi en probabilistisk implementering av en av de mulige slutttilstandene til systemet (pluss mulige feil)
  • Ethvert kvanteprogram har en skorsteinsarkitektur (inngang -> utgang. Det er ingen løkker, du kan ikke se tilstanden til systemet midt i prosessen.)

Sammenligning av en kvantedatamaskin og en konvensjonell

(til innhold)

Hvordan kvantedatamaskiner fungerer. Å legge puslespillet

La oss nå sammenligne en konvensjonell datamaskin og en kvantemaskin.

vanlig datamaskin Kvantedatamaskin

logikk

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

fysikk

Halvledertransistor Kvanteobjekt

Mediebærer

Spenningsnivåer Polarisering, spinn,...

Operasjoner

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

Forhold

Halvlederbrikke Forvirring med hverandre

Algoritmer

Standard (se pisk) Spesialtilbud (Shore, Grover)

Prinsipp

Digital, deterministisk Analog, sannsynlighet

Logisk nivå
Hvordan kvantedatamaskiner fungerer. Å legge puslespillet

I en vanlig datamaskin er dette litt. Godt kjent for oss tvers igjennom deterministisk bit. Kan ta verdier på enten 0 eller 1. Den takler rollen perfekt logisk enhet for en vanlig datamaskin, men er helt uegnet for å beskrive tilstanden kvanteobjekt, som, som vi allerede har sagt, i naturen ligger isuperposisjoner av deres grensetilstander.

Dette er hva de kom frem til qubit. I sine grensetilstander realiserer den tilstander som ligner 0 og 1 |0> og |1>, og i superposisjon representerer sannsynlighetsfordeling over dens grensetilstander |0> и |1>:

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

a og b representerer sannsynlighetsamplituder, og kvadratene til modulene deres er de faktiske sannsynlighetene for å oppnå nøyaktig slike verdier av grensetilstandene |0> и |1>, hvis du kollapser qubiten med en måling akkurat nå.

Fysisk lag

På det nåværende teknologiske utviklingsnivået er den fysiske implementeringen av en bit for en konvensjonell datamaskin halvledertransistor, for kvante, som vi allerede har sagt, ethvert kvanteobjekt. I neste avsnitt skal vi snakke om hva som for tiden brukes som fysiske medier for qubits.

Lagringsmedium

For en vanlig datamaskin er dette elektrisitet - spenningsnivåer, tilstedeværelse eller fravær av strøm, etc., for kvante - det samme tilstanden til et kvanteobjekt (polarisasjonsretning, spinn, etc.), som kan være i en tilstand av superposisjon.

Operasjoner

For å implementere logiske kretser på en vanlig datamaskin bruker vi velkjente logiske operasjoner, for operasjoner på qubits var det nødvendig å komme opp med et helt annet system for operasjoner, kalt kvanteporter. Gates kan være enkelt-qubit eller dobbel-qubit, avhengig av hvor mange qubits som konverteres.

Eksempler på kvanteporter:
Hvordan kvantedatamaskiner fungerer. Å legge puslespillet

Det er et konsept universalventilsett, som er tilstrekkelig til å utføre enhver kvanteberegning. For eksempel inkluderer et universalsett en Hadamard-port, en faseskiftport, en CNOT-port og en π⁄8-port. Med deres hjelp kan du utføre en hvilken som helst kvanteberegning på et vilkårlig sett med qubits.

I denne artikkelen vil vi ikke dvele i detalj på systemet med kvanteporter; du kan lese mer om dem og logiske operasjoner på qubits, for eksempel, her. Det viktigste å huske:

  • Operasjoner på kvanteobjekter krever opprettelse av nye logiske operatorer (kvanteporter)
  • Quantum-porter kommer i enkelt-qubit og dobbel-qubit-typer.
  • Det er universelle sett med porter som kan brukes til å utføre enhver kvanteberegning

Forhold

En transistor er helt ubrukelig for oss; for å utføre beregninger må vi koble mange transistorer til hverandre, det vil si lage en halvlederbrikke fra millioner av transistorer som vi kan bygge logiske kretser på, ALU og, til slutt, få en moderne prosessor i sin klassiske form.

En qubit er også helt ubrukelig for oss (vel, om bare i akademiske termer),

for å utføre beregninger trenger vi et system av qubits (kvanteobjekter)

som, som vi allerede har sagt, er opprettet ved å vikle qubits med hverandre slik at endringer i deres tilstander skjer på en koordinert måte.

Algoritmer

Standardalgoritmene som menneskeheten har akkumulert til dags dato er fullstendig uegnet for implementering på en kvantedatamaskin. Ja, generelt er det ikke nødvendig. Kvantedatamaskiner basert på portlogikk over qubits krever opprettelse av helt andre algoritmer, kvantealgoritmer. Av de mest kjente kvantealgoritmene kan tre skilles:

Prinsipp

Og den viktigste forskjellen er driftsprinsippet. For en standard datamaskin er dette digitalt, strengt deterministisk prinsipp, basert på det faktum at hvis vi setter en starttilstand til systemet og passerer den gjennom en gitt algoritme, vil resultatet av beregningene være det samme, uansett hvor mange ganger vi kjører denne beregningen. Faktisk er denne oppførselen akkurat det vi forventer av en datamaskin.

Quantum datamaskin kjører på analogt, sannsynlighetsprinsipp. Resultatet av en gitt algoritme ved en gitt starttilstand er utvalg fra en sannsynlighetsfordeling endelige implementeringer av algoritmen pluss mulige feil.

Denne probabilistiske naturen til kvanteberegning skyldes selve den sannsynlige essensen av kvanteverdenen. "Gud spiller ikke terninger med universet.", sa gamle Einstein, men alle eksperimenter og observasjoner så langt (i dagens vitenskapelige paradigme) bekrefter det motsatte.

Fysiske implementeringer av qubits

(til innhold)

Hvordan kvantedatamaskiner fungerer. Å legge puslespillet

Som vi allerede har sagt, kan en qubit representeres av et kvanteobjekt, det vil si et fysisk objekt som implementerer kvanteegenskapene beskrevet ovenfor. Det vil si, grovt sett, ethvert fysisk objekt der det er to tilstander og disse to tilstandene er i en tilstand av superposisjon, kan brukes til å bygge en kvantedatamaskin.

"Hvis vi kan sette et atom i to forskjellige nivåer og kontrollere dem, så har du en qubit. Hvis vi kan gjøre dette med et ion, er det en qubit. Det er det samme med strøm. Hvis vi kjører den med klokken og mot klokken samtidig, har du en qubit.» (C)

Det er fantastisk kommentar к artikkel, der den nåværende variasjonen av fysiske implementeringer av qubit vurderes mer detaljert, vil vi ganske enkelt liste de mest kjente og vanlige:

Av alt dette mangfoldet er den mest utviklede den første metoden for å oppnå qubits, basert på superledere. Google, IBM, Intel og andre ledende aktører bruker det til å bygge systemene sine.

Vel, les mer oversikt mulig fysiske implementeringer qubits fra Andrew Daley, 2014.

Grunnleggende. Hvordan en kvantedatamaskin fungerer

(til innhold)

Hvordan kvantedatamaskiner fungerer. Å legge puslespillet

Materialer til denne delen (oppgave og bilder) er hentet fra artikkelen «Bare om de vanskelige tingene. Hvordan fungerer en kvantedatamaskin?.

Så forestill deg at vi har følgende oppgave:

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

Det er også kjent at:

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

Oppgave: Plasser folk i drosjer slik at Max (venner) и Min (fiender)

Vurdering: L = (antall venner) - (antall fiender) for hvert overnattingsalternativ

VIKTIG: Forutsatt at det ikke er noen heuristikk, er det ingen optimal løsning. I dette tilfellet kan problemet bare løses ved et fullstendig søk av alternativer.

Hvordan kvantedatamaskiner fungerer. Å legge puslespillet

Løsning på en vanlig datamaskin

Hvordan løse dette problemet på en vanlig (super) datamaskin (eller klynge) - det er klart det du må gå gjennom alle mulige alternativer. Hvis vi har et multiprosessorsystem, så kan vi parallellisere beregningen av løsninger på tvers av flere prosessorer og deretter samle resultatene.

Vi har 2 mulige overnattingsmuligheter (taxi 0 og taxi 1) og 3 personer. Løsningsplass 2 ^ 3 = 8. Du kan til og med gå gjennom 8 alternativer ved hjelp av en kalkulator, dette er ikke et problem. La oss nå komplisere problemet - vi har 20 personer og to busser, løsningsplassen 2^20 = 1 048 576. Ikke noe komplisert heller. La oss øke antall personer med 2.5 ganger – ta 50 personer og to tog, løsningsplassen er nå 2^50 = 1.12 x 10^15. En vanlig (super) datamaskin begynner allerede å få alvorlige problemer. La oss øke antall personer med 2 ganger, 100 personer vil gi oss allerede 1.2 x 10 ^ 30 mulige alternativer.

Det er det, denne oppgaven kan ikke beregnes innen rimelig tid.

Koble til en superdatamaskin

Den kraftigste datamaskinen for øyeblikket er nummer 1 av Top500Den Summit, produktivitet 122 Pflops. La oss anta at vi trenger 100 operasjoner for å beregne ett alternativ, så for å løse problemet for 100 personer trenger vi:

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

Som vi kan se etter hvert som dimensjonen til de innledende dataene øker, vokser løsningsrommet i henhold til en maktlov, i det generelle tilfellet, for N bits har vi 2^N mulige løsningsalternativer, som for relativt små N (100) gir oss et uberegnet (på det nåværende teknologiske nivået) løsningsrom.

Finnes det noen alternativer? Som du kanskje har gjettet, ja, det er det.

Men før vi kommer inn på hvordan og hvorfor kvantedatamaskiner effektivt kan løse problemer som disse, la oss ta et øyeblikk for å oppsummere hva de er. sannsynlighetsfordeling. Ikke vær redd, dette er en gjennomgangsartikkel, det vil ikke være noen vanskelig matematikk her, vi vil nøye oss med det klassiske eksemplet med en pose og baller.

Bare litt kombinatorikk, sannsynlighetsteori og en merkelig eksperimentator

La oss ta en pose og legge den i den 1000 hvite og 1000 svarte kuler. Vi skal gjennomføre et eksperiment - ta ut ballen, skriv ned fargen, returner ballen til posen og bland kulene i posen.

Eksperimentet ble utført 10 ganger, trakk ut 10 svarte kuler. Kan være? Ganske. Gir denne prøven oss noen fornuftig ide om den sanne fordelingen i posen? Åpenbart ikke. Hva må gjøres - riktig, sgjenta eksperimentet en million ganger og beregn frekvensene til svarte og hvite kuler. Vi får f.eks 49.95 % svart og 50.05 % hvit. I dette tilfellet er strukturen til fordelingen som vi prøver fra (tar ut en ball) allerede mer eller mindre klar.

Det viktigste er å forstå det eksperimentet i seg selv har en sannsynlighet, med en prøve (ball) vil vi ikke vite den sanne strukturen til fordelingen, vi må gjenta eksperimentet mange ganger og gjennomsnitt resultatene.

La oss legge det til i vesken vår 10 røde og 10 grønne kuler (feil). La oss gjenta eksperimentet 10 ganger. Itrukket ut 5 røde og 5 grønne. Kan være? Ja. Vi kan si noe om den sanne fordelingen - Nei. Hva må gjøres - vel, du forstår.

For å få en forståelse av strukturen til en sannsynlighetsfordeling, er det nødvendig å gjentatte ganger prøve individuelle utfall fra denne fordelingen og snitte resultatene.

Koble teori med praksis

Nå i stedet for svarte og hvite baller, la oss ta biljardballer og legge dem i en pose 1000 kuler med nummer 2, 1000 med nummer 7 og 10 kuler med andre tall. La oss forestille oss en eksperimentator som er trent i de enkleste handlingene (ta ut en ball, skriv ned tallet, legg ballen tilbake i posen, bland ballene i posen) og han gjør dette på 150 mikrosekunder. Vel, en slik eksperimentator på hastighet (ikke en narkotikareklame!!!). Så på 150 sekunder vil han kunne utføre eksperimentet vårt 1 million ganger og gi oss gjennomsnittsresultatene.

De satte forsøkslederen ned, ga ham en pose, snudde seg bort, ventet 150 sekunder og fikk:

nummer 2 - 49.5%, nummer 7 - 49.5%, de resterende tallene totalt - 1%.

Ja, det er riktig, bagen vår er en kvantedatamaskin med en algoritme som løser problemet vårt, og ballene er mulige løsninger. Siden det er to riktige løsninger, altså en kvantedatamaskin vil gi oss noen av disse mulige løsningene med lik sannsynlighet og 0.5 % (10/2000) feil, som vi skal snakke om senere.

For å få resultatet av en kvantedatamaskin, må du kjøre kvantealgoritmen flere ganger på det samme inndatasettet og snitte resultatet.

Skalerbarhet av en kvantedatamaskin

Tenk deg nå at for en oppgave som involverer 100 personer (løsningsplass 2^100 vi husker dette), er det også bare to riktige avgjørelser. Så, hvis vi tar 100 qubits og skriver en algoritme som beregner objektivfunksjonen vår (L, se ovenfor) over disse qubitene, så får vi en pose der det vil være 1000 kuler med nummeret på det første riktige svaret, 1000 med tallet på det andre riktige svaret og 10 kuler med andre tall. Og i løpet av de samme 150 sekundene vil vår eksperimentator gi oss et estimat på sannsynlighetsfordelingen for riktige svar.

Utførelsestiden til en kvantealgoritme (med noen forutsetninger) kan betraktes som konstant O(1) med hensyn til dimensjonen til løsningsrommet (2^N).

Og dette er nettopp egenskapen til en kvantedatamaskin - kjøretidskonstans i forhold til den økende maktlovens kompleksitet i løsningsrommet er nøkkelen.

Qubit og parallelle verdener

Hvordan skjer dette? Hva gjør at en kvantedatamaskin kan utføre beregninger så raskt? Alt handler om kvantenaturen til qubiten.

Se, vi sa at en qubit er som et kvanteobjekt realiserer en av de to tilstandene når de observeres, men i «vill natur» er den inne superposisjoner av stater, det vil si at den er i begge sine grensetilstander samtidig (med en viss sannsynlighet).

ta (A)ndreya og forestill deg dens tilstand (i hvilket kjøretøy den er - 0 eller 1) som en qubit. Da har vi (i kvanterommet) to parallelle verdener, i en (EN) sitter i taxi 0, i en annen verden - i taxi 1. I to taxier samtidig, men med en viss sannsynlighet for å finne det i hver av dem under observasjon.

ta (B) ung og la oss også forestille oss tilstanden som en qubit. To andre parallelle verdener oppstår. Men for nå disse parene av verdener (EN) и (PÅ) ikke samhandle i det hele tatt. Hva må gjøres for å skape i slekt system? Det stemmer, vi trenger disse qubitene binde opp (forvirre). Vi tar det og forvirrer det (A) med (B) — vi får et kvantesystem på to qubits (A, B), realisere i seg selv fire gjensidig avhengig parallelle verdener. Legg til (S)ergey og vi får et system med tre qubits (ABC), implementerer åtte gjensidig avhengig parallelle verdener.

Essensen av kvanteberegning (implementeringen av en kjede av kvanteporter over et system av tilkoblede qubits) er det faktum at beregningen skjer i alle parallelle verdener samtidig.

Og det spiller ingen rolle hvor mange av dem vi har, 2^3 eller 2^100, kvantealgoritmen vil bli utført i begrenset tid over alle disse parallelle verdenene og vil gi oss et resultat, som er et utvalg fra sannsynlighetsfordelingen av algoritmens svar.

For bedre forståelse kan man forestille seg det en kvantedatamaskin på kvantenivå kjører 2^N parallelle løsningsprosesser, som hver arbeider på ett mulig alternativ, samler deretter resultatene av arbeidet - og gir oss svaret i form av en superposisjon av løsningen (sannsynlighetsfordeling av svar), hvorfra vi prøver en hver gang (for hvert eksperiment).

Husk tiden som kreves av vår eksperimentator (150 µs) for å gjennomføre eksperimentet, vil dette være nyttig for oss litt lenger, når vi snakker om hovedproblemene til kvantedatamaskiner og dekoherenstiden.

Kvantealgoritmer

(til innhold)

Hvordan kvantedatamaskiner fungerer. Å legge puslespillet

Som allerede nevnt, er konvensjonelle algoritmer basert på binær logikk ikke anvendelige for en kvantedatamaskin som bruker kvantelogikk (kvanteporter). For ham var det nødvendig å komme opp med nye som fullt ut utnytter potensialet som ligger i databehandlingens kvantenatur.

De mest kjente algoritmene i dag er:

I motsetning til klassiske, er ikke kvantedatamaskiner universelle.
Bare et lite antall kvantealgoritmer er funnet så langt.(C)

Takk oksoron for lenken til Quantum Algoritme Zoo, et sted hvor, ifølge forfatteren ("Stephen Jordan"), har de beste representantene for den kvantealgoritmiske verden blitt samlet og fortsetter å samles.

I denne artikkelen vil vi ikke analysere kvantealgoritmer i detalj; det er mange utmerkede materialer på Internett for alle nivåer av kompleksitet, men vi må fortsatt kort gå gjennom de tre mest kjente.

Shors algoritme.

(til innhold)

Den mest kjente kvantealgoritmen er Shors algoritme (oppfunnet i 1994 av den engelske matematikeren Peter Shore), som er rettet mot å løse problemet med å faktorisere tall til primfaktorer (faktoriseringsproblem, diskret logaritme).

Det er denne algoritmen som trekkes frem som eksempel når de skriver at banksystemene og passordene dine snart blir hacket. Tatt i betraktning at lengden på nøklene som brukes i dag er ikke mindre enn 2048 biter, er tiden for en cap ennå ikke kommet.

Hittil funn mer enn beskjeden. Beste faktoriseringsresultater med Shors algoritme - tall 15 и 21, som er mye mindre enn 2048 biter. For de resterende resultatene fra tabellen, en annen algoritme beregninger, men selv det beste resultatet i henhold til denne algoritmen (291311) er veldig langt fra reell anvendelse.

Hvordan kvantedatamaskiner fungerer. Å legge puslespillet

Du kan lese mer om Shors algoritme, for eksempel, her. Om praktisk gjennomføring - her.

En av nåværende estimater kompleksitet og nødvendig kraft for å faktor et 2048-bit tall er en datamaskin med 20 millioner qubits. Vi sover rolig.

Grovers algoritme

(til innhold)

Grovers algoritme - kvantealgoritme løse oppregningsproblemet, det vil si å finne en løsning på ligningen F(X) = 1, hvor F er boolsk funksjon fra n variabler. Ble foreslått av en amerikansk matematiker Fiske Grover в 1996 år.

Grovers algoritme kan brukes til å finne medianer и aritmetisk gjennomsnitt nummerserie. I tillegg kan den brukes til å løse NP-komplett problemer gjennom et uttømmende søk blant mange mulige løsninger. Dette kan innebære en betydelig hastighetsøkning sammenlignet med klassiske algoritmer, men uten å gi "polynom løsning" generelt.(C)

Du kan lese mer herEller her... Mer her Det er en god forklaring på algoritmen ved å bruke eksemplet med bokser og en ball, men dessverre, av grunner utenfor noens kontroll, åpnes ikke denne siden for meg fra Russland. Hvis du har dette nettstedet er også blokkert, så her er en kort oppsummering:

Grovers algoritme. Tenk deg at du har N stykker med nummererte lukkede bokser. De er alle tomme bortsett fra én, som inneholder en ball. Din oppgave: Finn ut nummeret på boksen der ballen er plassert (dette ukjente tallet er ofte merket med bokstaven w).
Hvordan kvantedatamaskiner fungerer. Å legge puslespillet

Hvordan løse dette problemet? Den dummeste måten er å bytte på å åpne boksene, og før eller siden kommer du over en boks med ball. Hvor mange bokser må i gjennomsnitt sjekkes før en boks med ball blir funnet? I gjennomsnitt må du åpne omtrent halvparten av N/2 bokser. Hovedsaken her er at hvis vi øker antall bokser med 100 ganger, så vil også gjennomsnittlig antall bokser som må åpnes før boksen med ballen blir funnet øke med de samme 100 ganger.

La oss nå gjøre en avklaring til. La oss ikke åpne boksene selv med hendene og sjekke om det er en ball i hver, men det er en viss mellommann, la oss kalle ham Oracle. Vi forteller Oracle, "sjekk boks nummer 732," og Oracle sjekker ærlig og svarer, "det er ingen ball i boks nummer 732." Nå, i stedet for å si hvor mange bokser vi trenger å åpne i gjennomsnitt, sier vi "hvor mange ganger i gjennomsnitt skal vi gå til Oracle for å finne nummeret på boksen med ballen"

Det viser seg at hvis vi oversetter dette problemet med bokser, en ball og Oracle til kvantespråk, får vi et bemerkelsesverdig resultat: for å finne nummeret på en boks med en ball blant N bokser, trenger vi kun å forstyrre Oracle omtrent SQRT (N) ganger!

Det vil si at kompleksiteten til søkeoppgaven ved bruk av Grovers algoritme reduseres med kvadratroten av ganger.

Deutsch-Jozi algoritme

(til innhold)

Deutsch-Jozsa-algoritme (også referert til 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 ble et av de første eksemplene på algoritmer designet for å bli utført på kvantedatamaskiner. _

Deutsch-Jozsi-problemet er å bestemme om en funksjon av flere binære variabler F(x1, x2, ... xn) er konstant (tar enten verdien 0 eller 1 for alle argumenter) eller balansert (for halvparten av domenet den tar verdien 0, for den andre halvparten 1). I dette tilfellet anses det a priori kjent at funksjonen enten er konstant eller balansert. (C)

Du kan også lese her. En enklere forklaring:

Deutsch (Deutsch-Jozsi)-algoritmen er basert på brute force, men lar det gjøres raskere enn vanlig. Tenk deg at det er en mynt på bordet og du må finne ut om den er forfalsket eller ikke. For å gjøre dette må du se på mynten to ganger og finne ut: "hoder" og "haler" er ekte, to "hoder", to "haler" er falske. Så hvis du bruker Deutsch kvantealgoritme, kan denne bestemmelsen gjøres med ett blikk - måling. (C)

Problemer med kvantedatamaskiner

(til innhold)

Hvordan kvantedatamaskiner fungerer. Å legge puslespillet

Når de designer og drifter kvantedatamaskiner, står forskere og ingeniører overfor et stort antall problemer, som til dags dato har blitt løst med ulik grad av suksess. I følge Lete (og også her) følgende serie problemer kan identifiseres:

  • Følsomhet for miljøet og samhandling med omgivelsene
  • Akkumulering av feil under beregninger
  • Vanskeligheter med initialisering av qubit-tilstander
  • Vanskeligheter med å lage multi-qubit-systemer

Jeg anbefaler på det sterkeste å lese artikkelen "Kjennetegn ved kvantedatamaskiner”, spesielt kommentarene til den.

La oss organisere alle hovedproblemene i tre store grupper og se nærmere på hver av dem:

Dekoherens

(til innhold)

Hvordan kvantedatamaskiner fungerer. Å legge puslespillet

Beskrivelse fra N+1.

Kvantetilstand veldig skjør tingqubits i en sammenfiltret tilstand er ekstremt ustabile, enhver ytre påvirkning kan (og gjør) ødelegge denne forbindelsen. En endring i temperaturen med den minste brøkdelen av en grad, trykk, et tilfeldig foton som flyr i nærheten - alt dette destabiliserer systemet vårt.

For å løse dette problemet bygges lavtemperatursarkofager, der temperaturen (-273.14 grader Celsius) er litt over absolutt null, med maksimal isolasjon av det indre kammeret med prosessoren fra alle (mulige) påvirkninger fra det ytre miljøet.

Den maksimale levetiden til et kvantesystem med flere sammenfiltrede qubits, hvor det beholder sine kvanteegenskaper og kan brukes til beregninger, kalles dekoherenstid.

For tiden er dekoherenstiden i de beste kvanteløsningene i størrelsesorden titalls og hundrevis av mikrosekunder.

Det er en fantastisk сайтhvor du kan se sammenligningstabeller av parametere av alle skapte kvantesystemer. Denne artikkelen inneholder bare to toppprosessorer som eksempler - fra IBM IBM Q System One og fra Google Sycamore. Som vi kan se, overstiger ikke dekoherenstiden (T2) 200 μs.

Jeg fant ikke eksakte data om Sycamore, men i de fleste artikkel om kvanteoverlegenhet to tall er gitt - 1 million beregninger på 200 sekunder, andre steder - for 130 sekunder uten tap av kontrollsignaler osv.. I alle fall gir dette oss dekoherenstiden er omtrent 150 μs. Husk vår eksperimentator med en pose? Vel, her er han.

datamaskin~~POS=TRUNC N Qubits Maks paret T2 (µs)
IBM Q System One 20 6 70
Google Sycamore 53 4 ~ 150-200

Hva truer dekoherens oss med?

Hovedproblemet er at etter 150 μs vil vårt datasystem med N sammenfiltrede qubits begynne å sende ut sannsynlig hvit støy i stedet for en sannsynlig fordeling av riktige løsninger.

Det vil si at vi trenger:

  • Initialiser qubit-systemet
  • Utfør en beregning (kjede av portoperasjoner)
  • Les resultatet

Og gjør alt dette på 150 mikrosekunder. Jeg hadde ikke tid - resultatet ble til et gresskar.

Men det er ikke alt…

Feil

(til innhold)

Hvordan kvantedatamaskiner fungerer. Å legge puslespillet

Som vi sa, kvanteprosesser og kvanteberegning er sannsynlige i naturen, vi kan ikke være 100 % sikre på noe, men bare med en viss sannsynlighet. Situasjonen forverres ytterligere av det faktum at kvanteberegning er utsatt for feil. De viktigste typene feil i kvanteberegning er:

  • Dekoherensfeil er forårsaket av kompleksiteten til systemet og interaksjon med det ytre miljøet
  • Gateberegningsfeil (på grunn av beregningens kvantenatur)
  • Feil ved lesing av sluttstatus (resultat)

Feil knyttet til dekoherens, vises så snart vi vikler inn qubitene våre og begynner å gjøre beregninger. Jo flere qubits vi vikler inn, jo mer komplekst er systemet, og jo lettere er det å ødelegge det. Lavtemperatursarkofager, beskyttede kamre, alle disse teknologiske triksene er nettopp rettet mot å redusere antall feil og forlenge dekoherenstiden.

Gateberegningsfeil - enhver operasjon (gate) på qubits kan, med en viss sannsynlighet, ende med en feil, og for å implementere algoritmen trenger vi å utføre hundrevis av porter, så forestill deg hva vi får på slutten av utførelsen av algoritmen vår. Det klassiske svaret på spørsmålet er "Hva er sannsynligheten for å møte en dinosaur i en heis?" - 50x50, enten møter du eller ikke.

Problemet forverres ytterligere av det faktum at standard feilkorrigeringsmetoder (duplisering av beregninger og gjennomsnitt) ikke fungerer i kvanteverdenen på grunn av ikke-kloningsteoremet. Til feilretting i kvanteberegning måtte oppfinnes kvantekorreksjonsmetoder. Grovt sett tar vi N vanlige qubits og lager 1 av dem logisk qubit med lavere feilprosent.

Men her oppstår et annet problem - totalt antall qubits. Se, la oss si at vi har en prosessor med 100 qubits, hvorav 80 qubits brukes til feilretting, så har vi bare 20 igjen for beregninger.

Feil ved lesing av sluttresultatet — som vi husker, blir resultatet av kvanteberegninger presentert for oss i skjemaet sannsynlighetsfordeling av svar. Men å lese den endelige tilstanden kan også mislykkes med en feil.

På det samme nettsted Det er sammenlignende tabeller over prosessorer etter feilnivåer. Til sammenligning, la oss ta de samme prosessorene som i forrige eksempel - IBM IBM Q System One и Google Sycamore:

datamaskin 1-Qubit Gate Fidelity 2-Qubit Gate Fidelity Readout Fidelity
IBM Q System One 99.96% 98.31% -
Google Sycamore 99.84% 99.38% 96.2%

Her gjengivelse er et mål på likheten mellom to kvantetilstander. Størrelsen på feilen kan grovt uttrykkes som 1-Fidelity. Som vi kan se, er feil på 2-qubit-porter og avlesningsfeil hovedhindringen for å utføre komplekse og lange algoritmer på eksisterende kvantedatamaskiner.

Du kan også lese veikart fra 2016 år fra NQIT for å løse problemet med feilretting.

Prosessorarkitektur

(til innhold)

Hvordan kvantedatamaskiner fungerer. Å legge puslespillet

I teorien bygger og driver vi kretser med dusinvis av sammenfiltrede qubits, i virkeligheten er alt mer komplisert. Alle eksisterende kvantebrikker (prosessorer) er bygget på en slik måte at de gir smertefritt sammenfiltring av bare én qubit med naboene, hvorav det ikke er flere enn seks.

Hvis vi trenger å vikle den 1. qubiten, for eksempel, med den 12., så må vi bygge en kjede av ytterligere kvanteoperasjoner, involvere ytterligere qubits, etc., som øker det totale feilnivået. Ja, og ikke glem det dekoherens tid, kanskje når du er ferdig med å koble qubitene til kretsen du trenger, vil tiden ende og hele kretsen vil bli til fin hvit støygenerator.

Ikke glem det heller Arkitekturen til alle kvanteprosessorer er forskjellig, og programmet skrevet i emulatoren i "alt-til-alle-tilkobling"-modus må "kompileres på nytt" til arkitekturen til en spesifikk brikke. Det er til og med spesielle optimeringsprogrammer for å utføre denne operasjonen.

Maksimal tilkobling og maksimalt antall qubits for de samme toppbrikkene:

datamaskin~~POS=TRUNC N Qubits Maks paret T2 (µs)
IBM Q System One 20 6 70
Google Sycamore 53 4 ~ 150-200

Og til sammenligning, tabell med data fra forrige generasjon prosessorer. Sammenlign antall qubits, dekoherenstid og feilrate med det vi har nå med den nye generasjonen. Fremgangen går sakte, men beveger seg.

Hvordan kvantedatamaskiner fungerer. Å legge puslespillet

Så:

  • Det er for øyeblikket ingen fullstendig tilkoblede arkitekturer med > 6 qubits
  • For å vikle qubit 0 s på en ekte prosessor, for eksempel, kan qubit 15 kreve flere dusin ekstra operasjoner
  • Flere operasjoner -> flere feil -> sterkere påvirkning av dekoherens

Resultater av

(til innhold)

Dekoherens er den prokrusteske sengen til moderne kvantedatabehandling. Vi må passe alt inn i 150 μs:

  • Initialisering av starttilstanden til qubits
  • Å beregne et problem ved å bruke kvanteporter
  • Rett feil for å få meningsfulle resultater
  • Les resultatet

Så langt er resultatene skuffende her hevder å oppnå 0.5s koherensretensjonstid på en kvantedatamaskin basert på ionefeller:

Vi måler en qubit-koherenstid på over 0.5 s, og med magnetisk skjerming forventer vi at denne forbedres til å være lengre enn 1000 s

Du kan også lese om denne teknologien her eller for eksempel her.

Situasjonen kompliseres ytterligere av det faktum at når man utfører komplekse beregninger er det nødvendig å bruke kvantefeilkorreksjonskretser, som også spiser opp både tid og tilgjengelige qubits.

Og til slutt, moderne arkitekturer tillater ikke implementering av sammenfiltringsordninger bedre enn 1 av 4 eller 1 av 6 til minimale kostnader.

Måter å løse problemer på

(til innhold)

For å løse problemene ovenfor, brukes følgende tilnærminger og metoder for tiden:

  • Bruk av kryokamre med lave temperaturer (10 mK (–273,14 °C))
  • Bruke prosessorenheter som er maksimalt beskyttet mot ytre påvirkninger
  • Bruke Quantum Error Correction Systems (Logic Qubit)
  • Bruke optimizere ved programmering av kretser for en bestemt prosessor

Det utføres også forskning med sikte på å øke dekoherenstiden, søke etter nye (og forbedre kjente) fysiske implementeringer av kvanteobjekter, optimalisere korreksjonskretser osv. osv. Det er fremgang (se ovenfor på egenskapene til tidligere og dagens toppsjetonger), men så langt er det sakte, veldig, veldig sakte.

D-Wave

(til innhold)

Hvordan kvantedatamaskiner fungerer. Å legge puslespillet

D-Wave 2000Q 2000-qubit datamaskin. Kilde: D-Wave-systemer

Midt i Googles kunngjøring om å oppnå kvanteoverlegenhet ved hjelp av en 53-qubit-prosessor, datamaskiner и kunngjøringer fra selskapet D-Wave, hvor antall qubits er i tusenvis, er noe forvirrende. Vel, egentlig, hvis 53 qubits var i stand til å oppnå kvanteoverlegenhet, hva er da en datamaskin med 2048 qubits i stand til? Men ikke alt er så bra...

Kort sagt (hentet fra wikien):

Datamaskiner D-Wave jobbe etter prinsippet kvanteavslapning (kvanteutglødning), kan løse en svært begrenset underklasse av optimaliseringsproblemer, og er ikke egnet for implementering av tradisjonelle kvantealgoritmer og kvanteporter.

For flere detaljer kan du lese f.eks. her, her (forsiktig, åpner kanskje ikke fra Russland), eller Scott Aaronson в artikkel fra hans blogginnlegg. Jeg anbefaler forresten å lese bloggen hans generelt, det er mye bra stoff der

Generelt, helt fra begynnelsen av kunngjøringene, hadde det vitenskapelige miljøet spørsmål om D-Wave-datamaskiner. For eksempel, i 2014, stilte IBM spørsmålstegn ved det faktum at D-Wave bruker kvanteeffekter. Det kom til det punktet at i 2015 kjøpte Google sammen med NASA en av disse kvantedatamaskinene og etter forskning bekreftet, at ja, datamaskinen fungerer og beregner problemet raskere enn en vanlig. Du kan lese mer om Googles uttalelse her og f.eks. her.

Hovedsaken er at D-Wave-datamaskiner, med sine hundrevis og tusenvis av qubits, ikke kan brukes til å beregne og kjøre kvantealgoritmer. Du kan for eksempel ikke kjøre Shors algoritme på dem. Alt de kan gjøre er å bruke visse kvantemekanismer for å løse et visst optimaliseringsproblem. Vi kan vurdere at D-Wave er en kvante-ASIC for en spesifikk oppgave.

Litt om kvantedataemulering

(til innhold)

Hvordan kvantedatamaskiner fungerer. Å legge puslespillet

Kvantedatabehandling kan emuleres på en vanlig datamaskin. Faktisk, se:

  • Tilstanden til qubiten kan være sende inn komplekst tall, opptar fra 2x32 til 2x64 biter (8-16 byte) avhengig av prosessorarkitekturen
  • Tilstanden til N tilkoblede qubits kan representeres som 2^N komplekse tall, dvs. 2^(3+N) for 32-bits arkitektur og 2^(4+N) for 64-bit.
  • En kvanteoperasjon på N qubits kan representeres av en 2^N x 2^N matrise

Deretter:

  • For å lagre de emulerte tilstandene på 10 qubits, trengs 8 KB
  • For å lagre tilstandene til 20 qubits trenger du 8 MB
  • For å lagre tilstandene til 30 qubits, trengs 8 GB
  • 40 terabyte er nødvendig for å lagre tilstandene på 8 qubits
  • For å lagre tilstandene til 50 qubits, trengs 8 Petabyte, etc.

(C)

Til sammenligning, Summit (Topp-1 fra Topp-500) har bare 2.8 Petabyte minne.

Gjeldende simuleringsrekord — 49 qubit levert i fjor til den største kinesiske superdatamaskinen (Sunway Taihu Light)

Grensen for å simulere en kvantedatamaskin på klassiske systemer bestemmes av mengden RAM som kreves for å lagre tilstanden til qubitene.

Jeg anbefaler også å lese denne kommentaren. Derfra:

Ved operasjon - for nøyaktig emulering av en 49-qubit-krets bestående av rundt 39 "sykluser" (uavhengige lag med porter) det tok 2^63 komplekse multiplikasjoner - 4 Pflops av en superdatamaskin i 4 timer

Å emulere en 50+ qubit kvantedatamaskin på klassiske systemer anses som umulig innen rimelig tid. Dette er også grunnen til at Google brukte en 53-qubit-prosessor for sitt kvanteoverlegenhetseksperiment.

Kvantedatabehandlings overlegenhet.

(til innhold)

Hvordan kvantedatamaskiner fungerer. Å legge puslespillet

Wikipedia gir oss følgende definisjon av kvantedatabehandling:

Kvanteoverlegenhet - evne kvanteberegning enheter for å løse problemer som klassiske datamaskiner praktisk talt ikke kan løse.

Faktisk betyr å oppnå kvanteoverlegenhet at for eksempel faktorisering av store tall ved hjelp av Shor-algoritmen kan løses i tilstrekkelig tid, eller komplekse kjemiske molekyler kan emuleres på kvantenivå, og så videre. Det vil si at en ny æra har kommet.

Men det er et smutthull i ordlyden av definisjonen, "som klassiske datamaskiner praktisk talt ikke kan løse" Faktisk betyr dette at hvis du lager en kvantedatamaskin på 50+ qubits og kjører en kvantekrets på den, så, som vi diskuterte ovenfor, kan ikke resultatet av denne kretsen emuleres på en vanlig datamaskin. Det er en klassisk datamaskin vil ikke være i stand til å gjenskape resultatet av en slik krets.

Hvorvidt et slikt resultat utgjør reell kvanteoverlegenhet eller ikke, er snarere et filosofisk spørsmål. Men forstå hva Google gjorde og hva det er basert på kunngjorde nylig at den hadde oppnådd kvanteoverlegenhet med sin nye Sycamore-prosessor nødvendig.

Googles Quantum Supremacy Statement

(til innhold)

Hvordan kvantedatamaskiner fungerer. Å legge puslespillet
Sycamore 54-qubit-prosessor

Så i oktober 2019 publiserte Google-utviklere en artikkel i den vitenskapelige publikasjonen Nature "Kvanteoverlegenhet ved hjelp av en programmerbar superledende prosessor" Forfatterne annonserte oppnåelsen av kvanteoverlegenhet for første gang i historien ved å bruke 54-qubit Sycamore-prosessoren.

Sycamore-artikler på nettet refererer ofte til enten en 54-qubit-prosessor eller en 53-qubit-prosessor. Sannheten er at iht original artikkel, prosessoren består fysisk av 54 qubits, men en av dem fungerer ikke og er tatt ut av drift. Dermed har vi i realiteten en 53-qubit-prosessor.

På nettet akkurat der dukket opp Sett med materialer om dette emnet, graden som varierte fra entusiastisk til skeptisk.

IBMs kvanteberegningsteam uttalte senere det Google har feilaktig rapportert å oppnå kvanteoverlegenhet. Selskapet hevder at en konvensjonell datamaskin vil takle denne oppgaven i verste fall på 2,5 dager, og det resulterende svaret vil være mer nøyaktig enn det til en kvantedatamaskin. Denne konklusjonen ble gjort basert på resultatene av en teoretisk analyse av flere optimaliseringsmetoder.

Og selvfølgelig, Scott Aaronson i hans blogginnlegg Jeg kunne ikke ignorere denne uttalelsen. Hans анализ sammen med alle lenker og Scott's Supreme Quantum Supremacy FAQ! som vanlig er de verdt å bruke tiden din på. På navet det er en oversettelse denne FAQ, og sørg for å lese kommentarene, det er lenker til foreløpige dokumenter som ble lekket på nettet før den offisielle kunngjøringen.

Hva gjorde Google egentlig? For en detaljert forståelse, les Aaronson, men kort her:

Jeg kan selvfølgelig fortelle deg det, men jeg føler meg ganske dum. Beregningen er som følger: eksperimentatoren genererer en tilfeldig kvantekrets C (dvs. en tilfeldig sekvens av 1-qubit og 2-qubit porter mellom nærmeste naboer, med en dybde på for eksempel 20, som virker på et 2D-nettverk på n = 50-60 qubits). Eksperimentatoren sender deretter C til kvantedatamaskinen, og ber den om å bruke C til en starttilstand på 0, måle resultatet i {0,1}-basis, sende tilbake en n-bit observert sekvens (streng) og gjenta flere tusen eller millioner av ganger. Til slutt, ved å bruke sin kunnskap om C, utfører eksperimentatoren en statistisk test for å se om resultatet samsvarer med det forventede resultatet fra kvantedatamaskinen.

Hvordan kvantedatamaskiner fungerer. Å legge puslespillet

Veldig kort:

  • En tilfeldig krets med lengde 20 på 53 qubits lages ved hjelp av porter
  • Kretsen starter med starttilstanden [0...0] for utførelse
  • Utgangen fra kretsen er en tilfeldig bitstreng (prøve)
  • Fordelingen av resultatet er ikke tilfeldig (interferens)
  • Fordelingen av de oppnådde prøvene sammenlignes med den forventede
  • Avslutter Quantum Supremacy

Det vil si at Google implementerte et syntetisk problem på en 53-qubit-prosessor, og baserer sin påstand om å oppnå kvanteoverlegenhet på at det er umulig å emulere en slik prosessor på standardsystemer innen rimelig tid.

For å forstå - Denne delen reduserer ikke på noen måte Googles prestasjoner, ingeniørene er virkelig gode, og spørsmålet om dette kan betraktes som ekte kvanteoverlegenhet eller ikke, som nevnt tidligere, er mer filosofisk enn ingeniørkunst. Men vi må forstå at etter å ha oppnådd en slik beregningsmessig overlegenhet, har vi ikke avansert ett skritt mot muligheten til å kjøre Shors algoritme på 2048-bit tall.

Oppsummering

(til innhold)
Hvordan kvantedatamaskiner fungerer. Å legge puslespillet

Kvantedatamaskiner og kvantedatabehandling er et veldig lovende, veldig ungt og så langt lite industrielt anvendelig område innen informasjonsteknologi.

Utviklingen av kvanteberegning vil (en dag) tillate oss å løse problemer:

  • Modellering av komplekse fysiske systemer på kvantenivå
  • Uløselig på en vanlig datamaskin på grunn av beregningsmessig kompleksitet

De viktigste problemene med å lage og betjene kvantedatamaskiner:

  • Dekoherens
  • Feil (dekoherens og gate)
  • Prosessorarkitektur (fullkoblede qubit-kretser)

Nåværende tilstand:

  • Faktisk - selve begynnelsen FoU.
  • Det er ingen EKTE kommersiell utnyttelse ennå (og det er uklart når det vil være)

Hva kan hjelpe:

  • En slags fysisk oppdagelse som reduserer kostnadene for kabling og drift av prosessorer
  • Å oppdage noe som vil øke dekoherenstiden med en størrelsesorden og/eller redusere feil

Etter min mening (ren personlig mening), I dagens vitenskapelige kunnskapsparadigme vil vi ikke oppnå betydelig suksess i utviklingen av kvanteteknologier, her trenger vi et kvalitativt gjennombrudd innen et område av grunnleggende eller anvendt vitenskap, som vil gi impulser til nye ideer og metoder.

I mellomtiden får vi erfaring med kvanteprogrammering, innsamling og oppretting av kvantealgoritmer, testing av ideer osv. osv. Vi venter på et gjennombrudd.

Konklusjon

(til innhold)

I denne artikkelen gikk vi gjennom de viktigste milepælene i utviklingen av kvanteberegning og kvantedatamaskiner, undersøkte prinsippet for deres drift, undersøkte hovedproblemene ingeniører står overfor i utvikling og drift av kvanteprosessorer, og så også på hva multi-qubit D-datamaskiner er det faktisk. Wave og Googles nylige kunngjøring om å oppnå kvanteoverlegenhet.

Til venstre bak kulissene er spørsmål om programmering av kvantedatamaskiner (språk, tilnærminger, metoder, etc.) og spørsmål knyttet til den spesifikke fysiske implementeringen av prosessorer, hvordan qubits administreres, kobles, leses osv. Kanskje dette blir temaet for neste artikkel eller artikler.

Takk for oppmerksomheten, jeg håper denne artikkelen vil være nyttig for noen.

(C) Kruegger

Anerkjennelser

(til innhold)

Hvordan kvantedatamaskiner fungerer. Å legge puslespillet

@Oxoron for korrekturlesing og kommentarer til kildeteksten, samt til artikkelen "Kenskaper ved kvantedatamaskiner"

@a5b for informasjonsrike kommentarer vedr "Kenskaper ved kvantedatamaskiner", og ikke bare til henne, som i stor grad hjalp meg med å finne ut av dette puslespillet.

Til alle forfattere av artikler og publikasjoner hvis materiale ble brukt til å skrive denne artikkelen.

Liste over ressurser

(til innhold)

Hvordan kvantedatamaskiner fungerer. Å legge puslespillet

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 tilfeldig rekkefø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/

Usorterte (men ikke mindre interessante) artikler fra Internett

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

Kurs og forelesninger

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

Legg til en kommentar