Connect with us

Znanost

Foto: Pixabay

Tehnologija

Kako se kodira za kvantno računalo?

Još od izuma računala, programeri rade s nizom nula i jedinica te stvaraju moderan svijet izravnom ili neizravnom manipulacijom binarnih računalnih bitova koji se mogu naći u jednom od dva moguća stanja. Sada, stvarna kvantna računala naziru se na obzoru s obećanjem brzina koje su za stotine milijuna puta veće od brzina klasičnih računala, pa bi se binarno stanje stvari ubrzo moglo promijeniti. No kako će programi, koji su samo smrtnici, uspjeti iskoristiti svu tu potencijalnu brzinu, kad je programiranje za kvantna računala opisano kao “zadatak koji zbunjuje koliko i sama kvantna mehanika”?

Simon Devitt, koji se bavi proučavanjem kvantnog računanja u japanskom Centru za znanosti nadolazećih tvari RIKENU (eng. Center for Emergent Matter Science), nudi ovaj odgovor: s puno, puno pomoći. Kvantno kodiranje mogao bi biti jedan od najsloženijih zadataka ikad, pa tako koderi počinju grupirati svoje resurse i stvarati alate koji će im biti potrebni za napredovanje polja u cjelini.

Na najosnovnijoj hardverskoj razini, kvantna računala razlikuju se od klasičnih po tome što nisu binarna – umjesto da rade s bitovima koji se nalaze u jednom od dva moguća stanja, kvantni procesori rade s kvantnim bitovima ili kubitima koji se u isto vrijeme nalaze u oba stanja. Pravo kvantno računalo držalo bi sve svoje kubite u “superpoziciji stanja”, što znači da bi čitav red bio u doslovno svim mogućim kombinacijama stanja odjednom. Kada je Geordie Rose u 2013. godini govorio o radu koji je njegova tvrtka D-Wave Systems poduzela s kvantnim računalima, jasno je oslikao stvarno ludilo ove ideje kada je objasnio da su izračuni njegova stroja koordinirani preko multiverzuma.

No, većina klasičnih inženjera softvera svoje programe ne piše u sirovim bitovima binarnog računalnog koda, pa zašto bi onda kvantni programeri pisali izravno u mediju kubita? Tvrtke širom svijeta razvijaju alate koji koderima omogućuju da zakorače preko najzbunjujujućih aspekata kvantne fizike. Microsoft razvija svoju LIQUi|> inicijativu (eng. The Language Integrated Quantum Operations Simulator, “LIQUID”), dijelom kako bi preveli odgovarajuće algoritme iz dobro poznatih programskih jezika u kod kvantnog stroja za izvršenje rada na kvantnom računalu.



A što je sadržano u “odgovarajućem algoritmu” za izvršenje rada preko multiverzuma? Malo je komplicirano.

Prvo, neovisno o odabranom programskom jeziku, sva matematika koja se vrši na kvantnom računalu mora biti reverzibilna, povratna. To znači da svi outputi moraju sadržavati dovoljno informacija kako bi čitav proces njihovog stvaranja mogao ići unatrag da bi se regenerirao input. Dakle, 1 + 1 = 2 je izlaz, s obzirom da se iz sirovog broja 2 ne mogu izvesti dvije jedinice. Srećom, postoji reverzibilna inačica svake moguće računalne funkcije, uključujući 1 + 1, ali mnogo su složenije za upotrebu. Prevođenje kompleksnih redovitih programa u reverzibilan oblik je moguće, ali često kod bude toliko neučinkovit da nije vrijedno truda.

Drugi problem tiče se dekoherencije, ili činjenice da je superpozicija, koja je ključna za kvantno računanje, moguća samo kada je računalo kompletno, potpuno odsječeno od  vanjskog svijeta. Dave Wecker iz inicijative LIQUi|> napisao je za Inverse da to znači da samo vađenje outputa iz kvantnog računala može postati problem. “Kada pitate za odgovor, obično morate početi ispočetka kako biste dobili drugi”, napisao je. “Ovo vas nauči da oprezno birate što stvarno želite.”

Kvantna računala su poput crnih kutija kod kojih ni sami programeri ne mogu promatrati put kojim se njihovi podaci kreću iz inputa u output, što znači da provjera bugova zahtijeva jako puno rada. Jorge Cham, autor digitalnog stripa PHD Comics izmislio je naziv “quanfidential” (engl. quantum, kvantno + confidential, povjerljivo) kako bi opisao ovaj režim kvantne tajnovitosti.

