Kai pirmą kartą išgirsti žodį „kubitas“, greičiausiai pagalvoji apie kokį nors egzotišką matematikos terminą, skirtą tik fizikams su baltais chalatais ir lazerių sistemomis rūsyje. Iš tikrųjų idėja nėra tokia baisi, kaip skamba. Tiesiog reikia pamiršti viską, ko išmokai apie kompiuterius mokykloje, ir pažiūrėti į skaičiavimus iš kitos pusės. Bandysiu paaiškinti taip, kad nereikėtų turėti fizikos daktaro laipsnio – tik šiek tiek kantrybės.
Bitas, kurį visi pažįstame, ir kodėl jo nebeužtenka
Įprastas kompiuteris, telefonas ar net skaičiuotuvas kalba tik viena kalba – nulių ir vienetų. Bitas yra kaip jungiklis: arba įjungtas, arba išjungtas, trečio varianto nėra. Visa skaitmeninė civilizacija, kurioje gyvename, pastatyta ant šito paprasto principo. Vaizdai, filmai, bankiniai pervedimai, šis tekstas, kurį dabar skaitai – viskas galų gale suvedama į ilgiausias nulių ir vienetų virtines.
Problema atsiranda tada, kai norime spręsti tikrai sudėtingus uždavinius – pavyzdžiui, modeliuoti molekulių elgesį, ieškoti optimalaus maršruto tarp tūkstančių taškų arba laužti šifravimo algoritmus. Klasikinis kompiuteris tokius uždavinius sprendžia po vieną variantą iš eilės, kad ir kaip greitai jis „mąstytų“. Jei variantų yra milijardai milijardų, net galingiausias superkompiuteris gali užtrukti ilgiau nei visata egzistuoja. Čia ir ateina kubitai su visai kita logika.
Kas tas kubitas iš tikrųjų
Kubitas (angliškai qubit, nuo „quantum bit“) taip pat gali būti 0 arba 1, tačiau tuo panašumai su įprastu bitu ir baigiasi. Kvantinėje fizikoje dalelė – gali būti elektronas, fotonas ar dirbtinai sukurta superlaidi grandinė – gali egzistuoti vadinamoje superpozicijos būsenoje. Tai reiškia, kad kubitas vienu metu yra ir 0, ir 1, tik su skirtingomis tikimybėmis kiekvienai reikšmei.
Galima įsivaizduoti tai kaip monetą, kuri sukasi ore. Kol ji nenusileido ant stalo, negalime pasakyti, ar tai galvutė, ar skaičius – abu variantai vienu metu tarsi „galioja“. Tik pamatavus (t. y. sustabdžius sukimąsi) moneta „nusprendžia“ vieną iš dviejų būsenų. Kubitas veikia panašiai: tol, kol jo neišmatuosime, jis yra tam tikras mišinys tarp 0 ir 1. Matavimo akimirką ta superpozicija „sugriūva“ į konkrečią reikšmę.
Skamba keistai, bet būtent ši savybė leidžia kvantiniam kompiuteriui vienu metu apdoroti daugybę galimų sprendimų variantų, o ne nagrinėti juos po vieną, kaip tai daro klasikinis procesorius.
Superpozicija skaičiais – kodėl kiekvienas papildomas kubitas viską pakeičia
Čia slypi ir visas kvantinių kompiuterių žavesys, ir jų problemos priežastis. Vienas kubitas gali reprezentuoti dvi būsenas vienu metu. Du kubitai – jau keturias kombinacijas (00, 01, 10, 11) vienu metu. Trys kubitai – aštuonias. Formulė paprasta: n kubitų gali vienu metu „laikyti“ 2 pakeltas laipsniu n galimų reikšmių derinį.
Paskaičiuokim: vos 300 kubitų teoriškai galėtų reprezentuoti daugiau kombinacijų, nei yra atomų visoje matomoje visatoje. Tai nereiškia, kad kompiuteris su 300 kubitų yra galingesnis už viską pasaulyje – realybė daug sudėtingesnė, nes informaciją reikia dar ir gebėti ištraukti prasmingu būdu. Bet pati idėja parodo, kodėl mokslininkai taip azartiškai medžioja kiekvieną papildomą stabilų kubitą.
Susietumas – kai dalelės „bendrauja“ per atstumą
Antra kvantinio pasaulio ypatybė, be kurios kubitai būtų tiesiog įdomus fizikos eksperimentas, o ne skaičiavimo įrankis, vadinasi kvantinis susietumas (angl. entanglement). Kai du kubitai tampa susieti, jų būsenos ima priklausyti viena nuo kitos, net jei jie fiziškai išskirti dideliu atstumu. Išmatavus vieno kubito būseną, akimirksniu „sužinome“ ir kito kubito būseną – ne todėl, kad tarp jų kažkas skrieja greičiau už šviesą, o todėl, kad jie iš esmės sudaro vieną bendrą kvantinę sistemą.
Praktiškai tai reiškia, kad kvantiniame kompiuteryje kubitai gali veikti ne kaip atskiri, izoliuoti elementai, o kaip vientisas tinklas, kur pakeitus vieną dalelę, iškart persiskirsto tikimybės visoje sistemoje. Būtent susietumo ir superpozicijos derinys leidžia kurti algoritmus, kurie klasikiniam kompiuteriui būtų neįveikiami per protingą laiką.
Kodėl kubitai tokie kaprizingi
Jeigu viskas skamba taip gerai, kodėl mes dar neturime kvantinio kompiuterio kiekvienuose namuose? Atsakymas – dekoherencija. Kubitai yra siaubingai jautrūs aplinkai. Menkiausias temperatūros svyravimas, elektromagnetinis triukšmas, net kosminiai spinduliai gali sugriauti trapią kvantinę būseną anksčiau, nei suspėsi atlikti skaičiavimą. Būtent todėl daugelis kvantinių kompiuterių laikomi šaldytuvuose, kur temperatūra artima absoliučiam nuliui – šaltesnė nei atviras kosmosas.
Be to, kubitai linkę klysti. Vienas klaidingas kubitas gali sugadinti visą skaičiavimą, todėl inžinieriai naudoja vadinamąją klaidų korekciją – kelis fizinius kubitus sujungia į vieną „loginį“ kubitą, kuris yra atsparesnis triukšmui. Problema ta, kad tokiam vienam patikimam loginiam kubitui gali prireikti dešimčių ar net šimtų fizinių kubitų. Štai kodėl, nors kompanijos jau skelbia apie procesorius su tūkstančiu ar daugiau kubitų, iki tikrai naudingo, klaidoms atsparaus kvantinio kompiuterio kelias dar gana ilgas.
Kaip fiziškai pagaminamas kubitas
Nėra vienos „teisingos“ technologijos kubitui sukurti – šioje srityje šiuo metu konkuruoja keletas skirtingų požiūrių, ir kiekvienas turi savo privalumų bei trūkumų.
- Superlaidžios grandinės – tokiu keliu eina IBM, Google, Rigetti. Kubitai formuojami iš specialių elektros grandinių, atšaldytų iki temperatūros, artimos absoliučiam nuliui. Šis metodas šiuo metu populiariausias, nes santykinai gerai integruojasi su esama elektronikos gamybos infrastruktūra.
- Jonų gaudyklės – naudojamos, pavyzdžiui, IonQ. Atskiri jonai laikomi elektromagnetiniuose laukuose ir manipuliuojami lazeriais. Šie kubitai gyvena ilgiau ir mažiau klysta, tačiau operacijos vyksta lėčiau.
- Fotoniniai kubitai – informacija koduojama šviesos dalelėse. Privalumas – veikia beveik kambario temperatūroje, tačiau sunkiau realizuoti tam tikras logines operacijas.
- Topologiniai kubitai – Microsoft favoritas, teoriškai daug atsparesni klaidoms, bet praktiškai stabilaus varianto dar niekas nesukūrė pilna apimtimi.
Kiekviena iš šių krypčių tam tikra prasme lažinasi, kad būtent jos sprendimas taps pramonės standartu ateityje. Realybėje greičiausiai bus naudojama kelios technologijos skirtingoms užduotims.
Kam iš tikrųjų reikalingi kubitai – ne fantastika, o konkretūs atvejai
Verta atsisakyti minties, kad kvantinis kompiuteris pakeis tavo asmeninį kompiuterį ar telefoną. Tai ne bendros paskirties mašina žaidimams ar interneto naršymui. Kvantiniai kompiuteriai puikiai tinka labai specifinėms užduotims, kurios klasikiniams procesoriams yra pernelyg sudėtingos:
- naujų vaistų ir medžiagų molekulinės struktūros modeliavimas, kuris šiandien užima savaites superkompiuterių laiko;
- optimizavimo uždaviniai logistikoje, finansuose, energetikos tinkluose, kur reikia rasti geriausią variantą tarp astronominio kiekio galimybių;
- kriptografija – tiek naujų, kvantams atsparaus šifravimo metodų kūrimas, tiek (teoriškai) senų šifrų laužymas;
- mašininio mokymosi algoritmų pagreitinimas tam tikrose srityse, nors čia rezultatai dar labai eksperimentiniai.
Šiandien dauguma šių pritaikymų egzistuoja demonstracijų ar mažo masto bandymų lygyje. Vadinamasis „kvantinis pranašumas“ (kai kvantinis kompiuteris atlieka užduotį realiai naudingiau nei klasikinis) kol kas įrodytas tik siauroms, dažnai dirbtinai sukurtoms problemoms.
Kubitų virtuvė: ką iš viso to reikėtų atsiminti
Jeigu norėtum susidėlioti visą šią informaciją į vieną trumpą sąrašą galvoje, štai keletas atramos taškų. Pirma, kubitas skiriasi nuo bito ne tuo, kad jis „geresnis“, o tuo, kad jis gali laikinai gyventi keliose būsenose vienu metu – tai vadinama superpozicija. Antra, kubitai gali būti kvantiškai susieti, ir būtent šis ryšys leidžia kurti galingus algoritmus, o ne vien didelį kiekį atsitiktinių monetos metimų. Trečia, kubitai yra nepaprastai trapūs – dekoherencija ir klaidos šiuo metu yra didžiausia kliūtis, o ne pačių kubitų skaičius.
Praktinis patarimas tiems, kas seka šią sritį iš šalies: nesivaikyk antraščių apie „kvantinį proveržį“ per daug pažodžiui. Skaičius kubitų procesoriuje pats savaime mažai ką sako – daug svarbiau yra kubitų kokybė, klaidų dažnis ir tai, kiek ilgai kubitas išlaiko savo kvantinę būseną (vadinamas koherencijos laikas). Kompanija, turinti 50 labai kokybiškų, mažai klystančių kubitų, praktiškai gali būti naudingesnė nei ta, kuri skelbiasi turinti 1000 triukšmingų.
Jei domiesi šia sritimi profesionaliai ar tiesiog norėtum pabandyti patirti kvantinį programavimą praktiškai, gera naujiena – nereikia turėti šaldytuvo savo garaže. IBM, Amazon ir Google siūlo nemokamą ar prieinamą prieigą prie realių kvantinių procesorių per debesį, o tokie įrankiai kaip Qiskit ar Cirq leidžia rašyti kvantinius algoritmus turint tik pagrindinius Python žinias. Tai puikus būdas iš pirmų rankų pamatyti, kaip superpozicija ir susietumas veikia ne teorijoje, o tikrame, kad ir netobulame, aparatūros lygyje.
Galiausiai verta prisiminti, kad kubitas – tai ne stebuklinga lazdelė, sprendžianti visas problemas iš karto, o naujas įrankis šalia jau turimų. Ateitis, tikėtina, atrodys ne kaip visiškas klasikinių kompiuterių pakeitimas, o kaip hibridinės sistemos, kur kasdienes užduotis toliau atlieka įprasti procesoriai, o retkarčiais, tam tikroms itin sudėtingoms problemoms spręsti, į pagalbą pasitelkiami kvantiniai bendraprocesoriai. Ir šitaip, žingsnis po žingsnio, ta besisukanti moneta iš minties eksperimento virsta realiu skaičiavimo įrankiu.






