Limbajul de programare cuantic de la Microsoft, Q#, te-ar putea ajuta să înveți fizica cuantică

Krysta Svore Microsoft Q# Codificare de calcul cuantic
Microsoft

Calculatoarele sunt pe cale să devină ciudate.

Cuprins

  • Făcând misterul accesibil
  • O comunitate cuantică
  • Pregătirea pentru mâine

După zeci de ani ca teorie, primele computere cuantice se află acum în câteva laboratoare selectate de pe tot globul. Sunt rudimentare și, probabil, mai puțin practice decât primele computere electronice, cum ar fi ENIAC de 50 de tone. Cu toate acestea, cercetătorii fac progrese. IBM, Google și Intel fac progrese pe hardware cuantic, iar un computer cuantic practic se simte în sfârșit ca o realitate a viitorului apropiat în loc de un subiect pentru science fiction.

Aceasta este o oportunitate. Este, de asemenea, o problemă. Fizica cuantică este un tărâm ciudat al teleportarii și al probabilității care nu respectă regulile cu care suntem familiarizați. Majoritatea oamenilor nu înțeleg mecanica cuantică, iar asta îi include pe programatori, oamenii care vor trebui să pună în practică calculatoarele cuantice.

Legate de

  • Piesele pentru reparații de suprafață sunt acum disponibile prin Microsoft Store
  • Microsoft Teams primește noi instrumente AI - și sunt gratuite
  • Microsoft tachinează revizuirea designului aplicației majore Windows 11

Microsoft are un plan pentru a-i educa.

Făcând misterul accesibil

Orice dezvoltator care dorește să învețe un nou limbaj de programare, cum ar fi C# sau Javascript, dorește să folosească imediat lecțiile sale. Cu toate acestea, începutul calculului cuantic poate face acest lucru dificil. Crearea unui program pentru multe dispozitive cuantice este foarte asemănătoare cu încercarea de a scrie în cod binar de mașină – cu excepția faptului că și mai dificil, deoarece mecanica cuantică. Acesta nu este doar un domeniu bine înțeles, dar greu de tradus. Este un domeniu de studiu în care unele elemente fundamentale rămân necunoscute.

Microsoft Quantum Q#, codare pe un computer
Matt Smith/Tendințe digitale

Asta include motivul De ce calculatoarele cuantice funcționează. „Ceea ce avem în calculul cuantic sunt dovezi că computerele cuantice pot depăși computerele clasice.” a spus Krysta Svore, Principle Research Manager la grupul Microsoft Quantum Architectures and Computation. „Sfântul Graal în domeniul nostru ar fi o adevărată dovadă matematică a acestui lucru.”

Calculul cuantic este atât de nou și atât de diferit de orice înainte, încât până și cercetătorii de top rămân în întuneric despre elementele importante și fundamentale.

Calcul cuantic 101

Învățarea programatorilor să codifice pentru quantum pe hardware real este exclusă deocamdată. Limbajul de programare cuantic al Microsoft, Q#, ocolește această problemă, oferind acces simplu la instrumentele necesare pentru a începe programarea. Asta înseamnă să facem Q# cât mai familiar și accesibil, chiar dacă oamenii de știință continuă să facă descoperiri în fundamentele modului în care funcționează computerele cuantice.

Q# nu este ascuns în spatele unui zid de documentație îngrozitoare și instalatori prost explicați. Programatorii îl pot accesa prin Visual Studio, cel mai popular mediu de dezvoltare din lume. Și programatorii nu au nevoie de acces la un computer cuantic pentru a-l folosi.

În schimb, ei pot programa ca și cum codul lor ar rula pe un dispozitiv cuantic real, dar apoi îl pot rula pe o simulare virtuală. Acest lucru este posibil deoarece computerul cuantic nu este tratat ca un sistem complet, independent, ci în schimb ca un accelerator care este apelat de un computer clasic care rulează un computer clasic cod.

„Ne imaginăm că computerul cuantic este o altă resursă în Azure, pe lângă GPU, FPGA, ASIC, de utilizat. Azure devine toată această țesătură care include în calculul său un computer cuantic”, a spus Svore pentru Digital Trends.

