Algoritmer, modeller, udfordringer og applikationer

Fra den første idé om en kvantecomputer i 1980 til i dag er kvantecomputerindustrien vokset meget, især i de sidste 10 år. Mange virksomheder arbejder på kvantecomputere.

At forstå kvanteberegning kan være svært for de fleste af os, og en masse information om det forklarer ikke de vigtige detaljer.

Denne artikel har til hensigt at præcisere alt, og hvis du læser hele stykket, vil du få en omfattende forståelse af, hvad kvanteberegning er, forskellige typer kvanteberegning, deres funktion, algoritmer, modeller, tilgange, udfordringer og applikationer.

Hvad er kvantecomputere?

Kvantecomputere løser problemer på en anden måde end de computere, vi kender, som jeg fra nu af vil omtale som klassiske computere.

Kvantecomputere har visse fordele i forhold til normale computere for visse problemer, hvilket kommer fra deres evne til at være i et stort antal stater på samme tid, mens klassiske computere kun kan besætte én tilstand ad gangen.

Billedkilde: IBM

For at forstå dette og for at forstå, hvordan kvantecomputere fungerer, skal du forstå tre ting: Superposition, Entanglement og Interferens.

Det grundlæggende i en almindelig computer er bits, og for en kvantecomputer er det kvantebits eller qubits for korte. De fungerer på fundamentalt forskellige måder.

En klassisk bit er lidt som en switch, der enten kan være et 0 eller et 1, som du sikkert allerede kender som binær eller binær information. Når vi måler lidt, får vi bare den tilstand tilbage, som den er i i øjeblikket, men vi vil se, at dette ikke er sandt for qubits. En qubit er mere kompliceret.

Superposition

For en nyttig visualisering kan du tænke på dem som en pil, der peger i 3D-rum. Hvis de peger op, er de i 1-tilstand, og hvis de peger ned, er de i 0-tilstand, ligesom en klassisk bit, men de har også mulighed for at være i en ting, der kaldes en superpositionstilstand, hvilket er når pilen peger i enhver anden retning.

Denne superpositionstilstand er en kombinationstilstand på 0 og 1.

Superpositionsstat

Nu, når du måler en qubit, vil resultatet stadig være enten 1 eller 0, men hvilken du får afhænger af en sandsynlighed, der er sat af pilens retning.

Hvis pilen peger mere opad, er der større sandsynlighed for, at du får et 1’er tilbage end et 0’er, og hvis den peger nedad, er der større sandsynlighed for, at du får et 0’er end et 1’er, og hvis den er præcis på ækvator, Får begge stater med 50 % sandsynlighed.

Så det er effekten af ​​superposition forklaret; nu går vi videre til forviklingen.

Sammenfiltring

I klassiske computere er bits fuldstændig uafhængige af hinanden. Tilstanden af ​​en bit er ikke påvirket af tilstanden af ​​nogen af ​​de andre bits. Men i kvantecomputere kan qubits være viklet ind i hinanden, hvilket betyder, at de bliver en del af én stor kvantetilstand sammen.

Lad os for eksempel se på to qubits, som hver er i forskellige superpositionstilstande, men som endnu ikke er viklet ind. Du kan se sandsynligheden ved siden af ​​dem, og disse sandsynligheder er i øjeblikket uafhængige af hinanden.

Men når vi vikler dem ind, er vi nødt til at smide de uafhængige sandsynligheder væk og beregne en sandsynlighedsfordeling af alle de mulige tilstande, vi kan få ud. Enten 00, 01, 10 eller 11.

Det vigtige her er, at qubits er viklet ind; hvis du ændrer retningen af ​​pilen på en qubit, ændrer det sandsynlighedsfordelingen for hele systemet, så qubits ikke længere er uafhængige af hinanden; de er alle en del af den samme store stat.

Og det er sandt, uanset hvor mange qubits du har. Du vil også bemærke, at for en qubit har du en sandsynlighedsfordeling over 2 tilstande.

