Hoe kwantumcomputers werken. De puzzel in elkaar zetten

Hoe kwantumcomputers werken. De puzzel in elkaar zetten

Kwantumcomputers en kwantumcomputers - nieuw modewoord, die samen met onze informatieruimte werd toegevoegd kunstmatige intelligentie, machinaal leren en andere hightech termen. Tegelijkertijd heb ik nooit materiaal op internet kunnen vinden dat de puzzel in mijn hoofd zou kunnen samenstellen “hoe kwantumcomputers werken”. Ja, er zijn veel uitstekende werken, ook over Habr (zie. Lijst met bronnen), opmerkingen waarbij, zoals meestal het geval is, zelfs nog informatiever en nuttiger zijn, maar het beeld in mijn hoofd klopte, zoals ze zeggen, niet.

En onlangs kwamen mijn collega’s naar mij toe en vroegen: “Begrijp jij hoe een kwantumcomputer werkt? Kun je ons vertellen?" En toen besefte ik dat ik niet de enige ben die moeite heeft met het samenstellen van een samenhangend beeld in mijn hoofd.

Als gevolg hiervan werd een poging gedaan om informatie over kwantumcomputers samen te brengen in een consistent logisch circuit waarin basisniveau, zonder diepe onderdompeling in wiskunde en de structuur van de kwantumwereldwerd uitgelegd wat een kwantumcomputer is, op basis van welke principes deze werkt en met welke problemen wetenschappers worden geconfronteerd bij het maken en bedienen ervan.


inhoudsopgave

Disclaimer

(naar inhoud)

De auteur is geen expert op het gebied van kwantumcomputers, en De doelgroep van het artikel zijn dezelfde IT-mensen, geen kwantumspecialisten, die ook een beeld in hun hoofd willen samenstellen met de titel ‘Hoe kwantumcomputers werken’. Daarom zijn veel concepten in het artikel opzettelijk vereenvoudigd om kwantumtechnologieën op een ‘basis’-niveau beter te begrijpen, maar zonder een zeer sterke vereenvoudiging met verlies van informatie-inhoud en adequaatheid.

In het artikel wordt op sommige plaatsen materiaal uit andere bronnen gebruikt, waarvan een lijst aan het einde van het artikel wordt gegeven. Waar mogelijk worden directe links en aanduidingen naar de originele tekst, tabel of figuur ingevoegd. Als ik ergens iets (of iemand) ben vergeten, schrijf dan en ik zal het corrigeren.

Introductie

(naar inhoud)

In dit hoofdstuk zullen we kort kijken naar hoe het quantumtijdperk begon, wat de motiverende reden was voor het idee van een quantumcomputer, wie (welke landen en bedrijven) momenteel de leidende spelers op dit gebied zijn, en ook kort praten over over de belangrijkste richtingen van de ontwikkeling van quantum computing.

Hoe het allemaal begon

(naar inhoud)

Hoe kwantumcomputers werken. De puzzel in elkaar zetten

Er wordt aangenomen dat het startpunt van het kwantumtijdperk 1900 is, toen M. Planck dit voor het eerst naar voren bracht hypothese die energie wordt niet continu uitgezonden en geabsorbeerd, maar in afzonderlijke quanta (porties). Het idee werd opgepikt en ontwikkeld door vele vooraanstaande wetenschappers uit die tijd – Bohr, Einstein, Heisenberg, Schrödinger, wat uiteindelijk leidde tot de creatie en ontwikkeling van een wetenschap als de kwantumfysica. Er zijn veel goede materialen op internet over de vorming van de kwantumfysica als wetenschap; in dit artikel zullen we hier niet in detail op ingaan, maar het was nodig om de datum aan te geven waarop we het nieuwe kwantumtijdperk ingingen.

De kwantumfysica heeft veel uitvindingen en technologieën in ons dagelijks leven gebracht, zonder welke het nu moeilijk is om de wereld om ons heen voor te stellen. Bijvoorbeeld een laser, die inmiddels overal wordt gebruikt, van huishoudelijke apparaten (laserwaterpassen etc.) tot hightech systemen (lasers voor zichtcorrectie, hallo meklon ). Het zou logisch zijn om aan te nemen dat vroeg of laat iemand op het idee zal komen: waarom zouden we geen kwantumsystemen gebruiken voor computers? En toen gebeurde het in 1980.

Wikipedia geeft aan dat het eerste idee van quantum computing in 1980 werd verwoord door onze wetenschapper Yuri Manin. Maar ze begonnen er pas echt over te praten in 1981, toen de bekende R. Feynman lezing op de eerste Computational Physics Conference gehouden op MIT, merkte op dat het onmogelijk is om de evolutie van een kwantumsysteem op een efficiënte manier op een klassieke computer te simuleren. Hij stelde een elementair model voor kwantumcomputer, die dergelijke modellering zal kunnen uitvoeren.

Er is een dat is de taak, waarin tijdlijn van de ontwikkeling van quantumcomputers wordt meer academisch en gedetailleerd beschouwd, maar we zullen het kort bespreken:

Belangrijke mijlpalen in de geschiedenis van het maken van kwantumcomputers:

Zoals u kunt zien, zijn er 17 jaar verstreken (van 1981 tot 1998) vanaf het moment van het idee tot de eerste implementatie ervan in een computer met 2 qubits, en 21 jaar (van 1998 tot 2019) voordat het aantal qubits steeg tot 53. Het duurde 11 jaar (van 2001 tot 2012) om het resultaat van Shor's algoritme (we zullen er later in meer detail naar kijken) te verbeteren van het getal 15 naar 21. Bovendien kwamen we pas drie jaar geleden op het punt van implementeren waar Feynman het over had, en leer de eenvoudigste fysieke systemen te modelleren.

De ontwikkeling van quantum computing gaat langzaam. Wetenschappers en ingenieurs worden geconfronteerd met zeer moeilijke taken, kwantumtoestanden zijn van zeer korte duur en kwetsbaar, en om ze lang genoeg te behouden om berekeningen uit te voeren, moeten ze voor tientallen miljoenen dollars sarcofagen bouwen, waarin de temperatuur op peil wordt gehouden net boven het absolute nulpunt, en die maximaal beschermd zijn tegen invloeden van buitenaf. Vervolgens zullen we deze taken en problemen in meer detail bespreken.

Toonaangevende spelers

(naar inhoud)

Hoe kwantumcomputers werken. De puzzel in elkaar zetten

De dia's voor deze sectie zijn afkomstig uit het artikel Kwantumcomputer: een grote bull run. Lezing in Yandex, van onderzoeker Russisch kwantumcentrum Alexey Fedorov. Ik zal u directe citaten geven:

Alle technologisch succesvolle landen zijn momenteel actief bezig met de ontwikkeling van kwantumtechnologieën. Er wordt enorm veel geld in dit onderzoek geïnvesteerd en er worden speciale programma's opgezet om kwantumtechnologieën te ondersteunen.

Hoe kwantumcomputers werken. De puzzel in elkaar zetten

Niet alleen staten, maar ook particuliere bedrijven doen mee aan de kwantumrace. In totaal hebben Google, IBM, Intel en Microsoft onlangs ongeveer 0,5 miljard dollar geïnvesteerd in de ontwikkeling van kwantumcomputers en grote laboratoria en onderzoekscentra opgericht.
Hoe kwantumcomputers werken. De puzzel in elkaar zetten

Er zijn veel artikelen over Habré en op internet, bijvoorbeeld hier, hier и hier, waarin de huidige stand van zaken met de ontwikkeling van quantumtechnologieën in verschillende landen nader wordt onderzocht. Het belangrijkste voor ons is nu dat alle leidende technologisch ontwikkelde landen en spelers enorme hoeveelheden geld investeren in onderzoek in deze richting, wat hoop geeft op een uitweg uit de huidige technologische impasse.

Ontwikkelingsrichtingen

(naar inhoud)

Hoe kwantumcomputers werken. De puzzel in elkaar zetten

Op dit moment (ik kan het mis hebben, corrigeer mij) zijn de belangrijkste inspanningen (en min of meer significante resultaten) van alle leidende spelers geconcentreerd op twee gebieden:

  • Gespecialiseerde kwantumcomputers, die gericht zijn op het oplossen van één specifiek specifiek probleem, bijvoorbeeld een optimalisatieprobleem. Een voorbeeld van een product zijn D-Wave-kwantumcomputers.
  • Universele kwantumcomputers – die in staat zijn willekeurige kwantumalgoritmen te implementeren (Shor, Grover, enz.). Implementaties van IBM, Google.

