Algoritmer, modeller, utmaningar och tillämpningar

Från den första idén om en kvantdator 1980 till idag har kvantdatorindustrin vuxit mycket, särskilt under de senaste 10 åren. Många företag arbetar med kvantdatorer.

Att förstå kvantberäkning kan vara svårt för de flesta av oss, och mycket information om det förklarar inte de viktiga detaljerna.

Den här artikeln syftar till att förtydliga allt, och om du läser hela stycket får du en omfattande förståelse för vad kvantberäkning är, olika typer av kvantberäkningar, deras funktion, algoritmer, modeller, tillvägagångssätt, utmaningar och tillämpningar.

Vad är kvantdatorer?

Kvantdatorer löser problem på ett annat sätt än de datorer vi är bekanta med, som jag från och med nu kommer att referera till som klassiska datorer.

Kvantdatorer har vissa fördelar jämfört med vanliga datorer för vissa problem, vilket kommer från deras förmåga att vara i ett stort antal tillstånd samtidigt, medan klassiska datorer bara kan uppta ett tillstånd åt gången.

Bildkälla: IBM

För att förstå detta, och för att förstå hur kvantdatorer fungerar, måste du förstå tre saker: Superposition, Entanglement och Interference.

Grunderna i en vanlig dator är bitar, och för en kvantdator är det kvantbitar eller korta qubits. De fungerar på fundamentalt olika sätt.

En klassisk bit är ungefär som en switch som antingen kan vara en 0 eller en 1, som du förmodligen redan är bekant med som binär eller binär information. När vi mäter lite får vi bara tillbaka det tillstånd som det är för närvarande i, men vi kommer att se att detta inte är sant för qubits. En qubit är mer komplicerad.

Superposition

För en användbar visualisering kan du se dem som en pil som pekar i 3D-rymden. Om de pekar uppåt är de i 1-tillståndet och om de pekar nedåt är de i 0-tillståndet, precis som en klassisk bit, men de har också möjlighet att vara i en sak som kallas superpositionstillstånd, vilket är när pilen pekar åt något annat håll.

Detta superpositionstillstånd är ett kombinationstillstånd av 0 och 1.

Superposition tillstånd

När du mäter en qubit kommer resultatet fortfarande att vara antingen 1 eller 0, men vilken du får beror på en sannolikhet som ställs in av pilens riktning.

Om pilen pekar mer uppåt är det mer sannolikt att du får tillbaka en 1 än en 0, och om den pekar nedåt är det mer sannolikt att du får en 0 än en 1, och om den är exakt på ekvatorn Får båda tillstånden med 50 % sannolikhet.

Så, det är effekten av superposition förklarad; nu ska vi gå vidare till förveckling.

Förveckling

I klassiska datorer är bitarna helt oberoende av varandra. Tillståndet för en bit påverkas inte av tillståndet för någon av de andra bitarna. Men i kvantdatorer kan qubitarna vara intrasslade med varandra, vilket innebär att de blir en del av ett stort kvanttillstånd tillsammans.

Låt oss till exempel titta på två qubits som var och en är i olika superpositionstillstånd men som inte är intrasslade ännu. Du kan se sannolikheterna bredvid dem, och dessa sannolikheter är för närvarande oberoende av varandra.

Men när vi trasslar in dem måste vi kasta bort dessa oberoende sannolikheter och beräkna en sannolikhetsfördelning av alla möjliga tillstånd vi kan få ut. Antingen 00, 01, 10 eller 11.

Det viktiga här är att qubitarna är intrasslade; om du ändrar pilens riktning på en qubit ändrar den sannolikhetsfördelningen för hela systemet, så qubitarna är inte längre oberoende av varandra; de är alla en del av samma stora stat.

Och detta är sant oavsett hur många qubits du har. Du kommer också att notera att för en qubit har du en sannolikhetsfördelning över 2 tillstånd.

Med två qubits har du en sannolikhetsfördelning spridd över fyra tillstånd. För tre qubits har du en fördelning över 8 tillstånd, och detta fortsätter att fördubblas varje gång du lägger till ytterligare en qubit.

I allmänhet kan en kvantdator med n kvantbitar vara i en kombination av 2^n tillstånd. Så jag skulle säga att detta är kärnskillnaden mellan klassiska datorer och kvantdatorer.

Klassiska datorer kan vara i vilket tillstånd du vill men kan bara vara i ett tillstånd åt gången, medan kvantdatorer kan vara i en överlagring av alla dessa tillstånd samtidigt.

