Kaip veikia kvantiniai kompiuteriai. Dėlionės dėliojimas

Kaip veikia kvantiniai kompiuteriai. Dėlionės dėliojimas

Kvantiniai kompiuteriai ir kvantinė kompiuterija – nauja madingas žodis, kuris buvo įtrauktas į mūsų informacinę erdvę kartu su dirbtinis intelektas, mašininis mokymasis ir kiti aukštųjų technologijų terminai. Tuo pačiu metu aš niekada negalėjau rasti medžiagos internete, kuri padėtų dėlionės mano galvoje „Kaip veikia kvantiniai kompiuteriai“. Taip, yra daug puikių darbų, įskaitant apie Habrą (žr. Išteklių sąrašas), komentarai, prie kurių, kaip dažniausiai būna, yra dar informatyvesni ir naudingesni, tačiau vaizdas mano galvoje, kaip sakoma, nepridėjo.

O neseniai prie manęs priėjo kolegos ir paklausė: „Ar tu supranti, kaip veikia kvantinis kompiuteris? Ar galite mums pasakyti?" Ir tada supratau, kad ne aš viena turiu problemų dėl nuoseklaus paveikslo susidėliojimo savo galvoje.

Dėl to informaciją apie kvantinius kompiuterius buvo bandoma surinkti į nuoseklią loginę grandinę, kurioje pagrindinis lygis, be gilaus pasinėrimo į matematiką ir kvantinio pasaulio struktūrą, buvo paaiškinta, kas yra kvantinis kompiuteris, kokiais principais jis veikia ir su kokiomis problemomis susiduria mokslininkai jį kurdami ir eksploatuodami.


Turinys

Atsakomybės apribojimas

(į turinį)

Autorius nėra kvantinio skaičiavimo ekspertas ir Straipsnio tikslinė auditorija – tie patys IT žmonės, o ne kvantų specialistai, kurie taip pat nori savo galvose susidėlioti paveikslėlį „Kaip veikia kvantiniai kompiuteriai“. Dėl šios priežasties daugelis straipsnyje pateiktų sąvokų yra sąmoningai supaprastintos, siekiant geriau suprasti kvantines technologijas „pagrindiniu“ lygiu, bet be labai stiprus supaprastinimas, prarandant informacijos turinį ir tinkamumą.

Straipsnyje kai kuriose vietose naudojama medžiaga iš kitų šaltinių, kurių sąrašas pateikiamas straipsnio pabaigoje. Kur įmanoma, įterpiamos tiesioginės nuorodos ir nuorodos į originalų tekstą, lentelę ar paveikslą. Jei ką nors (ar ką nors) kažkur pamiršau, parašykite ir pataisysiu.

įvedimas

(į turinį)

Šiame skyriuje trumpai apžvelgsime, kaip prasidėjo kvantinė era, kas paskatino kvantinio kompiuterio idėją, kas (kurios šalys ir korporacijos) šiuo metu yra šios srities lyderiai, taip pat trumpai pakalbėsime. apie pagrindines kvantinės kompiuterijos raidos kryptis.

Kaip viskas prasidėjo

(į turinį)

Kaip veikia kvantiniai kompiuteriai. Dėlionės dėliojimas

Kvantinės eros pradžios tašku laikomas 1900 m., kai pirmą kartą iškėlė M. Planckas hipotezė kad energija išspinduliuojama ir sugeriama ne nuolat, o atskirais kvantais (porcijomis). Idėją perėmė ir išplėtojo daugelis iškilių to meto mokslininkų – Bohr, Einstein, Heisenberg, Schrödingeris, kas galiausiai paskatino sukurti ir plėtoti tokį mokslą kaip kvantinė fizika. Internete yra daug geros medžiagos apie kvantinės fizikos, kaip mokslo, formavimąsi.

Kvantinė fizika į mūsų kasdienį gyvenimą atnešė daug išradimų ir technologijų, be kurių dabar sunku įsivaizduoti mus supantį pasaulį. Pavyzdžiui, lazeris, kuris dabar naudojamas visur – nuo ​​buitinės technikos (lazerio nivelyrai ir kt.) iki aukštųjų technologijų sistemų (lazeriai regėjimo korekcijai, sveiki). meklonas ). Būtų logiška manyti, kad anksčiau ar vėliau kas nors sugalvos, kodėl gi nepanaudojus kvantinių sistemų skaičiavimui. Ir tada tai atsitiko 1980 m.

Vikipedija nurodo, kad pirmąją kvantinio skaičiavimo idėją 1980 m. išreiškė mūsų mokslininkas Jurijus Maninas. Tačiau iš tikrųjų apie tai pradėti kalbėti tik 1981 m., kai gerai žinomas R. Feynmanas pokalbis pirmojoje MIT surengtoje kompiuterinės fizikos konferencijoje, pažymėjo, kad neįmanoma efektyviai imituoti kvantinės sistemos evoliucijos klasikiniame kompiuteryje. Jis pasiūlė elementarų modelį kvantinis kompiuteris, kuri galės atlikti tokį modeliavimą.

Čia yra tai toks darbas, kur kvantinių skaičiavimų kūrimo laiko juosta yra nagrinėjamas akademiškai ir išsamiau, tačiau trumpai apžvelgsime:

Pagrindiniai kvantinių kompiuterių kūrimo istorijos etapai:

Kaip matote, praėjo 17 metų (nuo 1981 m. iki 1998 m.) nuo idėjos iki pirmojo jos įgyvendinimo kompiuteryje su 2 kubitais ir 21 metai (nuo 1998 iki 2019 m.), kol kubitų skaičius išaugo iki 53. Prireikė 11 metų (nuo 2001 m. iki 2012 m.), kad pagerintume Šoro algoritmo rezultatą (šiek tiek vėliau pažvelgsime plačiau) nuo skaičiaus 15 iki 21. Taip pat tik prieš trejus metus priėjome prie to, kad įgyvendinti tai, apie ką kalbėjo Feynmanas, ir išmokti modeliuoti paprasčiausias fizines sistemas.

Kvantinės kompiuterijos plėtra vyksta lėtai. Mokslininkai ir inžinieriai susiduria su labai sudėtingomis užduotimis, kvantinės būsenos yra labai trumpalaikės ir trapios, o norėdami jas išsaugoti pakankamai ilgai, kad galėtų atlikti skaičiavimus, jie turi už dešimtis milijonų dolerių pastatyti sarkofagus, kuriuose palaikoma temperatūra. kiek aukščiau absoliutaus nulio, ir kurios yra maksimaliai apsaugotos nuo išorinių poveikių. Toliau apie šias užduotis ir problemas kalbėsime plačiau.

Pirmaujantys žaidėjai

(į turinį)

Kaip veikia kvantiniai kompiuteriai. Dėlionės dėliojimas

Šio skyriaus skaidrės paimtos iš straipsnio Kvantinis kompiuteris: didelis bulių bėgimas. Paskaita Yandex, iš tyrėjo Rusijos kvantinis centras Aleksejus Fiodorovas. Leiskite pateikti tiesiogines citatas:

Visos technologiškai sėkmingos šalys šiuo metu aktyviai kuria kvantines technologijas. Į šiuos tyrimus investuojama didžiulė pinigų suma, kuriamos specialios kvantinių technologijų palaikymo programos.

Kaip veikia kvantiniai kompiuteriai. Dėlionės dėliojimas

Kvantinėse lenktynėse dalyvauja ne tik valstybės, bet ir privačios įmonės. Iš viso „Google“, IBM, „Intel“ ir „Microsoft“ pastaruoju metu į kvantinių kompiuterių kūrimą investavo apie 0,5 mlrd. USD ir sukūrė dideles laboratorijas bei tyrimų centrus.
Kaip veikia kvantiniai kompiuteriai. Dėlionės dėliojimas

Yra daug straipsnių apie Habré ir internete, pavyzdžiui, čia, čia и čia, kuriame išsamiau nagrinėjama esama kvantinių technologijų raidos padėtis įvairiose šalyse. Mums dabar svarbiausia, kad visos pirmaujančios technologiškai išsivysčiusios šalys ir žaidėjai į šios krypties mokslinius tyrimus investuoja milžiniškus pinigus, o tai suteikia vilčių išeiti iš dabartinės technologinės aklavietės.

Vystymosi kryptys

(į turinį)

Kaip veikia kvantiniai kompiuteriai. Dėlionės dėliojimas

