Microsofts Quantum Programming Language, Q#, kunne hjælpe dig med at lære kvantefysik

Krysta Svore Microsoft Q# Quantum Computing Coding
Microsoft

Computere er ved at blive mærkelige.

Indhold

  • Gør mysteriet tilgængeligt
  • Et kvantesamfund
  • Forberedelse til i morgen

Efter årtier som teori sidder de første kvantecomputere nu i nogle få udvalgte laboratorier over hele kloden. De er rudimentære og uden tvivl mindre praktiske end tidlige elektroniske computere som 50-ton ENIAC. Alligevel er forskerne på vej frem. IBM, Google og Intel gør fremskridt på kvantehardware, og en praktisk kvantecomputer føles endelig som en nær fremtidig virkelighed i stedet for et emne for science fiction.

Det er en mulighed. Det er også et problem. Kvantefysik er et underligt område af teleportering og sandsynlighed, der ikke følger de regler, vi kender. De fleste mennesker forstår ikke kvantemekanik, og det inkluderer programmører, de mennesker, der skal bruge kvantecomputere til praktisk brug.

Relaterede

  • Overfladereparationsdele er nu tilgængelige via Microsoft Store
  • Microsoft Teams får nye AI-værktøjer - og de er gratis
  • Microsoft driller designeftersyn af større Windows 11-app

Microsoft har en plan om at uddanne dem.

Gør mysteriet tilgængeligt

Enhver udvikler, der ønsker at lære et nyt programmeringssprog, såsom C# eller Javascript, ønsker at gøre øjeblikkelig brug af hendes lektioner. Alligevel kan kvantecomputerens barndom gøre det svært. At oprette et program til mange kvanteenheder er meget som at prøve at skrive i binær maskinkode – bortset fra endnu vanskeligere, fordi kvantemekanikken. Dette er ikke kun et felt, der er godt forstået, men svært at oversætte. Det er et studieområde, hvor nogle grundlæggende forhold forbliver ukendte.

Microsoft Quantum Q#, kodning på en computer
Matt Smith/Digital Trends

Det inkluderer årsagen hvorfor kvantecomputere virker. "Det, vi har inden for kvantecomputere, er bevis på, at kvantecomputere kan udkonkurrere klassiske computere," sagde Krysta Svore, Principle Research Manager hos Microsofts Quantum Architectures and Computation-gruppe. "Den hellige gral i vores felt ville være et faktisk matematisk bevis på det."

Kvantecomputere er så nyt og så ulig noget før det, at selv topforskere forbliver i mørke om vigtige og grundlæggende elementer.

Quantum Computing 101

At lære programmører at kode for kvante på rigtig hardware er udelukket for nu. Microsofts kvanteprogrammeringssprog, Q#, omgår dette problem ved at tilbyde enkel adgang til de værktøjer, der er nødvendige for at begynde programmeringen. Det betyder at gøre Q# så velkendt og tilgængelig som muligt, selv mens videnskabsmænd fortsætter med at skabe gennembrud i det grundlæggende i, hvordan kvantecomputere fungerer.

Q# er ikke gemt bag en mur af frygtelig dokumentation og dårligt forklarede installatører. Programmører kan få adgang til det gennem Visual Studio, verdens mest populære udviklingsmiljø. Og programmører behøver ikke adgang til en kvantecomputer for at bruge den.

I stedet kan de programmere, som om deres kode ville køre på en faktisk kvanteenhed, men derefter køre den på en virtuel simulering. Det er muligt, fordi kvantecomputeren ikke behandles som sit eget komplette, uafhængige system, men i stedet som en accelerator, der aktiveres af en klassisk computer, der kører klassisk computer kode.

"Vi forestiller os, at kvantecomputeren er en anden ressource i Azure, udover at sige GPU'en, FPGA'en, ASIC'en, der skal bruges. Azure bliver hele dette stof, der inkluderer en kvantecomputer i sin computer,” sagde Svore til Digital Trends.