Men du kanske undrar hur att vara i detta superpositionstillstånd kan vara användbart i en dator. För det behöver vi den sista komponenten: Interferens.

Interferens

För att förklara effekten av störningar måste vi gå tillbaka och titta på min bild av en qubit som tekniskt kallas Bloch-sfär. En qubit ser inte ut så här; detta är bara ett bra sätt att visualisera tillståndet för en qubit.

I verkligheten beskrivs tillståndet för en qubit av en mer abstrakt enhet känd som en Quantum Wavefunction. Vågfunktioner är den grundläggande matematiska beskrivningen av allt inom kvantmekaniken.

När du har många qubits intrasslade tillsammans, adderas alla deras vågfunktioner till en övergripande vågfunktion som beskriver tillståndet för kvantdatorn.

Denna addering av vågfunktioner är störningen eftersom, precis som med säg krusningar av vatten, när vi adderar vågor tillsammans kan de konstruktivt interferera och lägga ihop för att göra en större våg, eller destruktivt störa för att eliminera varandra.

Kvantdatorns övergripande vågfunktion är det som anger de olika sannolikheterna för de olika tillstånden, och genom att ändra tillstånden för olika kvantbitar kan vi ändra sannolikheterna för att olika tillstånd kommer att avslöjas när vi mäter kvantdatorn.

Kom ihåg att även om kvantdatorn kan vara i en superposition av miljontals tillstånd samtidigt när vi mäter den, får vi bara ut ett enda tillstånd.

Så när du använder en kvantdator för att lösa ett beräkningsproblem måste du använda konstruktiv interferens för att öka sannolikheten för det korrekta svaret, och använda destruktiv interferens för att minska sannolikheten för de felaktiga svaren så att när du mäter det korrekta svaret kommer komma ut.

Kvantalgoritmer

Hur du gör detta är kvantalgoritmernas rike, och hela motivationen bakom kvantberäkning är att det teoretiskt sett finns en massa problem som du kan lösa på en kvantdator som anses vara svårhanterliga på klassiska datorer.

Låt oss ta en titt på dem. Det finns många kvantalgoritmer, för många för att beskriva i den här artikeln, så vi fokuserar bara på det mest kända och historiskt viktiga: Shors algoritm.

#1. Shors algoritm

Om du har två stora tal och multiplicerar dem tillsammans, finns det en mycket snabb, effektiv, klassisk algoritm för att hitta svaret. Men om du börjar med svaret och frågar, vilka är de ursprungliga talen som multipliceras tillsammans för att göra detta tal? Det är mycket svårare.

Detta är känt som faktorisering, och dessa siffror kallas faktorer och anledningen till att hitta dem är så svårt är att sökutrymmet för möjliga faktorer är så stort. Och det finns ingen effektiv klassisk algoritm för att hitta faktorerna för stora tal.

Av denna anledning använder vi denna matematiska egenskap för internetkryptering: säkra webbplatser, e-postmeddelanden och bankkonton. Om du känner till dessa faktorer kan du enkelt dekryptera informationen, men om du inte gör det måste du hitta dem först, vilket är svåröverskådligt på världens kraftfullaste datorer.

Shors algoritm

Det är därför som 1994, när Peter Shor publicerade en snabb kvantalgoritm som effektivt kunde hitta faktorerna för stora heltal, orsakade det en hel del uppståndelse.

Detta var ögonblicket då många människor började ta idén om kvantberäkning på allvar eftersom det var den första applikationen för ett verkligt problem med potentiellt enorma verkliga säkerhetsimplikationer.

Men när jag säger en ”snabb” kvantalgoritm, hur snabb och hur mycket snabbare än en klassisk dator skulle den vara? För att svara på dessa frågor måste vi ta en liten omväg in i kvantkomplexitetsteorins värld.

Kvantkomplexitetsteori

Kvantkomplexitetsteori är ett underområde av beräkningskomplexitetsteorin, som handlar om kategorisering av algoritmer, sortering av dem i papperskorgar efter hur bra de fungerar på datorer.

Klassificeringen bestäms av den ökande svårighetsgraden att lösa problemet när det blir större. Här är alla problem inuti P-boxen lätta för klassiska datorer att lösa, men allt utanför det betyder att vi inte har effektiva klassiska algoritmer för att lösa dem, och att faktorisera stora siffror är en av dessa.

Men det finns en cirkel, BQP, som är effektiv för en kvantdator men inte en klassisk dator. Och det är dessa problem som kvantdatorer kommer att vara bättre än klassiska datorer på att lösa.