Šiuo metu (galiu klysti, pataisykite) pagrindinės visų pirmaujančių žaidėjų pastangos (ir daugiau ar mažiau reikšmingi rezultatai) sutelktos dviejose srityse:

  • Specializuoti kvantiniai kompiuteriai, kuriais siekiama išspręsti vieną konkrečią problemą, pavyzdžiui, optimizavimo problemą. Produkto pavyzdys yra D-Wave kvantiniai kompiuteriai.
  • Universalūs kvantiniai kompiuteriai — kurios gali įgyvendinti savavališkus kvantinius algoritmus (Shor, Grover ir kt.). Įdiegimai iš IBM, Google.

Kiti vystymosi vektoriai, kuriuos mums suteikia kvantinė fizika, pavyzdžiui:

Žinoma, ji taip pat įtraukta į tiriamųjų sričių sąrašą, tačiau šiuo metu atrodo, kad nėra daugiau ar mažiau reikšmingų rezultatų.

Be to, galite skaityti kvantinių technologijų plėtros planasna, google“kvantinių technologijų plėtra", Pavyzdžiui, čia, čia и čia.

Pagrindai. Kvantinis objektas ir kvantinės sistemos

(į turinį)

Kaip veikia kvantiniai kompiuteriai. Dėlionės dėliojimas

Svarbiausias dalykas, kurį reikia suprasti iš šio skyriaus, yra tai

Kvantinis kompiuteris (skirtingai nei įprastai) naudoja kaip informacijos nešėjus kvantiniai objektai, o norint atlikti skaičiavimus, kvantiniai objektai turi būti prijungti kvantinė sistema.

Kas yra kvantinis objektas?

Kvantinis objektas - mikropasaulio (kvantinio pasaulio) objektas, pasižymintis kvantinėmis savybėmis:

  • Turi apibrėžtą būseną su dviem ribiniais lygiais
  • Iki matavimo momento yra savo būsenos superpozicijoje
  • Susipainioja su kitais objektais, kad sukurtų kvantines sistemas
  • Tenkina neklonavimo teoremą (objekto būsenos negalima nukopijuoti)

Pažvelkime į kiekvieną nuosavybę išsamiau:

Turi apibrėžtą būseną su dviem ribiniais lygiais (galutinė būsena)

Klasikinis realaus pasaulio pavyzdys yra moneta. Jis turi „šoninę“ būseną, kuri įgauna du ribinius lygius - „galvos“ ir „uodegos“.

Iki matavimo momento yra savo būsenos superpozicijoje

Jie metė monetą, ji skrenda ir sukasi. Kol jis sukasi, neįmanoma pasakyti, kuriame iš ribinių lygių yra jo „šoninė“ būsena. Bet kai tik jį užmušame ir pažiūrime į rezultatą, būsenų superpozicija iškart subyra į vieną iš dviejų ribinių būsenų – „galvų“ ir „uodegų“. Pliaukštelėti moneta mūsų atveju yra matavimas.

Susipainioja su kitais objektais, kad sukurtų kvantines sistemas

Su moneta sunku, bet pabandykime. Įsivaizduokite, kad mes išmetėme tris monetas, kad jos suktųsi prilipusios viena prie kitos, tai yra žongliravimas monetomis. Kiekvienu laiko momentu kiekviena iš jų ne tik yra būsenų superpozicijoje, bet šios būsenos viena kitą veikia (monetos susiduria).

Tenkina neklonavimo teoremą (objekto būsenos negalima nukopijuoti)

Kol monetos skraido ir sukasi, niekaip negalime sukurti kurios nors monetos sukimosi būsenos kopijos, atskirai nuo sistemos. Sistema gyvena savyje ir labai pavydi perduoti bet kokią informaciją išoriniam pasauliui.

Dar keli žodžiai apie pačią koncepciją „superpozicijos“, beveik visuose straipsniuose superpozicija aiškinama kaip „yra visose valstybėse vienu metu“, tai, žinoma, tiesa, bet kartais be reikalo glumina. Būsenų superpoziciją taip pat galima įsivaizduoti kaip faktą, kad kiekvienu laiko momentu kvantinis objektas turi yra tam tikros tikimybės sugriūti į kiekvieną jo ribinį lygmenį ir iš viso šios tikimybės natūraliai lygios 1. Vėliau, svarstydami kubitą, apie tai pakalbėsime išsamiau.

Monetų atveju tai gali būti vizualizuota - priklausomai nuo pradinio greičio, metimo kampo, aplinkos, kurioje moneta skrenda, būklės, kiekvienu laiko momentu tikimybė gauti „galvų“ ar „uodegų“ skiriasi. Ir, kaip minėta anksčiau, tokios skraidančios monetos būsena gali būti įsivaizduojama kaip „buvimas visose savo ribinėse būsenose vienu metu, bet su skirtingomis jų įgyvendinimo tikimybėmis“.

Bet koks objektas, kurio aukščiau nurodytos savybės atitinka ir kurį galime sukurti bei valdyti, gali būti naudojamas kaip informacijos nešiklis kvantiniame kompiuteryje.

Šiek tiek toliau kalbėsime apie dabartinę padėtį, susijusią su kubitų, kaip kvantinių objektų, fiziniu įgyvendinimu ir ką mokslininkai šiuo metu naudoja.

Taigi trečioji savybė teigia, kad kvantiniai objektai gali susipainioti, kad sukurtų kvantines sistemas. Kas yra kvantinė sistema?

Kvantinė sistema — susipynusių kvantinių objektų sistema, turinti šias savybes:

  • Kvantinė sistema yra visų galimų objektų, iš kurių ji susideda, būsenų superpozicijoje
  • Neįmanoma žinoti sistemos būklės iki matavimo momento
  • Matavimo momentu sistema realizuoja vieną iš galimų savo ribinių būsenų variantų

(ir šiek tiek pažvelgus į priekį)

Išvada apie kvantines programas:

  • Kvantinė programa turi tam tikrą sistemos būseną įėjime, superpoziciją viduje, superpoziciją išėjime
  • Programos išvestyje po matavimo turime tikimybinį vienos iš galimų galutinių sistemos būsenų įgyvendinimą (plius galimas klaidas)
  • Bet kuri kvantinė programa turi kamino architektūrą (įvestis -> išėjimas. Nėra kilpų, proceso viduryje nematote sistemos būsenos).

Kvantinio ir įprastinio kompiuterio palyginimas

(į turinį)

Kaip veikia kvantiniai kompiuteriai. Dėlionės dėliojimas

Dabar palyginkime įprastą ir kvantinį kompiuterį.

įprastas kompiuteris Kvantinis kompiuteris

Logika

0 / 1 „a|0> + b|1>, a^2+b^2=1“.

Fizika

Puslaidininkinis tranzistorius Kvantinis objektas

Žiniasklaidos laikmena

Įtampos lygiai Poliarizacija, sukimasis,…

Operacijos

NE, IR, ARBA, XOR per bitus Vožtuvai: CNOT, Hadamard,…

Santykiai

Puslaidininkinis lustas Sumišimas tarpusavyje

Algoritmai

Standartinis (žr. „Whip“) Specialūs pasiūlymai (Shore, Grover)

Principas

Skaitmeninis, deterministinis Analoginis, tikimybinis

Loginis lygis
Kaip veikia kvantiniai kompiuteriai. Dėlionės dėliojimas

Įprastame kompiuteryje tai yra šiek tiek. Mums gerai žinomas per ir kiaurai deterministinis bitas. Gali būti 0 arba 1. Jis puikiai susidoroja su vaidmeniu loginis vienetas įprastam kompiuteriui, bet visiškai netinkamas apibūdinti būseną kvantinis objektas, kuris, kaip jau minėjome, gamtoje yrajų ribinių būsenų superpozicijos.

Tai jie sugalvojo kubitas. Savo ribinėse būsenose jis realizuoja būsenas, panašias į 0 ir 1 |0> ir |1>, o superpozicijoje reiškia tikimybių pasiskirstymas per jos ribines būsenas |0> и |1>:

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

a ir b atstovauja tikimybių amplitudės, o jų modulių kvadratai yra tikrosios tikimybės gauti būtent tokias ribinių būsenų vertes |0> и |1>, jei sutrauksite kubitą su matavimu dabar.

Fizinis sluoksnis

Esant dabartiniam technologiniam išsivystymo lygiui, fizinis bito įdiegimas įprastam kompiuteriui yra puslaidininkinis tranzistorius, kvantiniam, kaip jau sakėme, bet koks kvantinis objektas. Kitame skyriuje kalbėsime apie tai, kas šiuo metu naudojama kaip fizinė kubitų laikmena.

Laikymo terpė