Andere ontwikkelingsvectoren die de kwantumfysica ons biedt, zoals:

Natuurlijk staat het ook op de lijst van onderzoeksgebieden, maar op dit moment lijken er geen meer of minder significante resultaten te zijn.

Daarnaast kun je lezen routekaart voor de ontwikkeling van kwantumtechnologieën, nou ja, google “ontwikkeling van kwantumtechnologieën", Bijvoorbeeld, hier, hier и hier.

Basisprincipes. Kwantumobjecten en kwantumsystemen

(naar inhoud)

Hoe kwantumcomputers werken. De puzzel in elkaar zetten

Het belangrijkste dat u uit dit gedeelte moet begrijpen, is dat

Kwantumcomputer (anders dan gebruikelijk) gebruikt als informatiedragers kwantumobjecten, en om berekeningen uit te voeren moeten kwantumobjecten worden aangesloten kwantum systeem.

Wat is een kwantumobject?

Kwantumobject - een object van de microwereld (kwantumwereld) dat kwantumeigenschappen vertoont:

  • Heeft een gedefinieerde staat met twee grensniveaus
  • Bevindt zich in een superpositie van zijn staat tot het moment van meting
  • Verstrengelt zichzelf met andere objecten om kwantumsystemen te creëren
  • Voldoet aan de no-cloning-stelling (de toestand van een object kan niet worden gekopieerd)

Laten we elke eigenschap in meer detail bekijken:

Heeft een gedefinieerde toestand met twee grensniveaus (eindtoestand)

Een klassiek voorbeeld uit de echte wereld is een munt. Het heeft een “zijkant”-status, die twee grensniveaus aanneemt: “kop” en “staart”.

Bevindt zich in een superpositie van zijn staat tot het moment van meting

Ze gooiden een munt op, die vliegt en draait. Terwijl het roteert, is het onmogelijk te zeggen in welke van de grensniveaus zijn ‘zij’-toestand zich bevindt. Maar zodra we het neerslaan en naar het resultaat kijken, valt de superpositie van toestanden onmiddellijk uiteen in een van de twee grenstoestanden: ‘kop’ en ‘staart’. Het slaan van een munt is in ons geval een meting.

Verstrengelt zichzelf met andere objecten om kwantumsystemen te creëren

Het is moeilijk met een munt, maar laten we het proberen. Stel je voor dat we drie munten opgooien zodat ze aan elkaar blijven draaien, dit is jongleren met munten. Op elk moment bevinden ze zich niet alleen in een superpositie van toestanden, maar beïnvloeden deze toestanden elkaar ook wederzijds (de munten botsen).

Voldoet aan de no-cloning-stelling (de toestand van een object kan niet worden gekopieerd)

Terwijl de munten vliegen en draaien, kunnen we op geen enkele manier een kopie maken van de draaistatus van een van de munten, los van het systeem. Het systeem leeft in zichzelf en is erg jaloers op het vrijgeven van informatie aan de buitenwereld.

Nog een paar woorden over het concept zelf “superposities”, in bijna alle artikelen wordt superpositie uitgelegd als “bestaat tegelijkertijd in alle staten”, Dat is natuurlijk waar, maar soms onnodig verwarrend. Een superpositie van toestanden kan ook worden voorgesteld als het feit dat er op elk moment een kwantumobject is er zijn bepaalde kansen om in te storten in elk van de grensniveaus, en in totaal zijn deze kansen uiteraard gelijk aan 1. Later, bij het beschouwen van de qubit, zullen we hier dieper op ingaan.

Voor munten kan dit worden gevisualiseerd - afhankelijk van de beginsnelheid, de worphoek, de toestand van de omgeving waarin de munt vliegt, is de kans op het krijgen van "kop" of "munt" op elk moment anders. En, zoals eerder vermeld, kan de toestand van zo’n vliegende munt worden voorgesteld als “zich tegelijkertijd in al zijn grenstoestanden bevindend, maar met verschillende waarschijnlijkheden van hun implementatie.”

Elk object waarvoor aan bovenstaande eigenschappen wordt voldaan en dat we kunnen creëren en besturen, kan als informatiedrager in een kwantumcomputer worden gebruikt.

Iets verderop zullen we het hebben over de huidige stand van zaken met de fysieke implementatie van qubits als kwantumobjecten, en wat wetenschappers nu in deze hoedanigheid gebruiken.

De derde eigenschap stelt dus dat kwantumobjecten verstrikt kunnen raken en kwantumsystemen kunnen creëren. Wat is een kwantumsysteem?

Kwantumsysteem — een systeem van verstrengelde kwantumobjecten met de volgende eigenschappen:

  • Een kwantumsysteem bevindt zich in een superpositie van alle mogelijke toestanden van de objecten waaruit het bestaat
  • Het is onmogelijk om de staat van het systeem te kennen tot het moment van meten
  • Op het moment van meten implementeert het systeem een ​​van de mogelijke varianten van zijn grenstoestanden

(en een beetje vooruitkijken)

Uitvloeisel voor kwantumprogramma's:

  • Een kwantumprogramma heeft een gegeven toestand van het systeem aan de ingang, een superpositie aan de binnenkant, een superpositie aan de uitgang
  • Aan de output van het programma na meting hebben we een probabilistische implementatie van een van de mogelijke eindtoestanden van het systeem (plus mogelijke fouten)
  • Elk kwantumprogramma heeft een schoorsteenarchitectuur (invoer -> uitvoer. Er zijn geen lussen, je kunt de status van het systeem midden in het proces niet zien.)

Vergelijking van een kwantumcomputer en een conventionele computer

(naar inhoud)

Hoe kwantumcomputers werken. De puzzel in elkaar zetten

Laten we nu een conventionele computer en een kwantumcomputer vergelijken.

gewone computer Kwantumcomputer

Logica

0 / 1 `a|0> + b|1>, a^2+b^2=1`

fysica

Halfgeleidertransistor Kwantumobject

Informatiedrager

Spanningsniveaus Polarisatie, spin,…

operaties

NOT, AND, OR, XOR over bits Kleppen: CNOT, Hadamard,…

Relatie

Halfgeleiderchip Verwarring met elkaar

Algoritmen

Standaard (zie Zweep) Speciale aanbiedingen (Shore, Grover)

beginsel

Digitaal, deterministisch Analoog, probabilistisch

Logisch niveau
Hoe kwantumcomputers werken. De puzzel in elkaar zetten

Bij een gewone computer is dit een beetje. Bij ons door en door bekend deterministisch stukje. Kan waarden van 0 of 1 aannemen. Het gaat perfect om met de rol logische eenheid voor een gewone computer, maar is volkomen ongeschikt om de staat te beschrijven kwantumobject, die zich, zoals we al hebben gezegd, in het wild bevindtsuperposities van hun grenstoestanden.

Dit is wat ze bedacht hebben Qubit. In zijn grenstoestanden realiseert het toestanden die vergelijkbaar zijn met 0 en 1 |0> en |1>, en in superpositie vertegenwoordigt waarschijnlijkheidsverdeling over de grenstoestanden |0> и |1>:

 a|0> + b|1>, такое, что a^2+b^2=1

a en b vertegenwoordigen waarschijnlijkheidsamplitudes, en de vierkanten van hun modules zijn de werkelijke kansen om precies dergelijke waarden van de grenstoestanden te verkrijgen |0> и |1>, als je de qubit nu samenvouwt met een meting.

Fysieke laag

Op het huidige technologische ontwikkelingsniveau is de fysieke implementatie van een bit voor een conventionele computer dat wel halfgeleider transistor, voor kwantum, zoals we al hebben gezegd, elk kwantumobject. In de volgende sectie zullen we het hebben over wat momenteel wordt gebruikt als fysieke media voor qubits.

Opslagmedium

Voor een gewone computer is dit wel het geval elektriciteit - spanningsniveaus, aan- of afwezigheid van stroom, enz., voor kwantum - hetzelfde toestand van een kwantumobject (polarisatierichting, spin, etc.), die zich mogelijk in een superpositie bevindt.

operaties

Om logische circuits op een gewone computer te implementeren, gebruiken we bekende logische operaties, voor operaties op qubits was het nodig om een ​​heel ander systeem van operaties te bedenken, genaamd kwantumpoorten. Gates kunnen single-qubit of double-qubit zijn, afhankelijk van het aantal qubits dat wordt geconverteerd.

Voorbeelden van kwantumpoorten:
Hoe kwantumcomputers werken. De puzzel in elkaar zetten

