Kuidas kvantarvutid töötavad. Pusle kokku panemine

Kuidas kvantarvutid töötavad. Pusle kokku panemine

Kvantarvutid ja kvantarvuti – uus moesõna, mis lisati meie inforuumi koos tehisintellekt, masinõpe ja muud kõrgtehnoloogilised terminid. Samas ei leidnud ma kunagi Internetist materjali, mis paneks kokku pusle minu peas nn "Kuidas kvantarvutid töötavad". Jah, seal on palju suurepäraseid teoseid, sealhulgas Habri kohta (vt. Ressursside loend), kommentaarid, millele, nagu tavaliselt, on veelgi informatiivsemad ja kasulikumad, kuid pilt minu peas, nagu öeldakse, ei sobinud kokku.

Ja hiljuti tulid minu juurde kolleegid ja küsisid: „Kas sa saad aru, kuidas kvantarvuti töötab? Kas saate meile öelda?" Ja siis sain aru, et ma pole ainuke, kellel on probleeme oma peas ühtse pildi kokkupanemisega.

Selle tulemusena üritati kvantarvutite kohta käivat teavet koondada järjepidevaks loogikaahelaks, milles algtasemel, ilma sügava süvenemiseta matemaatikasse ja kvantmaailma struktuuri, selgitati, mis on kvantarvuti, millistel põhimõtetel see töötab ning milliste probleemidega teadlased selle loomisel ja kasutamisel kokku puutuvad.


Sisukord

Vastutusest loobumine

(sisu juurde)

Autor ei ole kvantarvutite ekspert ja Artikli sihtrühmaks on samad IT-inimesed, mitte kvantspetsialistid, kes soovivad ka oma peas kokku panna pildi nimega "Kuidas kvantarvutid töötavad". Seetõttu on paljusid artiklis olevaid mõisteid sihilikult lihtsustatud, et paremini mõista kvanttehnoloogiaid algtasemel, kuid ilma väga tugev lihtsustus, millega kaasneb teabe sisu ja adekvaatsuse vähenemine.

Artikkel kasutab mõnes kohas materjale muudest allikatest, mille loetelu on toodud artikli lõpus. Võimaluse korral lisatakse otselingid ja viited originaaltekstile, tabelile või joonisele. Kui ma midagi (või kedagi) kuhugi unustasin, kirjutage ja ma parandan selle.

Sissejuhatus

(sisu juurde)

Selles peatükis vaatleme põgusalt, kuidas kvantajastu alguse sai, mis oli kvantarvuti idee motiveeriv põhjus, kes (mis riigid ja korporatsioonid) on hetkel selle valdkonna juhtivad tegijad ning räägime ka põgusalt. kvantarvutuse peamistest arengusuundadest.

Kuidas see kõik algas

(sisu juurde)

Kuidas kvantarvutid töötavad. Pusle kokku panemine

Kvantajastu alguspunktiks loetakse aastat 1900, mil M. Planck esmakordselt esitas hüpotees et energiat kiirgatakse ja neeldutakse mitte pidevalt, vaid eraldi kvantidena (osadena). Idee võtsid üles ja arendasid paljud tolleaegsed silmapaistvad teadlased - Bohr, Einstein, Heisenberg, Schrödinger, mis viis lõpuks sellise teaduse loomise ja arendamiseni nagu kvantfüüsika. Internetis on palju häid materjale kvantfüüsika kui teaduse kujunemise kohta, käesolevas artiklis me sellel pikemalt ei peatu, küll aga oli vaja ära märkida kuupäev, millal uude kvantajastusse astusime.

Kvantfüüsika on toonud meie igapäevaellu palju leiutisi ja tehnoloogiaid, ilma milleta on praegu raske meid ümbritsevat maailma ette kujutada. Näiteks laser, mida nüüd kasutatakse kõikjal alates kodumasinatest (lasernivood jne) kuni kõrgtehnoloogiliste süsteemideni (laserid nägemise korrigeerimiseks, tere meklon ). Loogiline oleks eeldada, et varem või hiljem tuleb kellelgi pähe mõte, et miks mitte kasutada arvutamiseks kvantsüsteeme. Ja siis 1980. aastal see juhtus.

Wikipedia näitab, et kvantarvutite esimese idee väljendas 1980. aastal meie teadlane Juri Manin. Kuid sellest hakati rääkima alles 1981. aastal, kui tuntud R. Feynman rääkida MIT-is peetud esimesel arvutusfüüsika konverentsil, märkis, et kvantsüsteemi arengut on klassikalises arvutis võimatu tõhusalt simuleerida. Ta pakkus välja elementaarse mudeli kvantarvuti, mis suudab sellist modelleerimist läbi viia.

Siin on see on töö, kus kvantarvutite arendamise ajakava käsitletakse akadeemilisemalt ja üksikasjalikumalt, kuid käsitleme lühidalt:

Peamised verstapostid kvantarvutite loomise ajaloos:

Nagu näete, on idee hetkest 17 kubitiga arvutis selle esmakordse teostuseni möödunud 1981 aastat (1998-2) ja 21 aastat (1998-2019), kuni kubitide arv kasvas 53-ni. 11 aastat (2001. aastast 2012. aastani) kulus Shori algoritmi tulemuse parandamiseks (vaatame seda veidi hiljem lähemalt) numbrilt 15 kuni 21. Samuti jõudsime alles kolm aastat tagasi selleni, et rakendades seda, millest Feynman rääkis, ja õppida modelleerima lihtsamaid füüsilisi süsteeme.

Kvantarvuti areng on aeglane. Teadlased ja insenerid seisavad silmitsi väga raskete ülesannetega, kvantolekud on väga lühiealised ja haprad ning selleks, et neid arvutuste tegemiseks piisavalt kaua säilitada, peavad nad ehitama kümnete miljonite dollarite eest sarkofaage, milles hoitakse temperatuuri. veidi üle absoluutse nulli ja mis on välismõjude eest maksimaalselt kaitstud. Järgmisena räägime neist ülesannetest ja probleemidest lähemalt.

Juhtivad mängijad

(sisu juurde)

Kuidas kvantarvutid töötavad. Pusle kokku panemine

Selle jaotise slaidid on võetud artiklist Kvantarvuti: suur härjajooks. Loeng Yandexis, teadlaselt Vene kvantkeskus Aleksei Fedorov. Lubage mul esitada teile otsesed tsitaadid:

Kõik tehnoloogiliselt edukad riigid arendavad praegu aktiivselt kvanttehnoloogiaid. Sellesse uuringusse investeeritakse tohutult raha ning luuakse spetsiaalseid kvanttehnoloogiate toetamise programme.

Kuidas kvantarvutid töötavad. Pusle kokku panemine

Kvantijooksus ei osale mitte ainult riigid, vaid ka eraettevõtted. Kokku on Google, IBM, Intel ja Microsoft hiljuti kvantarvutite arendusse investeerinud umbes 0,5 miljardit dollarit ning loonud suuri laboreid ja uurimiskeskusi.
Kuidas kvantarvutid töötavad. Pusle kokku panemine

Habré kohta ja Internetis on palju artikleid, näiteks siin, siin и siin, milles vaadeldakse üksikasjalikumalt hetkeseisu kvanttehnoloogiate arenguga erinevates riikides. Meie jaoks on praegu peamine, et kõik juhtivad tehnoloogiliselt arenenud riigid ja tegijad investeerivad sellesuunalistesse teadusuuringutesse tohutult raha, mis annab lootust väljapääsuks praegusest tehnoloogilisest ummikseisust.

Arengusuunad

(sisu juurde)

Kuidas kvantarvutid töötavad. Pusle kokku panemine

