'Det smukkeste fysik, der længe er præsenteret': Google viser vejen til fejlkorrektion for kvantecomputere

Plus22. februar kl. 17:0015
'Det smukkeste fysik, der længe er præsenteret': Google viser vejen til fejlkorrektion for kvantecomputere
Her ses to generationer af Google Sycamore kvanteprocessor, den nyeste (th) er større og har forbedrede egenskaber. Illustration: Google Quantum AI.
Dansk kvantefysiker jubler over Googles eksperiment, der påviser, at fejlkorrektion med fordel kan benyttes i kvantecomputere.
Artiklen er ældre end 30 dage

Fejlkorrektion er en nødvendighed inden for alle beregninger - både på klassiske computere og kvantecomputere.

I en ny artikel i Nature viser Google nu for første gang, at fejlraten i en kvantecomputer kan reduceres mere og mere jo flere fysiske kvantebits, man samler til en logisk kvantebit.

Gratis adgang i 30 dage

Tegn et gratis prøveabonnement og få adgang til alt PLUS-indhold på Ing.dk, Version2 og Radar, helt uden binding eller betalingsoplysninger.

Alternativt kan du købe et abonnement
remove_circle
Har du allerede et PLUS-abonnement eller klip?
close

Velkommen til PLUS

Da du er ved at tilmelde dig en gratis prøve beder vi dig hjælpe os med at gøre vores indhold mere relevant for dig, ved at vælge et eller flere emner der interesserer dig.

Vælg mindst et emne *
Du skal vælge en adgangskode til når du fremover skal logge ind på din brugerkonto.
visibility
Dit medlemskab giver adgang
Som medlem af IDA har du gratis adgang til PLUS-indhold, som en del af dit medlemskab. Fortsæt med MitIDA for at aktivere din adgang til indholdet.
Oplever du problemer med login, så skriv til os på websupport@ing.dk
Abonnementsfordele
vpn_key
Fuld adgang til Ing.dk, Version2 og Radar
Fuld digital adgang til PLUS-indhold på Ing.dk, Version2 og Radar, tilgængeligt på din computer, tablet og mobil.
drafts
Kuraterede nyhedsbreve
Det seneste nye fra branchen, leveret til din indbakke.
Adgang til andre medier
Hver måned får du 6 klip, som kan bruges til permanent at låse op for indhold på vores andre medier.
thumb_up
Adgang til debatten
Deltag i debatten med andre kloge læsere.
15 kommentarer.  Hop til debatten
Debatten
Log ind eller opret en bruger for at deltage i debatten.
settingsDebatindstillinger
15
23. februar kl. 15:38

Hvorfor vil du dog ønske dig at bruge konventionelle algoritmer på kvantecomputere, Nis? Hele idéen med en kvantecomputer er jo, at der til visse problemer (langt fra alle) findes algoritmer (kvantealgoritmer), som er bedre end klassiske algoritmer, og som kun kan køre på en kvantecomputer. Men jeg er enig i, at det kommer til at tage tid, og det endnu heller ikke står helt klart, hvilke anvendelser det får størst betydning for. Det bliver næppe faktorisering af store tal (Shors algoritme), som bliver det bedste argument for at købe en kvantecomputer. Som mange andre tror jeg mere på optimering af kemiske reaktioner og beslægtede emner; som jo er et kvanteproblem, der kræver en kvanteberegning. Men vi vil se.

Jeg kan fint forestille mig, at vi på et tidspunkt får udviklet metoder, så vi kan "oversætte" en algoritme til en kvantealgoritme. Naturligvis vil det ikke altid kunne gøres, men det er heller ikke et krav. Er det ikke muligt, kører det på en normal computer, og uden mulighed for "kvantefordel". Ofte, vil en opgave ikke kunne løses i et huk som kvanteprogram, men måske kan den udføres på en kombination af en almindelig computer, og en kvantecomputer, hvor der løses sekvenser af flere "kvantekoder", som den sædvanlige computer fodre kvantecomputeren med.