Er is een concept universele ventielset, die voldoende zijn om elke kwantumberekening uit te voeren. Een universele set omvat bijvoorbeeld een Hadamard-poort, een faseverschuivingspoort, een CNOT-poort en een π⁄8-poort. Met hun hulp kun je elke kwantumberekening uitvoeren op een willekeurige set qubits.

In dit artikel zullen we niet in detail ingaan op het systeem van kwantumpoorten; je kunt er bijvoorbeeld meer over lezen en logische bewerkingen op qubits: hier. Het belangrijkste om te onthouden:

  • Bewerkingen op kwantumobjecten vereisen de creatie van nieuwe logische operatoren (kwantumpoorten)
  • Kwantumpoorten zijn verkrijgbaar in de typen single-qubit en double-qubit.
  • Er zijn universele sets poorten die kunnen worden gebruikt om elke kwantumberekening uit te voeren

Relatie

Eén transistor is volkomen nutteloos voor ons; om berekeningen uit te voeren moeten we veel transistors met elkaar verbinden, dat wil zeggen, een halfgeleiderchip maken van miljoenen transistors waarop we logische circuits kunnen bouwen, ALU en uiteindelijk een moderne processor in zijn klassieke vorm krijgen.

Eén qubit is voor ons ook volkomen nutteloos (nou ja, al was het maar in academische termen),

om berekeningen uit te voeren hebben we een systeem van qubits (kwantumobjecten) nodig

die, zoals we al hebben gezegd, wordt gecreëerd door qubits met elkaar te verstrengelen, zodat veranderingen in hun toestanden op een gecoördineerde manier plaatsvinden.

Algoritmen

De standaardalgoritmen die de mensheid tot nu toe heeft verzameld, zijn volkomen ongeschikt voor implementatie op een kwantumcomputer. Ja, over het algemeen is dat niet nodig. Kwantumcomputers op basis van poortlogica over qubits vereisen de creatie van totaal verschillende algoritmen, kwantumalgoritmen. Van de meest bekende kwantumalgoritmen kunnen er drie worden onderscheiden:

beginsel

En het belangrijkste verschil is het werkingsprincipe. Voor een standaardcomputer is dit digitaal, strikt deterministisch principe, gebaseerd op het feit dat als we een begintoestand van het systeem instellen en deze door een bepaald algoritme laten gaan, het resultaat van de berekeningen hetzelfde zal zijn, ongeacht hoe vaak we deze berekening uitvoeren. Eigenlijk is dit gedrag precies wat we van een computer verwachten.

Quantumcomputer draait door analoog, probabilistisch principe. Het resultaat van een bepaald algoritme bij een gegeven begintoestand is steekproef uit een kansverdeling definitieve implementaties van het algoritme plus mogelijke fouten.

Deze probabilistische aard van kwantumcomputers is te danken aan de zeer probabilistische essentie van de kwantumwereld. “God dobbelt niet met het universum.”, zei de oude Einstein, maar alle experimenten en observaties tot nu toe (in het huidige wetenschappelijke paradigma) bevestigen het tegenovergestelde.

Fysieke implementaties van qubits

(naar inhoud)

Hoe kwantumcomputers werken. De puzzel in elkaar zetten

Zoals we al hebben gezegd, kan een qubit worden weergegeven door een kwantumobject, dat wil zeggen een fysiek object dat de hierboven beschreven kwantumeigenschappen implementeert. Dat wil zeggen dat grofweg elk fysiek object waarin zich twee toestanden bevinden en deze twee toestanden zich in een superpositie bevinden, kan worden gebruikt om een ​​kwantumcomputer te bouwen.

“Als we een atoom in twee verschillende niveaus kunnen onderbrengen en kunnen controleren, dan heb je een qubit. Als we dit met een ion kunnen doen, is het een qubit. Hetzelfde geldt voor stroom. Als we het tegelijkertijd met de klok mee en tegen de klok in draaien, heb je een qubit.” (C)

Er is mooie opmerking к статье, waarin de huidige verscheidenheid aan fysieke implementaties van de qubit in meer detail wordt beschouwd, zullen we eenvoudigweg de meest bekende en gebruikelijke opsommen:

Van al deze variëteiten is de eerste methode voor het verkrijgen van qubits de meest ontwikkelde supergeleiders. Kopen Google Reviews, IBM, Intel en andere toonaangevende spelers gebruiken het om hun systemen te bouwen.

Nou, lees meer overzicht mogelijk fysieke implementaties qubits van Andrew Daley, 2014.

Basisprincipes. Hoe een kwantumcomputer werkt

(naar inhoud)

Hoe kwantumcomputers werken. De puzzel in elkaar zetten

Materialen voor deze sectie (taak en afbeeldingen) zijn afkomstig uit het artikel “Alleen over de moeilijke dingen. Hoe werkt een kwantumcomputer?.

Stel je dus voor dat we de volgende taak hebben:

Er is een groep van drie personen: (A)ndrey, (B)olodya en (C)erezha. Er zijn twee taxi's (0 en 1).

Het is ook bekend dat:

  • (A)ndrey en (B)olodya zijn vrienden
  • (A)ndrey en (C)erezha zijn vijanden
  • (B)olodya en (C)erezha zijn vijanden

Taak: Plaats mensen in taxi's zodat Max(vrienden) и Min(vijanden)

evaluatie: L = (aantal vrienden) - (aantal vijanden) voor elke accommodatieoptie

BELANGRIJK: Ervan uitgaande dat er geen heuristieken zijn, bestaat er geen optimale oplossing. In dit geval kan het probleem alleen worden opgelost door een volledige zoektocht naar opties.

Hoe kwantumcomputers werken. De puzzel in elkaar zetten

Oplossing op een gewone computer

Hoe dit probleem op te lossen op een gewone (super)computer (of cluster) - dat is duidelijk je moet alle mogelijke opties doorlopen. Als we een systeem met meerdere processors hebben, kunnen we de berekening van oplossingen over verschillende processors parallelliseren en vervolgens de resultaten verzamelen.

We hebben 2 mogelijke accommodatiemogelijkheden (taxi 0 en taxi 1) en 3 personen. Oplossingsruimte 2 ^ 3 = 8. Je kunt zelfs 8 opties doorlopen met een rekenmachine, dit is geen probleem. Laten we het probleem nu ingewikkelder maken: we hebben 20 mensen en twee bussen, de oplossingsruimte 2^20 = 1. Ook niets ingewikkelds. Laten we het aantal mensen 2.5 keer vergroten - neem 50 mensen en twee treinen, de oplossingsruimte is nu 2^50 = 1.12 x 10^15. Een gewone (super)computer begint al serieuze problemen te krijgen. Laten we het aantal mensen verdubbelen, 2 mensen zullen ons al geven 1.2 x 10^30 mogelijke opties.

Dat is alles, deze taak kan niet binnen een redelijke tijd worden berekend.

Een supercomputer aansluiten

De krachtigste computer van dit moment staat op nummer 1 Top500Het Top, productiviteit 122 Pflops. Laten we aannemen dat we 100 bewerkingen nodig hebben om één optie te berekenen, en om het probleem voor 100 mensen op te lossen, hebben we het volgende nodig:

(1.2x10^30 100) / 122×10^15 / (606024365) = 3 x 10^37 jaar.

Zoals we kunnen zien naarmate de dimensie van de initiële gegevens toeneemt, groeit de oplossingsruimte volgens een machtswetIn het algemene geval hebben we voor N bits 2 ^ N mogelijke oplossingsopties, die ons voor relatief kleine N (100) een niet-berekende (op het huidige technologische niveau) oplossingsruimte opleveren.

Zijn er alternatieven? Zoals je misschien al geraden hebt: ja, dat is zo.

Maar voordat we ingaan op hoe en waarom kwantumcomputers dit soort problemen effectief kunnen oplossen, moeten we even de tijd nemen om samen te vatten wat ze zijn. waarschijnlijkheidsverdeling. Maak je geen zorgen, dit is een overzichtsartikel, er zal hier geen harde wiskunde zijn, we zullen het doen met het klassieke voorbeeld met een tas en ballen.

Gewoon een beetje combinatoriek, waarschijnlijkheidstheorie en een vreemde experimentator

Laten we een tas nemen en die erin doen 1000 witte en 1000 zwarte ballen. We zullen een experiment uitvoeren: haal de bal eruit, noteer de kleur, doe de bal terug in de zak en meng de ballen in de zak.