Įprastam kompiuteriui tai yra elektros - įtampos lygiai, srovės buvimas ar nebuvimas ir kt., kvantiniam - tas pats kvantinio objekto būsena (poliarizacijos kryptis, sukimasis ir kt.), kuri gali būti superpozicijos būsenoje.

Operacijos

Norėdami įdiegti logines grandines įprastame kompiuteryje, naudojame gerai žinomus loginės operacijos, operacijoms su kubitais reikėjo sugalvoti visai kitokią operacijų sistemą, vadinamą kvantiniai vartai. Vartai gali būti vieno kubito arba dviejų kubitų, priklausomai nuo to, kiek kubitų konvertuojama.

Kvantinių vartų pavyzdžiai:
Kaip veikia kvantiniai kompiuteriai. Dėlionės dėliojimas

Yra koncepcija universalus vožtuvų komplektas, kurių pakanka bet kokiam kvantiniam skaičiavimui atlikti. Pavyzdžiui, universalų rinkinį sudaro Hadamard vartai, fazės poslinkio vartai, CNOT vartai ir π⁄8 vartai. Su jų pagalba galite atlikti bet kokį kvantinį skaičiavimą savavališkame kubitų rinkinyje.

Šiame straipsnyje mes nekalbėsime išsamiai apie kvantinių vartų sistemą, pavyzdžiui, galite perskaityti daugiau apie juos ir logines operacijas su kubitais; čia. Svarbiausia atsiminti:

  • Operacijos su kvantiniais objektais reikalauja sukurti naujus loginius operatorius (kvantinius vartus)
  • Kvantiniai vartai būna vieno kubito ir dviejų kubitų.
  • Yra universalių vartų rinkinių, kurie gali būti naudojami bet kokiam kvantiniam skaičiavimui atlikti

Santykiai

Vienas tranzistorius mums visiškai nenaudingas, kad galėtume atlikti skaičiavimus, reikia sujungti daug tranzistorių iš milijonų tranzistorių, ant kurių būtų kuriamos loginės grandinės; ALU ir galiausiai įsigykite modernų klasikinės formos procesorių.

Vienas kubitas mums taip pat visiškai nenaudingas (na, jei tik akademiniu požiūriu),

Norėdami atlikti skaičiavimus, mums reikia kubitų (kvantinių objektų) sistemos

kuris, kaip jau minėjome, yra sukurtas supainiojus kubitus tarpusavyje taip, kad jų būsenų pokyčiai vyktų koordinuotai.

Algoritmai

Standartiniai algoritmai, kuriuos žmonija sukaupė iki šiol, visiškai netinkami įgyvendinti kvantiniame kompiuteryje. Taip, apskritai nereikia. Kvantiniams kompiuteriams, pagrįstiems vartų logika per kubitus, reikia sukurti visiškai skirtingus algoritmus, kvantinius algoritmus. Iš labiausiai žinomų kvantinių algoritmų galima išskirti tris:

Principas

O svarbiausias skirtumas – veikimo principas. Standartiniam kompiuteriui tai yra skaitmeninis, griežtai deterministinis principas, remiantis tuo, kad jei nustatysime kokią nors pradinę sistemos būseną ir perleisime ją per tam tikrą algoritmą, tada skaičiavimų rezultatas bus toks pat, nesvarbu, kiek kartų šį skaičiavimą atliksime. Tiesą sakant, tokio elgesio mes tikimės iš kompiuterio.

Kvantinis kompiuteris veikia analoginis, tikimybinis principas. Tam tikro algoritmo rezultatas tam tikroje pradinėje būsenoje yra imtį iš tikimybių skirstinio galutinis algoritmo įgyvendinimas ir galimos klaidos.

Toks kvantinio skaičiavimo tikimybinis pobūdis yra dėl labai tikimybinės kvantinio pasaulio esmės. „Dievas nežaidžia kauliukais su visata“., sakė senasis Einšteinas, tačiau visi iki šiol atlikti eksperimentai ir stebėjimai (dabartinėje mokslinėje paradigmoje) patvirtina priešingai.

Fiziniai kubitų įgyvendinimai

(į turinį)

Kaip veikia kvantiniai kompiuteriai. Dėlionės dėliojimas

Kaip jau minėjome, kubitą galima pavaizduoti kvantiniu objektu, tai yra fiziniu objektu, kuris įgyvendina aukščiau aprašytas kvantines savybes. Tai yra, grubiai tariant, bet koks fizinis objektas, kuriame yra dvi būsenos ir šios dvi būsenos yra superpozicijos būsenoje, gali būti naudojamas kvantiniam kompiuteriui sukurti.

„Jei galime sudėti atomą į du skirtingus lygius ir juos valdyti, tada jūs turite kubitą. Jei galime tai padaryti su jonu, tai yra kubitas. Su srove tas pats. Jei paleidžiame jį pagal laikrodžio rodyklę ir prieš laikrodžio rodyklę tuo pačiu metu, turite kubitą. (SU)

Yra nuostabus komentaras к straipsnis, kuriame išsamiau nagrinėjama dabartinė fizinių kubitų įgyvendinimų įvairovė, mes tiesiog išvardysime labiausiai žinomus ir dažniausiai pasitaikančius:

Iš visos šios įvairovės labiausiai išvystytas yra pirmasis kubitų gavimo būdas, pagrįstas superlaidininkai. "Google", IBM, "Intel" ir kiti pagrindiniai žaidėjai naudoja jį savo sistemoms kurti.

Na, skaitykite daugiau apžvalga galima fiziniai įgyvendinimai kubitai iš Andrew Daley, 2014 m.

Pagrindai. Kaip veikia kvantinis kompiuteris

(į turinį)

Kaip veikia kvantiniai kompiuteriai. Dėlionės dėliojimas

Medžiaga šiam skyriui (užduotis ir nuotraukos) paimta iš straipsnio „Tiesiog apie sunkius dalykus. Kaip veikia kvantinis kompiuteris?.

Taigi įsivaizduokite, kad turime tokią užduotį:

Yra trijų žmonių grupė: (A)ndrey, (B)olodya ir (C)erezha. Yra du taksi (0 ir 1 m.).

Taip pat žinoma, kad:

  • (A)ndrey, (B)olodya yra draugai
  • (A)ndrey, (C)erezha yra priešai
  • (B)olodya ir (C)erezha yra priešai

Užduotis: Susodinkite žmones į taksi taip Max (draugai) и Min (priešai)

Įvertinimas: L = (draugų skaičius) – (priešų skaičius) kiekvienam apgyvendinimo variantui

SVARBU: Darant prielaidą, kad euristikos nėra, nėra ir optimalaus sprendimo. Tokiu atveju problemą galima išspręsti tik visapusiškai ieškant variantų.

Kaip veikia kvantiniai kompiuteriai. Dėlionės dėliojimas

Sprendimas įprastame kompiuteryje

Kaip išspręsti šią problemą įprastame (super) kompiuteryje (ar klasteryje) - tai aišku turite peržiūrėti visas įmanomas parinktis. Jei turime kelių procesorių sistemą, galime lygiagrečiai skaičiuoti sprendimus keliuose procesoriuose ir tada surinkti rezultatus.

Turime 2 galimus nakvynės variantus (taksi 0 ir taksi 1) ir 3 žmones. Sprendimo erdvė 2 ^ 3 = 8. Jūs netgi galite pereiti per 8 parinktis naudodami skaičiuotuvą, tai nėra problema. Dabar apsunkinkime problemą – turime 20 žmonių ir du autobusus, sprendimo erdvę 2^20 = 1 048 576. Taip pat nieko sudėtingo. Padidinkime žmonių skaičių 2.5 karto – paimkime 50 žmonių ir du traukinius, sprendimo erdvė dabar 2^50 = 1.12 x 10^15. Paprastas (super) kompiuteris jau pradeda turėti rimtų problemų. Padidinkime žmonių skaičių 2 kartus, 100 žmonių jau duos 1.2 x 10^30 galimi variantai.

Štai ši užduotis negali būti apskaičiuota per protingą laiką.

Superkompiuterio prijungimas

Šiuo metu galingiausias kompiuteris yra 1 numeris Top500Jis Viršūnė, našumas 122 Pflopsas. Tarkime, kad norint apskaičiuoti vieną variantą reikia 100 operacijų, tada norint išspręsti 100 žmonių problemą, mums reikės:

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

Kaip matome didėjant pradinių duomenų matmeniui, sprendimo erdvė didėja pagal galios dėsnį, bendru atveju N bitams turime 2^N galimų sprendimo variantų, kurie santykinai mažiems N (100) suteikia mums neapskaičiuotą (esamuoju technologiniu lygiu) sprendimo erdvę.