Med to qubits har du en sandsynlighedsfordeling fordelt på fire tilstande. For tre qubits har du en fordeling over 8 tilstande, og dette bliver ved med at fordobles, hver gang du tilføjer endnu en qubit.

Generelt kan en kvantecomputer med n qubits være i en kombination af 2^n tilstande. Så jeg vil sige, at dette er kerneforskellen mellem klassiske computere og kvantecomputere.

Klassiske computere kan være i enhver tilstand, du ønsker, men kan kun være i én tilstand ad gangen, hvorimod kvantecomputere kan være i en superposition af alle disse tilstande på samme tid.

Men du undrer dig måske over, hvordan det kan være nyttigt at være i denne superpositionstilstand på en computer. Til det har vi brug for den sidste komponent: Interferens.

Interferens

For at forklare virkningen af ​​interferens skal vi gå tilbage og se på mit billede af en qubit teknisk kaldet en Bloch-sfære. En qubit ser ikke sådan ud; dette er bare en god måde at visualisere tilstanden af ​​en qubit.

I virkeligheden er tilstanden af ​​en qubit beskrevet af en mere abstrakt enhed kendt som en kvantebølgefunktion. Bølgefunktioner er den grundlæggende matematiske beskrivelse af alt inden for kvantemekanik.

  9 bedste GIF-websteder stadig relevante i 2022

Når du har mange qubits viklet sammen, lægges alle deres bølgefunktioner sammen til en samlet bølgefunktion, der beskriver kvantecomputerens tilstand.

Denne sammenlægning af bølgefunktioner er interferensen, fordi ligesom med sige krusninger af vand, når vi lægger bølger sammen, kan de konstruktivt interferere og lægge sammen for at lave en større bølge, eller destruktivt interferere for at udligne hinanden.

Kvantecomputerens overordnede bølgefunktion er det, der sætter de forskellige sandsynligheder for de forskellige tilstande, og ved at ændre tilstandene for forskellige qubits kan vi ændre sandsynligheden for, at forskellige tilstande vil blive afsløret, når vi måler kvantecomputeren.

Husk, at selvom kvantecomputeren kan være i en superposition af millioner af tilstande på samme tid, når vi måler den, får vi kun en enkelt tilstand ud.

Så når du bruger en kvantecomputer til at løse et beregningsproblem, skal du bruge konstruktiv interferens til at øge sandsynligheden for det rigtige svar, og bruge destruktiv interferens til at mindske sandsynligheden for de forkerte svar, så når du måler det, det rigtige svar vil komme ud.

Kvantealgoritmer

Hvordan du gør dette er kvantealgoritmernes område, og hele motivationen bag kvanteberegning er, at der teoretisk set er en masse problemer, som du kan løse på en kvantecomputer, som menes at være uoverskuelige på klassiske computere.

Lad os tage et kig på dem. Der er mange kvantealgoritmer, for mange til at beskrive i denne artikel, så vi vil bare fokusere på den mest berømte og historisk vigtige: Shor’s algoritme.

#1. Shors algoritme

Hvis du har to store tal, og du ganger dem sammen, er der en meget hurtig, effektiv, klassisk algoritme til at finde svaret. Men hvis du starter med svaret og spørger, hvad er de oprindelige tal, der ganges sammen for at lave dette tal? Det er meget sværere.

Dette er kendt som faktorisering, og disse tal kaldes faktorer, og grunden til at finde dem er så svært, fordi søgerummet for mulige faktorer er så stort. Og der er ingen effektiv klassisk algoritme til at finde faktorerne for store tal.

Af denne grund bruger vi denne matematiske egenskab til internetkryptering: sikre websteder, e-mails og bankkonti. Hvis du kender disse faktorer, kan du nemt dekryptere oplysningerne, men hvis du ikke gør det, skal du først finde dem, hvilket er uoverskueligt på verdens mest kraftfulde computere.