Hetkel (võin eksida, parandage mind) on kõigi juhtivate mängijate peamised jõupingutused (ja enam-vähem märkimisväärsed tulemused) koondunud kahte valdkonda:

  • Spetsiaalsed kvantarvutid, mis on suunatud ühe konkreetse probleemi lahendamisele, näiteks optimeerimisülesandele. Toote näide on D-Wave'i kvantarvutid.
  • Universaalsed kvantarvutid — mis on võimelised rakendama suvalisi kvantalgoritme (Shor, Grover jne). Rakendused IBMilt, Google'ilt.

Teised arenguvektorid, mida kvantfüüsika meile annab, näiteks:

Muidugi on see ka uurimisvaldkondade nimekirjas, kuid praegu ei paista enam-vähem märkimisväärseid tulemusi olevat.

Lisaks saate lugeda tegevuskava kvanttehnoloogiate arendamiseks, noh, googelda"kvanttehnoloogiate arendamine", Näiteks, siin, siin и siin.

Põhitõed. Kvantobjektid ja kvantsüsteemid

(sisu juurde)

Kuidas kvantarvutid töötavad. Pusle kokku panemine

Kõige tähtsam on sellest jaotisest aru saada

Kvantarvuti (erinevalt tavapärasest) kasutab infokandjatena kvantobjektid, ja arvutuste tegemiseks tuleb ühendada kvantobjektid kvantsüsteem.

Mis on kvantobjekt?

Kvantobjekt - mikromaailma (kvantmaailma) objekt, millel on kvantomadused:

  • Sellel on kahe piiritasemega määratletud olek
  • On kuni mõõtmise hetkeni oma oleku superpositsioonis
  • Seob end teiste objektidega, et luua kvantsüsteeme
  • Rahuldab kloonimise keelamise teoreemi (objekti olekut ei saa kopeerida)

Vaatame iga kinnisvara üksikasjalikumalt:

Sellel on määratletud olek kahe piirtasemega (lõppolek)

Klassikaline näide tegelikust maailmast on münt. Sellel on "külg" olek, millel on kaks piiritasandit - "pead" ja "sabad".

On kuni mõõtmise hetkeni oma oleku superpositsioonis

Nad viskasid mündi, see lendab ja keerleb. Pöörlemise ajal on võimatu öelda, millisel piiritasandil selle "külg" olek asub. Kuid niipea, kui me selle maha lööme ja tulemust vaatame, variseb olekute superpositsioon kohe ühte kahest piirseisundist - “pead” ja “sabad”. Mündi löömine on meie puhul mõõtmine.

Seob end teiste objektidega, et luua kvantsüsteeme

Mündiga on raske, aga proovime. Kujutage ette, et viskasime kolm münti nii, et need pöörlevad üksteise külge klammerdudes, see on müntidega žongleerimine. Igal ajahetkel ei ole igaüks neist mitte ainult olekute superpositsioonis, vaid need seisundid mõjutavad üksteist vastastikku (mündid põrkuvad).

Rahuldab kloonimise keelamise teoreemi (objekti olekut ei saa kopeerida)

Sel ajal, kui mündid lendavad ja keerlevad, ei saa me kuidagi luua koopiat ühegi mündi pöörlemisolekust süsteemist eraldi. Süsteem elab enda sees ja on väga armukade igasuguse teabe väljastamiseks välismaailmale.

Veel paar sõna kontseptsiooni enda kohta "superpositsioonid", peaaegu kõigis artiklites on superpositsiooni selgitatud kui "on kõikides olekutes samal ajal", mis on muidugi tõsi, kuid ajab kohati asjatult segadusse. Olekute superpositsiooni võib ette kujutada ka faktina, et igal ajahetkel on kvantobjektil igal piiritasemel on teatud tõenäosus kokkuvarisemiseks ja kokku on need tõenäosused loomulikult võrdsed 1-ga. Hiljem, kubiti käsitledes, peatume sellel üksikasjalikumalt.

Müntide puhul saab seda visualiseerida – olenevalt algkiirusest, viskenurgast, keskkonna seisundist, milles münt lendab, on igal ajahetkel “peade” või “sabade” saamise tõenäosus erinev. Ja nagu varem mainitud, võib sellise lendava mündi olekut ette kujutada kui "olemist kõigis oma piirseisundites samal ajal, kuid nende rakendamise tõenäosus on erinev".

Kvantarvutis saab infokandjana kasutada mis tahes objekti, mille puhul ülaltoodud omadused on täidetud ning mida saame luua ja juhtida.

Veidi edasi räägime kubitide kvantobjektidena füüsilise rakendamise hetkeseisust ja sellest, mida teadlased praegu selles valdkonnas kasutavad.

Nii et kolmas omadus väidab, et kvantobjektid võivad kvantsüsteemide loomiseks takerduda. Mis on kvantsüsteem?

Kvantsüsteem — põimunud kvantobjektide süsteem, millel on järgmised omadused:

  • Kvantsüsteem on kõigi võimalike objektide superpositsioonis, millest see koosneb
  • Süsteemi olekut on mõõtmise hetkeni võimatu teada
  • Mõõtmise hetkel rakendab süsteem ühte oma piirseisundite võimalikest variantidest

(ja natuke ette vaadates)

Järeldus kvantprogrammide kohta:

  • Kvantprogrammil on süsteemi antud olek sisendis, superpositsioon sees, superpositsioon väljundis
  • Programmi väljundis pärast mõõtmist on meil süsteemi ühe võimaliku lõppseisundi tõenäosuslik teostus (pluss võimalikud vead)
  • Igal kvantprogrammil on korstnaarhitektuur (sisend -> väljund. Silmuseid pole, protsessi keskel ei ole näha süsteemi olekut.)

Kvantarvuti ja tavaarvuti võrdlus

(sisu juurde)

Kuidas kvantarvutid töötavad. Pusle kokku panemine

Võrdleme nüüd tavaarvutit ja kvantarvutit.

tavaline arvuti Kvantarvuti

Loogika

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

Füüsika

Pooljuhttransistor Kvantobjekt

Meediakandja

Pingetasemed Polarisatsioon, spin,…

Operatsioonid

EI, JA, VÕI, XOR üle bittide Klapid: CNOT, Hadamard,…

Suhe

Pooljuhtkiip Segadus üksteisega

Algoritmid

Standardne (vt Whip) Eripakkumised (Shore, Grover)

Põhimõte

Digitaalne, deterministlik Analoog, tõenäosuslik

Loogika tase
Kuidas kvantarvutid töötavad. Pusle kokku panemine

Tavalises arvutis on see natuke. Meile läbi ja lõhki hästi tuntud deterministlik bitt. Võib võtta väärtusi 0 või 1. See saab rolliga suurepäraselt hakkama loogiline üksus tavaarvuti jaoks, aga oleku kirjeldamiseks täiesti sobimatu kvantobjekt, mis, nagu me juba ütlesime, asub loodusesnende piirseisundite superpositsioonid.

Selle nad välja mõtlesid qubit. Oma piirseisundites realiseerib see olekuid, mis on sarnased 0 ja 1-ga |0> ja |1>, ja superpositsioonis tähistab tõenäosusjaotus üle selle piirseisundite |0> и |1>:

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

a ja b esindavad tõenäosusamplituudidja nende moodulite ruudud on tegelikud tõenäosused saada täpselt sellised piirseisundite väärtused |0> и |1>, kui ahendate kubiti praegu mõõtmisega.

Füüsiline kiht

Praegusel tehnoloogilisel arengutasemel on tavalise arvuti jaoks biti füüsiline teostus pooljuhttransistor, kvanti jaoks, nagu me juba ütlesime, mis tahes kvantobjekt. Järgmises osas räägime sellest, mida praegu kasutatakse kubittide füüsilise kandjana.