Du kan oversætte et program til stort set hvad som helst. Det væsentlige er, at programmeringssproget ikke er låst til hardwaren. F.eks. dur C++ ikke helt - en ordre som sizeof(pointer), giver ganske enkelt ikke svar på almindeligt hardware, og den kan sættes i samme bås som at returnere et helt tilfældigt tal. Det er ikke tilladt med en ordre, der kan fortælle om computeren er 8, 16, 32, eller 64 bits, hvis softwaren skal køre på kvantecomputeren. I nogle tilfælde kan opgaver ikke oversættes med en statisk compiler, men oftest kan det så gøres med dynamisk compiler. Mange moderne optimeringsalgoritmer beror på dynamisk compilering, fordi de kan oversæte og optimere kode som ikke kan håndteres med statisk compilering. Når koden optimeres med dynamiske compilere, så sker reelt det, at programerne ikke udføres, men løses.

13
23. februar kl. 14:42

Jeg forestiller mig, at kvantecomputerens relevans er at løse de NP-hårde problemer og måske også PSPACE problemer, hvis man finder på snedige kvantecomputerrelevante algoritmer, der elimnerer ekstremt pladsforbrug, som så selvfølgelig ikke vil kunne afvikles på en konventionel computer.

11
Videnskabsredaktør -
23. februar kl. 08:58
Videnskabsredaktør

Dette sammen med uanvendeligheden på mange konventionelle algoritmer (og teknologien d,d,) er nok grunden til, at QC ikke bliver konkurrent til konventionelle computere de første par år.

Hvorfor vil du dog ønske dig at bruge konventionelle algoritmer på kvantecomputere, Nis? Hele idéen med en kvantecomputer er jo, at der til visse problemer (langt fra alle) findes algoritmer (kvantealgoritmer), som er bedre end klassiske algoritmer, og som kun kan køre på en kvantecomputer. Men jeg er enig i, at det kommer til at tage tid, og det endnu heller ikke står helt klart, hvilke anvendelser det får størst betydning for. Det bliver næppe faktorisering af store tal (Shors algoritme), som bliver det bedste argument for at købe en kvantecomputer. Som mange andre tror jeg mere på optimering af kemiske reaktioner og beslægtede emner; som jo er et kvanteproblem, der kræver en kvanteberegning. Men vi vil se.

9
23. februar kl. 05:54

Så vidt jeg husker, er der på PC'er en timer chip, og den har altid kunnet måle i mikrosekunder.

Det er, som du siger, muligt at API har været begrænsningen, chrono er trods alt et relativt nyt bibkliotek.

DRAM timer kan navnet antyde bruges til at sætte refresh intervallet på DRAM, har man god DRAM kan intervallet gøres mindre (=PC'en hurtigere). En tidlig udgave af Mark Russinovich's PC Tools havde funktioner til sætte dette interrupt og en funktion der kunne aflæse CPU tællerne, så man kunne se hvor mange cycles der blev stalled per sekund. Deraf kan man direkte beregne, hvor effektivt software kører (eller er skrevet),

8
23. februar kl. 01:04

Kvantebitredundans Jeg kan ikke slippe tanken om, at der lige nu skal så meget redundans - mange tusind pr. fysiske kvantebits - til for at kunne stole på en beregning med ganske på logiske kvantebits, at hvordan skal vi kunne stole på de resultater, der er beregnet allerede nu med kvanteteknologi på det nuværende stade...

7
22. februar kl. 22:17

Der er meget, man ikke ved, og som skal undersøges. Desuden er fejlraten stadig alt for høj. Men der nu et proof-of-concept, når det gælder fejlkorrektion i kvantecomputere. Så må vi se, hvad det ender med en gang.

Kan man forstille sig, at kvantecomputere kan fremlægge beviser for resultaterne? Ved nogle typer algoritmer, kan et bevis udført på en almindelig computer, bevise om at kvantecomputerens resultat er forkert eller korrekt.

6
22. februar kl. 22:16

Cyklussen er her 65536 * 65535, så hvis man kan garantere en enkelt interrupt, for hver time, så fungerer det fint.

Chippen havde tre timers. Den ene blev brugt til 18,2 Hz. En anden var fri, og brugt til lyd, så den kunne nemt bruges til 65535 deler. Den sidste blev brugt til DRAM refresh. Jeg har ikke prøvet at bruge den til andet, men hvis man kan sætte den til at tælle til et passende tal, der ikke går op i 65536 * 65535, så vil den kunne bruges til at øge antallet af bits. Tallene skal gerne være indbyrdes primiske, men kan det ikke opnås, er det nok at de er "primiske nok" tal.

5
Videnskabsredaktør -
22. februar kl. 22:12
Videnskabsredaktør

Der er meget, man ikke ved, og som skal undersøges. Desuden er fejlraten stadig alt for høj. Men der nu et proof-of-concept, når det gælder fejlkorrektion i kvantecomputere. Så må vi se, hvad det ender med en gang.

4
22. februar kl. 22:07

Tricket var gentage målingen nogle gange, så også fik 1-taller, lægge dem sammen og dividere resultatet med antal målingen. Så fik man brugbart estimat af tiden for en måling. Idag kan PC måle mikrosekunder og heldigvis kører de ikke tusind gange hurtigere;-)

