Hurtigere end nogensinde før ændrer verden sig på grund af digitale forandringer.
Med den forestående fremkomst af endnu en helt ny bølge af teknologi, der er i stand til drastisk at ændre nuværende paradigmer med forbløffende hastighed og kraft: kvantecomputere, vil forståelsen af de grundlæggende ideer i den digitale æra blive endnu vigtigere.
En banebrydende teknik kaldet kvanteberegning gør brug af kvantefysik til at løse problemer, der ligger uden for rækkevidden af konventionelle computere.
Kvanteteoretiske principper viser, hvordan stof og energi opfører sig på atomare og subatomare skalaer, og IBMs Qiskit er et open source-kvantesoftwareudviklingssæt, der hjælper med at skabe kvantecomputersystemer.
Denne artikel søger at forklare dette og give dig et overblik over kvanteberegning.
Vi vil forklare vores læsere ved hjælp af en open source-kvanteberegning SDK, dvs. Qiskit og lad dem udforske vha Jupyter Notebooks vært hos IBM Quantum Lab.
Hvad er Quantum Computing?
Kvanteberegning er en gren af datalogi, der fokuserer på at udvikle computerteknologi ved hjælp af ideer fra kvanteteorien.
Det udnytter subatomære partiklers exceptionelle kapacitet til samtidig at eksistere i mange tilstande, såsom 0 og 1.
De er i stand til at behandle meget mere data end almindelige computere.
I kvanteberegningsprocesser laves en qubit ved hjælp af et objekts kvantetilstand. De væsentlige stykker information i kvanteberegning er qubits.
De udfører den samme funktion som bits i konventionel databehandling i kvantedatabehandling, men de virker helt anderledes. Quantum computing er et felt, der opstod i 1980'erne.
Så blev det opdaget, at kvantealgoritmer var mere effektive til at udføre nogle computeropgaver end deres klassiske modstykker.
Superposition og sammenfiltring, to begreber fra kvantefysikken, er grundlaget for disse supercomputere.
I sammenligning med konventionelle computere kan kvantecomputere i øjeblikket udføre opgaver i størrelsesordener hurtigere, mens de bruger meget mindre energi.
Vi skal fortsætte med driften af kvantecomputere for fuldt ud at forstå det. Lad os starte nu.
Hvordan fungerer en kvantecomputer egentlig?
Sammenlignet med de traditionelle computere, vi er vant til, griber kvantecomputere problemløsning anderledes an. Til nogle opgaver er kvantecomputere at foretrække frem for traditionelle på en række måder.
Deres evne til at eksistere i adskillige stater på én gang menes at være årsagen. På den anden side kan konventionelle computere kun være i en enkelt tilstand på én gang.
Der er tre nøglebegreber, du skal forstå for at forstå, hvordan kvantecomputere fungerer:
- Superposition.
- Forviklinger.
- Interferens.
overlejring
Bits er de grundlæggende komponenter i traditionelle computere. Kvantebits eller Qubits er de grundlæggende enheder i kvantecomputere.
Grundlæggende fungerer kvantebits anderledes. En binær bit, nogle gange kendt som en traditionel bit, er en switch, der kan være enten 0 eller 1.
Vi modtager bitsens nuværende tilstand tilbage, når vi måler det. Qubits er en undtagelse herfra. Qubits kan sammenlignes med pile, der peger i tre dimensioner.
De er i 0-betingelserne, hvis de peger opad. De er i 1-tilstand, hvis de peger nedad. Det samme er tilfældet med klassiske bits.
De kan dog også vælge at være i en superpositionstilstand.
En pil er i den tilstand, hvor den peger i en hvilken som helst anden retning. Superpositionen af 0 og 1 resulterer i denne tilstand. En Qubit vil stadig producere enten et 1 eller et 0 som resultat, når det måles.
Pilens orientering afgør dog en sandsynlighed, der er relevant.
Du er mere tilbøjelig til at modtage et 1, hvis pilen primært peger nedad og et 0, hvis den primært peger opad.
Du vil have 50 % chance for at vinde for hver, hvis pilen er i midten. I en nøddeskal er det superposition.
entanglement
Bits i en traditionel computer er uafhængige af hinanden. Den ene bits tilstand har ingen betydning for den anden bits tilstand.
Qubitterne i kvantecomputere kan blive viklet ind i hinanden. Dette indebærer, at de smelter sammen til en enkelt stor kvantetilstand.
Til illustration kan du overveje to qubits, der er i forskellige superpositionstilstande, men som endnu ikke er viklet ind. På dette tidspunkt er deres sandsynlighed ikke afhængig af hinanden.
Når vi vikler dem ind, må vi kassere disse uafhængige sandsynligheder og bestemme sandsynligheden for alle de alternative tilstande, vi kan undslippe, nemlig 00, 01, 10 og 11.
Sandsynlighedsfordelingen af hele systemet ændres, hvis retningen af pilen på en qubit ændres, fordi qubits er viklet ind.
Qubit'ernes uafhængighed af hinanden er gået tabt. Hver af dem er en komponent af den samme størrelsestilstand. Uanset hvor mange qubits du har, er dette stadig tilfældet.
Der er en mulig kombination af 2n tilstande for en kvantecomputer med n qubits.
Du har en sandsynlighedsfordeling på tværs af to tilstande, for eksempel for en qubit. Du har en sandsynlighedsfordeling på tværs af fire tilstande for to qubits osv. Den vigtigste skelnen mellem klassiske og kvantecomputere er denne.
Du kan sætte klassiske computere i den stand, du vælger, men kun én ad gangen. Alle disse tilstande kan eksistere samtidigt på kvantecomputere som en superposition.
Hvordan kan computeren drage fordel af at være i alle disse stater på én gang? Det sidste element af interferens træder ind på dette tidspunkt.
Interferens
En kvantebølgefunktion kan bruges til at beskrive tilstanden af en qubit.
Den grundlæggende matematiske beskrivelse af alt i kvantefysikken er givet af bølgefunktioner.
Når mange qubits er sammenfiltret, kombineres deres individuelle bølgefunktioner sammen for at danne en enkelt bølgefunktion, der beskriver kvantecomputerens overordnede tilstand.
Interferens er resultatet af at lægge disse bølgefunktioner sammen. Når bølger lægges sammen, kan de konstruktivt interagere og kombinere for at skabe en større bølge, ligesom vandbølger gør.
De kan også interagere destruktivt for at modvirke hinanden. Den varierede sandsynlighed for de forskellige tilstande er bestemt af kvantecomputerens overordnede bølgefunktion.
Vi kan ændre sandsynligheden for, at visse tilstande vil opstå, når vi måler kvantecomputeren ved at ændre tilstanden af forskellige qubits.
Selvom kvantecomputeren kan eksistere i flere superpositioner af tilstande på én gang, afslører målinger kun en af disse tilstande.
Derfor, mens du bruger en kvantecomputer til at udføre et beregningsjob, er konstruktiv interferens nødvendig for at øge sandsynligheden for at modtage det rigtige svar og ødelæggende interferens for at mindske sandsynligheden for at modtage et forkert.
Lad os nu starte med Qiskit.
Hvad er Qiskit?
Qiskit er en IBM-finansieret softwareramme designet til at gøre det nemmere for alle at komme ind på feltet med kvantecomputere.
Fordi kvantecomputere er svære at få, kan du få en gennem en cloud-udbyder, såsom IBM, ved at bruge deres Qiskit-værktøjskasse.
Den er tilgængelig gratis, og al dens kode er open source.
Der er en online lærebog der lærer dig alt det grundlæggende i kvantefysik, hvilket er meget nyttigt for dem, der ikke er bekendt med emnet. Python bruges til at udvikle Qiskit-værktøjssættet.
Så hvis du er fortrolig med programmeringssproget Python, vil du genkende en masse kode.
Softwarerammen er velegnet til dem, der ønsker det lære om kvanteberegning samtidig med at få praktisk erfaring.
Det mest grundlæggende aspekt ved Qiskit er, at det fungerer i to faser. Et af trinene er konstruktionsstadiet, hvor vi opretter flere kvantekredsløb og bruger disse kredsløb til at løse problemet.
Derefter, efter at have afsluttet byggefasen eller nået løsningen, fortsætter vi til næste fase, som er kendt som eksekveringsfasen, hvor vi forsøger at køre vores build eller løsning i de forskellige backends (state vektor backend, unitary backend, åben ASM-backend), og efter at kørslen er afsluttet, behandler vi dataene i buildet til det ønskede output.
Kom godt i gang med Qiskit
På din personlige computer eller Jupyter Notebook, som IBM hoster, kan du installere den lokalt. Skriv følgende kode for at installere lokalt på en Windows-computer:
Vi skal registrere os her for at få adgang til API-tokenet, der gør os i stand til at bruge IBMs kvanteenheder, og så kan vi begynde at arbejde med virksomhedens hjemmeside. Du kan forestille dig at gøre dette ved at bruge en Qiskit-installeret Jupyter Notebook, der kører online.
Du kan få adgang til den ved at vælge din profil i menuen i øverste højre hjørne af siden og derefter vælge Kontooplysninger. Du kan finde dit API-token under afsnittet om API-tokens i form af ***. Den kopieres og indtastes derefter i følgende kode:
Når denne kode er blevet eksekveret, vil dit API-token blive gemt på din computer, så du kan bruge IBM's kvanteenheder. Indtast følgende for at afgøre, om du har adgang til en sådan enhed:
Hvis den førnævnte kode kører, bør du være i stand til at køre kode ikke kun på din computer, men også ved at sende de indbyggede kvantekredsløb til IBMs kvanteenheder og modtage resultater.
Så ved at bruge kredsløbsbiblioteket kan vi begynde at udvikle vores første kvantealgoritme. Vi starter med at importere de væsentlige afhængigheder fra Qiskit til vores projekt.
Vi konstruerer derefter et to-qubit kvanteregister og et to-bit konventionelt register.
Så nu har vi både et klassisk og et kvanteregister etableret. Ved at bruge disse to kan vi konstruere kredsløbet, og hvis du på et hvilket som helst tidspunkt under kredsløbets modifikation ønsker at skitsere, hvordan kvantekredsløbet ser ud, skal du skrive følgende kode:
Vi kan se på billedet, at kredsløbet består af to kvantebits og to klassiske bits.
Som det er, mangler dette kredsløb porte, hvilket gør det uinteressant. Lad os nu konstruere kredsløbet ved hjælp af kvanteportene. Ligesom klassisk logiske porte (AND, OR gates) er til normale digitale kredsløb, kvanteporte er de grundlæggende komponenter i kvantekredsløb.
Anvendelse af Hadamard-porten til den første qubit er det første skridt i at skabe sammenfiltring. Derefter vil vi ved hjælp af følgende kode tilføje en to-qubit-styret x-operation:
Nu hvor disse to operatorer er blevet brugt til at konstruere vores kvantekredsløb, er det tid til at måle kvantebittene (qubits), tage disse målinger og gemme dem i de klassiske bits. Lad os oprette den nødvendige kode for at opnå det:
Diagrammet nedenfor viser layoutet af vores kredsløb:
Kredsløbet skal så køres på en traditionel computersimulator. Kredsløbet er afsluttet. Og undersøg resultaterne af den henrettelse.
Informationen opnået ved at udføre dette kredsløb lagres i resultatvariablen. Lad os vise disse resultater ved hjælp af et plothistogram.
Det er, hvad der sker, når vi kører vores kvantekredsløb. For tallene 00 og 11 får vi sandsynligheder på omkring 50 %. Dit første kvantecomputerkredsløb blev bygget. Tillykke!
Anvendelser af Qiskit Quantum Computing
Qiskit Finans
En samling af demonstrative værktøjer og applikationer tilbydes af Qiskit Finance. Disse omfatter Ising-oversættere til porteføljeoptimering, dataleverandører til faktiske eller tilfældige data og implementeringer til prisfastsættelse af forskellige finansielle muligheder eller kreditrisikovurderinger.
Qiskit Natur
Ansøgninger som proteinfoldning og elektronisk/vibronisk struktur beregninger for både exciterede tilstande og grundtilstande understøttes af Qiskit Nature.
Det tilbyder alle de dele, der kræves til at forbinde klassiske koder og automatisk konvertere til forskellige repræsentationer, der kræves af kvantecomputere.
Qiskit Machine Learning
Quantum machine learning metoder, der bruger dem til at løse forskellige problemer, såsom regression og klassificering, leveres af Qiskit Machine Learning såvel som fundamentale kvantekerner og kvanteneurale netværk (QNN'er) som byggesten.
Det muliggør også forbindelsen af QNN'er til PyTorch med det formål at inkorporere kvanteelementer i klassiske operationer.
Qiskit optimering
Qiskit Optimization tilbyder hele spektret af optimeringstjenester, herunder højniveau modellering af optimeringsproblemer, automatiseret oversættelse af problemer til forskellige nødvendige repræsentationer og en samling af simple kvanteoptimeringsmetoder.
Konklusion
Som konklusion, mens den hurtigste supercomputer, der nu er tilgængelig, tager årevis, kan kvantecomputere hurtigt bryde igennem de nuværende krypteringsmetoder.
På trods af at kvantecomputere vil være i stand til at bryde mange af de krypteringsteknikker, der bruges i dag, forventes det, at de vil skabe hacksikre erstatninger.
At optimere problemer er en styrke ved kvantecomputere. For yderligere detaljer, besøg venligst Qiskit GitHub.
Giv en kommentar