Som sagt, komplexitetsteorin tittar på hur svårt det är att lösa ett problem när problemet blir större. Så om du faktoriserar ett tal med 8 siffror, då lägger du till ytterligare en siffra, hur mycket svårare är det att faktorisera det nya talet jämfört med det gamla? Är det dubbelt så svårt?

Exponentiellt svårare? Och vad är trenden när du lägger till fler och fler siffror? Detta kallas dess komplexitet eller skalning, och för faktorisering är det exponentiellt.

Allt med N i exponenten är exponentiellt svårt. Dessa exponentiella problem är de problem som skruvar över dig när problemen blir större, och i datavetenskapens värld kan du vinna respekt och rykte om du hittar en bättre algoritm för att lösa dessa svåraste problem.

Ett exempel på detta var Shors algoritm, som utnyttjade kvantdatorernas speciella egenskaper för att skapa en algoritm som kunde lösa heltalsfaktorisering med en skalning mycket bättre än den bästa klassiska algoritmen.

Den bästa klassiska algoritmen är exponentiell, medan Shors algoritm är polynom, vilket är en stor del av komplexitetsteorin och datavetenskap i allmänhet eftersom den förvandlar ett olösligt problem till ett lösbart.

Löst, det vill säga om du har en fungerande kvantdator, vilket är vad folk jobbar på att bygga. Men du behöver inte oroa dig för säkerheten för ditt bankkonto ännu eftersom dagens kvantdatorer inte kan köra Shors algoritm på stora antal ännu.


IBM Quantum

De skulle behöva ungefär många qubits för att göra det, men hittills har de mest avancerade universella kvantdatorerna ca. 433.

Dessutom arbetar människor med så kallade post-kvantkrypteringsscheman, som inte använder heltalsfaktorisering, och en annan teknik från kvantfysikens värld kan också hjälpa här, ett kryptografiskt schema som kallas kvantkryptografi.

Så det var en titt på bara en kvantalgoritm, men det finns många fler, var och en med olika hastighetsnivåer.

#2. Grovers algoritm

Ett annat anmärkningsvärt exempel är Grovers algoritm, som kan söka i ostrukturerade listor med data snabbare än den bästa klassiska algoritmen.

Men vi bör vara försiktiga här för att se till att vi inte felkarakteriserar klassiska datorer. De är mycket mångsidiga enheter, och det finns inget som säger att någon kan hitta en mycket smart klassisk algoritm som kan lösa de svåraste problemen som heltalsfaktorisering mer effektivt.

Folk tror att det är mycket osannolikt, men det är inte uteslutet. Det finns också problem som vi kan bevisa är omöjliga att lösa på klassiska datorer, så kallade icke-beräknebara problem, som stoppproblemet, men dessa är också omöjliga att lösa på en kvantdator.

Så beräkningsmässigt är klassiska datorer och kvantdatorer likvärdiga med varandra, skillnaderna kommer alla från de algoritmer som de kan köra. Du kan till och med simulera en kvantdator på en klassisk dator och vice versa.

Att simulera en kvantdator på en klassisk dator blir exponentiellt mer utmanande när antalet qubits som simuleras ökar.

Detta beror på att klassiska datorer kämpar för att simulera kvantsystem, men eftersom kvantdatorer redan är kvantsystem har de inte det här problemet, vilket leder mig till min favoritapplikation av kvantdatorer: kvantsimulering.

#3. Kvantsimulering

Kvantsimulering är att simulera saker som kemiska reaktioner eller hur elektroner beter sig i olika material med en dator. Här har kvantdatorer också en exponentiell speedup jämfört med klassiska datorer eftersom klassiska datorer kämpar för att simulera kvantsystem.

Men att simulera kvantsystem med så få partiklar är svårt även på världens mest kraftfulla superdatorer. Vi kan inte heller göra detta på kvantdatorer ännu, men när de mognar är ett huvudmål att simulera större och större kvantsystem.

Dessa inkluderar områden som beteendet hos exotiska material vid låga temperaturer som att förstå vad som gör vissa material supraledande eller att studera viktiga kemiska reaktioner för att förbättra deras effektivitet; ett exempel syftar till att producera gödsel på ett sätt som släpper ut mycket mindre koldioxid eftersom gödseltillverkning bidrar till cirka 2 % av de globala koldioxidutsläppen.

Du kan lära dig mer om kvantkemi simulering på djupet.


Kvantsimulering