Het experiment werd 10 keer uitgevoerd, trok 10 zwarte ballen. Misschien? Nogal. Geeft dit monster ons een redelijk idee van de werkelijke verdeling in de zak? Duidelijk niet. Wat moet er gedaan worden - juist, pherhaal het experiment een miljoen keer en bereken de frequenties van zwarte en witte ballen. Wij krijgen bijv 49.95% zwart en 50.05% wit. In dit geval is de structuur van de verdeling waaruit we bemonsteren (één bal eruit halen) al min of meer duidelijk.

Het belangrijkste is om dat te begrijpen het experiment zelf heeft een probabilistisch karakter, met één monster (bal) zullen we de ware structuur van de verdeling niet kennen, we moeten het experiment vele malen herhalen en het gemiddelde van de resultaten.

Laten we het aan onze tas toevoegen 10 rode en 10 groene ballen (fouten). Laten we het experiment tien keer herhalen. INhaalde er 5 rode en 5 groene uit. Misschien? Ja. We kunnen iets zeggen over de werkelijke verdeling - Nee. Wat er moet gebeuren - nou, je begrijpt het.

Om inzicht te krijgen in de structuur van een kansverdeling, is het noodzakelijk om herhaaldelijk individuele uitkomsten uit deze verdeling te bemonsteren en de resultaten te middelen.

Theorie verbinden met de praktijk

Laten we in plaats van zwarte en witte ballen nu biljartballen nemen en ze in een zak doen 1000 ballen met nummer 2, 1000 met nummer 7 en 10 ballen met andere nummers. Laten we ons een experimentator voorstellen die is getraind in de eenvoudigste handelingen (een bal eruit halen, het nummer opschrijven, de bal terug in de zak doen, de ballen in de zak mixen) en hij doet dit in 150 microseconden. Nou, zo'n experimentator op snelheid (geen drugsreclame!!!). Dan zal hij in 150 seconden ons experiment 1 miljoen keer kunnen uitvoeren en geef ons de gemiddelde resultaten.

Ze lieten de onderzoeker zitten, gaven hem een ​​tas, draaiden zich om, wachtten 150 seconden en ontvingen:

nummer 2 - 49.5%, nummer 7 - 49.5%, de overige nummers in totaal - 1%.

Ja dat klopt, onze tas is een kwantumcomputer met een algoritme dat ons probleem oplost, en de ballen zijn mogelijke oplossingen. Omdat er dus twee correcte oplossingen zijn een kwantumcomputer zal ons elk van deze mogelijke oplossingen geven met gelijke waarschijnlijkheid en 0.5% (10/2000) fouten, waar we het later over zullen hebben.

Om het resultaat van een kwantumcomputer te verkrijgen, moet je het kwantumalgoritme meerdere keren uitvoeren op dezelfde invoergegevensset en het resultaat middelen.

Schaalbaarheid van een kwantumcomputer

Stel je nu voor dat voor een taak waarbij 100 mensen betrokken zijn (oplossingsruimte 2^100 we onthouden dit), er zijn ook maar twee juiste beslissingen. Als we vervolgens 100 qubits nemen en een algoritme schrijven dat onze objectieve functie (L, zie hierboven) over deze qubits berekent, dan krijgen we een zakje waarin 1000 ballen zitten met het nummer van het eerste juiste antwoord, 1000 met het nummer van het tweede juiste antwoord en 10 ballen met andere nummers. En binnen dezelfde 150 seconden zal onze onderzoeker ons een schatting geven van de waarschijnlijkheidsverdeling van de juiste antwoorden.

De uitvoeringstijd van een kwantumalgoritme (met enkele aannames) kan als constant O(1) worden beschouwd met betrekking tot de dimensie van de oplossingsruimte (2^N).

En dit is precies de eigenschap van een kwantumcomputer: runtime-constantheid met betrekking tot de toenemende machtswet is de complexiteit van de oplossingsruimte de sleutel.

Qubit en parallelle werelden

Hoe gebeurde dit? Wat zorgt ervoor dat een kwantumcomputer zo snel berekeningen kan uitvoeren? Het draait allemaal om het kwantumkarakter van de qubit.

Kijk, we zeiden dat een qubit als een kwantumobject is realiseert zich een van zijn twee toestanden wanneer het wordt waargenomen, maar in de “wilde natuur” is het wel in superposities van staten, dat wil zeggen dat het zich tegelijkertijd in beide grenstoestanden bevindt (met enige waarschijnlijkheid).

nemen (A)ndreya en stel je de staat ervan voor (in welk voertuig het is - 0 of 1) als een qubit. Dan hebben we (in de kwantumruimte) twee parallelle werelden, in een (A) zit in taxi 0, in een andere wereld - in taxi 1. In twee taxi's tegelijk, maar met enige waarschijnlijkheid om het tijdens observatie in elk van hen aan te treffen.

nemen (B) jong en laten we ons de staat ervan ook voorstellen als een qubit. Er ontstaan ​​nog twee andere parallelle werelden. Maar voor nu deze paren van werelden (A) и (IN) helemaal geen interactie hebben. Wat moet er gedaan worden om te creëren verwant systeem? Dat klopt, we hebben deze qubits nodig vastbinden (verwarren). We nemen het en verwarren het (A) met (B) — we krijgen een kwantumsysteem van twee qubits (A,B), het in zichzelf realiseren van vier onderling afhankelijk parallelle werelden. Toevoegen (S)ergey en we krijgen een systeem van drie qubits (ABC), acht implementeren onderling afhankelijk parallelle werelden.

De essentie van quantum computing (de implementatie van een keten van quantumpoorten over een systeem van verbonden qubits) is het feit dat de berekening tegelijkertijd in alle parallelle werelden plaatsvindt.

En het maakt niet uit hoeveel we er hebben, 2^3 of 2^100, het kwantumalgoritme zal in eindige tijd over al deze parallelle werelden worden uitgevoerd en zal ons een resultaat opleveren, dat een voorbeeld is van de waarschijnlijkheidsverdeling van de antwoorden van het algoritme.

Voor een beter begrip kun je je dat voorstellen een kwantumcomputer op kwantumniveau voert 2^N parallelle oplossingsprocessen uit, die elk aan één mogelijke optie werken, en vervolgens de resultaten van het werk verzamelen - en geeft ons het antwoord in de vorm van een superpositie van de oplossing (waarschijnlijkheidsverdeling van antwoorden), waaruit we er telkens één nemen (voor elk experiment).

Onthoud de tijd die onze experimentator nodig heeft (150 µs) om het experiment uit te voeren, zal dit iets verder voor ons nuttig zijn, als we het hebben over de belangrijkste problemen van kwantumcomputers en de decoherentietijd.

Kwantumalgoritmen

(naar inhoud)

Hoe kwantumcomputers werken. De puzzel in elkaar zetten

Zoals reeds vermeld zijn conventionele algoritmen gebaseerd op binaire logica niet toepasbaar op een kwantumcomputer die gebruik maakt van kwantumlogica (kwantumpoorten). Voor hem was het noodzakelijk om met nieuwe te komen die het potentieel dat inherent is aan de kwantumaard van computers ten volle benutten.

De meest bekende algoritmen van vandaag zijn:

In tegenstelling tot klassieke kwantumcomputers zijn kwantumcomputers niet universeel.
Tot nu toe is er slechts een klein aantal kwantumalgoritmen gevonden.(C)

Dank Oxoron voor de link naar Kwantumalgoritme Zoo, een plek waar, volgens de auteur ("Stefan Jordaan"), de beste vertegenwoordigers van de kwantumalgoritmische wereld zijn verzameld en blijven zich verzamelen.

In dit artikel zullen we kwantumalgoritmen niet in detail analyseren; er zijn veel uitstekende materialen op internet voor elk niveau van complexiteit, maar we moeten nog steeds kort de drie bekendste bespreken.

Het algoritme van Shor.

(naar inhoud)

Het bekendste kwantumalgoritme is Het algoritme van Shor (uitgevonden in 1994 door de Engelse wiskundige Peter Kust), dat gericht is op het oplossen van het probleem van het ontbinden van getallen in priemfactoren (factorisatieprobleem, discrete logaritme).

Het is dit algoritme dat als voorbeeld wordt aangehaald als ze schrijven dat je banksystemen en wachtwoorden binnenkort gehackt zullen worden. Aangezien de lengte van de tegenwoordig gebruikte sleutels maar liefst 2048 bits bedraagt, is de tijd voor een cap nog niet aangebroken.

Tot op heden bevindingen meer dan bescheiden. Beste factorisatieresultaten met het algoritme van Shor - getallen 15 и 21, wat veel minder is dan 2048 bits. Voor de overige resultaten uit de tabel geldt een ander algoritme berekeningen, maar zelfs het beste resultaat volgens dit algoritme (291311) is verre van echte toepassing.

