Maailm muutub digitaalsete muutuste tõttu kiiremini kui kunagi varem.
Seoses järjekordse uhiuue tehnoloogialaine tulekuga, mis suudab praeguseid paradigmasid jahmatava kiiruse ja võimsusega drastiliselt muuta: kvantandmetöötlus muutub digiajastu põhiideede mõistmiseks veelgi olulisemaks.
Läbimurdeline tehnika, mida nimetatakse kvantarvutuseks, kasutab kvantfüüsikat selliste probleemide lahendamiseks, mis jäävad tavaliste arvutite raamidest välja.
Kvantteooria põhimõtted näitavad, kuidas aine ja energia käituvad aatomi- ja subatomaarsel skaalal ning IBMi Qiskit on avatud lähtekoodiga kvanttarkvara arenduskomplekt, mis aitab luua kvantarvutussüsteeme.
See artikkel püüab seda selgitada ja anda teile ülevaate kvantarvutusest.
Selgitame oma lugejatele avatud lähtekoodiga kvantarvutite abil SDKst. Qiskit ja laske neil seda kasutades uurida Jupyteri sülearvutid majutatud IBM Quantum Labis.
Mis on kvantarvutus?
Kvantarvutus on arvutiteaduse haru, mis keskendub arvutitehnoloogia arendamisele, kasutades kvantteooria ideid.
See kasutab ära subatomaarsete osakeste erakordset võimet eksisteerida samaaegselt paljudes olekutes, näiteks 0 ja 1.
Nad suudavad töödelda palju rohkem andmeid kui tavalised arvutid.
Kvantarvutusprotsessides tehakse kubit, kasutades objekti kvantolekut. Kvantarvutuses on olulised teabetükid kubiidid.
Nad täidavad sama funktsiooni nagu bitid tavapärases kvantarvutuses, kuid toimivad üsna erinevalt. Kvantarvuti on valdkond, mis tekkis 1980. aastatel.
Seejärel avastati, et kvantalgoritmid olid mõnede arvutiülesannete täitmisel tõhusamad kui nende klassikalised kolleegid.
Superpositsioon ja põimumine, kaks kvantfüüsika mõistet, on nende superarvutite aluseks.
Võrreldes tavaliste arvutitega suudavad kvantarvutid praegu teha töid suurusjärgus kiiremini, tarbides samal ajal palju vähem energiat.
Peame jätkama kvantarvutite tööga, et seda täielikult mõista. Alustame kohe.
Kuidas kvantarvuti tegelikult töötab?
Võrreldes tavapäraste arvutitega, millega oleme harjunud, lähenevad kvantarvutid probleemide lahendamisele erinevalt. Mõnede ülesannete puhul eelistatakse kvantarvuteid mitmel viisil traditsioonilistele arvutitele.
Arvatakse, et põhjuseks on nende võime eksisteerida korraga paljudes osariikides. Teisest küljest võivad tavalised arvutid olla korraga ainult ühes olekus.
Kvantarvutite toimimise mõistmiseks peate mõistma kolme põhimõistet:
- Superpositsioon.
- takerdumine.
- Sekkumine.
Superpositsioon
Bitid on traditsiooniliste arvutite põhikomponendid. Kvantbitid ehk kubitid on kvantarvutite põhiühikud.
Põhimõtteliselt toimivad kvantbitid erinevalt. Binaarne bitt, mida mõnikord nimetatakse traditsiooniliseks bitiks, on lüliti, mis võib olla kas 0 või 1.
Saame biti hetkeseisu tagasi selle mõõtmisel. Qubits on selles osas erand. Qubite võib võrrelda kolmes dimensioonis osutavate nooltega.
Need on 0-tingimustes, kui need näitavad ülespoole. Need on olekus 1, kui need on suunatud allapoole. Sama kehtib ka klassikaliste bittide kohta.
Kuid nad võivad valida ka superpositsiooni olekus.
Nool on olukorras, kus see osutab mis tahes muus suunas. Selle oleku tulemuseks on 0 ja 1 superpositsioon. Qubit annab mõõtmisel ikkagi tulemuseks kas 1 või 0.
Siiski määrab noole suund olulise tõenäosuse.
Suure tõenäosusega saate 1, kui nool on suunatud peamiselt alla, ja 0, kui see on suunatud ülespoole.
Kui nool on keskel, on teil 50% võimalus võita mõlema puhul. Lühidalt öeldes on see superpositsioon.
Sissetungimine
Traditsioonilise arvuti bitid on üksteisest sõltumatud. Ühe biti olek ei mõjuta teise biti olekut.
Kvantarvutite kubitid võivad üksteisega takerduda. See tähendab, et nad ühinevad üheks suureks kvantolekuks.
Illustreerimiseks vaatleme kahte kubitti, mis on erinevates superpositsiooni olekutes, kuid ei ole veel takerdunud. Praegu ei sõltu nende tõenäosus üksteisest.
Kui me neid segame, peame need sõltumatud tõenäosused kõrvale heitma ja määrama kõigi alternatiivsete olekute tõenäosused, millest me pääseme, nimelt 00, 01, 10 ja 11.
Kui noole suunda ühel kubitil muudetakse, kuna kubitid on takerdunud, muutub kogu süsteemi tõenäosusjaotus.
Kubittide sõltumatus üksteisest on kadunud. Igaüks neist on sama suure oleku komponent. Olenemata sellest, kui palju kubitte teil on, on see ikkagi nii.
N kubitiga kvantarvuti jaoks on võimalik 2n oleku kombinatsioon.
Teil on tõenäosusjaotus kahe oleku vahel, näiteks ühe kubiti jaoks. Teil on tõenäosusjaotus nelja oleku vahel kahe kubiti jne puhul. Peamine erinevus klassikaliste ja kvantarvutite vahel on järgmine.
Saate panna klassikalised arvutid mis tahes valitud seisukorda, kuid ainult ükshaaval. Kõik need olekud võivad eksisteerida samaaegselt kvantarvutites superpositsioonina.
Kuidas saab arvuti kasu olla kõigis neis olekutes korraga? Selles punktis siseneb häire viimane element.
Sekkumine
Kvantlainefunktsiooni saab kasutada kubiti oleku kirjeldamiseks.
Kvantfüüsika kõige põhilise matemaatilise kirjelduse annavad lainefunktsioonid.
Kui paljud kubitid on takerdunud, kombineeritakse nende üksikud lainefunktsioonid üheks lainefunktsiooniks, mis kirjeldab kvantarvuti üldist olekut.
Häired on nende lainefunktsioonide liitmise tulemus. Kui lained liidetakse, võivad need omavahel konstruktiivselt suhelda ja ühineda, et luua suurem laine, täpselt nagu vee lainetus.
Samuti võivad nad üksteise vastu võitlemiseks hävitavalt suhelda. Erinevate olekute varieeruva tõenäosuse määrab kvantarvuti üldine lainefunktsioon.
Kvantarvuti mõõtmisel saame muuta teatud olekute tekkimise tõenäosust, muutes erinevate kubitide olekuid.
Kuigi kvantarvuti võib eksisteerida korraga mitmes oleku superpositsioonis, näitavad mõõtmised ainult ühte neist olekutest.
Seega, kui arvutustöö lõpuleviimiseks kasutatakse kvantarvutit, on õige vastuse saamise tõenäosuse suurendamiseks vaja konstruktiivseid häireid ja vale vastuse saamise tõenäosuse vähendamiseks hävitavaid häireid.
Nüüd alustame Qiskitiga.
Mis on Qiskit?
Qiskit on IBM-i rahastatud tarkvararaamistik, mis on loodud selleks, et hõlbustada kõigil kvantarvutite valdkonda sisenemist.
Kuna kvantarvuteid on raske hankida, saate selle hankida pilveteenuse pakkuja (nt IBM) kaudu, kasutades nende Qiskiti tööriistakasti.
See on tasuta saadaval ja kogu selle kood on avatud lähtekoodiga.
On olemas veebiõpik mis õpetab teile kõiki kvantfüüsika põhialuseid, mis on väga kasulik neile, kes pole selle teemaga kursis. Pythonit kasutatakse Qiskiti tööriistakomplekti väljatöötamiseks.
Seega, kui olete Pythoni programmeerimiskeelega tuttav, tunnete ära palju koodi.
Tarkvararaamistik sobib neile, kes soovivad õppida tundma kvantarvutust omandades samas ka praktilisi kogemusi.
Qiskiti kõige olulisem aspekt on see, et see toimib kahes etapis. Üks etappidest on ehitamise etapp, mille käigus loome mitu kvantahelat ja kasutame neid ahelaid probleemi lahendamiseks.
Seejärel jätkame pärast ehitusetapi lõpetamist või lahenduseni jõudmist järgmisse etappi, mida nimetatakse täitmisfaasiks ja milles proovime käitada oma ehitust või lahendust erinevates taustaprogrammides (olekuvektori taustaprogramm, ühtne taustaprogramm, avatud ASM-i taustaprogramm) ja pärast käitamise lõpetamist töötleme järgus olevaid andmeid soovitud väljundi jaoks.
Qiskitiga alustamine
Saate selle kohapeal installida oma personaalarvutisse või Jupyteri sülearvutisse, mida IBM hostib. Windowsi arvutisse lokaalseks installimiseks kirjutage järgmine kood:
Peame siin registreeruma, et pääseda ligi API-märgile, mis võimaldab meil kasutada IBMi kvantseadmeid, ja seejärel saame alustada tööd ettevõtte veebisaidiga. Võite ette kujutada, et teete seda Qiskiti installitud Jupyteri sülearvutiga, mis töötab võrgus.
Sellele pääsete juurde, valides lehe paremas ülanurgas olevast menüüst oma Profiil ja seejärel valiku Konto teave. Leiate oma API tokeni jaotisest API märgid kujul ***. See kopeeritakse ja sisestatakse seejärel järgmisesse koodi:
Kui see kood on käivitatud, salvestatakse teie API token teie arvutisse, mis võimaldab teil kasutada IBMi kvantseadmeid. Sisestage järgmine teave, et teha kindlaks, kas teil on sellisele seadmele juurdepääs.
Kui eelnimetatud kood töötab, peaksite saama koodi käivitada mitte ainult oma arvutis, vaid ka saates sisseehitatud kvantahelad IBMi kvantseadmetesse ja tulemusi vastu võtma.
Seega saame vooluringide teeki kasutades alustada oma esimese kvantalgoritmi väljatöötamist. Alustame oluliste sõltuvuste importimisest Qiskitist oma projekti.
Seejärel koostame kahe kubitise kvantregistri ja kahebitise tavaregistri.
Nüüd on meil loodud nii klassikaline kui ka kvantregister. Neid kahte kasutades saame vooluringi konstrueerida ja kui soovite igal ajal kogu vooluringi modifitseerimise ajal visandada, kuidas kvantahel välja näeb, kirjutage järgmine kood:
Pildilt näeme, et skeem koosneb kahest kvantbitist ja kahest klassikalisest bitist.
Praegusel vooluringil puuduvad väravad, mis muudab selle ebahuvitavaks. Nüüd konstrueerime vooluringi kvantväravate abil. Nagu klassika loogikaväravad (JA, VÕI väravad) on tavaliste digitaalsete ahelate jaoks, kvantväravad on kvantahelate põhikomponendid.
Hadamardi värava rakendamine esimesele qubitile on esimene samm takerdumise loomisel. Seejärel lisame järgmise koodi abil kahe qubitiga juhitava x operatsiooni:
Nüüd, kui neid kahte operaatorit on meie kvantlülituse koostamiseks kasutatud, on aeg mõõta kvantbitid (kubitid), teha need mõõtmised ja salvestada need klassikalistesse bittidesse. Loome selle saavutamiseks vajaliku koodi:
Allolev diagramm kujutab meie vooluringi paigutust:
Seejärel tuleb vooluringi käivitada traditsioonilisel arvutisimulaatoril. Ringrada on läbitud. Ja uurige selle hukkamise tulemusi.
Selle ahela täitmisel saadud teave salvestatakse tulemusmuutujas. Kuvame need tulemused diagrammi histogrammi abil.
See juhtub siis, kui käivitame oma kvantahela. Arvude 00 ja 11 puhul saame tõenäosuseks umbes 50%. Teie esialgne kvantarvuti ahel ehitati. Palju õnne!
Qiskiti kvantarvutite rakendused
Qiskit Finance
Qiskit Finance pakub demonstratiivsete tööriistade ja rakenduste kollektsiooni. Nende hulka kuuluvad Isingi tõlkijad portfelli optimeerimiseks, andmetarnijad tegelike või juhuslike andmete jaoks ning juurutused erinevate finantsvõimaluste või krediidiriski hindamiseks.
Qiskit loodus
Rakendused nagu valgu voltimine ja elektrooniline/vibrooniline struktuur Qiskit Nature toetab nii ergastatud kui ka põhiolekute arvutusi.
See pakub kõiki osi, mis on vajalikud klassikaliste koodide ühendamiseks ja automaatseks teisendamiseks erinevateks kvantarvutite jaoks vajalikeks esitusviisideks.
Qiskiti masinõpe
Kvant masinõpe meetodeid, mis kasutavad neid erinevate probleemide lahendamiseks, nagu regressioon ja klassifitseerimine, pakub Qiskit Machine Learning, samuti põhilised kvanttuumad ja kvantnärvivõrgud (QNN-id) ehitusplokkidena.
Samuti võimaldab see ühendada QNN-id PyTorchiga, et lisada klassikalistesse operatsioonidesse kvantelemente.
Qiskiti optimeerimine
Qiskit Optimization pakub kõiki optimeerimisteenuseid, sealhulgas optimeerimisprobleemide kõrgetasemelist modelleerimist, probleemide automaatset tõlkimist erinevatesse vajalikesse esitustesse ja lihtsate kvantoptimeerimismeetodite kogumit.
Järeldus
Kokkuvõtteks võib öelda, et kuigi praegu saadaolev kiireim superarvuti võtab aastaid, suudavad kvantarvutid praegustest krüpteerimismeetoditest kiiresti läbi murda.
Hoolimata asjaolust, et kvantarvutid suudavad murda paljusid tänapäeval kasutatavaid krüpteerimistehnikaid, loodetakse luua häkkimiskindlaid asendusi.
Probleemide optimeerimine on kvantarvutite tugevus. Lisateabe saamiseks külastage Qiskitit GitHub.
Jäta vastus