quantum microsoft q codificare python interop jpg 3605
eșantioane de codificare quantum microsoft q github jpg 3604
quantum microsoft q codificare 3603
quantum microsoft q codificare python simulare jpg 3602

Majoritatea programatorilor sunt familiarizați cu utilizarea hardware-ului special creat pentru sarcini specifice, iar cei mai mulți sunt familiarizați cu apelarea resurselor din cloud. Activarea Q# nu este diferită de acele sarcini binecunoscute. Hardware-ul cuantic ar putea fi exotic și rar, dar mediul de programare oferit de Microsoft pentru Q# este exact ce ai vedea astăzi dacă te-ai uita peste umărul unui programator cel mult Fortune 500 companiilor. Asta îl face mult mai puțin intimidant.

„Viziunea supremă este că utilizatorul nu spune „Ok, acum trebuie să iau această aplicație și să o rulez pe această parte a procesorului, această parte aici, această parte acolo”, a spus Svore. „Este la fel și cu calculul cuantic. Vrem ca acceleratorul să fie perfect.”

O comunitate cuantică

Programatorii se pot prezenta în Q# printr-un set de tutoriale gratuite pe care Microsoft le numește Quantum Katas. Fiecare lecție implică „o secvență de sarcini pe un anumit subiect de calcul cuantic” pe care programatorii sunt provocați să o rezolve. Găsirea soluției corecte este scopul, dar călătoria este la fel de importantă. Katas-urile nu sunt menite să fie rezolvate într-o singură trecere. Ei predau prin încercare și eroare, introducând programatorii la elementele de bază ale programării cuantice pe parcurs.

Q# și Quantum Katas aduc un nivel transformator de feedback programării cuantice

Chris Granade, un inginer de dezvoltare software de cercetare la Microsoft, le-a văzut singur în timp ce participa la o sesiune de tutoriale găzduită de Universitatea de Tehnologie din Sydney. „A fost cu adevărat uimitor să urmăresc că oamenii pot trece de la zero cunoștințe în domeniul cuantic, la scrierea lor”, a spus el pentru Digital Trends. „Ceea ce a fost transformator, a fost că atunci când oamenii au avut o neînțelegere, nu au suferit cu ea. Ei puteau rula kata-urile, puteau vedea că a primit răspunsul greșit și acel feedback i-a făcut pe oameni să înțeleagă într-un mod practic.”

Această experiență practică transformă imediat calculul cuantic dintr-un concept teoretic într-o realitate practică, ceea ce face toată diferența în modul în care oamenii îl abordează. Este posibil ca programatorii să nu creeze obiecte fizice, dar sunt obișnuiți să vadă feedback la fel ca orice alt artizan. Ei creează un lucru și funcționează - sau nu. Q# și Quantum Katas aduc acel nivel de feedback în programarea cuantică, oferind oricărei persoane interesate șansa de a cerceta și de a înțelege ce face posibilă calculul cuantic.

Calcul cuantic

Schimbarea pe care Granade a văzut-o în persoană nu se întâmplă doar în sălile de clasă. Kitul de dezvoltare Quantum, din care Q# face parte, poate fi descărcat de oricine sub o licență open-source. Dezvoltatorii interesați nu numai că pot începe să-l folosească, ci pot contribui activ la comunitate. Svore a declarat pentru Digital Trends că descărcările QDK se numără în „cele mai mari de zeci de mii”, iar participanții au adăugat deja „o mână de contribuții substanțiale”, inclusiv noi algoritmi și documentație.

Deși este încă o nișă, acest kit de dezvoltare cuantică plasează bara de intrare suficient de jos încât chiar și un novice programatorul poate începe să experimenteze cu Q# și, făcând acest lucru, să înțeleagă ce face calculul cuantic bifă. Acest lucru este util nu doar pentru programatori, ci și pentru întregul domeniu al fizicii cuantice. Explicarea teoriilor cuantice este o durere de cap majoră nu numai pentru că lumea cuantică este ciudată în comparație cu cea „clasică” fizică știută de majoritatea programatorilor, dar și pentru că implicațiile practice ale fizicii cuantice pot fi dificil de demonstra.