Shors algoritme

Det er derfor, da Peter Shor i 1994 udgav en hurtig kvantealgoritme, der effektivt kunne finde faktorerne for store heltal, vakte det en del opsigt.

Dette var det øjeblik, hvor mange mennesker begyndte at tage ideen om kvantecomputere alvorligt, fordi det var den første applikation til et problem i den virkelige verden med potentielt enorme sikkerhedsimplikationer i den virkelige verden.

Men når jeg siger en ‘hurtig’ kvantealgoritme, hvor hurtig og hvor meget hurtigere ville den så være end en klassisk computer? For at besvare disse spørgsmål er vi nødt til at tage en lille omvej ind i kvantekompleksitetsteoriens verden.

Kvantekompleksitetsteori

Kvantekompleksitetsteori er et underfelt af computerkompleksitetsteoriens verden, som beskæftiger sig med kategorisering af algoritmer, der sorterer dem i bins efter, hvor godt de kører på computere.

Klassifikationen bestemmes af den stigende sværhedsgrad ved at løse problemet, efterhånden som det bliver større. Her er ethvert problem inde i P-boksen nemme at løse for klassiske computere, men alt udenfor det betyder, at vi ikke har effektive klassiske algoritmer til at løse dem, og faktorisering af store tal er en af ​​disse.

Men der er en cirkel, BQP, som er effektiv for en kvantecomputer, men ikke en klassisk computer. Og det er de problemer, som kvantecomputere vil være bedre end klassiske computere til at løse.

Som sagt ser kompleksitetsteori på, hvor svært det er at løse et problem, efterhånden som problemet bliver større. Så hvis du faktoriserer et tal med 8 cifre, så tilføjer du endnu et ciffer på, hvor meget sværere er det at faktorisere det nye tal i forhold til det gamle? Er det dobbelt så hårdt?

Eksponentielt sværere? Og hvad er tendensen, når du tilføjer flere og flere cifre? Dette kaldes dets kompleksitet eller skalering, og for faktorisering er det eksponentielt.

Alt med N i eksponenten er eksponentielt svært. Disse eksponentielle problemer er de problemer, der skruer dig over, efterhånden som problemerne bliver større, og i computervidenskabens verden kan du vinde respekt og ry, hvis du finder en bedre algoritme til at løse disse sværeste problemer.

Et eksempel på dette var Shors algoritme, som udnyttede kvantecomputeres særlige funktioner til at skabe en algoritme, der kunne løse heltalsfaktorisering med en skalering, der er meget bedre end den bedste klassiske algoritme.

Den bedste klassiske algoritme er eksponentiel, hvorimod Shors algoritme er polynomiel, hvilket er en stor del i verden af ​​kompleksitetsteori og computervidenskab generelt, fordi den transformerer et uløseligt problem til et løseligt.

Løst, altså hvis du har en fungerende kvantecomputer, som er det, folk arbejder på at bygge. Men du behøver ikke bekymre dig om sikkerheden på din bankkonto endnu, fordi nutidens kvantecomputere endnu ikke er i stand til at køre Shors algoritme på store tal.

  Ret Avast, der ikke opdaterer virusdefinitioner


IBM Quantum

De ville have brug for omkring mange qubits for at gøre det, men indtil videre har de mest avancerede universelle kvantecomputere ca. 433.

Også folk arbejder på det, der er kendt som post-kvantekrypteringsskemaer, som ikke bruger heltalsfaktorisering, og en anden teknologi fra kvantefysikkens verden kan også hjælpe her, et kryptografisk skema kendt som kvantekryptografi.

Så det var et kig på kun én kvantealgoritme, men der er mange flere, hver med forskellige niveauer af speedup.

#2. Grovers algoritme

Et andet bemærkelsesværdigt eksempel er Grovers algoritme, som kan søge i ustrukturerede lister over data hurtigere end den bedste klassiske algoritme.