Andra potentiella tillämpningar av kvantsimulering inkluderar förbättring av solpaneler, förbättring av batterier och utveckling av nya läkemedel, kemikalier eller material för flyg.

Generellt sett skulle kvantsimulering innebära att vi snabbt skulle kunna prototypa många olika material inuti en kvantdator och testa alla deras fysiska parametrar istället för att fysiskt behöva tillverka dem och testa dem i ett labb, vilket är mycket mer mödosamt och dyrt. bearbeta.

Detta har potential att avsevärt påskynda processer och resultera i betydande tids- och kostnadsbesparingar. Det är värt att upprepa att dessa är alla potentiella tillämpningar av kvantdatorer eftersom vi inte har några kvantdatorer som kan lösa verkliga problem bättre än våra vanliga datorer ännu. Men det är den här typen av problem som kvantdatorer skulle vara väl lämpade för.

Modeller av kvantdatorer

Inuti kvantdatorernas värld finns det ett stort utbud av tillvägagångssätt för att förvandla olika typer av kvantsystem till kvantdatorer, och det finns två lager av nyanser jag behöver prata om.

Kretsmodellen

I kretsmodellen har de qubits som fungerar tillsammans och speciella grindar som mixar med några qubits åt gången och ändrar deras tillstånd utan att kontrollera. De placerar dessa grindar i en specifik ordning för att skapa en kvantalgoritm. Mät till slut qubits för att få svaret som behövs.

Bildkredit: qiskit

Adiabatisk kvantberäkning

I adiabatisk kvantberäkning drar du fördel av ett av fysikens grundläggande beteenden, det faktum att varje system i fysiken alltid rör sig mot det minimala energitillståndet. Adiabatisk kvantberäkning fungerar genom att rama in problem så att kvantsystemets lägsta energitillstånd representerar lösningen.

Kvantglödgning

Kvantglödgning är inte ett universellt kvantberäkningsschema utan fungerar på samma princip som adiabatisk kvantberäkning, där systemet hittar det lägsta energitillståndet för ett energilandskap som du ger det.

Topologisk kvantberäkning

I detta tillvägagångssätt byggs qubits från en entitet inom fysiken som kallas en Majorana-nollmods-kvasi-partikel, vilket är en typ av icke-abelisk anyon. Dessa kvasipartiklar förutspås vara mer stabila på grund av deras fysiska separation från varandra.

Bildkredit Civilsday

Utmaningar inom byggandet

Oavsett vad tillvägagångssättet är, möter de alla en liknande uppsättning hinder, som vi måste ta en titt på först.

  • Dekoherens: Det är verkligen svårt att kontrollera kvantsystem för om du har någon liten interaktion med omvärlden börjar informationen läcka bort. Detta kallas för dekoherens. Dina qubits kommer att vara gjorda av fysiska saker, och du kommer att behöva andra fysiska saker i närheten för att kontrollera och mäta dem; dina qubits är dumma; de kommer att trassla in sig i allt de kan. Du måste designa dina qubits mycket noggrant för att skydda dem från att trassla in sig i miljön.
  • Brus: Du måste skydda dina qubits från alla typer av brus, såsom kosmisk strålning, strålning, värmeenergi eller oseriösa partiklar. En viss mängd dekoherens och buller är oundvikligt i alla fysiska system och är omöjliga att helt eliminera.
  • Skalbarhet: För varje qubit måste du ha ett gäng ledningar för att manipulera och mäta det. När du lägger till fler qubits växer den nödvändiga infrastrukturen linjärt, vilket utgör en betydande teknisk utmaning. Varje kvantdatordesign måste hitta ett sätt att effektivt trassla in, kontrollera och mäta alla dessa qubits när den skalas upp.
  • Quantum Error Correction: Kvantfelskorrigering är ett felkorrigeringsschema för att göra feltoleranta kvantdatorer genom att använda många intrasslade qubits tillsammans för att representera en brusfri qubit. Detta kräver ett stort antal fysiska qubits för att göra en feltolerant qubit.

Fysiska implementeringar