Andmekandja

Tavalise arvuti jaoks on see elektrivool - pingetasemed, voolu olemasolu või puudumine jne, kvanti jaoks - sama kvantobjekti olek (polarisatsiooni suund, spin vms), mis võib olla superpositsioonis.

Operatsioonid

Loogikalülituste rakendamiseks tavaarvutis kasutame tuntud loogilisi tehteid, kubitidel tehtavateks operatsioonideks oli vaja välja mõelda hoopis teistsugune operatsioonisüsteem, nn kvantväravad. Väravad võivad olla ühe- või topeltkubitilised, olenevalt sellest, kui palju kubiteid teisendatakse.

Kvantvärava näited:
Kuidas kvantarvutid töötavad. Pusle kokku panemine

On olemas kontseptsioon universaalne klapikomplekt, mis on piisavad mis tahes kvantarvutuste tegemiseks. Näiteks sisaldab universaalne komplekt Hadamardi väravat, faasinihke väravat, CNOT väravat ja π⁄8 väravat. Nende abiga saate teha mis tahes kvantarvutusi suvalise kubitikomplekti jaoks.

Selles artiklis me kvantväravate süsteemil üksikasjalikult ei peatu, nende ja kubittide loogiliste operatsioonide kohta saate täpsemalt lugeda näiteks siin. Peamine asi, mida meeles pidada:

  • Kvantobjektidega tehtavad toimingud nõuavad uute loogiliste operaatorite (kvantväravate) loomist.
  • Kvantväravad on ühe- ja topeltkubitilised.
  • On olemas universaalsed väravate komplektid, mida saab kasutada mis tahes kvantarvutuste tegemiseks

Suhe

Üks transistor on meile täiesti kasutu, arvutuste tegemiseks peame omavahel ühendama palju transistore, st looma miljonitest transistoridest pooljuhtkiibi, millele ehitada loogilisi ahelaid, ALU ja lõpuks hankige kaasaegne protsessor selle klassikalisel kujul.

Üks kubit on ka meie jaoks täiesti kasutu (noh, kui ainult akadeemilises mõttes),

arvutuste tegemiseks vajame kubittide (kvantobjektide) süsteemi

mis, nagu me juba ütlesime, luuakse kubitide üksteisega põimumisel, nii et muutused nende olekus toimuvad koordineeritult.

Algoritmid

Standardsed algoritmid, mida inimkond on tänaseks kogunud, on kvantarvutis realiseerimiseks täiesti sobimatud. Jah, üldiselt pole vajadust. Kvantarvutid, mis põhinevad paisuloogikal üle qubitide, nõuavad täiesti erinevate algoritmide, kvantalgoritmide loomist. Tuntuimatest kvantalgoritmidest saab eristada kolme:

Põhimõte

Ja kõige olulisem erinevus on tööpõhimõte. Tavalise arvuti jaoks on see digitaalne, rangelt deterministlik põhimõte, lähtudes sellest, et kui seada mingi süsteemi algseisund ja lasta see läbi antud algoritmi, siis on arvutuste tulemus sama, olenemata sellest, mitu korda seda arvutust läbime. Tegelikult on see käitumine täpselt see, mida me arvutilt ootame.

Kvantarvuti töötab analoog, tõenäosuslik printsiip. Antud algoritmi tulemus antud algolekus on valim tõenäosusjaotusest algoritmi lõplikud teostused pluss võimalikud vead.

See kvantarvutuse tõenäosuslik olemus on tingitud kvantmaailma väga tõenäosuslikust olemusest. "Jumal ei mängi universumiga täringuid.", ütles vana Einstein, kuid kõik senised katsed ja vaatlused (praeguse teadusliku paradigma kohaselt) kinnitavad vastupidist.

Kubittide füüsilised teostused

(sisu juurde)

Kuidas kvantarvutid töötavad. Pusle kokku panemine

Nagu me juba ütlesime, saab kubiti esitada kvantobjektiga, st füüsilise objektiga, mis rakendab ülalkirjeldatud kvantomadusi. See tähendab, et jämedalt öeldes saab kvantarvuti ehitamiseks kasutada mis tahes füüsilist objekti, milles on kaks olekut ja need kaks olekut on superpositsioonis.

"Kui suudame aatomi panna kahele erinevale tasemele ja neid juhtida, siis on teil kubit. Kui saame seda teha iooniga, on see kubit. Sama on vooluga. Kui me käivitame seda samal ajal päri- ja vastupäeva, on teil kubit. (C)

On imeline kommentaar к siit, milles käsitletakse üksikasjalikumalt qubiti füüsiliste rakenduste praegust mitmekesisust, loetleme lihtsalt kõige tuntumad ja levinumad:

Kõigist sellest sordist on kõige arenenum esimene kubitite saamise meetod, mis põhineb ülijuhid. Google, IBM, Intel ja teised juhtivad mängijad kasutavad seda oma süsteemide ehitamiseks.

Noh, loe edasi ülevaade võimalik füüsilised teostused qubits alates Andrew Daley, 2014.

Põhitõed. Kuidas kvantarvuti töötab

(sisu juurde)

Kuidas kvantarvutid töötavad. Pusle kokku panemine

Selle jaotise materjalid (ülesanne ja pildid) on võetud artiklist "Lihtsalt raskete asjade kohta. Kuidas kvantarvuti töötab?.

Kujutage ette, et meil on järgmine ülesanne:

Seal on kolmeliikmeline grupp: (A)ndrey, (B)olodya ja (C)erezha. Seal on kaks taksot (0 ja 1).

Samuti on teada, et:

  • (A)ndrey, (B)olodya on sõbrad
  • (A)ndrey, (C)erezha on vaenlased
  • (B)olodya ja (C)erezha on vaenlased

Ülesanne: Asetage inimesed taksosse nii, et Max (sõbrad) и Min (vaenlased)

Hinnang: L = (sõprade arv) – (vaenlaste arv) iga majutusvõimaluse kohta

TÄHTIS: eeldades, et heuristikat pole, pole ka optimaalset lahendust. Sel juhul saab probleemi lahendada ainult valikute täieliku otsimisega.

Kuidas kvantarvutid töötavad. Pusle kokku panemine

Lahendus tavalises arvutis

Kuidas seda probleemi tavalises (super)arvutis (või klastris) lahendada – see on selge peate läbi vaatama kõik võimalikud valikud. Kui meil on mitme protsessori süsteem, siis saame lahenduste arvutamise paralleelselt mitme protsessori vahel ja seejärel tulemused koguda.

Meil on 2 võimalikku majutusvõimalust (takso 0 ja takso 1) ja 3 inimest. Lahendusruum 2 ^ 3 = 8. Kalkulaatori abil saate isegi läbida 8 võimalust, see pole probleem. Teeme nüüd probleemi keerulisemaks – meil on 20 inimest ja kaks bussi, lahendusruum 2^20 = 1 048 576. Ei midagi keerulist ka. Suurendame inimeste arvu 2.5 korda - võta 50 inimest ja kaks rongi, lahendusruum on nüüd 2^50 = 1.12 x 10^15. Tavalisel (super)arvutil hakkavad juba tõsised probleemid tekkima. Suurendame inimeste arvu 2 korda, 100 inimest annab meile juba 1.2 x 10^30 võimalikud variandid.

See on kõik, seda ülesannet ei saa mõistliku aja jooksul arvutada.

Superarvuti ühendamine

Praegu on kõige võimsam arvuti number 1 Top500See Summit, tootlikkus 122 Pflops. Oletame, et ühe variandi arvutamiseks vajame 100 tehtet, siis 100 inimese ülesande lahendamiseks vajame:

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