Hoe kwantumcomputers werken. De puzzel in elkaar zetten

U kunt bijvoorbeeld meer lezen over het algoritme van Shor: hier. Over praktische implementatie - hier.

Een van huidige schattingen complexiteit en vereiste kracht om een ​​getal van 2048 bits te ontbinden is waar een computer mee te maken heeft 20 miljoen qubits. Wij slapen rustig.

Het algoritme van Grover

(naar inhoud)

Het algoritme van Grover - kwantumalgoritme het oplossen van het opsommingsprobleem, dat wil zeggen het vinden van een oplossing voor de vergelijking F(X) = 1, waar F is Booleaanse functie van n variabelen. Werd voorgesteld door een Amerikaanse wiskundige Visserij Grover в 1996 jaar.

Het algoritme van Grover kan worden gebruikt om te vinden medianen и rekenkundig gemiddelde nummerreeks. Bovendien kan het worden gebruikt om op te lossen NP-compleet problemen door middel van een uitputtende zoektocht naar vele mogelijke oplossingen. Dit kan aanzienlijke snelheidswinsten met zich meebrengen vergeleken met klassieke algoritmen, maar zonder dat er sprake is van "polynomiale oplossing" in het algemeen.(C)

Je kunt meer lezen hierOf hier. meer hier Er is een goede uitleg van het algoritme aan de hand van het voorbeeld van dozen en een bal, maar helaas, om redenen waar niemand controle over heeft, gaat deze site voor mij niet vanuit Rusland open. Als je hebt deze site is ook geblokkeerd, dus hier is een korte samenvatting:

Het algoritme van Grover. Stel je voor dat je N stuks genummerde gesloten dozen hebt. Ze zijn allemaal leeg, behalve één, die een bal bevat. Jouw taak: zoek het nummer van de doos waarin de bal zich bevindt (dit onbekende nummer wordt vaak aangegeven met de letter w).
Hoe kwantumcomputers werken. De puzzel in elkaar zetten

Hoe dit probleem op te lossen? De domste manier is om om de beurt de dozen te openen, en vroeg of laat kom je een doos met een bal tegen. Hoeveel dozen moeten er gemiddeld worden gecontroleerd voordat een doos met een bal wordt gevonden? Gemiddeld moet u ongeveer de helft van de N/2 dozen openen. Het belangrijkste hier is dat als we het aantal dozen met 100 keer vergroten, het gemiddelde aantal dozen dat moet worden geopend voordat de doos met de bal wordt gevonden, ook met dezelfde 100 keer zal toenemen.

Laten we nu nog een verduidelijking geven. Laten we de dozen niet zelf met onze handen openen en controleren of er een bal in zit, maar er is een bepaalde tussenpersoon, laten we hem Orakel noemen. We zeggen tegen het Orakel: “vink vakje nummer 732 aan”, en het Orakel controleert en antwoordt eerlijk: “Er zit geen bal in vakje nummer 732.” In plaats van te zeggen hoeveel dozen we gemiddeld moeten openen, zeggen we nu: “hoe vaak moeten we gemiddeld naar het Orakel gaan om het nummer van de doos met de bal te vinden”

Het blijkt dat als we dit probleem met dozen, een bal en het Orakel in kwantumtaal vertalen, we een opmerkelijk resultaat krijgen: om het nummer van een doos met een bal onder N dozen te vinden, hoeven we het Orakel alleen over SQRT te storen. (N) keer!

Dat wil zeggen dat de complexiteit van de zoektaak met behulp van het algoritme van Grover wordt verminderd met de vierkantswortel van tijden.

Deutsch-Jozi-algoritme

(naar inhoud)