Možda bi se sve ove teškoće moglo nadvladati masovnim testovima i ispravljanjem pogrešaka, ali postoji  još jedan, veći problem koji čini nemogućim svako rješenje koje uključuje korištenje sirove sile: nedostatak istinski robusnih kvantnih računala na kojima se kodovi uopće mogu testirati. Iako u D-Wave Systems tvrde da prodaju prva svjetska komercijalna kvantna računala, ovi strojevi su ograničeni izborom kvantnih algoritama koje mogu izvršiti i, u svakom slučaju, pristupačniji modeli i dalje dolaze po cijeni od 15 milijuna dolara.

Devitt kaže da je ovo jedna od najvećih teškoća u modernom razvojnom procesu kvantnog koda. “Kako klasični programer softvera ili koder može konstruirati kvantni kod?”, napisao je u e-mailu za Inverse. “Klasična zajednica sigurno ne sjedi s papirom i olovkom kako bi razvila algoritam, ali s kvantnim algoritmima to je i dalje norma.” Izračuni na salveti možda su romantični, ali neće promijeniti svijet ako se ne mogu testirati.

Trenutno, apsolutno najsuvremenija generalizirana kvantna računala (ona koja teoretski ne bi trebala imati ograničenja kakva imaju 2 tisuće D-Waveovih kubitnih uređaja) dolaze iz Microsofta, IBM-a i uskoro Googlea, ali čak su i ovi najkorisniji kao dokazi koncepta, s obzirom da nemaju dovoljno kubita da udare na strmi dio eksponencijalne krivulje moći kvantnog računanja. Iako su gotovo pa sigurno prototipi iz kojih će nastati kvantna računala koja će promijeniti svijet, ova računala sama po sebi nisu revolucionarni strojevi, ne još.

IBM trenutno postavlja prototip kvantnog računala na svoj oblak servis, odakle se može koristiti u testiranju kvantnog koda, iako ograničen broj kubita znači da će izvedba i dalje biti previše spora da bi bio koristan za išta više od računalnog istraživanja. Kako bi ovo nadoknadili, timovi iz cijelog svijeta, najviše iz inicijative LIQUi|>, uče kako modelirati kvantno računanje na normalnom računalnom hardveru. Ovi kvantni simulatori ne pružaju neizmjerne prednosti kvantnog hardvera, ali umjesto toga mogu obavljati svoj rad bez stvarne isprepletenosti kvantnih čestica. Rezultat je taj da, osim što ovi simulatori postoje i u aktivnom su razvoju, nego i pružaju uvid u vlastite procese, što znači da nisu crne kutije. U principu, treba se postići da kvantni algoritam radi u transparentnom ali usporenom kontekstu simuliranog kvantnog okoliša, i tek tada ga prenijeti u mutan ali puno brži kontekst stvarnog kvantnog računala.

Nažalost, svaki dodatni simulirani kubit poduplava zahtjeve radne memorije simulirajućeg računala; simuliranje 30 kubita u superpoziciji oduzima oko 32 gigabajta memorije, dok 31 kubit uzima oko 64 gigabajta. Dok dođete do 45 simuliranih kubita, klasično računalo već treba imati više od 1 milijun gigabajta memorije. Bit će potrebna veća kvantna računala za korisne izračune, što znači da trenutno potencijalno najvažniji dijelovi kvantnog koda ne mogu biti testirani ni u stvarnom ni u simuliranom kvantnom okolišu.

Devitt vjeruje da bi napredak ovih alata za olakšavanje kvantnog kodiranja bit će u potpunosti neophodni za shvaćanje potencijala tog koda – čak i prije nego računala stignu na šire tržište. “Najčudesnije i najutjecajnije kvantne algoritme i programe”, napisao je, “neće otkriti ni izumiti fizičari ni inženjeri kvantnog računalstva.”

Na taj način, makar, razvoj kvantnog programiranja možda malo više nalikuje klasičnom kodu koji je došao prije njega.

Autor originalnog teksta: Graham Templeton za Inverse

 

gnothi seauton

1 komentar

1 komentar

  1. Ivan Andrijanić

    rujan 13, 2017 kod 1:27 pm

    Kaacha Mušicki

Ostavi komentar

Vaša adresa e-pošte neće biti objavljena. Nužna polja su označena s *

Više u Tehnologija

Popularno

Na Vrh