Ar yra kokių nors alternatyvų? Kaip jau spėjote, taip, yra.

Tačiau prieš pradėdami suprasti, kaip ir kodėl kvantiniai kompiuteriai gali veiksmingai išspręsti tokias problemas, kaip šios, trumpai apibendrinkime, kas tai yra. tikimybių skirstinys. Neišsigąskite, tai apžvalginis straipsnis, čia nebus sunkios matematikos, pasitenkinsime klasikiniu pavyzdžiu su maišeliu ir kamuoliukais.

Tik šiek tiek kombinatorikos, tikimybių teorijos ir keisto eksperimentuotojo

Paimkime maišelį ir įdėkime į jį 1000 baltų ir 1000 juodų kamuoliukų. Atliksime eksperimentą – išimsime rutulį, užrašysime spalvą, grąžinsime kamuolį į maišelį ir maiše sumaišysime kamuoliukus.

Eksperimentas buvo atliktas 10 kartų, ištraukė 10 juodų kamuoliukų. Gal būt? Gana. Ar šis pavyzdys mums suteikia pagrįstą supratimą apie tikrąjį pasiskirstymą maišelyje? Akivaizdu, kad ne. Ką reikia padaryti – teisingai, ppakartokite eksperimentą milijoną kartų ir apskaičiuokite juodų ir baltų rutuliukų dažnius. Mes gauname, pavyzdžiui 49.95% juoda ir 50.05% balta. Šiuo atveju skirstinio, iš kurio mėginame (išimame vieną rutulį), struktūra jau daugmaž aiški.

Svarbiausia tai suprasti pats eksperimentas turi tikimybinį pobūdį, su vienu pavyzdžiu (rutuliuku) nesužinosime tikrosios skirstinio struktūros, turime pakartoti eksperimentą daug kartų ir rezultatų vidurkį.

Įdėkime jį į savo krepšį 10 raudonų ir 10 žalių kamuoliukų (klaidos). Pakartokime eksperimentą 10 kartų. INištraukė 5 raudonus ir 5 žalius. Gal būt? Taip. Apie tikrąjį pasiskirstymą galime pasakyti kai ką – Ne. Ką reikia daryti – na, supranti.

Norint suprasti tikimybių skirstinio struktūrą, būtina pakartotinai atrinkti atskirus šio skirstinio rezultatus ir suvesti jų vidurkį.

Teorijos susiejimas su praktika

Dabar vietoj juodų ir baltų kamuoliukų imkime biliardo kamuoliukus ir įmeskime į maišelį 1000 kamuoliukų su skaičiumi 2, 1000 su skaičiumi 7 ir 10 rutulių su kitais skaičiais. Įsivaizduokime eksperimentuotoją, kuris yra išmokytas atlikti paprasčiausius veiksmus (išimkite kamuolį, užsirašykite skaičių, įdėkite kamuolį atgal į maišelį, sumaišykite kamuoliukus maišelyje) ir jis tai padaro per 150 mikrosekundžių. Na, toks greičio eksperimentuotojas (ne narkotikų reklama!!!). Tada per 150 sekundžių jis galės atlikti mūsų eksperimentą 1 milijoną kartų ir pateikti mums vidutinius rezultatus.

Jie pasodino eksperimentuotoją, davė jam krepšį, nusisuko, palaukė 150 sekundžių ir gavo:

2 skaičius - 49.5%, 7 skaičius - 49.5%, likę skaičiai iš viso - 1%.

Taip, teisingai, mūsų krepšys yra kvantinis kompiuteris su algoritmu, kuris išsprendžia mūsų problemą, o kamuoliukai yra galimi sprendimai. Kadangi yra du teisingi sprendimai, tada kvantinis kompiuteris pateiks bet kurį iš šių galimų sprendimų su vienoda tikimybe ir 0.5% (10/2000) klaidų, apie kurią kalbėsime vėliau.

Norėdami gauti kvantinio kompiuterio rezultatą, turite kelis kartus paleisti kvantinį algoritmą tame pačiame įvesties duomenų rinkinyje ir apskaičiuoti rezultato vidurkį.

Kvantinio kompiuterio mastelio keitimas

Dabar įsivaizduokite, kad užduočiai, kurioje dalyvauja 100 žmonių (sprendimo erdvė 2^100 mes tai prisimename), taip pat yra tik du teisingi sprendimai. Tada, jei paimsime 100 kubitų ir parašysime algoritmą, kuris apskaičiuoja mūsų tikslo funkciją (L, žr. aukščiau) virš šių kubitų, tada gausime maišelį, kuriame bus 1000 kamuoliukų su pirmojo teisingo atsakymo numeriu, 1000 su antrojo teisingo atsakymo skaičius ir 10 kamuoliukų su kitais skaičiais. Ir per tas pačias 150 sekundžių mūsų eksperimentatorius pateiks teisingų atsakymų pasiskirstymo įvertinimą..

Kvantinio algoritmo vykdymo laikas (su kai kuriomis prielaidomis) gali būti laikomas konstanta O(1) sprendinių erdvės matmens (2^N) atžvilgiu.

Ir tai yra būtent kvantinio kompiuterio savybė - veikimo laiko pastovumas Atsižvelgiant į didėjantį galios dėsnį, sprendimo erdvės sudėtingumas yra raktas.

Kubit ir paraleliniai pasauliai

Kaip tai atsitinka? Kas leidžia kvantiniam kompiuteriui taip greitai atlikti skaičiavimus? Tai viskas apie kvantinę kubito prigimtį.

Žiūrėkite, mes sakėme, kad kubitas yra kaip kvantinis objektas stebint suvokia vieną iš dviejų savo būsenų, bet „laukinėje gamtoje“ ji yra būsenų superpozicijos, tai yra, jis yra abiejose savo ribinėse būsenose vienu metu (su tam tikra tikimybe).

Imk (A) Andreja ir įsivaizduokite jo būseną (kurioje transporto priemonėje ji yra 0 arba 1) kaip kubitą. Tada mes turime (kvantinėje erdvėje) du lygiagretūs pasauliai, viename (A) sėdi taksi 0, kitame pasaulyje - taksi 1. Vienu metu dviejuose taksi, bet su tam tikra tikimybe jį rasti kiekviename iš jų stebėjimo metu.

Imk (B) jaunas ir taip pat įsivaizduokime jo būseną kaip kubitą. Atsiranda kiti du paraleliniai pasauliai. Tačiau kol kas šios pasaulių poros (A) и (AT) visai nebendrauti. Ką reikia padaryti norint sukurti susijęs sistema? Teisingai, mums reikia šių kubitų surišti (supainioti). Imame ir sumaišome (A) su (B) - gauname dviejų kubitų kvantinę sistemą (A, B), suvokdamas savyje keturis priklausomi vienas nuo kito paraleliniai pasauliai. Papildyti (S)ergey ir gauname trijų kubitų sistemą (ABC), įgyvendinant aštuonis priklausomi vienas nuo kito paraleliniai pasauliai.

Kvantinio skaičiavimo (kvantinių vartų grandinės įgyvendinimas per sujungtų kubitų sistemą) esmė yra ta, kad skaičiavimas vyksta visuose lygiagrečiuose pasauliuose vienu metu.

Ir nesvarbu, kiek jų turime, 2^3 ar 2^100, kvantinis algoritmas bus įvykdytas per ribotą laiką visuose šiuose paraleliuose pasauliuose ir pateiks mums rezultatą, kuris yra algoritmo atsakymų tikimybių skirstinio pavyzdys.

Norint geriau suprasti, galima tai įsivaizduoti kvantinis kompiuteris kvantiniame lygmenyje vykdo 2^N lygiagrečių sprendimų procesų, kurių kiekvienas dirba pagal vieną galimą variantą, tada surenka darbo rezultatus – ir pateikia mums atsakymą sprendimo superpozicijos pavidalu (atsakymų tikimybių pasiskirstymas), iš kurio kiekvieną kartą (kiekvienam eksperimentui) po vieną atrenkame.

Prisiminkite laiką, kurio reikia mūsų eksperimentuotojui (150 µs) atlikti eksperimentą, tai mums pravers kiek toliau, kai kalbėsime apie pagrindines kvantinių kompiuterių problemas ir dekoherencijos laiką.

Kvantiniai algoritmai

(į turinį)

Kaip veikia kvantiniai kompiuteriai. Dėlionės dėliojimas