Deutsch-Jozsa-algoritme (ook wel het Deutsch-Jozsa-algoritme genoemd) - [kwantumalgoritme](https://ru.wikipedia.org/wiki/%D0%9A%D0%B2%D0%B0%D0%BD%D1%82%D0%BE%D0%B2%D1%8B%D0%B9%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC), предложенный David Deutsch и Richard Jozsa в 1992 jaar, en werd een van de eerste voorbeelden van algoritmen die ontworpen waren om op te worden uitgevoerd kwantumcomputers. _

Het Deutsch-Jozsi-probleem is om te bepalen of een functie van verschillende binaire variabelen F(x1, x2, ... xn) constant is (neemt voor alle argumenten de waarde 0 of 1 aan) of gebalanceerd (voor de helft van het domein dat nodig is de waarde 0, voor de andere helft 1). In dit geval wordt het a priori bekend geacht dat de functie constant of gebalanceerd is. (C)

Je kunt ook lezen hier. Een eenvoudigere uitleg:

Het Deutsch (Deutsch-Jozsi) algoritme is gebaseerd op brute kracht, maar zorgt ervoor dat dit sneller kan dan normaal. Stel je voor dat er een munt op tafel ligt en je moet uitzoeken of deze vals is of niet. Om dit te doen, moet je twee keer naar de munt kijken en vaststellen: "koppen" en "munten" zijn echt, twee "koppen", twee "munten" zijn nep. Dus als u het Deutsch-kwantumalgoritme gebruikt, kan deze bepaling in één oogopslag worden gemaakt: meting. (C)

Problemen van kwantumcomputers

(naar inhoud)

Hoe kwantumcomputers werken. De puzzel in elkaar zetten

Bij het ontwerpen en bedienen van kwantumcomputers worden wetenschappers en ingenieurs geconfronteerd met een groot aantal problemen, die tot nu toe met wisselend succes zijn opgelost. Volgens Exploration (en ook hier) kunnen de volgende reeks problemen worden geïdentificeerd:

  • Gevoeligheid voor de omgeving en interactie met de omgeving
  • Ophoping van fouten tijdens berekeningen
  • Problemen met de initiële initialisatie van qubit-statussen
  • Moeilijkheden bij het maken van multi-qubit-systemen

Ik raad je ten zeerste aan het artikel te lezen “Kenmerken van kwantumcomputers”, vooral de reacties erop.

Laten we alle hoofdproblemen in drie grote groepen verdelen en elk van hen nader bekijken:

Decoherentie

(naar inhoud)

Hoe kwantumcomputers werken. De puzzel in elkaar zetten

Beschrijving vanaf N+1.

Kwantumstaat heel kwetsbaar dingqubits in een verstrengelde toestand zijn extreem onstabiel, elke externe invloed kan deze verbinding vernietigen (en zal dat ook doen).. Een verandering in temperatuur met de kleinste fractie van een graad, druk, een willekeurig foton dat dichtbij vliegt - dit alles destabiliseert ons systeem.

Om dit probleem op te lossen, worden sarcofagen op lage temperatuur gebouwd, waarbij de temperatuur (-273.14 graden Celsius) iets boven het absolute nulpunt ligt, met maximale isolatie van de interne kamer met de processor van alle (mogelijke) invloeden van de externe omgeving.

De maximale levensduur van een kwantumsysteem van meerdere verstrengelde qubits, waarin het zijn kwantumeigenschappen behoudt en kan worden gebruikt voor berekeningen, wordt decoherentietijd genoemd.

Momenteel ligt de decoherentietijd in de beste kwantumoplossingen in de orde van grootte tientallen en honderden microseconden.

Er is een geweldig сайтwaar je kunt kijken vergelijkingstabellen met parameters van alle gecreëerde kwantumsystemen. Dit artikel bevat slechts twee topprocessors als voorbeeld - van IBM IBM Q Systeem Eén en van Google Sycamore. Zoals we kunnen zien, bedraagt ​​de decoherentietijd (T2) niet meer dan 200 μs.

Ik heb geen exacte gegevens over Sycamore gevonden, maar in de meeste gevallen artikel over kwantumsuprematie er worden twee cijfers gegeven - 1 miljoen berekeningen in 200 seconden, elders - voor 130 seconden zonder verlies van stuursignalen enz.. Dit geeft ons in ieder geval decoherentietijd is ongeveer 150 μs. Denk aan onze experimentator met een tas? Nou, hier is hij.

computer Naam N Qubits Max gekoppeld T2 (µs)
IBM Q Systeem Eén 20 6 70
Google Sycamore 53 4 ~ 150-200

Waarmee bedreigt decoherentie ons?

Het grootste probleem is dat ons computersysteem van N verstrengelde qubits na 150 μs probabilistische witte ruis begint te produceren in plaats van een probabilistische verdeling van correcte oplossingen.

Dat wil zeggen, we hebben nodig:

  • Initialiseer het qubit-systeem
  • Een berekening uitvoeren (keten van poortoperaties)
  • Resultaat lezen

En doe dit allemaal in 150 microseconden. Ik had geen tijd - het resultaat veranderde in een pompoen.

Maar dat is niet alles…

fouten

(naar inhoud)

Hoe kwantumcomputers werken. De puzzel in elkaar zetten

ак е оворили, kwantumprocessen en kwantumcomputers zijn probabilistisch van aardkunnen we nergens 100% zeker van zijn, maar alleen met enige waarschijnlijkheid. De situatie wordt nog verergerd door het feit dat Quantum computing is foutgevoelig. De belangrijkste soorten fouten in kwantumcomputers zijn:

  • Decoherentiefouten worden veroorzaakt door de complexiteit van het systeem en de interactie met de externe omgeving
  • Gate-rekenfouten (vanwege de kwantumaard van de berekening)
  • Fouten bij het lezen van de eindstatus (resultaat)

Fouten geassocieerd met decoherentie, verschijnen zodra we onze qubits verstrengelen en berekeningen beginnen te maken. Hoe meer qubits we verstrengelen, hoe complexer het systeem, en hoe gemakkelijker het is om het te vernietigen. Sarcofagen op lage temperatuur, beschermde kamers, al deze technologische trucs zijn precies gericht op het verminderen van het aantal fouten en het verlengen van de decoherentietijd.

Gate-rekenfouten - elke bewerking (poort) op qubits kan met enige waarschijnlijkheid eindigen met een fout, en om het algoritme te implementeren moeten we honderden poorten uitvoeren, dus stel je voor wat we krijgen aan het einde van de uitvoering van ons algoritme. Het klassieke antwoord op de vraag is: “Hoe groot is de kans dat je een dinosaurus tegenkomt in een lift?” - 50x50, je zult elkaar ontmoeten of niet.

Het probleem wordt nog verergerd door het feit dat standaard foutcorrectiemethoden (duplicatie van berekeningen en middeling) niet werken in de kwantumwereld vanwege het no-cloning-theorema. Voor foutcorrectie in quantum computing moest worden uitgevonden kwantumcorrectiemethoden. Grofweg nemen we N gewone qubits en maken er 1 van logische qubit met een lager foutenpercentage.

Maar hier doet zich een ander probleem voor: totaal aantal qubits. Kijk, stel dat we een processor hebben met 100 qubits, waarvan 80 qubits worden gebruikt voor foutcorrectie, dan houden we er nog maar 20 over voor berekeningen.

Fouten bij het lezen van het eindresultaat – zoals we ons herinneren, wordt het resultaat van kwantumberekeningen in de vorm aan ons gepresenteerd waarschijnlijkheidsverdeling van antwoorden. Maar het lezen van de eindstatus kan ook mislukken door een fout.

Op hetzelfde Online Er zijn vergelijkende tabellen van processors op basis van foutniveaus. Laten we ter vergelijking dezelfde processors nemen als in het vorige voorbeeld: IBM IBM Q Systeem Eén и Google Sycamore:

Computer Gate-getrouwheid van 1 Qubit 2-Qubit Gate-getrouwheid Uitlezen trouw
IBM Q Systeem Eén 99.96% 98.31% -
Google Sycamore 99.84% 99.38% 96.2%

Hier trouw is een maatstaf voor de gelijkenis van twee kwantumtoestanden. De omvang van de fout kan grofweg worden uitgedrukt als 1-Fidelity. Zoals we kunnen zien, vormen fouten op 2-qubit-poorten en uitleesfouten het belangrijkste obstakel voor het uitvoeren van complexe en lange algoritmen op bestaande kwantumcomputers.

Je kunt ook lezen routekaart uit 2016 jaar vanaf NQIT om het probleem van foutcorrectie op te lossen.

Processor architectuur

(naar inhoud)

Hoe kwantumcomputers werken. De puzzel in elkaar zetten

In theorie bouwen en exploiteren wij circuits van tientallen verstrengelde qubits, in werkelijkheid is alles ingewikkelder. Alle bestaande quantumchips (processors) zijn zo gebouwd dat ze pijnloos werken verstrengeling van slechts één qubit met zijn buren, waarvan er niet meer dan zes zijn.

Als we de eerste qubit bijvoorbeeld moeten verstrengelen met de twaalfde, dan zullen we dat moeten doen een keten van aanvullende kwantumoperaties bouwen, omvatten extra qubits, enz., waardoor het algehele foutniveau toeneemt. Ja, en vergeet het niet decoherentie tijd, misschien zal tegen de tijd dat je klaar bent met het aansluiten van de qubits op het circuit dat je nodig hebt, de tijd eindigen en zal het hele circuit veranderen in mooie witte ruisgenerator.

Vergeet dat ook niet De architectuur van alle kwantumprocessors is anders, en het programma dat in de emulator is geschreven in de “all-to-all connectiviteit”-modus zal moeten worden “opnieuw gecompileerd” in de architectuur van een specifieke chip. Er zijn zelfs speciale optimalisatieprogramma's om deze operatie uit te voeren.

Maximale connectiviteit en maximaal aantal qubits voor dezelfde topchips:

computer Naam N Qubits Max gekoppeld T2 (µs)
IBM Q Systeem Eén 20 6 70
Google Sycamore 53 4 ~ 150-200

En ter vergelijking: tabel met gegevens van de vorige generatie processors. Vergelijk het aantal qubits, decoherentietijd en het foutenpercentage met wat we nu hebben met de nieuwe generatie. Toch is de vooruitgang langzaam, maar in beweging.

Hoe kwantumcomputers werken. De puzzel in elkaar zetten

Dus:

  • Er zijn momenteel geen volledig verbonden architecturen met > 6 qubits
  • Om qubit 0 s op een echte processor te verstrengelen, kan qubit 15 bijvoorbeeld enkele tientallen extra bewerkingen vereisen
  • Meer bewerkingen -> meer fouten -> sterkere invloed van decoherentie

Resultaten van

(naar inhoud)

Decoherentie is het Procrusteaanse bed van moderne kwantumcomputers. We moeten alles in 150 μs passen:

  • Initialisatie van de initiële status van qubits
  • Een probleem berekenen met behulp van kwantumpoorten
  • Corrigeer fouten om betekenisvolle resultaten te krijgen
  • Lees het resultaat

Tot nu toe zijn de resultaten echter teleurstellend hier beweren een coherentie-retentietijd van 0.5 seconde te bereiken op een kwantumcomputer gebaseerd op ionenvallen:

We meten een qubit-coherentietijd van meer dan 0.5 s, en met magnetische afscherming verwachten we dat dit langer zal zijn dan 1000 s

U kunt ook over deze technologie lezen hier of bijvoorbeeld hier.

De situatie wordt verder gecompliceerd door het feit dat het bij het uitvoeren van complexe berekeningen noodzakelijk is om kwantumfoutcorrectiecircuits te gebruiken, die ook zowel tijd als beschikbare qubits opslokken.

En ten slotte laten moderne architecturen het niet toe om verstrengelingsschema's beter dan 1 op 4 of 1 op 6 te implementeren tegen minimale kosten.

Manieren om problemen op te lossen

(naar inhoud)

Om de bovenstaande problemen op te lossen, worden momenteel de volgende benaderingen en methoden gebruikt:

  • Gebruik van cryokamers met lage temperaturen (10 mK (–273,14 °C))
  • Gebruik maken van processorunits die maximaal beschermd zijn tegen invloeden van buitenaf
  • Quantumfoutcorrectiesystemen gebruiken (Logic Qubit)
  • Het gebruik van optimizers bij het programmeren van circuits voor een specifieke processor

Er wordt ook onderzoek gedaan gericht op het vergroten van de decoherentietijd, het zoeken naar nieuwe (en het verbeteren van bekende) fysieke implementaties van kwantumobjecten, het optimaliseren van correctiecircuits, enz., enz. Er is vooruitgang (kijk hierboven naar de kenmerken van eerdere en hedendaagse topchips), maar tot nu toe gaat het langzaam, heel erg langzaam.

D-Wave

(naar inhoud)

Hoe kwantumcomputers werken. De puzzel in elkaar zetten

D-Wave 2000Q 2000-qubit-computer. Bron: D-Wave Systems

Te midden van de aankondiging van Google om kwantumsuprematie te bereiken met behulp van een 53-qubit-processor, computers и aankondigingen van het bedrijf D-Wave, waarin het aantal qubits in de duizenden loopt, is enigszins verwarrend. Nou ja, echt, als 53 qubits kwantumsuprematie zouden kunnen bereiken, waartoe is een computer met 2048 qubits dan in staat? Maar niet alles is zo goed...

In het kort (overgenomen van de wiki):

Computers D-Wave werken volgens het principe kwantumrelaxatie (kwantumgloeien), kunnen een zeer beperkte subklasse van optimalisatieproblemen oplossen, en zijn niet geschikt voor het implementeren van traditionele kwantumalgoritmen en kwantumpoorten.

Voor meer details kunt u bijvoorbeeld lezen: hier, hier (let op, mag niet openen vanuit Rusland), of Scott Aaronson в статье van zijn blog post. Trouwens, ik raad je ten zeerste aan zijn blog in het algemeen te lezen, er staat veel goed materiaal

Over het algemeen had de wetenschappelijke gemeenschap vanaf het allereerste begin van de aankondigingen vragen over D-Wave-computers. In 2014 trok IBM bijvoorbeeld het feit in twijfel dat D-Wave maakt gebruik van kwantumeffecten. Het kwam op het punt dat Google in 2015 samen met NASA een van deze kwantumcomputers kocht en na onderzoek bevestigd, dat ja, de computer werkt en berekent het probleem sneller dan een gewone. U kunt meer lezen over de verklaring van Google hier en bijvoorbeeld hier.

Het belangrijkste is dat D-Wave-computers, met hun honderden en duizenden qubits, niet kunnen worden gebruikt om kwantumalgoritmen te berekenen en uit te voeren. Je kunt het algoritme van Shor er bijvoorbeeld niet op uitvoeren. Het enige wat ze kunnen doen is bepaalde kwantummechanismen gebruiken om een ​​bepaald optimalisatieprobleem op te lossen. We kunnen ervan uitgaan dat D-Wave een kwantum-ASIC is voor een specifieke taak.

Iets over kwantumcomputeremulatie

(naar inhoud)

Hoe kwantumcomputers werken. De puzzel in elkaar zetten

Quantum computing kan worden geëmuleerd op een gewone computer. Inderdaad, zie alsjeblieft:

  • De status van de qubit kan zijn представить complex getal, beslaat 2x32 tot 2x64 bits (8-16 bytes), afhankelijk van de processorarchitectuur
  • De toestand van N verbonden qubits kan worden weergegeven als 2^N complexe getallen, d.w.z. 2^(3+N) voor 32-bits architectuur en 2^(4+N) voor 64-bits.
  • Een kwantumbewerking op N qubits kan worden weergegeven door een 2^N x 2^N matrix

vervolgens:

  • Om de geëmuleerde toestanden van 10 qubits op te slaan, is 8 KB nodig
  • Om de toestanden van 20 qubits op te slaan heb je 8 MB nodig
  • Om de toestanden van 30 qubits op te slaan is 8 GB nodig
  • Er zijn 40 terabytes nodig om de toestanden van 8 qubits op te slaan
  • Om de toestanden van 50 qubits op te slaan zijn 8 Petabytes nodig etc.

(C)

Ter vergelijking, Top (Top-1 uit Top-500) heeft slechts 2.8 petabytes aan geheugen.

Huidig ​​simulatierecord — 49 qubit vorig jaar geleverd aan de grootste Chinese supercomputer (Sunway Taihu Licht)

De limiet voor het simuleren van een kwantumcomputer op klassieke systemen wordt bepaald door de hoeveelheid RAM die nodig is om de status van de qubits op te slaan.

Ik raad ook aan om te lezen deze opmerking. Vanaf daar:

Door bediening - voor nauwkeurige emulatie van een 49-qubit-circuit bestaande uit zo'n 39 "cycli" (onafhankelijke poortlagen) het koste 2^63 complexe vermenigvuldigingen - 4 Pflops van een supercomputer gedurende 4 uur

Het emuleren van een 50+ qubit-kwantumcomputer op klassieke systemen wordt binnen redelijke tijd als onmogelijk beschouwd. Dit is ook de reden waarom Google een 53-qubit-processor gebruikte voor zijn quantum suprematie-experiment.

De suprematie van quantumcomputers.

(naar inhoud)

Hoe kwantumcomputers werken. De puzzel in elkaar zetten

Wikipedia geeft ons de volgende definitie van de suprematie van quantum computing:

Kwantumsuprematie - vermogen kwantumcomputers apparaten om problemen op te lossen die klassieke computers praktisch niet kunnen oplossen.

Het bereiken van kwantumsuprematie betekent in feite dat bijvoorbeeld de factorisatie van grote getallen met behulp van het Shor-algoritme binnen voldoende tijd kan worden opgelost, of dat complexe chemische moleculen op kwantumniveau kunnen worden geëmuleerd, enzovoort. Dat wil zeggen: er is een nieuw tijdperk aangebroken.

Maar er zit een maas in de formulering van de definitie: “die klassieke computers praktisch niet kunnen oplossen" In feite betekent dit dat als je een kwantumcomputer van meer dan 50 qubits maakt en er een kwantumcircuit op draait, het resultaat van dit circuit, zoals we hierboven hebben besproken, niet op een gewone computer kan worden geëmuleerd. Dat is een klassieke computer zal het resultaat van een dergelijk circuit niet kunnen reproduceren.

Of een dergelijk resultaat echte kwantum-suprematie vormt of niet, is eerder een filosofische vraag. Maar begrijp wat Google heeft gedaan en waar het op is gebaseerd heeft onlangs aangekondigd dat het kwantumsuprematie heeft bereikt met zijn nieuwe Sycamore-processor nodig.

De Quantum Supremacy-verklaring van Google

(naar inhoud)

Hoe kwantumcomputers werken. De puzzel in elkaar zetten
Sycamore 54-qubit-processor

Daarom publiceerden Google-ontwikkelaars in oktober 2019 een artikel in de wetenschappelijke publicatie Nature “Kwantumsuprematie met behulp van een programmeerbare supergeleidende processor" De auteurs kondigden voor het eerst in de geschiedenis het bereiken van kwantumsuprematie aan met behulp van de 54-qubit Sycamore-processor.

Online Sycamore-artikelen verwijzen vaak naar een 54-qubit-processor of een 53-qubit-processor. De waarheid is dat volgens origineel artikel, bestaat de processor fysiek uit 54 qubits, maar één daarvan werkt niet en is buiten gebruik gesteld. In werkelijkheid hebben we dus een 53-qubit-processor.

Op internet daar verscheen veel materialen over dit onderwerp, waarvan de mate varieerde enthousiast naar sceptisch.

Het quantumcomputerteam van IBM verklaarde dat later Google heeft ten onrechte gemeld dat het kwantumsuprematie heeft bereikt. Het bedrijf beweert dat een conventionele computer deze taak in het ergste geval in 2,5 dagen zal kunnen uitvoeren, en dat het resulterende antwoord nauwkeuriger zal zijn dan dat van een kwantumcomputer. Deze conclusie werd getrokken op basis van de resultaten van een theoretische analyse van verschillende optimalisatiemethoden.

En natuurlijk, Scott Aaronson in zijn blog Ik kon deze verklaring niet negeren. Zijn анализ samen met alle links en Veelgestelde vragen over Scott's Supreme Quantum Supremacy! zoals gewoonlijk zijn ze de moeite waard om je tijd aan te besteden. Op de naaf er is een vertaling deze FAQ, en lees zeker de commentaren, er zijn links naar voorlopige documenten die vóór de officiële aankondiging online waren gelekt.

Wat heeft Google eigenlijk gedaan? Voor een gedetailleerd begrip, lees Aaronson, maar dan kort hier:

Dat kan ik je natuurlijk vertellen, maar ik voel me nogal dom. De berekening is als volgt: de onderzoeker genereert een willekeurig kwantumcircuit C (d.w.z. een willekeurige reeks van 1-qubit- en 2-qubit-poorten tussen dichtstbijzijnde buren, met een diepte van bijvoorbeeld 20), die inwerkt op een 2D-netwerk van n = 50-60 bits). De experimentator stuurt vervolgens C naar de kwantumcomputer en vraagt ​​deze om C toe te passen op een begintoestand van 0, het resultaat te meten op basis van {0,1}, een n-bit waargenomen reeks (string) terug te sturen en verschillende reeksen te herhalen. duizend of miljoenen keren. Ten slotte voert de onderzoeker, gebruikmakend van zijn kennis van C, een statistische test uit om te zien of het resultaat overeenkomt met de verwachte output van de kwantumcomputer.

