Snabbare än någonsin tidigare förändras världen på grund av digitala förändringar.
Med den förestående tillkomsten av ytterligare en helt ny våg av teknologi som kan drastiskt förändra nuvarande paradigm med häpnadsväckande hastighet och kraft: kvantberäkning, kommer förståelsen av den digitala erans grundläggande idéer att bli ännu viktigare.
En banbrytande teknik som kallas kvantberäkning använder kvantfysik för att lösa problem som ligger utanför konventionella datorers räckvidd.
Kvantteoretiska principer visar hur materia och energi beter sig på atomär och subatomär skala, och IBMs Qiskit är ett kvantmjukvaruutvecklingskit med öppen källkod som hjälper till att skapa kvantberäkningssystem.
Den här artikeln försöker förklara detta och ge dig en översikt över kvantberäkning.
Vi kommer att förklara för våra läsare med hjälp av en kvantberäkning med öppen källkod SDK, dvs. Qiskit och låt dem utforska med hjälp av Jupyter Anteckningsböcker värd hos IBM Quantum Lab.
Vad är Quantum Computing?
Kvantberäkning är en gren inom datavetenskap som fokuserar på att utveckla datateknik med hjälp av idéer från kvantteorin.
Den drar fördel av den exceptionella kapaciteten hos subatomära partiklar för att samtidigt existera i många tillstånd, såsom 0 och 1.
De kan bearbeta mycket mer data än vanliga datorer.
I kvantberäkningsprocesser görs en qubit med hjälp av ett objekts kvanttillstånd. Den väsentliga informationen i kvantberäkning är qubits.
De utför samma funktion som bitar i konventionell beräkning i kvantberäkningar, men de agerar helt annorlunda. Quantum computing är ett område som växte fram på 1980-talet.
Sedan upptäcktes det att kvantalgoritmer var mer effektiva för att utföra vissa datoruppgifter än sina klassiska motsvarigheter.
Superposition och intrassling, två begrepp från kvantfysiken, är grunden för dessa superdatorer.
I jämförelse med konventionella datorer kan kvantdatorer för närvarande utföra jobb i storleksordningar snabbare samtidigt som de förbrukar mycket mindre energi.
Vi måste fortsätta med driften av kvantdatorer för att helt förstå det. Låt oss börja nu.
Hur fungerar egentligen en kvantdator?
Jämfört med de traditionella datorer vi är vana vid, närmar kvantdatorer problemlösning annorlunda. För vissa uppgifter är kvantdatorer att föredra framför traditionella på ett antal sätt.
Deras förmåga att existera i många stater samtidigt tros vara orsaken. Å andra sidan kan konventionella datorer bara vara i ett enda tillstånd på en gång.
Det finns tre nyckelbegrepp du måste förstå för att förstå hur kvantdatorer fungerar:
- Superposition.
- Förveckling.
- Interferens.
super~~POS=TRUNC
Bitar är de grundläggande komponenterna i traditionella datorer. Kvantbitar, eller Qubits, är de grundläggande enheterna i kvantdatorer.
I grund och botten fungerar kvantbitar annorlunda. En binär bit, ibland känd som en traditionell bit, är en switch som kan vara antingen 0 eller 1.
Vi får tillbaka bitens nuvarande tillstånd när vi mäter den. Qubits är ett undantag från detta. Qubits kan jämföras med pilar som pekar i tre dimensioner.
De är i 0-förhållandena om de pekar uppåt. De är i tillstånd 1 om de pekar nedåt. Detsamma gäller med klassiska bitar.
Men de kan också välja att vara i ett superpositionstillstånd.
En pil är i det tillstånd som den pekar åt andra hållet. Överlagringen av 0 och 1 resulterar i detta tillstånd. En Qubit kommer fortfarande att producera antingen en 1 eller en 0 som resultat när den mäts.
Men pilens orientering avgör en sannolikhet som är relevant.
Det är mer sannolikt att du får en 1 om pilen främst pekar nedåt och en 0 om den främst pekar uppåt.
Du kommer att ha 50 % chans att vinna för varje om pilen är i mitten. I ett nötskal, det är superposition.
Trassel
Bitarna i en traditionell dator är oberoende av varandra. En bits tillstånd har ingen betydelse för den andra bitens tillstånd.
Kvantbitarna i kvantdatorer kan trassla in sig i varandra. Detta innebär att de smälter samman till ett enda stort kvanttillstånd.
Som illustration, betrakta två qubits som är i olika superpositionstillstånd men som ännu inte är intrasslade. För närvarande är deras sannolikhet inte beroende av varandra.
När vi trasslar in dem måste vi förkasta dessa oberoende sannolikheter och bestämma sannolikheterna för alla alternativa tillstånd vi kan undkomma, nämligen 00, 01, 10 och 11.
Sannolikhetsfördelningen för hela systemet ändras om pilens riktning på en qubit ändras eftersom qubitarna är intrasslade.
Qubitarnas oberoende av varandra har förlorats. Var och en av dem är en komponent i samma stora tillstånd. Oavsett hur många qubits du har så är detta fortfarande fallet.
Det finns en möjlig kombination av 2n tillstånd för en kvantdator med n kvantbitar.
Du har en sannolikhetsfördelning över två tillstånd, till exempel för en qubit. Du har en sannolikhetsfördelning över fyra tillstånd för två qubits, etc. Huvudskillnaden mellan klassiska och kvantdatorer är denna.
Du kan sätta klassiska datorer i vilket skick du än väljer, men bara en åt gången. Alla dessa tillstånd kan existera samtidigt på kvantdatorer som en superposition.
Hur kan datorn dra nytta av att vara i alla dessa stater samtidigt? Det sista störningselementet kommer in vid denna punkt.
Störningar
En kvantvågsfunktion kan användas för att beskriva tillståndet för en qubit.
Den grundläggande matematiska beskrivningen av allt inom kvantfysiken tillhandahålls av vågfunktioner.
När många kvantbitar är intrasslade, kombineras deras individuella vågfunktioner tillsammans för att bilda en enda vågfunktion som beskriver kvantdatorns övergripande tillstånd.
Interferens är resultatet av att addera dessa vågfunktioner tillsammans. När vågor läggs ihop kan de konstruktivt interagera och kombineras för att skapa en större våg, precis som vattenkrusningar gör.
De kan också interagera destruktivt för att motverka varandra. Den varierande sannolikheten för de olika tillstånden bestäms av kvantdatorns övergripande vågfunktion.
Vi kan ändra sannolikheten för att vissa tillstånd kommer att uppstå när vi mäter kvantdatorn genom att ändra tillstånden för olika qubits.
Även om kvantdatorn kan existera i flera överlagringar av tillstånd samtidigt, visar mätningar bara ett av dessa tillstånd.
Därför, samtidigt som man använder en kvantdator för att slutföra ett beräkningsjobb, behövs konstruktiv interferens för att öka sannolikheten för att få rätt svar och destruktiv interferens för att minska sannolikheten för att ta emot ett felaktigt.
Låt oss nu börja med Qiskit.
Vad är Qiskit?
Qiskit är ett IBM-finansierat mjukvaruramverk utformat för att göra det enklare för alla att komma in på området kvantberäkning.
Eftersom kvantdatorer är svåra att få tag på kan du skaffa en genom en molnleverantör, som IBM, med deras Qiskit-verktygslåda.
Det är tillgängligt gratis, och all dess kod är det öppen källkod.
Där är en lärobok på nätet som lär dig alla grunderna i kvantfysik, vilket är mycket användbart för dem som inte är bekanta med ämnet. Python används för att utveckla verktygslådan Qiskit.
Så om du är bekant med programmeringsspråket Python kommer du att känna igen mycket kod.
Mjukvaruramverket är lämpligt för dem som vill lär dig om kvantberäkning samtidigt som man skaffar sig praktisk erfarenhet.
Den mest grundläggande aspekten av Qiskit är att den fungerar i två steg. Ett av stegen är konstruktionsstadiet, där vi skapar flera kvantkretsar och använder dessa kretsar för att lösa problemet.
Sedan, efter att ha slutfört byggstadiet eller nått lösningen, går vi vidare till nästa steg, som är känt som exekveringsstadiet, där vi försöker köra vårt bygge eller lösning i de olika backends (tillståndsvektorbackend, enhetlig backend, öppen ASM-backend), och efter att körningen är klar bearbetar vi data i byggnaden för önskad utdata.
Komma igång med Qiskit
På din persondator eller Jupyter Notebook som IBM är värd för kan du installera den lokalt. Skriv följande kod för att installera lokalt på en Windows-dator:
Vi måste registrera oss här för att komma åt API-token som gör att vi kan använda IBMs kvantenheter, och sedan kan vi börja arbeta med företagets webbplats. Du kan tänka dig att göra detta genom att använda en Qiskit-installerad Jupyter Notebook som körs online.
Du kan komma åt den genom att välja din profil från menyn i det övre högra hörnet på sidan och sedan välja Kontoinformation. Du hittar din API-token under avsnittet om API-tokens i form av ***. Den kopieras och matas sedan in i följande kod:
När den här koden har körts kommer din API-token att sparas på din dator, vilket gör att du kan använda IBMs kvantenheter. Ange följande för att avgöra om du har tillgång till en sådan enhet:
Om ovannämnda kod körs bör du kunna köra kod inte bara på din dator utan också genom att skicka de inbyggda kvantkretsarna till IBM:s kvantenheter och ta emot resultat.
Så med hjälp av kretsbiblioteket kan vi börja utveckla vår första kvantalgoritm. Vi börjar med att importera de väsentliga beroenden från Qiskit till vårt projekt.
Vi konstruerar sedan ett två-qubits kvantregister och ett två-bitars konventionellt register.
Så nu har vi både ett klassiskt och ett kvantregister etablerat. Med hjälp av dessa två kan vi konstruera kretsen och om du när som helst under kretsens modifiering vill skissa hur kvantkretsen ser ut, skriv följande kod:
Vi kan se på bilden att kretsen består av två kvantbitar och två klassiska bitar.
Som det är saknar denna krets grindar, vilket gör den ointressant. Låt oss nu konstruera kretsen med hjälp av kvantgrindarna. Som klassiskt logiska grindar (OCH, ELLER-grindar) är för normala digitala kretsar, kvantgrindar är de grundläggande komponenterna i kvantkretsar.
Att applicera Hadamard-porten på den första qubiten är det första steget för att skapa entanglement. Sedan, med hjälp av följande kod, lägger vi till en två-qubit-kontrollerad x-operation:
Nu när dessa två operatorer har använts för att konstruera vår kvantkrets, är det dags att mäta kvantbitarna (qubits), ta dessa mätningar och lagra dem i de klassiska bitarna. Låt oss skapa den nödvändiga koden för att uppnå det:
Diagrammet nedan visar layouten för vår krets:
Kretsen måste då köras på en traditionell datorsimulator. Kretsen har slutförts. Och undersök resultatet av den avrättningen.
Informationen som erhålls från att utföra den kretsen lagras i resultatvariabeln. Låt oss visa dessa resultat med hjälp av ett plotthistogram.
Det är vad som händer när vi kör vår kvantkrets. För siffrorna 00 och 11 får vi sannolikheter på runt 50 %. Din första kvantdatorkrets byggdes. Grattis!
Tillämpningar av Qiskit Quantum Computing
Qiskit Finance
En samling demonstrationsverktyg och applikationer erbjuds av Qiskit Finance. Dessa inkluderar Ising-översättare för portföljoptimering, dataleverantörer för faktiska eller slumpmässiga data och implementeringar för prissättning av olika finansiella alternativ eller kreditriskbedömningar.
Qiskit Nature
Program som proteinveckning och elektronisk/vibronisk struktur beräkningar för både exciterade och marktillstånd stöds av Qiskit Nature.
Den erbjuder alla delar som krävs för att ansluta klassiska koder och automatiskt konvertera till olika representationer som krävs av kvantdatorer.
Qiskit maskininlärning
Quantum maskininlärning metoder som använder dem för att ta itu med olika problem, såsom regression och klassificering, tillhandahålls av Qiskit Machine Learning samt grundläggande kvantkärnor och kvantneurala nätverk (QNN) som byggstenar.
Det möjliggör också anslutning av QNN till PyTorch i syfte att införliva kvantelement i klassiska operationer.
Qiskit optimering
Qiskit Optimization erbjuder hela spektrumet av optimeringstjänster, inklusive högnivåmodellering av optimeringsfrågor, automatiserad översättning av problem till olika nödvändiga representationer och en samling enkla kvantoptimeringsmetoder.
Slutsats
Sammanfattningsvis, medan den snabbaste superdatorn som nu finns tillgänglig tar år, kan kvantdatorer snabbt bryta igenom nuvarande krypteringsmetoder.
Trots att kvantdatorer kommer att kunna bryta många av de krypteringstekniker som används idag, förväntas de skapa hacksäkra substitut.
Att optimera problem är en styrka med kvantdatorer. För ytterligare information, besök Qiskit GitHub.
Kommentera uppropet