Kaip jau minėta, įprasti dvejetaine logika pagrįsti algoritmai netaikomi kvantiniam kompiuteriui, kuriame naudojama kvantinė logika (kvantiniai vartai). Jam reikėjo sugalvoti naujų, kurios visiškai išnaudotų potencialą, būdingą skaičiavimo kvantiniam pobūdžiui.

Šiandien labiausiai žinomi algoritmai:

Skirtingai nuo klasikinių, kvantiniai kompiuteriai nėra universalūs.
Iki šiol buvo rasta tik nedaug kvantinių algoritmų.(SU)

Ačiū oksoronas už nuorodą į Kvantinio algoritmo zoologijos sodas, vieta, kur, pasak autoriaus ("Stivenas Džordanas"), buvo surinkti ir renkasi geriausi kvantinio algoritmo pasaulio atstovai.

Šiame straipsnyje mes išsamiai nenagrinėsime kvantinių algoritmų, internete yra daug puikios medžiagos bet kokio sudėtingumo lygiui, tačiau vis tiek turime trumpai apžvelgti tris garsiausius.

Šoro algoritmas.

(į turinį)

Garsiausias kvantinis algoritmas yra Šoro algoritmas (1994 m. išrado anglų matematikas Piteris Šoras), kuriuo siekiama išspręsti skaičių faktoringo į pirminius veiksnius problemą (faktorizacijos uždavinys, diskretinis logaritmas).

Būtent šis algoritmas minimas kaip pavyzdys, kai jie rašo, kad netrukus bus nulaužtos jūsų banko sistemos ir slaptažodžiai. Atsižvelgiant į tai, kad šiandien naudojamų klavišų ilgis yra ne mažesnis nei 2048 bitai, dangtelio laikas dar neatėjo.

šiandien išvados daugiau nei kuklus. Geriausi faktorizavimo rezultatai naudojant Šoro algoritmą – skaičiai 15 и 21, tai yra daug mažiau nei 2048 bitai. Likusiems lentelės rezultatams skirtinga algoritmas skaičiavimai, tačiau net ir geriausias rezultatas pagal šį algoritmą (291311) yra labai toli nuo realaus pritaikymo.

Kaip veikia kvantiniai kompiuteriai. Dėlionės dėliojimas

Galite perskaityti daugiau apie Shor algoritmą, pavyzdžiui, čia. Apie praktinį įgyvendinimą - čia.

Vienas iš dabartinės sąmatos sudėtingumo ir reikalingos galios 2048 bitų skaičiaus faktoriui yra kompiuteris su 20 milijonų kubitų. Miegome ramiai.

Groverio algoritmas

(į turinį)

Groverio algoritmas - kvantinis algoritmas išsprendžiant surašymo uždavinį, tai yra, surandant lygties sprendimą F(X) = 1, kur F yra Būlio funkcija nuo n kintamieji. Pasiūlė amerikiečių matematikas Žvejybos Groveris в 1996 metų.

Norint rasti, galima naudoti Groverio algoritmą medianos и aritmetinis vidurkis skaičių serija. Be to, jis gali būti naudojamas spręsti NP pilnas problemas per išsamią paiešką tarp daugelio galimų sprendimų. Tai gali žymiai padidinti greitį, palyginti su klasikiniais algoritmais, nors ir nenumatantdaugianario sprendimas" apskritai.(SU)

Galite paskaityti daugiau čiaArba čia... Daugiau čia Yra geras algoritmo paaiškinimas naudojant dėžių ir kamuoliuko pavyzdį, bet, deja, dėl nuo niekieno nepriklausančių priežasčių ši svetainė man neatsidaro iš Rusijos. Jei turite šioje svetainėje taip pat užblokuotas, todėl čia yra trumpa santrauka:

Groverio algoritmas. Įsivaizduokite, kad turite N vienetų sunumeruotų uždarų dėžių. Jie visi yra tušti, išskyrus vieną, kuriame yra kamuolys. Jūsų užduotis: išsiaiškinkite dėžutės, kurioje yra kamuoliukas, numerį (šis nežinomas skaičius dažnai žymimas raide w).
Kaip veikia kvantiniai kompiuteriai. Dėlionės dėliojimas

Kaip išspręsti šią problemą? Kvailiausias būdas yra pakaitomis atidaryti dėžes ir anksčiau ar vėliau atsidursite dėžėje su kamuoliuku. Kiek vidutiniškai dėžių reikia patikrinti, kol randama dėžė su kamuoliuku? Vidutiniškai reikia atidaryti maždaug pusę N/2 dėžučių. Pagrindinis dalykas čia yra tai, kad jei padidinsime dėžių skaičių 100 kartų, tai vidutinis dėžių skaičius, kurį reikia atidaryti prieš surandant dėžę su kamuoliuku, taip pat padidės tiek pat 100 kartų.

Dabar padarykime dar vieną paaiškinimą. Neatidarinėkime dėžių patys rankomis ir netikrinkime, ar kiekvienoje yra kamuoliukas, bet yra tam tikras tarpininkas, pavadinkime jį Orakulu. Mes sakome Orakului: „Pažymėkite langelį Nr. 732“, o Oracle nuoširdžiai patikrina ir atsako: „732 langelyje nėra kamuoliuko“. Dabar, užuot sakę, kiek dėžių vidutiniškai turime atidaryti, sakome „kiek kartų vidutiniškai turėtume eiti į Oracle, kad surastume dėžės su kamuoliuku numerį“.

Pasirodo, jei šią problemą su dėžėmis, kamuoliuku ir Orakulu išverstume į kvantinę kalbą, gautume nuostabų rezultatą: norėdami rasti dėžės su rutuliu skaičių tarp N dėžučių, turime trikdyti Orakulą tik apie SQRT. (N) kartų!

Tai reiškia, kad paieškos užduoties sudėtingumas naudojant Groverio algoritmą sumažinamas kartų kvadratine šaknimi.

Deutsch-Jozi algoritmas

(į turinį)

Deutsch-Jozsa algoritmas (taip pat vadinamas Deutsch-Jozsa algoritmu) - [kvantinis algoritmas](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), предложенный Davidas Deutschas и Ričardas Joza в 1992 metų, ir tapo vienu pirmųjų algoritmų, skirtų vykdyti, pavyzdžių kvantiniai kompiuteriai. _

Deutsch-Jozsi uždavinys yra nustatyti, ar kelių dvejetainių kintamųjų F(x1, x2, ... xn) funkcija yra pastovi (bet kokiems argumentams ima reikšmę 0 arba 1), ar subalansuota (pusei domeno). reikšmė 0, kitai pusei 1). Šiuo atveju laikoma, kad a priori žinoma, kad funkcija yra pastovi arba subalansuota. (SU)

Taip pat galite skaityti čia. Paprastesnis paaiškinimas:

Deutsch (Deutsch-Jozsi) algoritmas pagrįstas brutalia jėga, tačiau leidžia tai padaryti greičiau nei įprastai. Įsivaizduokite, kad ant stalo yra moneta ir jums reikia išsiaiškinti, ar ji padirbta, ar ne. Norėdami tai padaryti, turite du kartus pažvelgti į monetą ir nustatyti: „galvos“ ir „uodegos“ yra tikros, dvi „galvos“, dvi „uodegos“ yra netikros. Taigi, jei naudojate Deutsch kvantinį algoritmą, tada šį nustatymą galima padaryti vienu žvilgsniu - matavimu. (SU)

Kvantinių kompiuterių problemos

(į turinį)

Kaip veikia kvantiniai kompiuteriai. Dėlionės dėliojimas

Kurdami ir eksploatuodami kvantinius kompiuterius, mokslininkai ir inžinieriai susiduria su daugybe problemų, kurios iki šiol buvo išspręstos įvairiai sėkmingai. Pagal tyrimai (ir čia pat) galima nustatyti šias problemas:

  • Jautrumas aplinkai ir sąveika su aplinka
  • Klaidų kaupimasis skaičiavimų metu
  • Sunkumai su pradiniu kubitų būsenų inicijavimu
  • Sunkumai kuriant kelių kubitų sistemas

Labai rekomenduoju perskaityti straipsnį "Kvantinių kompiuterių charakteristikos“, ypač komentarai prie jo.

Suskirstykime visas pagrindines problemas į tris dideles grupes ir atidžiau pažvelkime į kiekvieną iš jų:

Dekoherence

(į turinį)

Kaip veikia kvantiniai kompiuteriai. Dėlionės dėliojimas

Aprašymas iš N+1.