Hoe kwantumcomputers werken. De puzzel in elkaar zetten

Erg kort:

  • Met behulp van poorten wordt een willekeurig circuit met lengte 20 van 53 qubits gemaakt
  • Het circuit begint met de initiële status [0…0] voor uitvoering
  • De uitvoer van het circuit is een willekeurige bitstring (sample)
  • De verdeling van het resultaat is niet willekeurig (interferentie)
  • De verdeling van de verkregen monsters wordt vergeleken met de verwachte
  • Beëindigt Quantum Supremacy

Dat wil zeggen dat Google een synthetisch probleem heeft geïmplementeerd op een 53-qubit-processor, en zijn claim om kwantumsuprematie te bereiken baseert op het feit dat het onmogelijk is om zo'n processor binnen een redelijke tijd op standaardsystemen te emuleren.

Voor begrip - Dit gedeelte doet op geen enkele manier afbreuk aan de prestaties van GoogleDe ingenieurs zijn echt geweldig, en de vraag of dit als echte kwantumsuperioriteit kan worden beschouwd of niet, zoals eerder vermeld, is eerder filosofisch dan technisch. Maar we moeten begrijpen dat we, nu we een dergelijke computationele superioriteit hebben bereikt, nog geen stap vooruit zijn gegaan in de richting van de mogelijkheid om het algoritme van Shor uit te voeren op getallen van 2048 bits.