Nagu näeme algandmete mõõtme kasvades kasvab lahendusruum vastavalt võimsusseadusele, üldjuhul on meil N biti jaoks 2^N võimalikku lahendusvarianti, mis suhteliselt väikese N (100) korral annavad meile arvutamata (praegusel tehnoloogilisel tasemel) lahendusruumi.

Kas on mingeid alternatiive? Nagu arvata võis, on jah.

Kuid enne kui jõuame sellesse, kuidas ja miks saavad kvantarvutid selliseid probleeme tõhusalt lahendada, võtame korraks kokku, mis need on. tõenäosusjaotus. Ärge kartke, see on ülevaateartikkel, siin ei ole rasket matemaatikat, leiame klassikalise näitega koti ja pallidega.

Lihtsalt natuke kombinatoorikat, tõenäosusteooriat ja kummalist eksperimenteerijat

Võtame koti ja paneme selle sisse 1000 valget ja 1000 musta palli. Viime läbi eksperimendi - võtame palli välja, paneme kirja värvi, paneme palli tagasi kotti ja segame pallid kotis kokku.

Katse viidi läbi 10 korda, tõmbas välja 10 musta palli. Võib olla? Päris. Kas see proov annab meile mõistliku ettekujutuse tegelikust jaotusest kotis? Ilmselgelt mitte. Mida on vaja teha - õige, lkkorrake katset miljon korda ja arvutage mustade ja valgete kuulide sagedused. Saame näiteks 49.95% must ja 50.05% valge. Sel juhul on jaotuse struktuur, millest valime (ühe palli välja võtame), juba enam-vähem selge.

Peaasi on sellest aru saada katsel endal on tõenäosuslik iseloom, ühe näidisega (palliga) me ei tea jaotuse tegelikku struktuuri, peame katset kordama mitu korda ja keskmine tulemus.

Lisame selle oma kotti 10 punast ja 10 rohelist palli (vead). Kordame katset 10 korda. INvälja tõmmatud 5 punast ja 5 rohelist. Võib olla? Jah. Tõelise jaotuse kohta võime midagi öelda - ei. Mida on vaja teha - saate aru.

Tõenäosusjaotuse struktuuri mõistmiseks on vaja korduvalt selle jaotuse üksikute tulemuste valimit ja tulemuste keskmist.

Teooria ühendamine praktikaga

Nüüd võtame mustade ja valgete pallide asemel piljardipallid ja paneme need kotti 1000 palli numbriga 2, 1000 palli numbriga 7 ja 10 palli muude numbritega. Kujutagem ette eksperimenteerijat, kes on treenitud kõige lihtsamate toimingute tegemiseks (võta pall välja, kirjuta number üles, pane pall tagasi kotti, sega pallid kotis) ja ta teeb seda 150 mikrosekundi jooksul. No selline kiiruse katsetaja (mitte ravimireklaam!!!). Siis suudab ta 150 sekundi pärast meie katset 1 miljon korda läbi viia ja esitage meile keskmised tulemused.

Nad istutasid katsetaja maha, andsid talle koti, pöördusid ära, ootasid 150 sekundit ja said:

number 2 - 49.5%, number 7 - 49.5%, ülejäänud numbrid kokku - 1%.

Jah see on õige, meie kott on kvantarvuti algoritmiga, mis lahendab meie probleemi, ja pallid on võimalikud lahendused. Kuna õigeid lahendusi on kaks, siis kvantarvuti annab meile ükskõik millise neist võimalikest lahendustest võrdse tõenäosusega ja 0.5% (10/2000) veaga, millest räägime hiljem.

Kvantarvuti tulemuse saamiseks peate käivitama kvantalgoritmi mitu korda samal sisendandmete kogumil ja arvutama tulemuse keskmise.

Kvantarvuti skaleeritavus

Kujutage nüüd ette, et ülesande puhul, mis hõlmab 100 inimest (lahendusruum 2^100 me mäletame seda), on ka ainult kaks õiget otsust. Kui võtame siis 100 kubitti ja kirjutame algoritmi, mis arvutab meie sihtfunktsiooni (L, vt eespool) nende kubitide peale, siis saame koti, milles on 1000 palli esimese õige vastuse numbriga, 1000 teise õige vastuse number ja 10 palli teiste numbritega. Ja sama 150 sekundi jooksul annab meie eksperimentaator meile hinnangu õigete vastuste tõenäosusjaotuse kohta.

Kvantalgoritmi täitmisaega (mõnede eeldustega) võib pidada konstantseks O(1) lahendusruumi mõõtme (2^N) suhtes.

Ja see on just kvantarvuti omadus - tööaja püsivus seoses kasvava võimuseadusega on lahendusruumi keerukus võtmeks.

Qubit ja paralleelmaailmad

Kuidas see juhtub? Mis võimaldab kvantarvutil nii kiiresti arvutusi teha? See kõik puudutab kubiidi kvantloomust.

Vaata, me ütlesime, et kubit on nagu kvantobjekt realiseerib vaadeldes ühte oma kahest olekust, kuid “metsikus looduses” on see sees olekute superpositsioonid, see tähendab, et see on üheaegselt (teatava tõenäosusega) mõlemas piirseisundis.

Võtke (A)ndreya ja kujutage ette selle olekut (millises sõidukis see on 0 või 1) kubitina. Siis on meil (kvantruumis) kaks paralleelset maailma, ühes (A) istub taksos 0, teises maailmas - taksos 1. Kahes taksos korraga, kuid teatud tõenäosusega leitakse see vaatluse käigus neist igaühest üles.

Võtke (B) noor ja kujutagem ka selle olekut ette kubitina. Tekib veel kaks paralleelmaailma. Aga praegu need maailmapaarid (A) и (AT) ei suhtle üldse. Mida on vaja loomiseks teha seotud süsteem? See on õige, me vajame neid kubitte siduda (segadusse). Me võtame selle ja segame selle (A) koos (B) — saame kahest kubitist koosneva kvantsüsteemi (A, B), teadvustades endas nelja vastastikku sõltuvad paralleelmaailmad. Lisama (S)ergey ja saame kolme kubiidi süsteemi (АВС), rakendades kaheksat vastastikku sõltuvad paralleelmaailmad.

Kvantarvutuse (kvantväravate ahela rakendamine üle ühendatud kubittide süsteemi) olemus seisneb selles, et arvutus toimub kõigis paralleelmaailmades samaaegselt.

Ja pole vahet, kui palju meil neid on, 2^3 või 2^100, kvantalgoritm täidetakse piiratud aja jooksul kõigis nendes paralleelmaailmades ja annab meile tulemuse, mis on valim algoritmi vastuste tõenäosusjaotusest.

Parema mõistmise huvides võib seda ette kujutada kvanttasemel olev kvantarvuti käivitab 2^N paralleelset lahendusprotsessi, kellest igaüks töötab ühe võimaliku variandi kallal, seejärel kogub töö tulemused - ja annab meile vastuse lahenduse superpositsiooni kujul (vastuste tõenäosusjaotus), millest võtame iga kord ühe valimi (iga katse jaoks).

Pidage meeles meie katsetajale kuluvat aega (150 µs) eksperimendi läbiviimiseks on see meile kasulik veidi kaugemal, kui räägime kvantarvutite põhiprobleemidest ja dekoherentsiajast.

Kvantalgoritmid

(sisu juurde)

Kuidas kvantarvutid töötavad. Pusle kokku panemine

Nagu juba mainitud, ei ole tavapärased binaarloogikal põhinevad algoritmid rakendatavad kvantloogikat (kvantväravaid) kasutavale kvantarvutile. Tema jaoks oli vaja välja mõelda uued, mis kasutaksid täielikult ära andmetöötluse kvantloomusele omase potentsiaali.