quantum microsoft q kodning python interop jpg 3605
quantum microsoft q kodningseksempler github jpg 3604
quantum microsoft q kodning 3603
quantum microsoft q kodende python simulation jpg 3602

De fleste programmører er bekendt med at bruge specialbygget hardware til specifikke opgaver, og de fleste kender til at bruge ressourcer i skyen. At tænde Q# adskiller sig ikke fra de velkendte opgaver. Kvantehardware kan være eksotisk og sjælden, men det programmeringsmiljø Microsoft tilbyder til Q# er præcis, hvad du ville se i dag, hvis du kiggede over skulderen på en programmør på højst Fortune 500 virksomheder. Det gør det langt mindre skræmmende.

"Den ultimative vision er, at brugeren ikke siger "Ok, nu skal jeg tage denne app og køre den på denne del på CPU'en, denne del her, denne del der," sagde Svore. »Det er det samme med kvanteberegning. Vi ønsker, at acceleratoren skal være sømløs."

Et kvantesamfund

Programmører kan introducere sig selv til Q# gennem et sæt gratis tutorials, som Microsoft kalder Quantum Katas. Hver lektion involverer "en sekvens af opgaver om et bestemt kvantecomputeremne", som programmører udfordres til at løse. At finde den rigtige løsning er målet, men rejsen er lige så vigtig. Kataerne er ikke beregnet til at blive løst i en enkelt omgang. De underviser gennem trial-and-error og introducerer programmører til det grundlæggende i kvanteprogrammering undervejs.

Q# og Quantum Katas bringer et transformativt niveau af feedback til kvanteprogrammering

Chris Granade, en Research Software Development Engineer hos Microsoft, så dem selv, mens han deltog i en tutorial-session arrangeret af University of Technology Sydney. "Det var virkelig fantastisk at se, at folk kunne gå fra nul viden i kvante til at skrive det," sagde han til Digital Trends. »Det, der var transformerende, var, at når folk havde en misforståelse, led de ikke af det. De kunne køre kataerne, de kunne se, at de fik det forkerte svar, og den feedback fik virkelig folk til at forstå på en praktisk måde."

Denne praktiske oplevelse transformerer straks kvantecomputere fra et teoretisk koncept til en praktisk virkelighed, hvilket gør hele forskellen i, hvordan folk griber det an. Programmører laver måske ikke fysiske genstande, men de er vant til at se feedback ligesom enhver anden håndværker. De skaber en ting, og det virker - eller det gør det ikke. Q# og Quantum Katas bringer det niveau af feedback til kvanteprogrammering, hvilket giver alle interesserede en chance for at grave ind og forstå, hvad kvantecomputere gør muligt.

Kvanteberegning

Den forandring, Granade så personligt, sker ikke kun i klasseværelserne. Quantum Development Kit, som Q# er en del af, kan downloades af enhver under en open source-licens. Interesserede udviklere kan ikke kun begynde at bruge det, men bidrage aktivt til fællesskabet. Svore fortalte Digital Trends, at QDK-downloads tal i "de øverste titusinder", og deltagere har allerede tilføjet "en håndfuld væsentlige bidrag", herunder nye algoritmer og dokumentation.

Selvom det stadig er en niche, placerer dette Quantum Development Kit adgangsgrænsen lavt nok til at selv en nybegynder programmør kan begynde at eksperimentere med Q# og dermed begynde at forstå, hvad der gør kvanteberegning kryds. Det er nyttigt ikke kun for programmører, men for hele kvantefysikkens felt. At forklare kvanteteorier er en stor hovedpine, ikke kun fordi kvanteverdenen er mærkelig sammenlignet med den "klassiske" fysik kender de fleste programmører, men også fordi de praktiske implikationer af kvantefysik kan være svære at demonstrere.

"Du behøver ikke at kunne fysikken. Du behøver ikke kende kvantemekanikken."