Det finns ett stort utbud av olika fysiska implementeringar av kvantdatorer eftersom det finns så många olika kvantsystem som du potentiellt kan bygga dem från. Här är några av de mest använda och framgångsrika metoderna:

  • Supraledande kvantdatorer: Supraledande qubits är för närvarande det mest populära tillvägagångssättet. Dessa qubits är gjorda av supraledande ledningar med ett brott i supraledaren som kallas en Josephson-övergång. Den mest populära typen av supraledande qubit kallas en transmon.
  • Quantum Dot Quantum Computers: Qubits är gjorda av elektroner eller grupper av elektroner och tvånivåsystemet kodas in i elektronernas spin eller laddning. Dessa qubits är byggda av halvledare som kisel.
  • Linjär optisk kvantberäkning: Optiska kvantdatorer använder fotoner av ljus som qubits och arbetar på dessa qubits med hjälp av optiska element som speglar, vågplattor och interferometrar.
  • Fångade jonkvantdatorer: Laddade atomer används som qubits, och dessa atomer joniseras med en saknad elektron. Det tvånivåtillstånd som kodar qubiten är atomens specifika energinivåer, som kan manipuleras eller mätas med mikrovågor eller laserstrålar.
  • Color Center eller Nitrogen Vacancy Quantum Computers: Dessa qubits är gjorda av atomer inbäddade i material som kväve i diamant eller kiselkarbid. De skapas med hjälp av de inbäddade atomernas kärnspinn och är intrasslade tillsammans med elektroner.
  • Neutrala atomer i optiska gitter: Detta tillvägagångssätt fångar neutrala atomer i ett optiskt gitter, som är ett kors och tvärs arrangemang av laserstrålar. Tvånivåsystemet för qubitarna kan vara atomens hyperfina energinivå eller exciterade tillstånd.

Det här är några av de viktigaste tillvägagångssätten för att bygga kvantdatorer, var och en med sina egna unika egenskaper och utmaningar. Kvantberäkningar förändras snabbt och att välja rätt tillvägagångssätt är avgörande för framtida framgång.

Tillämpningar av kvantdatorer

  • Kvantsimulering: Kvantdatorer har potential att simulera komplexa kvantsystem, vilket gör det möjligt att studera kemiska reaktioner, elektronernas beteende i material och olika fysikaliska parametrar. Detta har tillämpningar för att förbättra solpaneler, batterier, läkemedelsutveckling, flygmaterial och mer.
  • Kvantalgoritmer: Algoritmer som Shor’s Algorithm och Grovers Algorithm kan lösa problem som anses vara svårlösta för klassiska datorer. Dessa har applikationer inom kryptografi, optimering av komplexa system, maskininlärning och AI.
  • Cybersäkerhet: Kvantdatorer utgör ett hot mot klassiska krypteringssystem. Men de kan också bidra till cybersäkerhet genom utveckling av kvantresistenta krypteringssystem. Kvantkryptografi, ett område relaterat till kvantberäkning, kan förbättra säkerheten.
  • Optimeringsproblem: Kvantdatorer kan hantera komplexa optimeringsproblem mer effektivt än klassiska datorer. Detta har tillämpningar i olika branscher, från supply chain management till finansiell modellering.
  • Väderprognoser och klimatförändringar: Även om det inte är helt detaljerat i artikeln, kan kvantdatorer potentiellt förbättra väderprognosmodeller och hjälpa till att hantera klimatförändringsrelaterade utmaningar. Detta är ett område som kan dra nytta av kvantberäkning i framtiden.
  • Kvantkryptering: Kvantkryptografi ökar datasäkerheten med hjälp av kvantprinciper för säker kommunikation. I en tid av växande cyberhot är detta avgörande.

Nu måste vi vara lite försiktiga med potentialen med hype här, eftersom många av påståendena om vad kvantdatorer kommer att vara bra för kommer från människor som aktivt samlar in pengar för att bygga dem.

Men min syn på det är att historiskt sett, när en ny teknik har kommit, är dåtidens människor inte de bästa på att kunna berätta vad den ska användas till.

Till exempel, människorna som uppfann de första datorerna drömde aldrig om internet och alla saker på det. Detta kommer sannolikt att vara detsamma för kvantdatorer.

Slutgiltiga tankar

Kvantdatorer blir bättre för varje dag, och även om vi inte kan använda dem i våra dagliga liv ännu, har de potential för praktiska tillämpningar i framtiden.

I den här artikeln har jag diskuterat olika aspekter av kvantdatorer, inklusive deras grundläggande begrepp, såsom superposition, intrassling och interferens.

Efter det utforskade vi kvantalgoritmer, inklusive Shors algoritm och Grovers algoritm. Vi fördjupade oss också i kvantkomplexitetsteori och de olika modellerna av kvantdatorer.

Därefter tog jag upp de utmaningar och praktiska implementeringsfrågor som är förknippade med kvantberäkning. Slutligen undersökte vi det breda utbudet av potentiella tillämpningar för kvantdatorer.

Därefter kan du också läsa om Quantum Computing FAQs.