Kvantinė būsena labai trapus dalykasįsipainioję kubitai yra labai nestabilūs, bet kokia išorinė įtaka gali (ir sunaikina) šį ryšį. Temperatūros pokytis mažiausia laipsnio dalimi, slėgis, atsitiktinis fotonas, skriejantis šalia – visa tai destabilizuoja mūsų sistemą.

Šiai problemai išspręsti statomi žemos temperatūros sarkofagai, kuriuose temperatūra (-273.14 laipsnių Celsijaus) yra šiek tiek aukštesnė už absoliutų nulį, maksimaliai izoliuojant vidinę kamerą su procesoriumi nuo visų (galimų) išorinės aplinkos įtakų.

Maksimali kelių įsipainiojusių kubitų kvantinės sistemos gyvavimo trukmė, per kurią ji išlaiko savo kvantines savybes ir gali būti naudojama skaičiavimams, vadinama dekoherencijos laiku.

Šiuo metu geriausių kvantinių sprendimų dekoherencijos laikas yra maždaug dešimtys ir šimtai mikrosekundžių.

Yra nuostabus Interneto svetainėkur galima pasižiūrėti parametrų palyginimo lentelės visų sukurtų kvantinių sistemų. Šiame straipsnyje kaip pavyzdžiai pateikiami tik du geriausi procesoriai – iš IBM „IBM Q System One“ ir nuo Google Sycamore. Kaip matome, dekoherencijos laikas (T2) neviršija 200 μs.

Tikslių duomenų apie Sycamore neradau, bet daugiausia straipsnis apie kvantinę viršenybę pateikiami du skaičiai - 1 milijonas skaičiavimų per 200 sekundžių, kitoje vietoje – už 130 sekundžių neprarandant valdymo signalų ir pan.. Bet kokiu atveju tai mums suteikia dekohercijos laikas yra apie 150 μs. Prisiminkite mūsų eksperimentatorius su maišeliu? Na, štai jis.

Kompiuterio vardas N Kubitsas Max suporuotas T2 (µs)
„IBM Q System One“ 20 6 70
Google Sycamore 53 4 ~ 150-200

Kuo mums gresia dekoherence?

Pagrindinė problema yra ta, kad po 150 μs mūsų N įsipainiojusių kubitų skaičiavimo sistema pradės skleisti tikimybinį baltąjį triukšmą, o ne tikimybinį teisingų sprendimų pasiskirstymą.

Tai yra, mums reikia:

  • Inicijuoti kubitų sistemą
  • Atlikite skaičiavimą (vartų operacijų grandinė)
  • Skaityti rezultatą

Ir visa tai padarykite per 150 mikrosekundžių. Neturėjau laiko - rezultatas virto moliūgu.

Bet tai dar ne viskas…

Klaidos

(į turinį)

Kaip veikia kvantiniai kompiuteriai. Dėlionės dėliojimas

Kaip sakėme, kvantiniai procesai ir kvantinis skaičiavimas yra tikimybinio pobūdžio, negalime būti 100% tikri dėl nieko, bet tik su tam tikra tikimybe. Padėtį dar labiau apsunkina tai, kad Kvantinis skaičiavimas yra linkęs į klaidas. Pagrindiniai kvantinio skaičiavimo klaidų tipai yra šie:

  • Dekoherencijos klaidas sukelia sistemos sudėtingumas ir sąveika su išorine aplinka
  • Vartų skaičiavimo klaidos (dėl kvantinio skaičiavimo pobūdžio)
  • Klaidos nuskaitant galutinę būseną (rezultatas)

Klaidos, susijusios su dekoherencija, pasirodo, kai tik supainiojame savo kubitus ir pradedame daryti skaičiavimus. Kuo daugiau kubitų supainiosime, tuo sudėtingesnė sistema, ir tuo lengviau jį sunaikinti. Žemos temperatūros sarkofagai, apsaugotos kameros, visos šios technologinės gudrybės yra būtent skirtos sumažinti klaidų skaičių ir pailginti dekoherencijos laiką.

Vartų skaičiavimo klaidos - bet kuri operacija (vartai) su kubitais, su tam tikra tikimybe, gali baigtis klaida, o algoritmui įgyvendinti turime atlikti šimtus vartų, todėl įsivaizduokite, ką gauname savo algoritmo vykdymo pabaigoje. Klasikinis atsakymas į klausimą yra „Kokia tikimybė sutikti dinozaurą lifte? – 50x50, arba susitiksi, arba ne.

Problemą dar labiau apsunkina tai, kad standartiniai klaidų taisymo metodai (skaičiavimų dubliavimas ir vidurkinimas) kvantiniame pasaulyje neveikia dėl neklonavimo teoremos. Dėl klaidų taisymas turėjo būti išrastas kvantinis kompiuteris kvantinės korekcijos metodai. Grubiai tariant, paimame N įprastų kubitų ir sudarome 1 iš jų loginis kubitas su mažesniu klaidų lygiu.

Bet čia iškyla kita problema - bendras kubitų skaičius. Pažiūrėkime, tarkime, kad turime procesorių su 100 kubitų, iš kurių 80 kubitų naudojami klaidų taisymui, tada skaičiavimams lieka tik 20.

Klaidos nuskaitant galutinį rezultatą — kaip prisimename, kvantinių skaičiavimų rezultatas mums pateikiamas formoje atsakymų tikimybių pasiskirstymas. Tačiau nuskaityti galutinę būseną taip pat gali nepavykti dėl klaidos.

Ant to paties Dabar naršo Yra lyginamosios procesorių lentelės pagal klaidų lygius. Palyginimui paimkime tuos pačius procesorius kaip ir ankstesniame pavyzdyje – IBM „IBM Q System One“ и Google Sycamore:

kompiuteris 1-Qubit Gate Fidelity 2- „Qubit Gate Fidelity“. Nuskaitymo ištikimybė
„IBM Q System One“ 99.96% 98.31% -
Google Sycamore 99.84% 99.38% 96.2%

Čia ištikimybė yra dviejų kvantinių būsenų panašumo matas. Klaidos dydis gali būti apytiksliai išreikštas kaip 1-Fidelity. Kaip matome, klaidos 2 qubit vartuose ir nuskaitymo klaidos yra pagrindinė kliūtis vykdyti sudėtingus ir ilgus algoritmus esamuose kvantiniuose kompiuteriuose.

Taip pat galite skaityti planas nuo 2016 m metų nuo NQIT išspręsti klaidų taisymo problemą.

Procesoriaus architektūra

(į turinį)

Kaip veikia kvantiniai kompiuteriai. Dėlionės dėliojimas

Teoriškai mes kuriame ir veikiame dešimčių susipynusių kubitų grandinės, iš tikrųjų viskas yra sudėtingiau. Visi esami kvantiniai lustai (procesoriai) yra sukurti taip, kad jie veiktų neskausmingai vieno kubito įsipainiojimas tik su kaimynais, kurių yra ne daugiau kaip šeši.

Jei mums reikia supainioti 1-ąjį kubitą, tarkime, su 12-uoju, tada turėsime sukurti papildomų kvantinių operacijų grandinę, apima papildomus kubitus ir pan., o tai padidina bendrą klaidų lygį. Taip, ir nepamirškite dekohercijos laikas, galbūt kai baigsite prijungti kubitus į jums reikalingą grandinę, laikas baigsis ir visa grandinė pavirs į gražus balto triukšmo generatorius.

Taip pat nepamirškite to Visų kvantinių procesorių architektūra skiriasi, o programą, parašytą emuliatoriuje „viskas į visus ryšį“ režimu, reikės „perkompiliuoti“ į konkrečios lusto architektūrą. Yra net specialios optimizavimo programos atlikti šią operaciją.

Maksimalus ryšys ir maksimalus kubitų skaičius tiems patiems geriausiems lustams:

Kompiuterio vardas N Kubitsas Max suporuotas T2 (µs)
„IBM Q System One“ 20 6 70
Google Sycamore 53 4 ~ 150-200

Ir palyginimui lentelė su ankstesnės kartos procesorių duomenimis. Palyginkite kubitų skaičių, dekoherencijos laiką ir klaidų dažnį su tuo, ką dabar turime naujos kartos. Vis dėlto pažanga lėta, bet juda.

Kaip veikia kvantiniai kompiuteriai. Dėlionės dėliojimas

Taigi:

  • Šiuo metu nėra visiškai sujungtų architektūrų, kurių > 6 kubitai
  • Pavyzdžiui, norint įpainioti kubitą 0 s realiame procesoriuje, 15 kubitui gali prireikti kelių dešimčių papildomų operacijų
  • Daugiau operacijų -> daugiau klaidų -> stipresnė dekoherencijos įtaka

