211service.com
Kvantedatamaskiner eksisterer knapt – her er grunnen til at vi uansett skriver språk for dem
IBM Research | Flickr
Kvantedatamaskiner er fortsatt ekstremt rudimentære, og forblir stort sett spennende leketøy i noen få avanserte forskningslaboratorier. Det har ikke avskrekket folk fra å utvikle nye programmeringsspråk for dem.
Den nyeste kommer fra Microsoft, som har avduket Q# (uttales Q sharp) og noen tilhørende verktøy for å hjelpe utviklere å bruke den til å lage programvare. Den føyer seg inn i en voksende liste over andre kvanteprogrammeringsspråk på høyt nivå som QCL og Quipper.
Men gitt at praktisk talt ingen har en kvantedatamaskin, hva er vitsen?
Krysta Svore, hovedforskningsleder innen kvantedatabehandling hos Microsoft, sier at språkene er nødvendige fordi de som er skrevet for dagens datamaskiner, ikke vil fungere for kvantedata. Klassiske datamaskiner koder informasjon i binær form som en sekvens av enere og nuller, mens kvantedatamaskiner bruker kvantebiter - eller qubits - som effektivt kan kode en og null på samme tid.
Dette skaper enorme mengder parallell prosessorkraft, og forklarer hvorfor det er så stor interesse for arbeidet med å bygge maskinene. Håpet er at kvantedatamaskiner vil bidra til betydelige fremskritt innen felt som spenner fra materialvitenskap til kunstig intelligens (se A Startup Uses Computing to Boost Machine Learning ).
Men for å utnytte den kraften fullt ut eller til og med utforske hva som er mulig, vil utviklere trenge kvantespråk for å hjelpe dem med å lage programvare som drar full nytte av datamaskinenes muligheter.
Programmeringsspråk for klassiske datamaskiner er utformet på en måte som ikke krever at utviklere vet hvordan en sentral prosesseringsenhet fungerer. Fremstøtet nå er å lage kvanteprogrammeringsspråk på høyt nivå som også beskytter utviklere mot kompleksiteten til kvantemaskinvare.
Egenskapene ved kvanteberegning skaper begrensninger som ikke finnes i klassiske programmeringsspråk. Ett eksempel: kvanteprogrammer kan ikke ha løkker i dem som gjentar en sekvens av instruksjoner; de må løpe rett gjennom til ferdigstillelse.
For å håndtere slike problemer fungerer Q# sammen med et par klassiske språk. Utviklere uten kvanteekspertise kan skrive hovedprogrammene sine på kjente språk og deretter bruke et Q#-program når de ønsker å bruke kvanteprosessorkraft.
Relatert historie
Relatert historie Hvis den oppfyller løftet, kan kvantemaskinlæring transformere AI.Selv om den ikke har en egen kvantedatamaskin ennå, har Microsoft gitt ut simulatorer som lar utviklere teste programmer utviklet i Q# på stasjonære datamaskiner eller på Azure cloud-computing-tjenesten. IBM er også det å tilby simulatorer, og noen få heldige utviklere kan til og med kjøre koden sin direkte på kvantemaskinen.
Xiaodi Wu, en ekspert på kvanteprogrammeringsspråk ved University of Maryland, ser på nye kvantespråk på høyt nivå som et logisk neste steg. Dette vil åpne for at flere bruker disse maskinene, sier han, noe som kan føre til nye undersøkelsesfelt for kvanteforskningsmiljøet.
Det har vært noen oppfordringer til å gjøre nye kvantespråk åpen kildekode slik at det bredere utviklermiljøet kan tilby innspill. Tanken er at dette kan gi kvantedatabehandling den samme typen boost som utviklingen av Linux ga Internett.
Språkutviklere har også et annet mål: studenter som tenker på fremtidige karrierer. Nye språk som gjør kvantedatabehandling mer tilgjengelig bør lokke flere ut i feltet. Vi ønsker å utvikle kvantearbeidsstyrken, sier Svore, fordi kvantedatabehandling vil låse opp en helt ny økonomi, og vi kommer til å trenge folk som er kvanteprogrammerere, algoritmeutviklere og ingeniører.