Na MITu vytvořili nový programovací jazyk pro kvantové počítače

Programování kvantových počítačů vyžaduje rozumět jejich základní fyzikální podstatě – tedy tomu, že jednotlivé kvantové bity jsou různě provázané (zapletené, entanglement). Vyřazení jednoho qubitu tak může změnit hodnotu jiných qubitů, respektive zničit zde uložená data. Programátoři kvantových algoritmů museli až dosud tyto závislosti složitě sledovat.
Vědci z MITu za účelem pomoci vývojářům nyní vytvořili vlastní programovací jazyk pro kvantové výpočty nazvaný Twist. Tento jazyk dokáže popsat a ověřit, které části dat jsou v kvantovém programu zapleteny, a to prostřednictvím syntaxe, které rozumí i klasický programátor. Jazyk podle svých tvůrců používá koncept „čistoty“ (purity), který vynucuje nepřítomnost entanglementu a vede přitom k intuitivnějším programům, v ideálním případě s menším počtem chyb. Programátor může například s pomocí Twistu zaručit, že dočasná data generovaná programem nejsou provázána s výstupem programu, takže je lze bezpečně zahodit.
„Náš jazyk Twist umožňuje vývojáři psát bezpečnější programy pro kvantové počítače tím, že explicitně stanoví, kdy nesmí být qubit provázán s jiným,“ uvedl Charles Yuan, doktorand na MIT a hlavní autor příslušné studie. „Protože pochopení kvantových programů vyžaduje porozumění entanglementu, doufáme, že Twist otevírá cestu k jazykům, které programátorům zpřístupní jedinečné možnosti kvantových počítačů.“
Kvantový počítač si v logice Twistu můžeme představit jako černou skřínku, ze které koukají kabely odpovídající jednotlivým bitům, respektive qubitům. Chceme-li pro další manipulaci vytáhnout jeden kabel, můžeme přitom nezamýšleně vytáhnout i další – protože jsou různě překřížené, a to ne nutně jen ty sousední. Do krabice programátor ovšem (přímo) nevidí a není-li se provázaností jist, musel až dosud postupovat metodou pokus-omyl. Twist cílí právě na tento problém.
Vědci navrhli Twist tak, aby umožnil analyzovat programy pro známé kvantové algoritmy a identifikovat chyby v jejich implementacích. Aby vyhodnotili návrh Twistu, upravili testované programy (implementace známých kvantových algoritmů) tak, že do nich vnesli nějakou chybu, která by byla pro lidského programátora relativně nenápadná. Potvrdilo se, že Twist dokáže tyto chyby automaticky identifikovat a programy označit jako vadné.
Programy „ošetřené“ pomocí Twistu měly oproti stávajícím technikám kvantového programování méně než 4% režii, čili za ošetření bezpečnosti/funkčnosti se výkonem prakticky neplatí.
Dalším krokem má být využití systému Twist k vytvoření kvantových programovacích jazyků vyšší úrovně. Většina dnešních kvantových programovacích jazyků stále připomíná assembler. Základem jsou nízkoúrovňové operace, nepracuje se s abstraktnějšími entitami, jako jsou datové typy nebo funkce.

Charles Yuan, Christopher McNally, Michael Carbin, Twist: Sound Reasoning for Purity and Entanglement in Quantum Programs. https://popl22.sigplan.org/details/POPL-2022-popl-research-papers/30/Twist-Sound-Reasoning-for-Purity-and-Entanglement-in-Quantum-Programs
Zdroj: Massachusetts Institute of Technology / TechXplore.com

Exit mobile version