Innholdsfortegnelse[Gjemme seg][Forestilling]
Raskere enn noen gang før endrer verden seg på grunn av digital endring.
Med den forestående ankomsten av nok en splitter ny bølge av teknologi som er i stand til å drastisk endre gjeldende paradigmer med forbløffende hastighet og kraft: kvantedatabehandling, vil forståelsen av de grunnleggende ideene til den digitale æraen bli enda viktigere.
En banebrytende teknikk kalt kvanteberegning bruker kvantefysikk for å løse problemer som ligger utenfor rekkevidden til konvensjonelle datamaskiner.
Kvanteteoriprinsipper viser hvordan materie og energi oppfører seg på atomær og subatomær skala, og IBMs Qiskit er et åpen kildekode-kvanteprogramvareutviklingssett som hjelper til med å lage kvantedatabehandlingssystemer.
Denne artikkelen prøver å forklare dette og gi deg en oversikt over kvanteberegning.
Vi vil forklare for leserne våre ved hjelp av en åpen kildekode kvantedatabehandling SDK, dvs. Qiskit og la dem utforske ved å bruke Jupyter Notatbøker vert hos IBM Quantum Lab.
Hva er Quantum Computing?
Kvanteberegning er en gren av informatikk som fokuserer på å utvikle datateknologi ved hjelp av ideer fra kvanteteori.
Den utnytter den eksepsjonelle kapasiteten til subatomære partikler til å eksistere samtidig i mange stater, for eksempel 0 og 1.
De er i stand til å behandle mye mer data enn vanlige datamaskiner.
I kvanteberegningsprosesser lages en qubit ved å bruke kvantetilstanden til et objekt. De essensielle delene av informasjon i kvanteberegning er qubits.
De utfører samme funksjon som biter i konvensjonell databehandling i kvantedatabehandling, men de fungerer ganske annerledes. Quantum computing er et felt som dukket opp på 1980-tallet.
Så ble det oppdaget at kvantealgoritmer var mer effektive til å utføre noen dataoppgaver enn deres klassiske kolleger.
Superposisjon og sammenfiltring, to konsepter fra kvantefysikk, er grunnlaget som disse superdatamaskinene er basert på.
Sammenlignet med konvensjonelle datamaskiner, kan kvantedatamaskiner for tiden utføre jobber i størrelsesordener raskere mens de bruker mye mindre energi.
Vi må fortsette med driften av kvantedatamaskiner for å forstå det fullt ut. La oss begynne nå.
Hvordan fungerer egentlig en kvantedatamaskin?
Sammenlignet med de tradisjonelle datamaskinene vi er vant til, nærmer kvantedatamaskiner problemløsning annerledes. For noen oppgaver er kvantedatamaskiner å foretrekke fremfor tradisjonelle på en rekke måter.
Deres evne til å eksistere i en rekke stater samtidig antas å være årsaken. På den annen side kan konvensjonelle datamaskiner bare være i en enkelt tilstand på en gang.
Det er tre nøkkelbegreper du må forstå for å forstå hvordan kvantedatamaskiner fungerer:
- Superposisjon.
- Forviklinger.
- Innblanding.
super
Bits er de grunnleggende komponentene i tradisjonelle datamaskiner. Kvantebiter, eller Qubits, er de grunnleggende enhetene til kvantedatamaskiner.
I utgangspunktet fungerer kvantebiter annerledes. En binær bit, noen ganger kjent som en tradisjonell bit, er en bryter som enten kan være 0 eller 1.
Vi mottar bitens nåværende tilstand tilbake når vi måler den. Qubits er et unntak fra dette. Qubits kan sammenlignes med piler som peker i tre dimensjoner.
De er i 0-forholdene hvis de peker oppover. De er i 1-tilstand hvis de peker nedover. Det samme gjelder med klassiske biter.
Imidlertid kan de også velge å være i en superposisjonstilstand.
En pil er i den tilstanden den peker i en hvilken som helst annen retning. Superposisjonen av 0 og 1 resulterer i denne tilstanden. En Qubit vil fortsatt produsere enten en 1 eller en 0 som resultat når den måles.
Pilens orientering avgjør imidlertid en sannsynlighet som er relevant.
Det er mer sannsynlig at du får en 1 hvis pilen primært peker nedover og en 0 hvis den først og fremst peker oppover.
Du vil ha 50 % sjanse til å vinne for hver av dem hvis pilen er i midten. I et nøtteskall er det superposisjon.
forviklinger
Bitene i en tradisjonell datamaskin er uavhengige av hverandre. Den ene bitens tilstand har ingen betydning for den andre bitens tilstand.
Qubittene i kvantedatamaskiner kan bli viklet inn i hverandre. Dette innebærer at de smelter sammen til en enkelt stor kvantetilstand.
For illustrasjon, vurder to qubits som er i forskjellige superposisjonstilstander, men som ennå ikke er sammenfiltret. På dette tidspunktet er deres sannsynlighet ikke avhengig av hverandre.
Når vi vikler dem inn, må vi forkaste disse uavhengige sannsynlighetene og bestemme sannsynlighetene for alle de alternative tilstandene vi kan unnslippe, nemlig 00, 01, 10 og 11.
Sannsynlighetsfordelingen til hele systemet endres hvis retningen til pilen på en qubit endres fordi qubitene er sammenfiltret.
Qubitenes uavhengighet fra hverandre har gått tapt. Hver av dem er en komponent av samme betydelige tilstand. Uansett hvor mange qubits du har, er dette fortsatt tilfelle.
Det er en mulig kombinasjon av 2n tilstander for en kvantedatamaskin med n qubits.
Du har en sannsynlighetsfordeling over to tilstander, for eksempel for en qubit. Du har en sannsynlighetsfordeling over fire tilstander for to qubits osv. Hovedskillet mellom klassiske og kvantedatamaskiner er dette.
Du kan sette klassiske datamaskiner i hvilken som helst tilstand du velger, men bare én om gangen. Alle disse tilstandene kan eksistere samtidig på kvantedatamaskiner som en superposisjon.
Hvordan kan datamaskinen dra nytte av å være i alle disse statene samtidig? Det siste elementet av interferens kommer inn på dette punktet.
Forstyrrelser
En kvantebølgefunksjon kan brukes til å beskrive tilstanden til en qubit.
Den grunnleggende matematiske beskrivelsen av alt innen kvantefysikk er gitt av bølgefunksjoner.
Når mange qubits er sammenfiltret, kombineres deres individuelle bølgefunksjoner sammen for å danne en enkelt bølgefunksjon som beskriver den generelle tilstanden til kvantedatamaskinen.
Interferens er resultatet av å legge disse bølgefunksjonene sammen. Når bølger legges sammen, kan de konstruktivt samhandle og kombineres for å skape en større bølge, akkurat som vannbølger gjør.
De kan også samhandle destruktivt for å motvirke hverandre. Den varierte sannsynligheten for de ulike tilstandene bestemmes av kvantecomputerens samlede bølgefunksjon.
Vi kan endre sannsynligheten for at visse tilstander vil dukke opp når vi måler kvantedatamaskinen ved å endre tilstandene til forskjellige qubits.
Selv om kvantedatamaskinen kan eksistere i flere superposisjoner av tilstander samtidig, avslører målinger bare en av disse tilstandene.
Derfor, mens du bruker en kvantedatamaskin for å fullføre en beregningsjobb, er det nødvendig med konstruktiv interferens for å øke sannsynligheten for å motta riktig svar og destruktiv interferens for å redusere sannsynligheten for å motta en feil.
La oss nå begynne med Qiskit.
Hva er Qiskit?
Qiskit er et IBM-finansiert programvarerammeverk designet for å gjøre det enklere for alle å komme inn på feltet kvanteberegning.
Fordi kvantedatamaskiner er vanskelige å få tak i, kan du få tak i en gjennom en skyleverandør, for eksempel IBM, ved å bruke deres Qiskit-verktøykasse.
Den er tilgjengelig gratis, og all koden er det åpen kildekode.
Det er en nettbasert lærebok som lærer deg alt det grunnleggende om kvantefysikk, noe som er veldig nyttig for de som ikke er kjent med emnet. Python brukes til å utvikle Qiskit-verktøysettet.
Så hvis du er kjent med programmeringsspråket Python, vil du gjenkjenne mye kode.
Programvarerammeverket passer for de som ønsker det lære om kvanteberegning samtidig som du får praktisk erfaring.
Det mest grunnleggende aspektet ved Qiskit er at det fungerer i to trinn. Ett av trinnene er konstruksjonsstadiet, der vi lager flere kvantekretser og bruker disse kretsene til å løse problemet.
Deretter, etter å ha fullført byggestadiet eller nådd løsningen, går vi videre til neste trinn, som er kjent som utførelsesstadiet, der vi forsøker å kjøre bygget eller løsningen vår i de forskjellige backends (state vektor backend, enhetlig backend, åpen ASM backend), og etter at kjøringen er fullført, behandler vi dataene i bygget for ønsket utgang.
Komme i gang med Qiskit
På din personlige datamaskin eller Jupyter Notebook som IBM er vert for, kan du installere den lokalt. Skriv følgende kode for å installere lokalt på en Windows-datamaskin:
Vi må registrere oss her for å få tilgang til API-tokenet som gjør oss i stand til å bruke IBMs kvanteenheter, og så kan vi begynne å jobbe med selskapets nettside. Du kan tenke deg å gjøre dette ved å bruke en Qiskit-installert Jupyter Notebook som kjører online.
Du får tilgang til den ved å velge profilen din fra menyen øverst til høyre på siden, og deretter velge Kontoinformasjon. Du finner API-tokenet ditt under delen om API-tokens i form av ***. Den kopieres og legges deretter inn i følgende kode:
Når denne koden er utført, vil API-tokenet ditt lagres på datamaskinen din, slik at du kan bruke IBMs kvanteenheter. Skriv inn følgende for å finne ut om du har tilgang til en slik enhet:
Hvis den nevnte koden kjører, bør du kunne kjøre kode ikke bare på datamaskinen din, men også ved å sende de innebygde kvantekretsene til IBMs kvanteenheter og motta resultater.
Så ved å bruke kretsbiblioteket kan vi begynne å utvikle vår første kvantealgoritme. Vi starter med å importere de essensielle avhengighetene fra Qiskit til prosjektet vårt.
Vi konstruerer deretter et to-qubit kvanteregister og et to-bits konvensjonelt register.
Så nå har vi etablert både et klassisk og et kvanteregister. Ved å bruke disse to kan vi konstruere kretsen, og hvis du når som helst gjennom kretsens modifikasjon ønsker å skissere hvordan kvantekretsen ser ut, skriv følgende kode:
Vi kan se av bildet at kretsen består av to kvantebiter og to klassiske biter.
Som den er, mangler denne kretsen porter, noe som gjør den uinteressant. La oss nå konstruere kretsen ved å bruke kvanteportene. Som klassisk logiske porter (AND, OR-porter) er for normale digitale kretser, kvanteporter er de grunnleggende komponentene i kvantekretser.
Å bruke Hadamard-porten på den første qubiten er det første trinnet i å skape sammenfiltring. Deretter, ved å bruke følgende kode, vil vi legge til en to-qubit kontrollert x-operasjon:
Nå som disse to operatorene har blitt brukt til å konstruere kvantekretsen vår, er det på tide å måle kvantebitene (qubits), ta disse målingene og lagre dem i de klassiske bitene. La oss lage den nødvendige koden for å oppnå det:
Diagrammet nedenfor viser utformingen av kretsen vår:
Kretsen må da kjøres på en tradisjonell datasimulator. Kretsen er fullført. Og undersøk resultatene av den henrettelsen.
Informasjonen som oppnås ved å utføre den kretsen lagres i resultatvariabelen. La oss vise disse resultatene ved hjelp av et plotthistogram.
Det er det som skjer når vi kjører kvantekretsen vår. For tallene 00 og 11 får vi sannsynligheter på rundt 50 %. Din første kvantedatamaskinkrets ble bygget. Gratulerer!
Anvendelser av Qiskit Quantum Computing
Qiskit Finance
En samling demonstrasjonsverktøy og applikasjoner tilbys av Qiskit Finance. Disse inkluderer Ising-oversettere for porteføljeoptimalisering, dataleverandører for faktiske eller tilfeldige data, og implementeringer for prising av ulike finansielle alternativer eller kredittrisikovurderinger.
Qiskit Nature
Søknader som proteinfolding og elektronisk/vibronisk struktur beregninger for både eksiterte tilstander og grunntilstander støttes av Qiskit Nature.
Den tilbyr alle delene som kreves for å koble klassiske koder og automatisk konvertering til forskjellige representasjoner som kreves av kvantedatamaskiner.
Qiskit maskinlæring
Quantum maskinlæring metoder som bruker dem til å løse ulike problemer, for eksempel regresjon og klassifisering, leveres av Qiskit Machine Learning, så vel som grunnleggende kvantekjerner og kvantenevrale nettverk (QNN) som byggesteiner.
Det muliggjør også tilkobling av QNN-er til PyTorch med det formål å inkorporere kvanteelementer i klassiske operasjoner.
Qiskit-optimalisering
Qiskit Optimization tilbyr hele spekteret av optimaliseringstjenester, inkludert høynivåmodellering av optimaliseringsproblemer, automatisert oversettelse av problemer til ulike nødvendige representasjoner, og en samling enkle kvanteoptimaliseringsmetoder.
konklusjonen
Som konklusjon, mens den raskeste superdatamaskinen som nå er tilgjengelig tar årevis, kan kvantedatamaskiner raskt bryte gjennom gjeldende krypteringsmetoder.
Til tross for at kvantedatamaskiner vil kunne bryte mange av krypteringsteknikkene som brukes i dag, er det forventet at de vil lage hacksikre erstatninger.
Å optimalisere problemer er en styrke ved kvantedatamaskiner. For ytterligere detaljer, vennligst besøk Qiskit GitHub.
Legg igjen en kommentar