Men vi bør være forsigtige her for at sikre, at vi ikke fejlkarakteriserer klassiske computere. De er meget alsidige enheder, og der er intet at sige til, at nogen kan finde en meget smart klassisk algoritme, der kunne løse de sværeste problemer som heltalsfaktorisering mere effektivt.

Folk tror, ​​det er meget usandsynligt, men det er ikke udelukket. Der er også problemer, som vi kan bevise, er umulige at løse på klassiske computere, kaldet ikke-beregnbare problemer, som standsningsproblemet, men disse er også umulige at løse på en kvantecomputer.

Så beregningsmæssigt er klassiske computere og kvantecomputere ækvivalente med hinanden, forskellene kommer alle fra de algoritmer, de kan køre. Du kan endda simulere en kvantecomputer på en klassisk computer og omvendt.

Simulering af en kvantecomputer på en klassisk computer bliver eksponentielt mere udfordrende, efterhånden som antallet af qubits, der simuleres, stiger.

Dette skyldes, at klassiske computere kæmper for at simulere kvantesystemer, men fordi kvantecomputere allerede er kvantesystemer, har de ikke dette problem, hvilket bringer mig til min foretrukne anvendelse af kvantecomputere: kvantesimulering.

#3. Kvantesimulering

Kvantesimulering simulerer ting som kemiske reaktioner eller hvordan elektroner opfører sig i forskellige materialer med en computer. Her har kvantecomputere også en eksponentiel speedup i forhold til klassiske computere, fordi klassiske computere kæmper med at simulere kvantesystemer.

Men at simulere kvantesystemer med så få partikler er svært selv på verdens mest kraftfulde supercomputere. Vi kan heller ikke gøre dette på kvantecomputere endnu, men efterhånden som de modnes, er et hovedmål at simulere større og større kvantesystemer.

Disse omfatter områder som eksotiske materialers adfærd ved lave temperaturer som at forstå, hvad der får nogle materialer til at superlede eller studere vigtige kemiske reaktioner for at forbedre deres effektivitet; et eksempel sigter mod at producere gødning på en måde, der udleder langt mindre kuldioxid, da gødningsproduktion bidrager til omkring 2 % af de globale kulstofemissioner.

Du kan lære om kvantekemi simulering i dybden.


Kvantesimulering

Andre potentielle anvendelser af kvantesimulering omfatter forbedring af solpaneler, forbedring af batterier og udvikling af nye lægemidler, kemikalier eller materialer til rumfart.

Generelt ville kvantesimulering betyde, at vi hurtigt ville være i stand til at prototype mange forskellige materialer inde i en kvantecomputer og teste alle deres fysiske parametre i stedet for at skulle lave dem fysisk og teste dem i et laboratorium, hvilket er meget mere besværligt og dyrt. behandle.

Dette har potentiale til at fremskynde processer betydeligt og resultere i betydelige tids- og omkostningsbesparelser. Det er værd at gentage, at disse alle er potentielle anvendelser af kvantecomputere, fordi vi endnu ikke har nogen kvantecomputere, der kan løse problemer i den virkelige verden bedre end vores normale computere. Men det er den slags problemer, kvantecomputere ville være velegnede til.

Modeller af kvantecomputere

Inde i kvantecomputernes verden er der en lang række af tilgange til at omdanne forskellige slags kvantesystemer til kvantecomputere, og der er to lag af nuancer, jeg skal tale om.

Kredsløbsmodellen

I kredsløbsmodellen har de qubits, der arbejder sammen, og specielle porte, der piller ved nogle få qubits ad gangen, og ændrer deres tilstande uden at tjekke. De sætter disse porte i en bestemt rækkefølge for at skabe en kvantealgoritme. Mål til sidst qubits for at få det nødvendige svar.

Billedkredit: qiskit

Adiabatisk kvanteberegning