Tänapäeval on kõige tuntumad algoritmid:

Erinevalt klassikalistest pole kvantarvutid universaalsed.
Seni on leitud vaid väike arv kvantalgoritme.(C)

Tänan oksoroon lingi jaoks Kvantalgoritmi loomaaed, koht, kus autori sõnul ("Stephen Jordan"), on kogutud ja kogunevad jätkuvalt kvantalgoritmimaailma parimad esindajad.

Selles artiklis me kvantalgoritme üksikasjalikult ei analüüsi, Internetis on palju suurepäraseid materjale mis tahes keerukuse taseme jaoks, kuid me peame siiski lühidalt üle vaatama kolme kõige kuulsama.

Shori algoritm.

(sisu juurde)

Kõige kuulsam kvantalgoritm on Shori algoritm (leiutas 1994. aastal inglise matemaatik Peter Shore), mis on suunatud arvude algteguriteks faktooreerimise probleemi lahendamisele (faktoriseerimisülesanne, diskreetne logaritm).

Just seda algoritmi tuuakse näitena, kui nad kirjutavad, et teie pangasüsteemid ja paroolid häkitakse varsti sisse. Arvestades, et tänapäeval kasutatavate klahvide pikkus ei ole väiksem kui 2048 bitti, pole ülempiiri aeg veel käes.

Tänini järeldused rohkem kui tagasihoidlik. Parimad faktoriseerimise tulemused Shori algoritmiga – numbrid 15 и 21, mis on palju vähem kui 2048 bitti. Tabeli ülejäänud tulemuste jaoks on erinev algoritm arvutused, kuid isegi selle algoritmi parim tulemus (291311) on tegelikust rakendusest väga kaugel.

Kuidas kvantarvutid töötavad. Pusle kokku panemine

Shori algoritmi kohta saate rohkem lugeda näiteks siin. Praktilise rakendamise kohta - siin.

Üks neist praegused hinnangud keerukus ja vajalik võimsus 2048-bitise arvu faktoriks on arvuti 20 miljonit kubitti. Magame rahulikult.

Groveri algoritm

(sisu juurde)

Groveri algoritm - kvantalgoritm loendusülesande lahendamine ehk võrrandile lahenduse leidmine F(X) = 1, kus F on tõeväärtuslik funktsioon pärit n muutujad. Selle pakkus välja Ameerika matemaatik Kalapüügi Grover в 1996 aasta.

Leidmiseks saab kasutada Groveri algoritmi mediaanid и aritmeetiline keskmine numbriseeria. Lisaks saab seda kasutada lahendamiseks NP-täielik probleeme ammendava otsingu kaudu paljude võimalike lahenduste hulgast. Võrreldes klassikaliste algoritmidega võib see kaasa tuua märkimisväärse kiiruse suurenemise, kuigi ilma "polünoomlahend" üldiselt.(C)

Saate rohkem lugeda siinVõi siin... Veel siin Algoritmi kohta on kastide ja palli näitel hea selgitus, kuid kahjuks kellestki mitteolenevatel põhjustel see sait mulle Venemaalt ei avane. Kui teil on see sait on samuti blokeeritud, nii et siin on lühike kokkuvõte:

Groveri algoritm. Kujutage ette, et teil on N tükki nummerdatud suletud kasti. Need on kõik tühjad, välja arvatud üks, mis sisaldab palli. Sinu ülesanne: uuri välja kasti number, milles pall asub (seda tundmatut numbrit tähistatakse sageli tähega w).
Kuidas kvantarvutid töötavad. Pusle kokku panemine

Kuidas seda probleemi lahendada? Kõige rumalam on kaste kordamööda avada ja varem või hiljem satute palliga kasti peale. Mitu kasti tuleb keskmiselt kontrollida, enne kui palliga kast leitakse? Keskmiselt tuleb avada umbes pooled N/2 kastist. Peamine on siin see, et kui suurendada kastide arvu 100 korda, siis sama 100 korda suureneb ka keskmine kastide arv, mis tuleb enne palliga kasti leidmist avada.

Teeme nüüd veel ühe täpsustuse. Ärgem avagem kaste ise kätega ja kontrolligem igas palli olemasolu, vaid on olemas teatud vahendaja, nimetagem teda Oraakliks. Me ütleme Oracle'ile "märkekasti number 732" ja Oracle kontrollib ausalt ja vastab: "Kastis number 732 pole kuuli." Selle asemel, et öelda, mitu kasti me keskmiselt peame avama, ütleme: "Mitu korda peaksime keskmiselt Oracle'i juurde minema, et leida palliga kasti number"

Selgub, et kui tõlgime selle kastide, palli ja Oracle'i probleemi kvantkeelde, saame tähelepanuväärse tulemuse: palliga kasti numbri leidmiseks N kasti hulgast peame Oracle'i häirima ainult umbes SQRT. (N) korda!

See tähendab, et Groveri algoritmi kasutava otsinguülesande keerukus väheneb kordade ruutjuure võrra.

Deutsch-Jozi algoritm

(sisu juurde)

