Microsoftin kvanttiohjelmointikieli, Q#, voi auttaa sinua oppimaan kvanttifysiikkaa

Krysta Svore Microsoft Q# Quantum Computing Coding
Microsoft

Tietokoneet alkavat muuttua oudoksi.

Sisällys

  • Tehdään mysteeristä lähestyttävä
  • Kvanttiyhteisö
  • Valmistautuminen huomiseen

Vuosikymmenten teorian jälkeen ensimmäiset kvanttitietokoneet sijaitsevat nyt muutamissa valituissa laboratorioissa ympäri maailmaa. Ne ovat alkeellisia ja luultavasti vähemmän käytännöllisiä kuin varhaiset elektroniset tietokoneet, kuten 50 tonnin ENIAC. Silti tutkijat edistyvät. IBM, Google ja Intel edistyvät kvanttilaitteistolla, ja käytännöllinen kvanttitietokone tuntuu vihdoinkin lähitulevaisuuden todellisuudelta tieteiskirjallisuuden sijaan.

Se on mahdollisuus. Se on myös ongelma. Kvanttifysiikka on outo teleportaation ja todennäköisyyksien alue, joka ei noudata meille tuttuja sääntöjä. Useimmat ihmiset eivät ymmärrä kvanttimekaniikkaa, ja se sisältää ohjelmoijat, ihmiset, joiden on otettava kvanttitietokoneet käytännön käyttöön.

Liittyvät

  • Pintojen korjausosia on nyt saatavilla Microsoft Storesta
  • Microsoft Teams saa uusia tekoälytyökaluja – ja ne ovat ilmaisia
  • Microsoft kiusaa suuren Windows 11 -sovelluksen suunnittelua

Microsoftilla on suunnitelma heidän kouluttamiseksi.

Tehdään mysteeristä lähestyttävä

Jokainen kehittäjä, joka haluaa oppia uuden ohjelmointikielen, kuten C#:n tai Javascriptin, haluaa välittömästi hyödyntää oppituntejaan. Kvanttilaskennan lapsenkengistä huolimatta se voi vaikeuttaa sitä. Ohjelman luominen monille kvanttilaitteille on paljon kuin yrittäisi kirjoittaa binäärikonekoodilla – paitsi vieläkin vaikeampaa, koska kvanttimekaniikka. Tämä ei ole vain ala, joka on hyvin ymmärretty, vaan sitä on vaikea kääntää. Se on tutkimusalue, jolla jotkut perusasiat jäävät tuntemattomiksi.

Microsoft Quantum Q#, koodaus tietokoneella
Matt Smith/Digital Trends

Siihen sisältyy syy miksi kvanttitietokoneet toimivat. "Kvanttilaskennassa meillä on todisteita siitä, että kvanttitietokoneet voivat ylittää klassiset tietokoneet." sanoi Krysta Svore, periaatetutkimuspäällikkö Microsoftin Quantum Architectures and Computation -ryhmässä. "Pyhä Graalin malja alallamme olisi todellinen matemaattinen todiste siitä."

Kvanttilaskenta on niin uutta ja niin erilaista kuin mikään ennen sitä, että huippututkijatkin jäävät hämärään tärkeistä ja perustavanlaatuisista elementeistä.

Kvanttilaskenta 101

Ohjelmoijien opettaminen koodaamaan kvanttia oikealla laitteistolla ei tule kysymykseen toistaiseksi. Microsoftin kvanttiohjelmointikieli Q# sivuuttaa tämän ongelman tarjoamalla yksinkertaisen pääsyn ohjelmoinnin aloittamiseen tarvittaviin työkaluihin. Tämä tarkoittaa, että Q#:sta tehdään mahdollisimman tuttu ja helposti lähestyttävä, vaikka tutkijat jatkavatkin läpimurtoja kvanttitietokoneiden toiminnan perusteissa.

Q# ei ole piilossa kauhean dokumentaation ja huonosti selitettyjen asentajien seinän takana. Ohjelmoijat voivat käyttää sitä Visual Studion kautta, maailman suosituin kehitysympäristö. Ja ohjelmoijat eivät tarvitse pääsyä kvanttitietokoneeseen käyttääkseen sitä.

Sen sijaan he voivat ohjelmoida ikään kuin heidän koodinsa toimisi todellisessa kvanttilaitteessa, mutta ajaa sen sitten virtuaalisessa simulaatiossa. Se on mahdollista, koska kvanttitietokonetta ei käsitellä omana täydellisenä, itsenäisenä järjestelmäänsä, vaan sen sijaan kiihdyttimenä, jota klassista tietokonetta käyttävä klassinen tietokone käyttää koodi.

"Kuvittelemme, että kvanttitietokone on toinen käytettävä resurssi Azuressa GPU: n, FPGA: n ja ASIC: n rinnalla. Azuresta tulee koko kudos, jonka laskentaan kuuluu kvanttitietokone”, Svore kertoi Digital Trendsille.

