Brže nego ikad prije, svijet se mijenja zahvaljujući digitalnim promjenama.
S nadolazećim dolaskom još jednog potpuno novog vala tehnologije koji može drastično promijeniti trenutne paradigme zapanjujućom brzinom i snagom: kvantno računalstvo, razumijevanje temeljnih ideja digitalne ere postat će još važnije.
Revolucionarna tehnika zvana kvantno računalstvo koristi se kvantnom fizikom za rješavanje problema koji su izvan dosega konvencionalnih računala.
Načela kvantne teorije pokazuju kako se materija i energija ponašaju na atomskoj i subatomskoj razini, a IBM-ov Qiskit je open-source razvojni komplet za kvantni softver koji pomaže u stvaranju kvantnih računalnih sustava.
Ovaj članak nastoji to objasniti i pružiti vam pregled kvantnog računalstva.
Objasnit ćemo našim čitateljima uz pomoć kvantnog računalstva otvorenog koda SDK, tj. Qiskit i neka istražuju pomoću Jupyter Prijenosna računala organiziran u IBM Quantum Labu.
Što je kvantno računalstvo?
Kvantno računanje je grana računalne znanosti koja se fokusira na razvoj računalne tehnologije koristeći ideje iz kvantne teorije.
Iskorištava izuzetnu sposobnost subatomskih čestica da istovremeno postoje u mnogim stanjima, kao što su 0 i 1.
Oni mogu obraditi puno više podataka od običnih računala.
U kvantnim računalnim procesima, qubit se izrađuje korištenjem kvantnog stanja objekta. Osnovni podaci u kvantnom računalstvu su kubiti.
Oni obavljaju istu funkciju kao bitovi u konvencionalnom računalstvu u kvantnom računalstvu, ali djeluju sasvim drugačije. Kvantno računalstvo je polje koje se pojavilo 1980-ih.
Zatim je otkriveno da su kvantni algoritmi učinkovitiji u obavljanju nekih računalnih zadataka od svojih klasičnih pandana.
Superpozicija i isprepletenost, dva pojma iz kvantne fizike, temelji su na kojima se temelje ova superračunala.
U usporedbi s konvencionalnim računalima, kvantna računala trenutno mogu obavljati poslove nekoliko puta brže, a pritom troše mnogo manje energije.
Moramo nastaviti s radom kvantnih računala kako bismo ga u potpunosti razumjeli. Počnimo sada.
Kako zapravo kvantno računalo radi?
U usporedbi s tradicionalnim računalima na koja smo navikli, kvantna računala drugačije pristupaju rješavanju problema. Za neke su zadatke kvantna računala poželjnija od tradicionalnih na više načina.
Smatra se da je uzrok njihova sposobnost postojanja u više država odjednom. S druge strane, konvencionalna računala mogu biti samo u jednom stanju odjednom.
Postoje tri ključna koncepta koja morate razumjeti kako biste razumjeli kako kvantna računala rade:
- Superpozicija.
- Zapetljanost.
- Smetnje.
slaganje
Bitovi su temeljne komponente tradicionalnih računala. Kvantni bitovi ili Qubiti su osnovne jedinice kvantnih računala.
U osnovi, kvantni bitovi rade drugačije. Binarni bit, ponekad poznat i kao tradicionalni bit, je prekidač koji može biti ili 0 ili 1.
Trenutno stanje bita primamo natrag kada ga mjerimo. Qubiti su iznimka od ovoga. Qubiti se mogu usporediti sa strelicama koje pokazuju u tri dimenzije.
Oni su u uvjetima 0 ako su usmjereni prema gore. Oni su u stanju 1 ako su usmjereni prema dolje. Isto je i s klasičnim bitovima.
Međutim, oni također mogu odabrati da budu u stanju superpozicije.
Strelica je u stanju u kojem pokazuje u bilo kojem drugom smjeru. Superpozicija 0 i 1 rezultira ovim stanjem. Qubit će i dalje proizvoditi ili 1 ili 0 kao rezultat kada se mjeri.
Međutim, orijentacija strelice određuje vjerojatnost koja je relevantna.
Vjerojatnije je da ćete dobiti 1 ako strelica primarno pokazuje prema dolje i 0 ako primarno pokazuje prema gore.
Imat ćete 50% šanse za pobjedu za svaki ako je strelica u sredini. Ukratko, to je superpozicija.
uplitanje
Bitovi u tradicionalnom računalu neovisni su jedan o drugome. Stanje jednog bita nema nikakvog utjecaja na stanje drugog bita.
Kubiti u kvantnim računalima mogu se ispreplesti jedan s drugim. To implicira da se spajaju u jedno veliko kvantno stanje.
Za ilustraciju, razmotrite dva qubita koji su u različitim stanjima superpozicije, ali još nisu isprepleteni. U ovom trenutku njihova vjerojatnost ne ovisi jedna o drugoj.
Kada ih zapetljamo, moramo odbaciti te nezavisne vjerojatnosti i odrediti vjerojatnosti svih alternativnih stanja kojima možemo pobjeći, naime, 00, 01, 10 i 11.
Distribucija vjerojatnosti cijelog sustava mijenja se ako se promijeni smjer strelice na jednom qubitu jer su qubiti isprepleteni.
Izgubljena je neovisnost qubita jedan o drugom. Svaki od njih je sastavni dio iste velike države. Bez obzira koliko qubita imate, to je još uvijek slučaj.
Postoji moguća kombinacija 2n stanja za kvantno računalo s n kubita.
Imate distribuciju vjerojatnosti kroz dva stanja, na primjer, za jedan qubit. Imate distribuciju vjerojatnosti kroz četiri stanja za dva qubita, itd. Glavna razlika između klasičnih i kvantnih računala je ovo.
Klasična računala možete staviti u kakvo god stanje želite, ali samo jedno po jedno. Sva ta stanja mogu istovremeno postojati na kvantnim računalima kao superpozicija.
Kako računalo može imati koristi od toga što je u svim tim stanjima odjednom? Posljednji element smetnje ulazi u ovu točku.
Interferencija
Kvantna valna funkcija može se koristiti za opisivanje stanja qubita.
Temeljni matematički opis svega u kvantnoj fizici daju valne funkcije.
Kada je mnogo kubita isprepleteno, njihove se pojedinačne valne funkcije kombiniraju kako bi oblikovale jednu valnu funkciju koja opisuje cjelokupno stanje kvantnog računala.
Interferencija je rezultat zbrajanja ovih valnih funkcija. Kad se valovi zbroje, oni bi mogli konstruktivno djelovati i kombinirati se kako bi stvorili veći val, baš kao što to čine vodeni valovi.
Oni također mogu destruktivno djelovati kako bi se suprotstavili jedni drugima. Različita vjerojatnost različitih stanja određena je ukupnom valnom funkcijom kvantnog računala.
Možemo promijeniti vjerojatnost da će se određena stanja pojaviti kada mjerimo kvantno računalo mijenjanjem stanja različitih kubita.
Iako kvantno računalo može postojati u nekoliko superpozicija stanja odjednom, mjerenja otkrivaju samo jedno od tih stanja.
Stoga, pri korištenju kvantnog računala za dovršenje računskog posla, potrebna je konstruktivna interferencija kako bi se povećala vjerojatnost dobivanja točnog odgovora i destruktivna interferencija kako bi se smanjila vjerojatnost dobivanja netočnog odgovora.
Sada, počnimo s Qiskitom.
Što je Qiskit?
Qiskit je softverski okvir koji financira IBM i osmišljen kako bi svima olakšao ulazak u polje kvantnog računalstva.
Budući da je kvantna računala teško nabaviti, možete ih nabaviti putem pružatelja usluga oblaka, poput IBM-a, koristeći njihov Qiskit toolbox.
Dostupan je besplatno, a sav njegov kod je open source.
Postoji online udžbenik koji vas uči svim osnovama kvantne fizike, što je vrlo korisno za one koji nisu upoznati s temom. Python se koristi za razvoj Qiskit alata.
Dakle, ako ste upoznati s programskim jezikom Python, prepoznat ćete mnogo koda.
Softverski okvir prikladan je za one koji to žele naučiti o kvantnom računalstvu stječući pritom i praktično iskustvo.
Najosnovniji aspekt Qiskita je da radi u dvije faze. Jedan od koraka je faza konstrukcije, u kojoj stvaramo nekoliko kvantnih sklopova i koristimo te sklopove za rješavanje problema.
Zatim, nakon dovršetka faze izgradnje ili postizanja rješenja, prelazimo na sljedeću fazu, koja je poznata kao faza izvršenja, u kojoj pokušavamo pokrenuti našu izgradnju ili rješenje u različitim pozadinama (pozadina vektora stanja, jedinstvena pozadina, otvorena ASM backend), a nakon što je izvođenje dovršeno, obrađujemo podatke u međugradnji za željeni izlaz.
Prvi koraci s Qskitom
Možete ga lokalno instalirati na svoje osobno računalo ili Jupyter Notebook koji IBM hostira. Napišite sljedeći kod za lokalnu instalaciju na računalu sa sustavom Windows:
Moramo se registrirati ovdje kako bismo pristupili API tokenu koji nam omogućuje korištenje IBM-ovih kvantnih uređaja, a zatim možemo početi raditi s web-stranicom tvrtke. Možete zamisliti da ovo radite pomoću Jupyter Notebooka instaliranog na Qiskitu koji radi na mreži.
Možete mu pristupiti tako da odaberete svoj Profil iz izbornika u gornjem desnom kutu stranice, zatim odaberete Informacije o računu. Svoj API token možete pronaći u odjeljku o API tokenima u obliku ***. Kopira se i zatim unosi u sljedeći kod:
Nakon što se ovaj kod izvrši, vaš API token bit će spremljen na vašem računalu, omogućujući vam korištenje IBM-ovih kvantnih uređaja. Unesite sljedeće kako biste utvrdili imate li pristup takvom uređaju:
Ako se gore spomenuti kod pokrene, trebali biste moći pokrenuti kod ne samo na svom računalu, već i slanjem ugrađenih kvantnih sklopova IBM-ovim kvantnim uređajima i primanjem rezultata.
Dakle, koristeći biblioteku sklopova, možemo početi razvijati naš prvi kvantni algoritam. Počinjemo uvozom bitnih ovisnosti iz Qiskita u naš projekt.
Zatim konstruiramo dvobitni kvantni registar i dvobitni konvencionalni registar.
Dakle, sada imamo uspostavljen i klasični i kvantni registar. Koristeći to dvoje, možemo konstruirati krug i ako, u bilo kojem trenutku tijekom modifikacije kruga, želite skicirati kako kvantni krug izgleda, napišite sljedeći kod:
Sa slike vidimo da se sklop sastoji od dva kvantna bita i dva klasična bita.
Kako jest, ovom krugu nedostaju vrata, što ga čini nezanimljivim. Sada konstruirajmo krug koristeći kvantna vrata. Kao klasična logička vrata (I, OR vrata) su za normalne digitalne sklopove, kvantna vrata su temeljne komponente kvantnih sklopova.
Primjena Hadamardovih vrata na prvi qubit je prvi korak u stvaranju isprepletenosti. Zatim ćemo pomoću sljedećeg koda dodati x operaciju kontroliranu s dva qubita:
Sada kada su ova dva operatora korištena za konstruiranje našeg kvantnog kruga, vrijeme je da izmjerimo kvantne bitove (qubits), izvršimo ta mjerenja i pohranimo ih u klasične bitove. Kreirajmo potreban kod da to postignemo:
Donji dijagram prikazuje raspored našeg kruga:
Krug se tada mora pokrenuti na tradicionalnom računalnom simulatoru. Krug je dovršen. I ispitati ishode te egzekucije.
Informacije dobivene izvođenjem tog kruga pohranjuju se u varijablu rezultata. Prikažimo ove rezultate koristeći dijagram histograma.
To je ono što se događa kada pokrenemo naš kvantni krug. Za brojeve 00 i 11 dobivamo vjerojatnosti od oko 50%. Vaš početni krug kvantnog računala je izgrađen. Čestitamo!
Primjene Qskit kvantnog računarstva
Qskit financije
Zbirku pokaznih alata i aplikacija nudi Qiskit Finance. To uključuje Ising prevoditelje za optimizaciju portfelja, dobavljače podataka za stvarne ili nasumične podatke i implementacije za određivanje cijena različitih financijskih opcija ili procjenu kreditnog rizika.
Qiskit Priroda
Aplikacije poput savijanje proteina i elektronska/vibronska struktura proračune za pobuđena i osnovna stanja podržava Qiskit Nature.
Nudi sve dijelove potrebne za povezivanje klasičnih kodova i automatsko pretvaranje u različite prikaze potrebne kvantnim računalima.
Qskit strojno učenje
kvantni stroj za učenje metode koje ih koriste za rješavanje raznih problema, kao što su regresija i klasifikacija, pružaju Qiskit Machine Learning, kao i temeljne kvantne jezgre i kvantne neuronske mreže (QNN) kao građevne blokove.
Također omogućuje povezivanje QNN-ova s PyTorchom u svrhu uključivanja kvantnih elemenata u klasične operacije.
Qskit optimizacija
Qiskit Optimization nudi cijeli spektar usluga optimizacije, uključujući modeliranje problema optimizacije na visokoj razini, automatizirano prevođenje problema u različite potrebne prikaze i kolekciju jednostavnih metoda kvantne optimizacije.
Zaključak
Zaključno, dok su za trenutno dostupno najbrže superračunalo potrebne godine, kvantna računala mogu brzo probiti trenutne metode šifriranja.
Unatoč činjenici da će kvantna računala moći razbiti mnoge tehnike šifriranja koje se danas koriste, očekuje se da će stvoriti zamjene otporne na hakiranje.
Optimizacija problema je snaga kvantnih računala. Za dodatne pojedinosti posjetite Qiskit GitHub.
Ostavi odgovor