Deutsch-Jozsa algoritm (nimetatakse ka Deutsch-Jozsa algoritmiks) - [kvantalgoritm](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 aasta, ja sellest sai üks esimesi näiteid algoritmidest, mis on mõeldud täitmiseks kvantarvutid. _

Deutsch-Jozsi ülesanne on määrata, kas mitme binaarmuutuja F(x1, x2, ... xn) funktsioon on konstantne (võtab mis tahes argumendi jaoks väärtuse 0 või 1) või tasakaalustatud (pool domeenist väärtus 0, teise poole jaoks 1). Sel juhul loetakse a priori teada, et funktsioon on kas konstant või tasakaalustatud. (C)

Saate ka lugeda siin. Lihtsam seletus:

Deutsch (Deutsch-Jozsi) algoritm põhineb toorel jõul, kuid võimaldab seda teha tavapärasest kiiremini. Kujutage ette, et laual on münt ja peate välja selgitama, kas see on võltsitud või mitte. Selleks peate münti kaks korda vaatama ja määrama: “pead” ja “sabad” on tõelised, kaks “pead”, kaks “saba” on võltsitud. Seega, kui kasutada Deutschi kvantalgoritmi, saab selle määramise teha ühe pilguga – mõõtmisega. (C)

Kvantarvutite probleemid

(sisu juurde)

Kuidas kvantarvutid töötavad. Pusle kokku panemine

Kvantarvutite projekteerimisel ja kasutamisel seisavad teadlased ja insenerid silmitsi tohutu hulga probleemidega, mida on siiani vahelduva eduga lahendatud. Vastavalt uurimistöö (ja ka siin) saab tuvastada järgmised probleemid:

  • Tundlikkus keskkonna suhtes ja suhtlemine keskkonnaga
  • Vigade kuhjumine arvutuste käigus
  • Raskused kubiti olekute esialgse initsialiseerimisega
  • Raskused mitme qubit süsteemide loomisel

Soovitan soojalt lugeda artiklit "Kvantarvutite omadused”, eriti selle kommentaarid.

Jaotame kõik peamised probleemid kolme suurde rühma ja vaatleme neid kõiki lähemalt:

Dekoherentsus

(sisu juurde)

Kuidas kvantarvutid töötavad. Pusle kokku panemine

N+1 kirjeldus.

Kvantseisund väga habras asitakerdunud olekus kubitid on äärmiselt ebastabiilsed, igasugune väline mõju võib (ja hävitab) selle seose. Temperatuuri muutus vähima kraadi võrra, rõhk, juhuslikud läheduses lendavad footonid – kõik see destabiliseerib meie süsteemi.

Selle probleemi lahendamiseks ehitatakse madala temperatuuriga sarkofaagid, milles temperatuur (-273.14 kraadi Celsiuse järgi) on veidi üle absoluutse nulli, kusjuures sisemine kamber on protsessoriga maksimaalselt isoleeritud kõigist (võimalikest) väliskeskkonna mõjudest.

Mitmest takerdunud kubitist koosneva kvantsüsteemi maksimaalset eluiga, mille jooksul see säilitab oma kvantomadused ja mida saab kasutada arvutusteks, nimetatakse dekoherentsiajaks.

Praegu on parimate kvantlahenduste dekoherentsusaeg suurusjärgus kümneid ja sadu mikrosekundeid.

Seal on imeline veebisaitkust saab vaadata parameetrite võrdlustabelid kõigist loodud kvantsüsteemidest. See artikkel sisaldab näitena ainult kahte tippprotsessorit – IBMilt IBM Q System One ja alates Google Sycamore. Nagu näeme, ei ületa dekoherentsiaeg (T2) 200 μs.

Ma ei leidnud Sycamore'i kohta täpseid andmeid, kuid kõige rohkem artikkel kvantülemvõimu kohta on antud kaks numbrit - 1 miljon arvutust 200 sekundiga, teises kohas - eest 130 sekundit ilma juhtsignaalide kadumiseta jne.. Igal juhul annab see meile dekoherentsusaeg on umbes 150 μs. Pidage meeles meie kotiga katsetaja? No siin ta on.

Arvuti nimi N Qubits Max paaritud T2 (µs)
IBM Q System One 20 6 70
Google Sycamore 53 4 ~ 150-200

Millega dekoherentsus meid ähvardab?

Peamine probleem seisneb selles, et 150 μs pärast hakkab meie N takerdunud kubitist koosnev arvutussüsteem õigete lahenduste tõenäosusjaotuse asemel väljastama tõenäosuslikku valget müra.

See tähendab, et me vajame:

  • Käivitage qubit süsteem
  • Tehke arvutus (värava toimingute ahel)
  • Lugege tulemust

Ja seda kõike 150 mikrosekundi jooksul. Mul polnud aega - tulemusest sai kõrvits.

Kuid see pole veel kõik…

Vead

(sisu juurde)

Kuidas kvantarvutid töötavad. Pusle kokku panemine

Nagu me ütlesime, kvantprotsessid ja kvantarvutus on oma olemuselt tõenäosuslikud, me ei saa milleski 100% kindlad olla, vaid ainult teatud tõenäosusega. Olukorda raskendab veelgi asjaolu, et kvantarvutus on vigadetundlik. Peamised vigade tüübid kvantarvutuses on järgmised:

  • Dekoherentsi vead on põhjustatud süsteemi keerukusest ja interaktsioonist väliskeskkonnaga
  • Värava arvutusvead (arvutamise kvantloomuse tõttu)
  • Vead lõppoleku lugemisel (tulemus)

Dekoherentsiga seotud vead, ilmuvad niipea, kui oleme oma kubiidid mässitud ja hakkame arvutusi tegema. Mida rohkem kubite kokku põimime, seda keerulisem on süsteem, ja seda lihtsam on seda hävitada. Madala temperatuuriga sarkofaagid, kaitstud kambrid, kõik need tehnoloogilised nipid on täpselt suunatud vigade arvu vähendamisele ja dekoherentsusaja pikendamisele.

Värava arvutusvead - iga toiming (värav) kubitidel võib teatud tõenäosusega lõppeda veaga ja algoritmi rakendamiseks peame sooritama sadu väravaid, nii et kujutage ette, mida me oma algoritmi täitmise lõpus saame. Klassikaline vastus küsimusele on "Kui suur on tõenäosus kohtuda liftis dinosaurusega?" - 50x50, kas kohtute või mitte.

Probleemi hullemaks teeb see, et standardsed veaparandusmeetodid (arvutuste dubleerimine ja keskmistamine) ei tööta kvantmaailmas kloonimise keelu teoreemi tõttu. Sest veaparandus aastal tuli leiutada kvantarvutus kvantkorrektsiooni meetodid. Jämedalt öeldes võtame N tavalist kubitti ja teeme neist 1 loogiline kubit väiksema veamääraga.

Kuid siin tekib veel üks probleem - kubitide koguarv. Vaata, oletame, et meil on 100 kubitiga protsessor, millest 80 kubitit kasutatakse vigade parandamiseks, siis on meil ainult 20 arvutuste tegemiseks.

Vead lõpptulemuse lugemisel — nagu mäletame, esitatakse meile kvantarvutuste tulemus kujul vastuste tõenäosusjaotus. Kuid lõppseisu lugemine võib ka vea tõttu ebaõnnestuda.

Samal peal veebisait Seal on võrreldavad protsessorite tabelid veatasemete järgi. Võrdluseks võtame samad protsessorid, mis eelmises näites – IBM IBM Q System One и Google Sycamore:

arvuti 1-Qubit Gate Fidelity 2-Qubit Gate Fidelity Lugemise täpsus
IBM Q System One 99.96% 98.31% -
Google Sycamore 99.84% 99.38% 96.2%

see on truudust on kahe kvantoleku sarnasuse mõõt. Vea suurust saab jämedalt väljendada kui 1-Fidelity. Nagu näeme, on 2-kubitiliste väravate vead ja lugemisvead peamiseks takistuseks keerukate ja pikkade algoritmide täitmisel olemasolevates kvantarvutites.

Saate ka lugeda teekaart aastast 2016 aastast alates NQIT vigade parandamise probleemi lahendamiseks.

Protsessori arhitektuur

(sisu juurde)

Kuidas kvantarvutid töötavad. Pusle kokku panemine

Teoreetiliselt ehitame ja tegutseme kümnete takerdunud kubittide ahelad, tegelikult on kõik keerulisem. Kõik olemasolevad kvantkiibid (protsessorid) on ehitatud nii, et need tagavad valutu töö ühe kubiidi takerdumine ainult oma naabritega, mida pole rohkem kui kuus.

Kui meil on vaja põimida 1. kubit, näiteks 12., siis peame luua täiendavate kvantoperatsioonide ahel, hõlmavad täiendavaid kubiteid jne, mis suurendab üldist veataset. Jah, ja ärge unustage dekoherentsi aeg, võib-olla selleks ajaks, kui olete lõpetanud kubitide ühendamise vajalikku vooluringi, saab aeg otsa ja kogu vooluring muutub kena valge müra generaator.

Samuti ärge unustage seda Kõigi kvantprotsessorite arhitektuur on erinev, ja emulaatoris režiimis "kõik kõigile ühenduvus" kirjutatud programm tuleb "ümber kompileerida" konkreetse kiibi arhitektuuriks. Neid on isegi spetsiaalsed optimeerimisprogrammid selle toimingu tegemiseks.

Maksimaalne ühenduvus ja maksimaalne kubitide arv samade tippkiipide jaoks:

Arvuti nimi N Qubits Max paaritud T2 (µs)
IBM Q System One 20 6 70
Google Sycamore 53 4 ~ 150-200

Ja võrdluseks tabel eelmise põlvkonna protsessorite andmetega. Võrrelge kubitide arvu, dekoherentsi aega ja veamäära sellega, mis meil praegu uue põlvkonnaga on. Sellegipoolest on areng aeglane, kuid liikuv.

Kuidas kvantarvutid töötavad. Pusle kokku panemine

Nii et:

  • Praegu ei ole täielikult ühendatud arhitektuure üle 6 qubitiga
  • Näiteks qubit 0 s sidumiseks päris protsessoriga võib qubit 15 vajada mitukümmend lisatoimingut
  • Rohkem operatsioone -> rohkem vigu -> tugevam dekoherentsi mõju

Tulemused

(sisu juurde)

Dekoherents on tänapäevase kvantarvutite Prokrusteuse alus. Peame kõik mahutama 150 μs:

  • Kubitite algoleku initsialiseerimine
  • Probleemi arvutamine kvantväravate abil
  • Parandage vead, et saada olulisi tulemusi
  • Lugege tulemust

Seni on tulemused aga pettumust valmistavad siin väitel saavutab kvantarvutis 0.5 s koherentsuse retentsiooniaja, mis põhineb ioonpüüdjad:

Me mõõdame kubiti sidususaega, mis ületab 0.5 s ja magnetvarjestuse korral eeldame, et see paraneb kauem kui 1000 s

Saate lugeda ka selle tehnoloogia kohta siin või näiteks siin.

Olukorra teeb veelgi keerulisemaks asjaolu, et keeruliste arvutuste tegemisel on vaja kasutada kvantveaparandusahelaid, mis samuti söövad nii aja kui ka saadaolevad kubitid.

Ja lõpuks, kaasaegsed arhitektuurid ei võimalda minimaalsete kuludega rakendada põimumisskeeme, mis on paremad kui 1:4 või 1:6.

Probleemide lahendamise viisid

(sisu juurde)

Ülaltoodud probleemide lahendamiseks kasutatakse praegu järgmisi lähenemisviise ja meetodeid:

  • Madala temperatuuriga krüokambrite kasutamine (10 mK (–273,14 °C))
  • Kasutades protsessoriüksusi, mis on maksimaalselt kaitstud välismõjude eest
  • Kvantveaparandussüsteemide kasutamine (Logic Qubit)
  • Optimeerijate kasutamine konkreetse protsessori ahelate programmeerimisel

Samuti tehakse uuringuid dekoherentsiaja suurendamiseks, kvantobjektide uute (ja teadaolevate) füüsikaliste teostuste otsimiseks, parandusahelate optimeerimiseks jne jne. Edusamme on (vaata ülalt varasemate ja tänapäevaste tippkiipide omadusi), kuid seni on see aeglane, väga-väga aeglane.

D-laine

(sisu juurde)

Kuidas kvantarvutid töötavad. Pusle kokku panemine

D-Wave 2000Q 2000 qubit arvuti. Allikas: D-Wave Systems

Keset Google'i teadaannet kvantülemvõimu saavutamisest 53-kubitise protsessori abil, arvutid и teadaanded firmalt D-Wave, mille kubitite arv ulatub tuhandetesse, on mõnevõrra segane. Tõesti, kui 53 kubitist suutis saavutada kvantülemvõimu, siis milleks on 2048 kubitiga arvuti võimeline? Aga kõik pole nii hea...

Lühidalt (wikist võetud):

Arvutid D-laine töötada põhimõttel kvantlõõgastus (kvantlõõmutamine), suudavad lahendada väga piiratud optimeerimisprobleemide alamklassi ega sobi traditsiooniliste kvantalgoritmide ja kvantvärava rakendamiseks.

Täpsemalt saate lugeda näiteks siin, siin (ettevaatust, ei pruugi avaneda Venemaalt), või Scott Aaronson в siit tema omast blogi postitus. Muide, soovitan soojalt lugeda tema blogi üldiselt, seal on palju head materjali

Üldiselt tekkis teadlastel juba teadete algusest D-Wave'i arvutite kohta küsimusi. Näiteks 2014. aastal seadis IBM kahtluse alla asjaolu, et D-Wave kasutab kvantefekte. See jõudis selleni, et 2015. aastal ostis Google koos NASA-ga ühe neist kvantarvutitest ja pärast uurimistööd kinnitatud, et jah, arvuti töötab ja arvutab probleemi kiiremini kui tavaline. Lisateavet Google'i avalduse kohta saate lugeda siin ja näiteks siin.

Peaasi, et D-Wave'i arvuteid oma sadade ja tuhandete kubitidega ei saa kasutada kvantalgoritmide arvutamiseks ja käivitamiseks. Nende peal ei saa käivitada näiteks Shori algoritmi. Kõik, mida nad saavad teha, on kasutada teatud kvantmehhanisme teatud optimeerimisprobleemi lahendamiseks. Võime arvata, et D-Wave on konkreetse ülesande jaoks kvant-ASIC.

Natuke kvantarvuti emuleerimisest

(sisu juurde)

Kuidas kvantarvutid töötavad. Pusle kokku panemine

Kvantarvutust saab emuleerida tavalises arvutis. Tõepoolest, palun vaata:

  • Kubiti olek võib olla present kompleksarv, mis hõivavad olenevalt protsessori arhitektuurist 2x32 kuni 2x64 bitti (8-16 baiti)
  • N ühendatud qubiti olekut saab esitada 2^N kompleksarvuna, s.t. 2^(3+N) 32-bitise arhitektuuri jaoks ja 2^(4+N) 64-bitise arhitektuuri jaoks.
  • Kvantoperatsiooni N qubitil saab esitada 2^N x 2^N maatriksiga

Seejärel:

  • 10 qubiti emuleeritud olekute salvestamiseks on vaja 8 KB
  • 20 kubiti olekute salvestamiseks vajate 8 MB
  • 30 kubiti oleku salvestamiseks on vaja 8 GB
  • 40 kubiti olekute salvestamiseks on vaja 8 terabaiti
  • 50 kubiti olekute salvestamiseks on vaja 8 petabaiti jne.

(C)

Võrdluseks, Summit (Top-1 top-500-st) kannab ainult 2.8 petabaiti mälu.

Praegune simulatsiooni rekord — 49 qubit tarniti eelmisel aastal Hiina suurimale superarvutile (Sunway Taihu Light)

Kvantarvuti simuleerimise piiri klassikalistes süsteemides määrab kubittide oleku salvestamiseks vajaliku RAM-i hulk.

Soovitan ka lugeda see kommentaar. Sealt:

Toimides - umbes 49 tsüklist (sõltumatutest väravakihtidest) koosneva 39-kubitise vooluahela täpseks emuleerimiseks see võttis 2^63 keerulist korrutamist – superarvuti 4 Pflopsi 4 tunni jooksul

50+ kubitise kvantarvuti emuleerimist klassikalistes süsteemides peetakse mõistliku aja jooksul võimatuks. See on ka põhjus, miks Google kasutas oma kvantülemvõimu katses 53-kubitist protsessorit.

Kvantarvutite ülimuslikkus.

(sisu juurde)

Kuidas kvantarvutid töötavad. Pusle kokku panemine

Wikipedia annab meile kvantarvutite ülimuslikkuse järgmise definitsiooni:

Kvantülemus – võime kvantarvutus seadmed probleemide lahendamiseks, mida klassikalised arvutid praktiliselt ei suuda lahendada.

Tegelikult tähendab kvantülemvõimu saavutamine seda, et näiteks suurte arvude faktoriseerimine Shori algoritmi abil saab adekvaatse ajaga lahendatud või kvanttasandil emuleerida keerulisi keemilisi molekule jne. See tähendab, et uus ajastu on saabunud.

Kuid määratluse sõnastuses on lünk: "mida klassikalised arvutid praktiliselt lahendada ei suuda" Tegelikult tähendab see seda, et kui loote 50+ kubitise kvantarvuti ja käivitate sellel mingi kvantahela, siis nagu eespool arutlesime, ei saa selle ahela tulemust tavalises arvutis emuleerida. See on klassikaline arvuti ei suuda sellise vooluringi tulemust uuesti luua.

See, kas selline tulemus kujutab endast tõelist kvantülimust või mitte, on pigem filosoofiline küsimus. Kuid mõista, mida Google tegi ja millel see põhineb teatas hiljuti, et on saavutanud oma uue Sycamore protsessoriga kvantülemvõimu vajalik.

Google'i kvantülemõigusavaldus

(sisu juurde)

Kuidas kvantarvutid töötavad. Pusle kokku panemine
Sycamore 54-kubitine protsessor

Nii avaldasid Google'i arendajad oktoobris 2019 artikli teadusväljaandes Nature “Kvantülimus programmeeritava ülijuhtiva protsessori abil" Autorid teatasid esimest korda ajaloos kvantülemvõimu saavutamisest, kasutades 54-kubitist Sycamore protsessorit.

Veebis leiduvad Sycamore'i artiklid viitavad sageli kas 54-kubitisele või 53-kubitisele protsessorile. Tõde on see, et vastavalt originaalartikkel, koosneb protsessor füüsiliselt 54 kubitist, kuid üks neist ei tööta ja on kasutusest kõrvaldatud. Seega on meil tegelikult 53-kubitine protsessor.

Sealsamas veebis ilmus komplekt selleteemalisi materjale, mille aste varieerus entusiastlik kuni skeptiline.

IBMi kvantarvutite meeskond väitis seda hiljem Google teatas ekslikult, et saavutas kvantülemvõimu. Ettevõte väidab, et tavaarvuti saab selle ülesandega hakkama halvimal juhul 2,5 päevaga ning saadud vastus on kvantarvuti omast täpsem. See järeldus tehti mitme optimeerimismeetodi teoreetilise analüüsi tulemuste põhjal.

Ja muidugi Scott Aaronson tema ajaveeb Ma ei saanud seda väidet ignoreerida. Tema analüüs koos kõigi linkidega ja Scotti ülim kvantülimus KKK! nagu tavaliselt, tasub neile aega kulutada. Rummu peal tõlge on olemas see KKK ja lugege kindlasti kommentaare, seal on lingid esialgsetele dokumentidele, mis lekitati veebis enne ametlikku teadaannet.

Mida Google tegelikult tegi? Üksikasjaliku arusaamise saamiseks lugege Aaronsoni, kuid lühidalt siit:

Ma võin teile muidugi öelda, aga ma tunnen end üsna lollina. Arvutamine on järgmine: eksperimentaator genereerib juhusliku kvantahela C (st juhusliku 1-kubitise ja 2-kubitise väravate jada lähimate naabrite vahel, sügavusega näiteks 20, mis toimib 2D-võrgus n = 50–60 kubitit). Seejärel saadab katsetaja C kvantarvutisse ja palub sellel rakendada C algolekusse 0, mõõta tulemust {0,1} alusel, saata tagasi n-bitine vaadeldav jada (string) ja korrata mitut tuhandeid või miljoneid kordi. Lõpuks, kasutades oma teadmisi C-st, teeb eksperimenteerija statistilise testi, et näha, kas tulemus vastab kvantarvuti eeldatavale väljundile.

Kuidas kvantarvutid töötavad. Pusle kokku panemine

Väga lühidalt:

  • Väravate abil luuakse juhuslik vooluahel pikkusega 20 53 kubitist
  • Ahel algab täitmiseks algolekuga [0…0]
  • Ahela väljundiks on juhuslik bitistring (näidis)
  • Tulemuse jaotus ei ole juhuslik (häire)
  • Saadud proovide jaotust võrreldakse eeldatavaga
  • Lõpetab Quantum Supremacy

See tähendab, et Google realiseeris sünteetilise probleemi 53-kubitises protsessoris ja tugineb kvantülemvõimu saavutamise väitele asjaolule, et sellist protsessorit pole võimalik mõistliku aja jooksul standardsüsteemides jäljendada.

Mõistmise nimel - See jaotis ei vähenda mingil moel Google'i saavutusi, on insenerid tõesti suurepärased ja küsimus, kas seda saab pidada tõeliseks kvantülemaks või mitte, on filosoofilisem kui inseneriteadus, nagu varem mainitud. Kuid me peame mõistma, et saavutades sellise arvutusliku paremuse, pole me veel sammugi edasi liikunud, et saaksime Shori algoritmi käitada 2048-bitiste numbritega.

Kokkuvõte

(sisu juurde)
Kuidas kvantarvutid töötavad. Pusle kokku panemine

Kvantarvutid ja kvantarvutid on väga paljulubav, väga noor ja seni vähe tööstuslikult rakendatav infotehnoloogia valdkond.

Kvantarvutite areng võimaldab (ükskord) meil lahendada probleeme:

  • Keeruliste füüsikaliste süsteemide modelleerimine kvanttasandil
  • Arvutusliku keerukuse tõttu pole tavaarvutis lahendatav

Peamised probleemid kvantarvutite loomisel ja kasutamisel:

  • Dekoherentsus
  • Vead (dekoherentsus ja värav)
  • Protsessori arhitektuur (täielikult ühendatud kubitiahelad)

Asjade hetkeseis:

  • Tegelikult – päris algus R & D.
  • PÄRIS ärilist ärakasutamist veel ei toimu (ja pole selge, millal see toimub)

Mis võib aidata:

  • Mingi füüsiline avastus, mis vähendab juhtmestiku ja protsessorite käitamise kulusid
  • Millegi avastamine, mis suurendab dekoherentsusaega suurusjärgu võrra ja/või vähendab vigu

Minu arvates (puhtalt isiklik arvamus) Praeguses teaduslikus teadmiste paradigmas ei saavuta me kvanttehnoloogiate arendamisel märkimisväärset edu, siin on vaja kvalitatiivset läbimurret mõnes fundamentaal- või rakendusteaduse valdkonnas, mis annab tõuke uutele ideedele ja meetoditele.

Vahepeal kogume kogemusi kvantprogrammeerimises, kvantalgoritmide kogumises ja loomises, ideede testimises jne jne. Ootame läbimurret.

Järeldus

(sisu juurde)

Käesolevas artiklis käsitlesime kvantarvutite ja kvantarvutite arendamise peamisi verstaposte, uurisime nende tööpõhimõtet, uurisime peamisi probleeme, millega insenerid kvantprotsessorite arendamisel ja töötamisel silmitsi seisavad, ning uurisime ka seda, millised on mitme kubiti omadused. D-arvutid tegelikult on. Wave ja Google'i hiljutine teade kvantülemvõimu saavutamisest.

Kulisside taha jäävad kvantarvutite programmeerimise küsimused (keeled, lähenemised, meetodid jne) ning protsessorite spetsiifilise füüsilise realiseerimisega seotud küsimused, kuidas kubitte hallatakse, linkitakse, loetakse jne. Võib-olla on see järgmise artikli või artiklite teema.

Tänan tähelepanu eest, loodan, et see artikkel on kellelegi kasulik.

(C) Kruegger

Tänusõnad

(sisu juurde)

Kuidas kvantarvutid töötavad. Pusle kokku panemine

@Oxoron korrektuuri ja lähteteksti kommentaaride eest, samuti artikli jaoks "Kvantarvutite omadused"

@a5b kohta teaberikaste kommentaaride jaoks "Kvantarvutite omadused", ja mitte ainult tema jaoks, mis aitas mul suuresti selle mõistatuse välja mõelda.

Kõigile artiklite ja väljaannete autoritele, kelle materjale selle artikli kirjutamisel kasutati.

Ressursside loend

(sisu juurde)

Kuidas kvantarvutid töötavad. Pusle kokku panemine

Ajakohased artiklid ajakirjast [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

Artiklid Habrilt (juhuslikus järjekorras)

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/

Sorteerimata (kuid mitte vähem huvitavad) artiklid Internetist

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

Kursused ja loengud

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

Allikas: www.habr.com

Lisa kommentaar