I adiabatisk kvanteberegning drager du fordel af en af ​​de grundlæggende adfærd i fysik, det faktum, at ethvert system i fysik altid bevæger sig mod den minimale energitilstand. Adiabatisk kvanteberegning fungerer ved at indramme problemer, så kvantesystemets laveste energitilstand repræsenterer løsningen.

Kvanteudglødning

Kvanteudglødning er ikke en universel kvanteberegningsordning, men fungerer efter samme princip som adiabatisk kvanteberegning, hvor systemet finder den minimale energitilstand for et energilandskab, som du giver det.

Topologisk kvanteberegning

I denne tilgang er qubits bygget af en enhed i fysik kaldet en Majorana nul-mode kvasipartikel, som er en type ikke-abelsk anyon. Disse kvasipartikler forudsiges at være mere stabile på grund af deres fysiske adskillelse fra hinanden.

Billedkredit Civils dagligt

Udfordringer i byggeriet

Uanset hvordan tilgangen er, står de alle over for et lignende sæt af forhindringer, som vi først skal tage et kig på.

  • Dekohærens: Det er virkelig svært at kontrollere kvantesystemer, fordi hvis du har en lille interaktion med omverdenen, begynder informationen at sive væk. Dette kaldes dekohærens. Dine qubits vil være lavet af fysiske ting, og du skal bruge andre fysiske ting i nærheden for at kontrollere og måle dem; dine qubits er dumme; de vil blande sig med alt, hvad de kan. Du skal designe dine qubits meget omhyggeligt for at beskytte dem mod at blive viklet ind i miljøet.
  • Støj: Du skal beskytte dine qubits mod enhver form for støj, såsom kosmiske stråler, stråling, varmeenergi eller useriøse partikler. En vis mængde dekohærens og støj er uundgåelig i ethvert fysisk system og er umuligt at eliminere fuldstændigt.
  • Skalerbarhed: For hver qubit skal du have en masse ledninger til at manipulere og måle den. Efterhånden som du tilføjer flere qubits, vokser den nødvendige infrastruktur lineært, hvilket udgør en betydelig teknisk udfordring. Ethvert kvantecomputerdesign skal finde en måde til effektivt at sammenfiltre, kontrollere og måle alle disse qubits, mens det skaleres op.
  • Kvantefejlkorrektion: Kvantefejlkorrektion er et fejlkorrektionsskema til at lave fejltolerante kvantecomputere ved at bruge mange sammenfiltrede qubits til at repræsentere én støjfri qubit. Dette kræver et stort antal fysiske qubits for at lave en fejltolerant qubit.
  Revolutionerende billedgenerering med AI

Fysiske implementeringer

Der er et stort udvalg af forskellige fysiske implementeringer af kvantecomputere, fordi der er så mange forskellige kvantesystemer, som du potentielt kan bygge dem ud fra. Her er nogle af de mest udbredte og vellykkede tilgange:

  • Superledende kvantecomputere: Superledende qubits er i øjeblikket den mest populære tilgang. Disse qubits er lavet af superledende ledninger med et brud i superlederen kaldet en Josephson junction. Den mest populære type superledende qubit kaldes en transmon.
  • Quantum Dot Quantum Computere: Qubits er lavet af elektroner eller grupper af elektroner, og to-niveau systemet er kodet ind i spin eller ladning af elektronerne. Disse qubits er bygget af halvledere som silicium.
  • Lineær optisk kvanteberegning: Optiske kvantecomputere bruger fotoner af lys som qubits og opererer på disse qubits ved hjælp af optiske elementer som spejle, bølgeplader og interferometre.
  • Fangede ionkvantecomputere: Ladede atomer bruges som qubits, og disse atomer er ioniserede med en manglende elektron. Den to-niveau tilstand, der koder for qubit, er atomets specifikke energiniveauer, som kan manipuleres eller måles med mikrobølger eller laserstråler.
  • Color Center eller Nitrogen Vacancy Quantum Computers: Disse qubits er lavet af atomer indlejret i materialer som nitrogen i diamant eller siliciumcarbid. De er skabt ved hjælp af de indlejrede atomers nukleare spins og er viklet sammen med elektroner.
  • Neutrale atomer i optiske gitter: Denne tilgang indfanger neutrale atomer i et optisk gitter, som er et krydskrydset arrangement af laserstråler. To-niveau systemet for qubits kan være atomets hyperfine energiniveau eller exciterede tilstande.