rezultatai

(į turinį)

Dekoherence yra šiuolaikinės kvantinės kompiuterijos Prokrusto pagrindas. Turime viską sutalpinti į 150 μs:

  • Pradinės kubitų būsenos inicijavimas
  • Problemos skaičiavimas naudojant kvantinius vartus
  • Ištaisykite klaidas, kad gautumėte reikšmingų rezultatų
  • Perskaitykite rezultatą

Tačiau kol kas rezultatai nuvilia čia teigia, kad kvantiniame kompiuteryje pasiekiamas 0.5 s koherentiškumo sulaikymo laikas jonų gaudyklės:

Mes matuojame kubito koherencijos laiką, viršijantį 0.5 s, o naudojant magnetinį ekranavimą tikimės, kad jis pagerės ilgiau nei 1000 s

Taip pat galite perskaityti apie šią technologiją čia arba pvz čia.

Situaciją dar labiau apsunkina tai, kad atliekant sudėtingus skaičiavimus reikia naudoti kvantinių klaidų taisymo grandines, kurios taip pat suryja ir laiką, ir turimus kubitus.

Ir galiausiai, šiuolaikinės architektūros neleidžia įgyvendinti įsipainiojimo schemų, geresnių nei 1 iš 4 arba 1 iš 6 minimaliomis sąnaudomis.

Problemų sprendimo būdai

(į turinį)

Siekiant išspręsti pirmiau minėtas problemas, šiuo metu naudojami šie metodai ir metodai:

  • Naudojant kriokameras žemoje temperatūroje (10 mK (–273,14 °C))
  • Naudojant procesoriaus blokus, kurie yra maksimaliai apsaugoti nuo išorinių poveikių
  • Kvantinių klaidų taisymo sistemų naudojimas („Logic Qubit“)
  • Optimizatorių naudojimas programuojant grandines konkrečiam procesoriui

Taip pat atliekami tyrimai, skirti didinti dekoherencijos laiką, ieškoti naujų (ir tobulinti žinomus) kvantinių objektų fizinius įgyvendinimus, optimizuoti pataisos grandines ir pan. Pažanga yra (pažiūrėkite aukščiau į ankstesnių ir šiandieninių aukščiausios klasės lustų charakteristikas), bet kol kas ji lėta, labai, labai lėta.

D banga

(į turinį)

Kaip veikia kvantiniai kompiuteriai. Dėlionės dėliojimas

D-Wave 2000Q 2000 kubitų kompiuteris. Šaltinis: D bangų sistemos

„Google“ paskelbus apie kvantinę viršenybę naudojant 53 kubitų procesorių, kompiuteriai и pranešimai iš kompanijos D-Wave, kurioje kubitų skaičius siekia tūkstančius, kiek glumina. Na, iš tikrųjų, jei 53 kubitai galėjo pasiekti kvantinį pranašumą, tai ką gali kompiuteris su 2048 kubitais? Bet ne viskas taip gerai...

Trumpai (paimta iš wiki):

Kompiuteriai D banga dirbti pagal principą kvantinis atsipalaidavimas (kvantinis atkaitinimas), gali išspręsti labai ribotą optimizavimo problemų poklasį ir netinka tradiciniams kvantiniams algoritmams ir kvantiniams vartams įgyvendinti.

Galite perskaityti išsamiau, pvz. čia, čia (atsargiai, gali neatsidaryti iš Rusijos), arba Scottas Aaronsonas в straipsnis iš jo dienoraščio įrašas. Beje, labai rekomenduoju apskritai paskaityti jo blogą, ten yra daug geros medžiagos

Apskritai nuo pat pranešimų pradžios mokslo bendruomenei kilo klausimų apie D-Wave kompiuterius. Pavyzdžiui, 2014 metais IBM suabejojo ​​tuo, kad D-Wave naudoja kvantinius efektus. Tai pasiekė tašką, kad 2015 m. Google kartu su NASA nusipirko vieną iš šių kvantinių kompiuterių ir po tyrimų patvirtino, kad taip, kompiuteris veikia ir apskaičiuoja problemą greičiau nei įprastas. Galite perskaityti daugiau apie „Google“ pareiškimą čia ir pvz. čia.

Svarbiausia, kad D-Wave kompiuteriai, turintys šimtus ir tūkstančius kubitų, negali būti naudojami kvantiniams algoritmams apskaičiuoti ir vykdyti. Pavyzdžiui, negalite paleisti Shor algoritmo. Viskas, ką jie gali padaryti, tai naudoti tam tikrus kvantinius mechanizmus, kad išspręstų tam tikrą optimizavimo problemą. Galime manyti, kad D-Wave yra kvantinė ASIC konkrečiai užduočiai.

Šiek tiek apie kvantinio kompiuterio emuliaciją

(į turinį)

Kaip veikia kvantiniai kompiuteriai. Dėlionės dėliojimas

Kvantinį skaičiavimą galima emuliuoti įprastame kompiuteryje. Iš tikrųjų, prašome žr:

  • Kubito būsena gali būti esate kompleksinis skaičius, užimantis nuo 2x32 iki 2x64 bitų (8-16 baitų), priklausomai nuo procesoriaus architektūros
  • N sujungtų kubitų būsena gali būti pavaizduota kaip 2^N kompleksiniai skaičiai, t.y. 2^(3+N) 32 bitų architektūrai ir 2^(4+N) 64 bitų architektūrai.
  • Kvantinė operacija su N kubitais gali būti pavaizduota 2^N x 2^N matrica

Tada:

  • Norint išsaugoti emuliuotas 10 kubitų būsenas, reikia 8 KB
  • Norėdami išsaugoti 20 kubitų būsenas, jums reikia 8 MB
  • Norint išsaugoti 30 kubitų būsenas, reikia 8 GB
  • 40 kubitų būsenoms išsaugoti reikia 8 terabaitų
  • Norint išsaugoti 50 kubitų būsenas, reikia 8 petabaitų ir kt.

(SU)

Palyginimui, Viršūnė (Top-1 iš Top-500) turi tik 2.8 petabaitų atminties.

Dabartinis modeliavimo įrašas - 49 kubitai pernai buvo pristatyti didžiausiam Kinijos superkompiuteriui (Sunway Taihu šviesa)

Kvantinio kompiuterio modeliavimo klasikinėse sistemose ribą lemia RAM kiekis, reikalingas kubitų būsenai išsaugoti.

Taip pat rekomenduoju paskaityti šis komentaras. Iš ten:

Veikiant - tiksliai emuliuoti 49 kubitų grandinę, susidedančią iš maždaug 39 „ciklų“ (nepriklausomų vartų sluoksnių) tai užtruko 2^63 kompleksinis dauginimas – 4 Pflops superkompiuterio 4 valandas

50+ kubitų kvantinio kompiuterio imitavimas klasikinėse sistemose laikomas neįmanomu per protingą laiką. Dėl šios priežasties „Google“ savo kvantinės viršenybės eksperimentui panaudojo 53 kubitų procesorių.

Kvantinio skaičiavimo viršenybė.

(į turinį)

Kaip veikia kvantiniai kompiuteriai. Dėlionės dėliojimas

Vikipedija pateikia tokį kvantinio skaičiavimo viršenybės apibrėžimą:

Kvantinė viršenybė – gebėjimas kvantinis skaičiavimas įrenginiai, skirti išspręsti problemas, kurių klasikiniai kompiuteriai praktiškai negali išspręsti.

Tiesą sakant, kvantinės viršenybės pasiekimas reiškia, kad, pavyzdžiui, didelių skaičių faktorizavimas naudojant Šoro algoritmą gali būti išspręstas per tinkamą laiką arba sudėtingos cheminės molekulės gali būti imituojamos kvantiniu lygiu ir pan. Tai yra, atėjo nauja era.

Tačiau apibrėžimo formuluotėje yra tam tikra spraga:kurių klasikiniai kompiuteriai praktiškai negali išspręsti“ Tiesą sakant, tai reiškia, kad jei sukuriate 50 ir daugiau kubitų kvantinį kompiuterį ir paleidžiate jame kokią nors kvantinę grandinę, tada, kaip aptarėme aukščiau, šios grandinės rezultatas negali būti imituojamas įprastame kompiuteryje. Tai yra klasikinis kompiuteris negalės atkurti tokios grandinės rezultato.

