Kvantu datori tik tikko pastāv — lūk, kāpēc mēs tiem rakstām valodas

IBM izpēte | Flickr





Kvantu datori joprojām ir ārkārtīgi elementāri, un dažās progresīvās pētniecības laboratorijās tie lielākoties joprojām ir intriģējošas rotaļlietas. Tas nav atturējis cilvēkus izstrādāt viņiem jaunas programmēšanas valodas.

Jaunākais nāk no Microsoft, kas ir atklājis Q# (izrunā Q asu) un dažus saistītos rīkus, lai palīdzētu izstrādātājiem to izmantot programmatūras izveidei. Tas pievienojas pieaugošajam citu augsta līmeņa kvantu programmēšanas valodu, piemēram, QCL un Quipper, sarakstam.

Bet, ņemot vērā, ka praktiski nevienam nav kvantu datora, kāda jēga?



Krysta Svore, Microsoft kvantu skaitļošanas galvenā pētniecības vadītāja, saka, ka valodas ir vajadzīgas, jo tās, kas rakstītas mūsdienu datoriem, nederēs kvantu datoriem. Klasiskie datori kodē informāciju binārā formā kā vieninieku un nulles secību, turpretim kvantu datori izmanto kvantu bitus jeb kubitus, kas var efektīvi kodēt vienu un nulli vienlaikus.

Tas rada milzīgu daudzumu paralēlas apstrādes jaudas un izskaidro, kāpēc ir tik liela interese par centieniem izveidot iekārtas. Cerams, ka kvantu datori palīdzēs virzīt ievērojamus sasniegumus jomās, sākot no materiālzinātnes līdz mākslīgajam intelektam (skatiet A Startup Uses Computing to Boost Machine Learning).

Taču, lai pilnībā izmantotu šo spēku vai pat izpētītu, kas ir iespējams, izstrādātājiem būs nepieciešamas kvantu valodas, lai palīdzētu viņiem izveidot programmatūru, kas pilnībā izmanto datoru iespējas.



Programmēšanas valodas klasiskajiem datoriem ir izstrādātas tā, lai izstrādātājiem nebūtu jāzina, kā darbojas centrālais procesors. Šobrīd mērķis ir izveidot augsta līmeņa kvantu programmēšanas valodas, kas arī pasargā izstrādātājus no kvantu aparatūras sarežģītības.

Kvantu skaitļošanas dīvainības rada ierobežojumus, kas nepastāv klasiskajās programmēšanas valodās. Viens piemērs: kvantu programmās nedrīkst būt cilpas, kas atkārto instrukciju secību; tiem ir jānotiek tieši līdz beigām.

Lai risinātu šādas problēmas, Q# darbojas kopā ar pāris klasiskajām valodām. Izstrādātāji bez kvantu kompetences var rakstīt savas galvenās programmas pazīstamās valodās un pēc tam izmantot Q# programmu, kad vēlas izmantot kvantu apstrādes jaudu.



Saistīts stāsts Ja tas izpildīs savu solījumu, kvantu mašīnmācība varētu pārveidot AI.

Lai gan tai vēl nav sava kvantu datora, Microsoft ir izlaidusi simulatorus, kas ļauj izstrādātājiem pārbaudīt programmas, kas izstrādātas Q# galddatoros vai savā Azure mākoņdatošanas pakalpojumā. IBM arī ir piedāvājums simulatori, un daži laimīgie izstrādātāji var pat palaist savu kodu tieši savā kvantu mašīnā.

Merilendas universitātes kvantu programmēšanas valodu eksperts Xiaodi Wu uzskata, ka jaunas augsta līmeņa kvantu valodas ir loģisks nākamais solis. Viņš saka, ka tas pavērs durvis lielākam skaitam cilvēku, kas izmanto šīs mašīnas, kas varētu radīt jaunas izpētes jomas kvantu pētniecības kopienai.

Ir bijuši daži aicinājumi izveidot jaunas kvantu valodas kā atvērtā koda avotu, lai plašāka izstrādātāju kopiena varētu piedāvāt ieguldījumu. Ideja ir tāda, ka tas varētu dot kvantu skaitļošanai tādu pašu stimulu, kādu Linux attīstība sniedza internetam.



Valodu izstrādātājiem ir arī cits mērķis: studenti domā par turpmāko karjeru. Jaunām valodām, kas padara kvantu skaitļošanu pieejamāku, vajadzētu piesaistīt vairāk cilvēku šajā jomā. Mēs vēlamies attīstīt kvantu darbaspēku, saka Svore, jo kvantu skaitļošana atvērs pilnīgi jaunu ekonomiku, un mums būs vajadzīgi cilvēki, kas ir kvantu programmētāji, algoritmu izstrādātāji un inženieri.

paslēpties