Beknopt

(naar inhoud)
Hoe kwantumcomputers werken. De puzzel in elkaar zetten

Kwantumcomputers en quantum computing zijn een veelbelovend, zeer jong en tot nu toe weinig industrieel toepasbaar gebied van de informatietechnologie.

De ontwikkeling van quantum computing zal ons (ooit) in staat stellen problemen op te lossen:

  • Modelleren van complexe fysieke systemen op kwantumniveau
  • Onoplosbaar op een gewone computer vanwege de rekencomplexiteit

De belangrijkste problemen bij het maken en bedienen van kwantumcomputers:

  • Decoherentie
  • Fouten (decoherentie en poort)
  • Processorarchitectuur (volledig verbonden qubit-circuits)

Huidige stand van zaken:

  • Sterker nog: het allereerste begin R & D.
  • Er is nog geen ECHTE commerciële exploitatie (en het is onduidelijk wanneer dat wel zal gebeuren)

Wat kan helpen:

  • Een soort fysieke ontdekking die de kosten van bedrading en operationele processors verlaagt
  • Iets ontdekken dat de decoherentietijd met een orde van grootte zal vergroten en/of fouten zal verminderen

Naar mijn mening (puur persoonlijke mening), In het huidige wetenschappelijke kennisparadigma zullen we geen significant succes boeken bij de ontwikkeling van kwantumtechnologieënhebben we hier een kwalitatieve doorbraak nodig op een bepaald gebied van de fundamentele of toegepaste wetenschap, die een impuls zal geven aan nieuwe ideeën en methoden.

Intussen doen we ervaring op met kwantumprogrammering, het verzamelen en creëren van kwantumalgoritmen, het testen van ideeën, etc., etc. Wij wachten op een doorbraak.

Conclusie

(naar inhoud)

In dit artikel hebben we de belangrijkste mijlpalen in de ontwikkeling van quantum computing en quantumcomputers doorgenomen, het principe van hun werking onderzocht, de belangrijkste problemen onderzocht waarmee ingenieurs worden geconfronteerd bij de ontwikkeling en werking van quantumprocessors, en ook gekeken naar wat multi-qubit D-computers zijn dat eigenlijk wel. Wave en Google's recente aankondiging om kwantumsuprematie te bereiken.

Achter de schermen blijven vragen over het programmeren van kwantumcomputers (talen, benaderingen, methoden, enz.) en vragen gerelateerd aan de specifieke fysieke implementatie van processors, hoe qubits worden beheerd, gekoppeld, gelezen, enz. Misschien is dit het onderwerp van het volgende artikel of de volgende artikelen.

Bedankt voor uw aandacht, ik hoop dat dit artikel voor iemand nuttig zal zijn.

(C) Kruegger

Dankbetuigingen

(naar inhoud)

Hoe kwantumcomputers werken. De puzzel in elkaar zetten

@Oxoron voor het proeflezen en commentaar op de brontekst, maar ook voor het artikel “Kenmerken van kwantumcomputers”

@a5b voor informatierijke opmerkingen over “Kenmerken van kwantumcomputers”, en niet alleen voor haar, wat mij grotendeels heeft geholpen deze puzzel te achterhalen.

Aan alle auteurs van artikelen en publicaties waarvan het materiaal is gebruikt bij het schrijven van dit artikel.

Lijst met bronnen

(naar inhoud)

Hoe kwantumcomputers werken. De puzzel in elkaar zetten

Actualiteitenartikelen van [The National Academies Press]

http://cs.brown.edu/courses/csci1800/sources/2018_NAE_QuantumComputing_ProgressAndProspects.pdf
https://www.nap.edu/catalog/25196/quantum-computing-progress-and-prospects

Artikelen uit Habr (in willekeurige volgorde)

https://habr.com/ru/post/458450/
https://habr.com/ru/post/401315/
https://habr.com/ru/post/458134/
https://habr.com/ru/post/246483/
https://habr.com/ru/post/95428/
https://habr.com/ru/post/387761/
https://habr.com/ru/post/468911/
https://habr.com/ru/post/435560/
https://habr.com/ru/post/316810/
https://habr.com/ru/company/microsoft/blog/351624/
https://habr.com/ru/company/microsoft/blog/351628/
https://habr.com/ru/company/ua-hosting/blog/377533/
https://habr.com/ru/company/acronis/blog/455559/
https://habr.com/ru/company/yandex/blog/332106/
https://habr.com/ru/company/mailru/blog/350208/
https://habr.com/ru/company/mailru/blog/476444/
https://habr.com/ru/company/misis/blog/470445/
https://habr.com/ru/company/it-grad/blog/452424/
https://habr.com/ru/company/piter/blog/450480/

Ongesorteerde (maar daarom niet minder interessante) artikelen van internet

http://homepages.spa.umn.edu/~duplij/publications/Duplij-Shapoval_TOPOLOGICAL-QUANTUM-COMPUTERS.pdf
https://quantum.country/qcvc
http://extremal-mechanics.org/wp-content/uploads/2015/07/RIFFEL.pdf
https://thecode.media/quantum/
https://naked-science.ru/article/nakedscience/quantum-computers
https://ru.ihodl.com/technologies/2018-10-29/prosto-o-slozhnom-kak-rabotaet-kvantovyj-kompyuter/
https://pikabu.ru/story/chto_takoe_kvantovyiy_kompyuter_5204054
https://nplus1.ru/search?q=%D0%9A%D0%B2%D0%B0%D0%BD%D1%82%D0%BE%D0%B2%D0%B0%D1%8F+%D0%B0%D0%B7%D0%B1%D1%83%D0%BA%D0%B0
https://www.scottaaronson.com/blog/?p=4372
https://ru.wikipedia.org/wiki/%D0%9A%D0%B2%D0%B0%D0%BD%D1%82%D0%BE%D0%B2%D1%8B%D0%B9_%D0%BA%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80
https://quantumcomputingreport.com/scorecards/qubit-quality/
https://quantumcomputing.stackexchange.com/questions/2499/is-quantum-computing-just-pie-in-the-sky
https://quantumcomputing.stackexchange.com/questions/1289/how-does-a-quantum-computer-do-basic-math-at-the-hardware-level
https://www.extremetech.com/extreme/284306-how-quantum-computing-works
https://techno.nv.ua/it-industry/chto-takoe-kvantovyy-kompyuter-i-kvantovoe-prevoshodstvo-google-protiv-ibm-50049940.html
https://www.nature.com/articles/s41586-019-1666-5?utm_source=commission_junction&utm_medium=affiliate
https://petrimazepa.com/nemnogo_o_kvantovykh_kompyuterakh
https://www.forbes.ru/tehnologii/371669-ibm-protiv-d-wave-nastupila-li-era-kvantovyh-kompyuterov

Cursussen en lezingen

https://www.coursera.org/learn/kvantovyye-vychisleniya
https://www.youtube.com/watch?v=uPw9nkJAwDY&amp=&index=4&amp=&t=0s
https://courses.edx.org/courses/BerkeleyX/CS191x/2013_Spring/course/#
https://www.youtube.com/watch?v=xLfFWXUNJ_I&list=PLnbH8YQPwKbnofSQkZE05PKzPXzbDCVXv
https://cs269q.stanford.edu/syllabus.html
https://quantum-computing.ibm.com/support/guides/user-guide?section=5dcb2b45330e880045abccb0
https://gitlab.com/qkitchen/basics-of-quantum-computing

Bron: www.habr.com

Voeg een reactie