quantum microsoft q koodaus python interop jpg 3605
quantum microsoft q koodausnäytteet github jpg 3604
quantum microsoft q koodaus 3603
quantum microsoft q koodaus python simulaatio jpg 3602

Useimmat ohjelmoijat tuntevat tarkoitukseen rakennettujen laitteistojen käytön tiettyihin tehtäviin, ja useimmat tietävät pilviresurssien käyttämisen. Q#:n käynnistäminen ei eroa tunnetuista tehtävistä. Kvanttilaitteisto saattaa olla eksoottista ja harvinaista, mutta Microsoftin Q#:lle tarjoama ohjelmointiympäristö on täsmälleen sitä, mitä näkisit tänään, jos katsoisit ohjelmoijan olkapään yli korkeintaan Fortune 500:n yritykset. Se tekee siitä paljon vähemmän pelottavaa.

"Perimmäinen visio on, että käyttäjä ei sano "Ok, nyt minun on otettava tämä sovellus ja suoritettava se tässä osassa prosessorissa, tämä osa täällä, tämä osa siellä", Svore sanoi. "Se on sama kvanttilaskentaan. Haluamme, että kiihdytin on saumaton."

Kvanttiyhteisö

Ohjelmoijat voivat esitellä itsensä Q#:lle ilmaisten opetusohjelmien avulla, joita Microsoft kutsuu Quantum Kataksi. Jokainen oppitunti sisältää "tehtävän sarjan tietyssä kvanttilaskenta-aiheessa", jotka ohjelmoijat haastetaan ratkaisemaan. Oikean ratkaisun löytäminen on tavoite, mutta matka on yhtä tärkeä. Kataja ei ole tarkoitettu ratkaistavaksi yhdellä siirrolla. He opettavat yrityksen ja erehdyksen kautta ja esittelevät ohjelmoijia kvanttiohjelmoinnin perusteisiin matkan varrella.

Q# ja Quantum Katas tuovat muuttuvan palautetason kvanttiohjelmointiin

Microsoftin ohjelmistokehitysinsinööri Chris Granade näki ne itse osallistuessaan Sydneyn teknillisen yliopiston isännöimään opetusohjelmaan. "Oli todella hämmästyttävää nähdä, että ihmiset pystyivät siirtymään kvanttitiedon nollasta sen kirjoittamiseen", hän kertoi Digital Trendsille. ”Muunnostavaa oli se, että kun ihmisillä oli väärinkäsitys, he eivät kärsineet siitä. He pystyivät ajamaan katoja, he näkivät, että he saivat väärän vastauksen, ja tämä palaute todella sai ihmiset ymmärtämään käytännönläheisesti.

Tämä käytännön kokemus muuttaa kvanttilaskennan välittömästi teoreettisesta konseptista käytännölliseksi todellisuudeksi, mikä vaikuttaa suuresti siihen, miten ihmiset suhtautuvat siihen. Ohjelmoijat eivät ehkä tee fyysisiä esineitä, mutta he ovat tottuneet näkemään palautetta aivan kuten muutkin käsityöläiset. He luovat asian ja se toimii – tai sitten ei. Q# ja Quantum Katas tuovat tämän tason palautetta kvanttiohjelmointiin ja antavat kaikille kiinnostuneille mahdollisuuden syventyä ja ymmärtää, mitä kvanttilaskenta mahdollistaa.

Kvanttilaskenta

Muutos, jonka Granade näki henkilökohtaisesti, ei tapahdu vain luokkahuoneissa. Quantum Development Kit, johon Q# kuuluu, voi ladata kuka tahansa avoimen lähdekoodin lisenssillä. Kiinnostuneet kehittäjät eivät voi vain alkaa käyttää sitä, vaan myös osallistua aktiivisesti yhteisön toimintaan. Svore kertoi Digital Trendsille, että QDK-latausten määrä on "yli kymmeniä tuhansia" ja osallistujia ovat jo lisänneet "kourallisen merkittäviä lisäyksiä", mukaan lukien uudet algoritmit ja dokumentointi.

Vaikka tämä Quantum-kehityspaketti on edelleen markkinarako, se laskee sisääntulorajan riittävän alas aloittelijallekin ohjelmoija voi alkaa kokeilla Q#:a ja näin tehdessään alkaa ymmärtää mikä tekee kvanttilaskennasta puutiainen. Siitä ei ole apua vain ohjelmoijille, vaan koko kvanttifysiikan alalle. Kvanttiteorioiden selittäminen on päänsärky paitsi siksi, että kvanttimaailma on outo verrattuna "klassiseen" fysiikan useimmat ohjelmoijat tietävät, mutta myös siksi, että kvanttifysiikan käytännön seurauksia voi olla vaikea ymmärtää osoittaa.

"Sinun ei tarvitse osata fysiikkaa. Sinun ei tarvitse tietää kvanttimekaniikkaa."