Dette er nogle af de vigtigste tilgange til at bygge kvantecomputere, hver med sine egne unikke karakteristika og udfordringer. Quantum computing ændrer sig hurtigt, og det er afgørende for fremtidig succes at vælge den rigtige tilgang.

Anvendelser af kvantecomputere

  • Kvantesimulering: Kvantecomputere har potentialet til at simulere komplekse kvantesystemer, hvilket gør det muligt at studere kemiske reaktioner, elektronernes adfærd i materialer og forskellige fysiske parametre. Dette har applikationer til at forbedre solpaneler, batterier, udvikling af lægemidler, rumfartsmaterialer og mere.
  • Kvantealgoritmer: Algoritmer som Shor’s Algorithm og Grover’s Algorithm kan løse problemer, der menes at være uoverskuelige for klassiske computere. Disse har applikationer inden for kryptografi, optimering af komplekse systemer, maskinlæring og AI.
  • Cybersikkerhed: Kvantecomputere udgør en trussel mod klassiske krypteringssystemer. De kan dog også bidrage til cybersikkerhed gennem udvikling af kvanteresistente krypteringssystemer. Kvantekryptografi, et felt relateret til kvantecomputere, kan øge sikkerheden.
  • Optimeringsproblemer: Kvantecomputere kan tackle komplekse optimeringsproblemer mere effektivt end klassiske computere. Dette har applikationer i forskellige brancher, fra supply chain management til finansiel modellering.
  • Vejrudsigter og klimaændringer: Selvom det ikke er fuldt detaljeret i artiklen, kan kvantecomputere potentielt forbedre vejrudsigtsmodeller og hjælpe med at løse klimaændringsrelaterede udfordringer. Dette er et område, der kan drage fordel af kvanteberegning i fremtiden.
  • Kvantekryptografi: Kvantekryptografi øger datasikkerheden ved hjælp af kvanteprincipper for sikker kommunikation. I en tid med voksende cybertrusler er dette afgørende.

Nu skal vi være lidt forsigtige med potentialet ved hype her, da mange af påstandene om, hvad kvantecomputere vil være gode for, kommer fra folk, der aktivt samler penge ind for at bygge dem.

Men mit bud på det er, at historisk set, når en ny teknologi er kommet til, er tidens mennesker ikke de bedste til at kunne fortælle, hvad den skal bruges til.

For eksempel drømte de mennesker, der opfandt de første computere, aldrig om internettet og alle tingene på det. Dette vil sandsynligvis være det samme for kvantecomputere.

Afsluttende tanker

Kvantecomputere bliver bedre hver dag, og selvom vi ikke kan bruge dem i vores daglige liv endnu, rummer de potentiale for praktiske anvendelser i fremtiden.

I denne artikel har jeg diskuteret forskellige aspekter af kvantecomputere, herunder deres grundlæggende begreber, såsom superposition, sammenfiltring og interferens.

Derefter udforskede vi kvantealgoritmer, herunder Shors algoritme og Grovers algoritme. Vi dykkede også ned i kvantekompleksitetsteori og de forskellige modeller af kvantecomputere.

Efterfølgende behandlede jeg de udfordringer og praktiske implementeringsproblemer forbundet med kvanteberegning. Til sidst undersøgte vi den brede vifte af potentielle applikationer til kvantecomputere.

Dernæst kan du også læse om ofte stillede spørgsmål om Quantum Computing.