„Nu trebuie să știi fizica. Nu trebuie să cunoașteți mecanica cuantică.”

Calculatoarele clasice se ocupă de absolute binare. 1 și 0. Oprit sau pornit. Quantum se ocupă de probabilități, iar programarea pentru cuantică înseamnă crearea de algoritmi care manipulează probabilitățile pentru a produce soluția corectă. „Știi că acest val include soluția mea. Aceste alte valuri nu includ o soluție. Așadar, vreau ca acele unde, atunci când interferează, să dispară”, a explicat Svore. „Și vreau ca valul care include soluția mea să devină foarte mare. La final, măsurăm stările cuantice. Probabilitatea de a scoate valul înalt este mai probabilă cu cât acel val este mai mare. Așa proiectăm algoritmi cuantici.”

Înțelegi ce înseamnă Svore?

Dacă nu, nu te simți rău. Nu este ușor de înțeles și nu este ușor de demonstrat. Chiar și experimentele gândite menite să simplifice mecanica cuantică, cum ar fi celebra pisică a lui Schrodinger, te pot lăsa să te zgârie.

Ingineri Microsoft Quantum Q#
Microsoft

Microsoft speră că Q# și Quantum Katas vor oferi o alternativă practică pentru abordarea subiectului. „Nu trebuie să știi fizica. Nu trebuie să cunoașteți mecanica cuantică. De fapt, recunosc că nu am luat mecanica cuantică până la absolvire”, a spus Svore. „Am intrat în calculul cuantic fără să studiez vreodată fizica la facultate. Sunt informatician prin formare.”

Programarea cuantică ar putea deveni o fereastră de perspectivă, oferind programatorilor șansa de a folosi în practică teoriile cuantice fără a renunța la instrumentele pe care au ajuns să se bazeze. Nu este nevoie să petreci ani de zile învățând fizica. Doar săriți, creați o aplicație care folosește Q# și vedeți ce se întâmplă.

Pregătirea pentru mâine

Utilizarea practică de astăzi a Q# este limitată, deoarece nu există hardware la care să apelați. Microsoft nu a construit încă un computer cuantic, și chiar dacă ar fi, ar fi prea primitiv pentru a efectua calcule utile. Dar un programator își poate verifica munca rulând Q# pe un computer cuantic simulat. Acest lucru face posibilă codificarea unui program pentru quantum cu o așteptare rezonabilă că, odată ce hardware-ul este disponibil, acesta va funcționa.

Krysta Svore, Chris Granade, Microsoft Quantum Q#
Krysta Svore, Principle Research Manager la grupul Microsoft Quantum Architectures and Computation (stânga) și Chris Granade, inginer de dezvoltare software de cercetare la Microsoft.Matt Smith/Tendințe digitale

Asta este crucial. Calculatoarele cuantice nu sunt doar un computer modern mai bun. Ele sunt fundamental diferite. Acestea necesită hardware diferit, algoritmi diferiți și o abordare diferită pentru rezolvarea problemelor complexe. Chiar dacă un călător în timp ar apărea cu un computer cuantic funcțional, stabil, de milioane de qubit, am avea dificultăți în a-l folosi, la fel cum savanții romani ar fi perplexi dacă ar primi un laptop. 99,9% dintre dezvoltatorii, programatorii și oamenii de știință în computer moderni nu au experiență în codificarea cuantice și nu au nicio idee despre cum funcționează fizica cuantică. Elementele de bază trebuie introduse înainte de a putea fi făcute descoperiri mai impresionante.

Predarea asta va dura timp – dar Q# de la Microsoft este un pas important înainte.

Recomandările editorilor

  • ChatGPT poate genera acum chei funcționale pentru Windows 11 gratuit
  • Este posibil ca Microsoft să fi ignorat avertismentele despre răspunsurile dezordonate ale Bing Chat
  • Hackerii chinezi vizează infrastructura critică din SUA, avertizează Microsoft
  • Acum puteți încerca avatare și spații virtuale în Microsoft Teams
  • Microsoft Build 2023: cele mai mari anunțuri în AI, Windows și multe altele