Ar toks rezultatas sudaro tikrą kvantinę viršenybę, ar ne, yra greičiau filosofinis klausimas. Tačiau supraskite, ką padarė „Google“ ir kuo ji pagrįsta neseniai paskelbė, kad su naujuoju Sycamore procesoriumi pasiekė kvantinį pranašumą būtina.

„Google“ kvantinės viršenybės pareiškimas

(į turinį)

Kaip veikia kvantiniai kompiuteriai. Dėlionės dėliojimas
Sycamore 54 kubitų procesorius

Taigi 2019 m. spalį „Google“ kūrėjai paskelbė straipsnį moksliniame leidinyje „Nature“Kvantinė viršenybė naudojant programuojamą superlaidų procesorių“ Autoriai pirmą kartą istorijoje paskelbė apie kvantinės viršenybės pasiekimą naudodami 54 kubitų Sycamore procesorių.

„Sycamore“ straipsniuose internete dažnai kalbama apie 54 kubitų arba 53 kubitų procesorių. Tiesa ta, kad pagal originalus straipsnis, procesorius fiziškai susideda iš 54 kubitų, tačiau vienas iš jų neveikia ir buvo nutrauktas. Taigi iš tikrųjų mes turime 53 kubitų procesorių.

Čia pat žiniatinklyje pasirodė daug medžiagos šia tema, kurios laipsnis skyrėsi nuo entuziastingas į skeptiškai nusiteikęs.

IBM kvantinio skaičiavimo komanda vėliau tai pareiškė „Google“ klaidingai pranešė, kad pasiekė kvantinę viršenybę. Bendrovė teigia, kad įprastas kompiuteris su šia užduotimi susidoros blogiausiu atveju per 2,5 dienos, o gautas atsakymas bus tikslesnis nei kvantinio kompiuterio. Tokia išvada padaryta remiantis kelių optimizavimo metodų teorinės analizės rezultatais.

Ir žinoma, Scottas Aaronsonas jo dienoraščio įrašas Negalėjau ignoruoti šio pareiškimo. Jo analizė kartu su visomis nuorodomis ir Scott's Supreme Quantum Supremacy DUK! kaip įprasta, jiems verta skirti laiko. Ant stebulės yra vertimas šį DUK ir būtinai perskaitykite komentarus, ten yra nuorodų į preliminarius dokumentus, kurie buvo nutekinti internete prieš oficialų pranešimą.

Ką iš tikrųjų padarė Google? Norėdami sužinoti daugiau, skaitykite Aaronson, bet trumpai čia:

Žinoma, galiu tau pasakyti, bet jaučiuosi gana kvaila. Skaičiavimas yra toks: eksperimentatorius sukuria atsitiktinę kvantinę grandinę C (ty atsitiktinę 1 kubitų ir 2 kubitų vartų seką tarp artimiausių kaimynų, kurių gylis, pavyzdžiui, 20, veikia 2D tinkle n = 50–60 kubitų). Tada eksperimentuotojas siunčia C į kvantinį kompiuterį ir prašo pritaikyti C pradinei 0 būsenai, išmatuoti rezultatą {0,1} pagrindu, atsiųsti n bitų stebimą seką (eilą) ir pakartoti keletą kartų. tūkstančius ar milijonus kartų. Galiausiai, naudodamasis C žiniomis, eksperimentatorius atlieka statistinį testą, kad pamatytų, ar rezultatas atitinka numatomą kvantinio kompiuterio išvestį.

Kaip veikia kvantiniai kompiuteriai. Dėlionės dėliojimas

Labai trumpai:

  • Naudojant vartus sukuriama atsitiktinė 20 ilgio iš 53 kubitų grandinė
  • Grandinė pradedama nuo pradinės būsenos [0…0] vykdymui
  • Grandinės išvestis yra atsitiktinė bitų eilutė (pavyzdys)
  • Rezultato pasiskirstymas nėra atsitiktinis (interferencija)
  • Gautų mėginių pasiskirstymas lyginamas su numatomu
  • Baigiama kvantinė viršenybė

Tai reiškia, kad „Google“ įgyvendino sintetinę problemą 53 kubitų procesoriuje ir savo reikalavimą pasiekti kvantinį pranašumą grindžia tuo, kad tokio procesoriaus neįmanoma imituoti standartinėse sistemose per protingą laiką.

Už supratimą - Šis skyrius jokiu būdu nesumenkina „Google“ pasiekimų, inžinieriai yra tikrai puikūs, o klausimas, ar tai galima laikyti tikru kvantiniu pranašumu, ar ne, kaip minėta anksčiau, yra labiau filosofinis nei inžinerinis. Tačiau turime suprasti, kad pasiekę tokį skaičiavimo pranašumą, nepažengėme nė žingsnio link galimybės paleisti Šoro algoritmą 2048 bitų skaičiais.

Santrauka

(į turinį)
Kaip veikia kvantiniai kompiuteriai. Dėlionės dėliojimas

Kvantiniai kompiuteriai ir kvantinė kompiuterija yra labai perspektyvi, labai jauna ir kol kas mažai pramoniniu požiūriu pritaikoma informacinių technologijų sritis.

Kvantinio skaičiavimo plėtra (kada nors) leis mums išspręsti problemas:

  • Sudėtingų fizinių sistemų modeliavimas kvantiniu lygmeniu
  • Neįmanoma išspręsti įprastame kompiuteryje dėl skaičiavimo sudėtingumo

Pagrindinės kvantinių kompiuterių kūrimo ir valdymo problemos:

  • Dekoherence
  • Klaidos (nenuoseklumas ir vartai)
  • Procesoriaus architektūra (visiškai prijungtos kubitų grandinės)

Dabartinė padėtis:

  • Tiesą sakant – pati pradžia MTTP.
  • TIKROS komercinės veiklos dar nėra (ir neaišku, kada tai bus)

Kas gali padėti:

  • Kažkoks fizinis atradimas, kuris sumažina laidų ir procesorių eksploatavimo išlaidas
  • Atraskite kažką, kas padidins dekoherencijos laiką ir (arba) sumažins klaidas

Mano nuomone (visai asmeninė nuomonė), Esant dabartinei mokslinei žinių paradigmai, kvantinių technologijų kūrime reikšmingos sėkmės nepasieksime, čia mums reikia kokybinio proveržio tam tikroje fundamentaliojo ar taikomojo mokslo srityje, kuris suteiktų impulsą naujoms idėjoms ir metodams.

Tuo tarpu mes semiamės kvantinio programavimo, kvantinių algoritmų rinkimo ir kūrimo, idėjų testavimo ir t.t., patirties. Laukiame proveržio.

išvada

(į turinį)

Šiame straipsnyje mes išnagrinėjome pagrindinius kvantinio skaičiavimo ir kvantinių kompiuterių kūrimo etapus, išnagrinėjome jų veikimo principą, išnagrinėjome pagrindines problemas, su kuriomis susiduria inžinieriai kuriant ir eksploatuodami kvantinius procesorius, taip pat pažvelgėme į tai, kokie yra daugiakubitai. D-kompiuteriai iš tikrųjų yra „Wave“ ir „Google“ neseniai paskelbtas kvantinės viršenybės pasiekimas.

Užkulisiuose palikti kvantinių kompiuterių programavimo klausimai (kalbos, požiūriai, metodai ir kt.) ir klausimai, susiję su specifiniu fiziniu procesorių realizavimu, kaip valdomi, susiejami, skaitomi kubitai ir kt. Galbūt tai bus kito straipsnio ar straipsnių tema.

Dėkoju už dėmesį, tikiuosi, kad šis straipsnis kam nors bus naudingas.

(SU) Kriugeris

Padėkos

(į turinį)

Kaip veikia kvantiniai kompiuteriai. Dėlionės dėliojimas

@Oxoron už šaltinio teksto korektūrą ir komentarus, taip pat už straipsnį „Kvantinių kompiuterių charakteristikos“

@a5b informacijos turintiems komentarams „Kvantinių kompiuterių charakteristikos“, ir ne tik jai, kuri man labai padėjo išsiaiškinti šį galvosūkį.

Visiems straipsnių ir publikacijų autoriams, kurių medžiaga buvo panaudota rašant šį straipsnį.

Išteklių sąrašas

(į turinį)

Kaip veikia kvantiniai kompiuteriai. Dėlionės dėliojimas

Aktualijų straipsniai iš [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

Straipsniai iš Habr (atsitiktine tvarka)

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/

Nerūšiuoti (bet ne mažiau įdomūs) straipsniai iš interneto

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

Kursai ir paskaitos

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

Šaltinis: www.habr.com

Добавить комментарий