Man kunne også bruge en interrupt indgang fra LPT porten eller COM porten. Det var muligt uden indgreb. Herefter satte man interrupt controlleren til at ikke reagere på uønskede interrupts, og at den interrupt man brugte skulle have størst prioritet. I interrupt rutinen, hentede man port 40 ind et par gange, og fik dermed timer værdien, så vidt jeg husker ned til mikrosekunder. Der var på de gamle PC'er et 18,2 Hz interrupt. De 18,2 Hz kom som et resultat af at timerchippens tæller var udløbet efter 65536 steps. Det betød, at aflæsningen af den, havde en præcision på 65536 * 18.2 Hz = 1.19 MHz, en smule under et mikrosekund. Et problem kunne være præcisionen af interruptet, men normalt kunne det gøres ekstremt præcist, hvis man havde styr på interrupts, og disablede alle der ikke var nødvendigt, og selv overtog styringen af alle, herunder 18,2 Hz interruptet. Når så ens tidstagning var færdig, så kaldte man det antal missede interrupt på 18,2 Hz interruptet til styresystemet, så dens ur passede. Så kan man så diskutere, hvordan man undgår 18,2 Hz interruptet, og kan regne ud, hvor mange gange den har været igennem, når man disabler interrupt til den. Der var flere timers i chippen, og opsatte man en til 65536 og en anden til 65535, så kunne man ud fra forskellen bestemme antallet af 18,2 Hz missede interrupts, og dermed også den høje del af timeren (hvis der var brug for 31 bits). Cyklussen er her 65536 * 65535, så hvis man kan garantere en enkelt interrupt, for hver time, så fungerer det fint.

3
22. februar kl. 21:53

Tricket var gentage målingen nogle gange, så også fik 1-taller, lægge dem sammen og dividere resultatet med antal målingen. Så fik man brugbart estimat af tiden for en måling. Idag kan PC måle mikrosekunder og heldigvis kører de ikke tusind gange hurtigere;-)

Så vidt jeg husker, er der på PC'er en timer chip, og den har altid kunnet måle i mikrosekunder. Det er nok mest programmør evnen der har været til millisekunder og ikke mikrosekunder. Men, det kunne være et problem med mange gentagne målinger, fordi det var nødvendigt med tid til beregningerne. Jeg er ikke sikker på at gate indgangen til timer chippen blev ført ud, men dengang var chips store klumper, så det kunne klares med en bidetang og loddekoble.

2
22. februar kl. 21:49

Minder mig lidt om dengang en PC kun kunne måle i millisekunder og fordi man målte korte tidsrum kunne de typisk være 0 eller 1 ms.

Tricket var gentage målingen nogle gange, så også fik 1-taller, lægge dem sammen og dividere resultatet med antal målingen. Så fik man brugbart estimat af tiden for en måling. Idag kan PC måle mikrosekunder og heldigvis kører de ikke tusind gange hurtigere;-)

1
22. februar kl. 21:47

Har man undersøgt, om der skal den samme overhead på i ekstra kvantebits, for at opnå samme sikkerhed, hvis computeren har henholdsvis mange logiske kvantebits, og få logiske kvantebits? Kan man risikere, at tore computere, med mange logiske kvantebits, skal have et langt større overhead, for at opnå samme sikkerhed, så opgaven bliver mere umulig ved et stort antal logiske kvantebits?