Klassiset tietokoneet käsittelevät binaarisia absoluuttisia arvoja. 1s ja 0s. Pois tai päällä. Kvantti käsittelee todennäköisyyksiä, ja kvantin ohjelmointi tarkoittaa algoritmien luomista, jotka manipuloivat todennäköisyyksiä oikean ratkaisun tuottamiseksi. "Tiedät, että tämä aalto sisältää ratkaisuni. Nämä muut aallot eivät sisällä ratkaisua. Joten haluan, että ne aallot, kun ne häiritsevät, menevät pois", Svore selitti. ”Ja haluan, että ratkaisuni sisältävä aalto kasvaa todella suureksi. Lopuksi mittaamme kvanttitilat. Todennäköisyys saada korkea aalto ulos on todennäköisempää, mitä korkeampi aalto on. Näin suunnittelemme kvanttialgoritmeja."

Ymmärrätkö mitä Svore tarkoittaa?

Jos ei, älä pahastu. Sitä ei ole helppo ymmärtää, eikä sitä ole helppo osoittaa. Jopa ajatuskokeet, joiden tarkoituksena on yksinkertaistaa kvanttimekaniikkaa, kuten Schrodingerin kuuluisa kissa, voivat saada sinut raapimaan päätäsi.

Microsoft Quantum Q# -insinöörit
Microsoft

Microsoft toivoo, että Q# ja Quantum Katas tarjoavat käytännön vaihtoehdon aiheen lähestymiseen. "Sinun ei tarvitse osata fysiikkaa. Sinun ei tarvitse tietää kvanttimekaniikkaa. Itse asiassa myönnän, etten opiskellut kvanttimekaniikkaa ennen tutkijakoulua", Svore sanoi. "Astuin kvanttilaskentaan ilman, että olisin koskaan opiskellut fysiikkaa yliopistossa. Olen koulutukseltani tietojenkäsittelytieteilijä."

Kvanttiohjelmoinnista voisi tulla oivalluksen ikkuna antamalla ohjelmoijille mahdollisuus hyödyntää kvanttiteorioita käytännössä luopumatta työkaluista, joihin he ovat tottuneet luottamaan. Fysiikan oppimiseen ei tarvitse kuluttaa vuosia. Hyppää vain sisään, tee Q#:a käyttävä sovellus ja katso mitä tapahtuu.

Valmistautuminen huomiseen

Tämän päivän Q#:n käytännön käyttö on rajoitettua, koska siihen ei tarvita laitteistoa. Microsoft ei ole vielä rakentanut kvanttitietokonetta, ja vaikka olisikin, olisi liian alkeellista tehdä hyödyllisiä laskelmia. Mutta ohjelmoija voi tarkistaa työnsä suorittamalla Q#:n simuloidulla kvanttitietokoneella. Tämä mahdollistaa ohjelman koodaamisen kvantille siten, että voidaan kohtuullisesti odottaa, että kun laitteisto on saatavilla, se toimii.

Krysta Svore, Chris Granade, Microsoft Quantum Q#
Krysta Svore, periaatetutkimuspäällikkö Microsoftin Quantum Architectures and Computation -ryhmästä (vasemmalla) ja Chris Granade, tutkimusohjelmistokehitysinsinööri Microsoftilla.Matt Smith/Digital Trends

Se on ratkaisevan tärkeää. Kvanttitietokoneet eivät ole vain parempi nykyajan tietokone. Ne ovat pohjimmiltaan erilaisia. Ne vaativat erilaista laitteistoa, erilaisia ​​algoritmeja ja erilaista lähestymistapaa monimutkaisten ongelmien ratkaisemiseen. Vaikka aikamatkustaja ilmestyisi toimivan, vakaan miljoonan kubitin kvanttitietokoneen kanssa, meillä olisi vaikeuksia ottaa sitä käyttöön, aivan kuten roomalaiset tutkijat olisivat ymmällään, jos heille annettaisiin kannettava tietokone. 99,9 prosentilla nykyaikaisista kehittäjistä, ohjelmoijista ja tietojenkäsittelytieteilijöistä ei ole kokemusta kvanttien koodaamisesta, eikä heillä ole aavistustakaan siitä, miten kvanttifysiikka toimii. Perusasiat on esiteltävä ennen kuin voidaan tehdä vaikuttavampia löytöjä.

Opetus vie aikaa – mutta Microsoftin Q# on tärkeä askel eteenpäin.

Toimittajien suositukset

  • ChatGPT voi nyt luoda toimivia Windows 11 -avaimia ilmaiseksi
  • Microsoft on saattanut jättää huomiotta varoitukset Bing Chatin järjettömistä vastauksista
  • Microsoft varoittaa, että kiinalaiset hakkerit hyökkäävät kriittiseen Yhdysvaltain infrastruktuuriin
  • Voit nyt kokeilla avatareita ja virtuaalitiloja Microsoft Teamsissa
  • Microsoft Build 2023: suurimmat ilmoitukset tekoälystä, Windowsista ja muista