Klassiske computere håndterer binære absolutter. 1s og 0s. Slukket eller tændt. Kvante beskæftiger sig med sandsynligheder, og programmering til kvante betyder at skabe algoritmer, der manipulerer sandsynligheder for at producere den korrekte løsning. "Du ved, at denne bølge inkluderer min løsning. Disse andre bølger inkluderer ikke en løsning. Så jeg vil have, at de bølger, når de forstyrrer, forsvinder,” forklarede Svore. “Og jeg vil gerne have, at bølgen, der inkluderer min løsning, bliver rigtig stor. Til sidst måler vi kvantetilstandene. Sandsynligheden for at få den høje bølge ud er mere sandsynlig, jo højere den bølge er. Det er sådan, vi designer kvantealgoritmer."

Forstår du, hvad Svore mener?

Hvis ikke, så føl dig ikke dårlig. Det er ikke let at forstå, og det er ikke nemt at demonstrere. Selv tankeeksperimenter beregnet til at forenkle kvantemekanikken, som Schrodingers berømte kat, kan få dig til at klø dig i hovedet.

Microsoft Quantum Q# ingeniører
Microsoft

Microsoft håber, at Q# og Quantum Katas vil tilbyde et praktisk alternativ til at nærme sig emnet. "Du behøver ikke at kunne fysikken. Du behøver ikke at kende kvantemekanikken. Faktisk vil jeg indrømme, at jeg ikke tog kvantemekanik, før jeg blev færdig med skolen,” sagde Svore. "Jeg begyndte på kvantecomputere uden nogensinde at tage fysik på college. Jeg er uddannet datamatiker."

Kvanteprogrammering kunne blive et indsigtsvindue ved at give programmører en chance for at gøre praktisk brug af kvanteteorier uden at forkaste de værktøjer, de er kommet til at stole på. Der er ingen grund til at bruge år på at lære fysik. Bare hop ind, lav en applikation, der bruger Q#, og se, hvad der sker.

Forberedelse til i morgen

Dagens praktiske brug af Q# er begrænset, fordi der ikke er nogen hardware at bruge. Microsoft har endnu ikke bygget en kvantecomputer, og selv hvis det havde, ville det være for primitivt at udføre nyttige beregninger. Men en programmør kan tjekke deres arbejde ved at køre Q# på en simuleret kvantecomputer. Det gør det muligt at kode et program til kvante med en rimelig forventning om, at når først hardwaren er tilgængelig, vil den virke.

Krysta Svore, Chris Granade, Microsoft Quantum Q#
Krysta Svore, Principle Research Manager hos Microsofts Quantum Architectures and Computation-gruppe (til venstre) og Chris Granade, en Research Software Development Engineer hos Microsoft.Matt Smith/Digital Trends

Det er afgørende. Kvantecomputere er ikke blot en bedre moderne pc. De er grundlæggende forskellige. De kræver forskellig hardware, forskellige algoritmer og en anden tilgang til at løse komplekse problemer. Selv hvis en tidsrejsende dukkede op med en funktionel, stabil, million-qubit kvantecomputer, ville vi have problemer med at tage den i brug, ligesom romerske lærde ville blive forvirrede, hvis de fik en bærbar computer. 99,9 procent af moderne udviklere, programmører og dataloger har ingen erfaring med kodning for kvante, og ingen anelse om, hvordan kvantefysik fungerer. Det grundlæggende skal introduceres, før der kan gøres mere imponerende opdagelser.

Undervisning, der vil tage tid - men Microsofts Q# er et vigtigt skridt fremad.

Redaktørens anbefalinger

  • ChatGPT kan nu generere fungerende Windows 11-nøgler gratis
  • Microsoft har muligvis ignoreret advarsler om Bing Chats uhængte svar
  • Kinesiske hackere retter sig mod kritisk amerikansk infrastruktur, advarer Microsoft
  • Du kan nu prøve avatarer og virtuelle rum i Microsoft Teams
  • Microsoft Build 2023: de største annonceringer inden for kunstig intelligens, Windows og mere