Ученые разработали первые отладочные инструменты для программ квантовых компьютеров

Квантовые вычисления

Любой человек, имеющий отношение к программированию, знает, что отладка написанного программного кода является самым длительным и самым тяжелым этапом цикла разработки программного обеспечения. Успех и скорость выполнения этого этапа во многом зависит как от опыта программиста, так и от наличия отладочных программных средств, позволяющих ставить точки прерывания, выполнять отлаживаемую программу по шагам и видеть значения используемых в программе переменных. И если в области вычислений на классических компьютерах ситуация с отладочными средствами достаточно хороша, то отладка программ, предназначенных для квантовых компьютеров, все еще является огромной проблемой. Не так давно исследователи из Принстонского университета на одной из международных конференций представили созданные ими отладочные инструменты для квантовых компьютеров, работа которых основана, в большинстве случаев, на методах статистического анализа из-за особенностей работы квантовых вычислительных систем.

Алгоритмы, подходящие для расчетов на квантовых компьютерах, называемые квантовыми алгоритмами, существуют уже давно в виде отдельных или целых систем абстрактных математических уравнений. И лишь в последнее время у специалистов в данной области стали появляться возможности их расчетов на реальных квантовых системах, к примеру, на системе компании IBM, доступной для использования в виде облачного сервиса. Однако, как показала практика, даже самые из опытных «квантовых программистов» порой допускают ошибки разного уровня при написании кода даже классических квантовых алгоритмов.

Создание отладочных средств для квантовых компьютеров сопряжено с рядом сложностей, обусловленных особенностями функционирования квантовых вычислительных систем.

Во-первых, во время работы квантовой программы невозможно отследить значения переменных, что является одной из основных функций любой отладочной системы. Это является следствием того, что любое измерение состояния квантовой системы разрушает это состояние, делая невозможной ее дальнейшую работу. Эта проблема решается в данном случае путем наблюдения за так называемыми «разрушенными квантовыми состояниями», а реализация такого метода вовлекает многократное исполнение квантовой программы, как на реальном квантовом компьютере, так и на эмуляторе, работающем в классическом компьютере. Изменение условий работы квантовой программы и анализ распределения квантовых состояний системы позволяют с высокой вероятностью определять значения квантовых переменных.

Второй проблемой является то, что даже при доступности значений квантовых переменных и значений квантового состояния всей системы, все эти данные являются столь многомерными, что их становится очень трудно правильно интерпретировать, что, в свою очередь, снижает ценность этих данных для квантовых программистов. Для решения этой проблемы используются методы статистического анализа, которые позволяют программисту сделать выводы о соответствии результатов работы программы с несколькими «наборами» квантовых состояний элементов вычислительной системы, которые могут находиться в состоянии суперпозиции и могут быть запутанными с другими элементами. Такой статистический анализ позволяет локализовать места возникновения ошибок в вычислениях и, как следствие, найти эти ошибки в коде квантовой программы.

Третья трудность заключается в том, что у современных квантовых программистов еще нет выработанных инструкций и руководств, которые описывают, что им необходимо проверять во время отладки квантовых программ и где именно. Как уже упоминалось выше, квантовые алгоритмы существуют сейчас в виде математических уравнений, и процесс программирования заключается в переводе этих уравнений в диаграммы схем квантовых вычислительных цепей, которые в процессе выполнения программы формируются внутри квантовой системы. «Все это походит на программирование первых классических компьютеров 50 лет назад» — пишут исследователи, — «И, в скором будущем будут разработаны правила, определяющие, какие образы и структуры в квантовых программах подлежат проверке программистами при отладке».

В опубликованной ими статье ученые приводят несколько примеров использования их средств для отладки ряда эталонных квантовых алгоритмов, включая вычисления факториала числа, поиск данных и т.п. При этом, особое внимание уделяется организации операций циклов, ветвления программы и так называемых операций «квантового отражения». Все это находится пока лишь на самом начальном уровне, но в будущем подобный инструментарий будет развит до такой степени, что его использование будет не сложнее, чем использование традиционных отладочных средств для классических компьютеров.

Share Button

Материалы по теме:

CRN++ — новый язык программирования молекулярных химических процессов
Синтетическая биология является относительно новой областью современной науки. Тем не менее, она уже начала оказывать влияние на другие области, включая биологию, нанопроизводство, медицину и ...
Нейроморфный «нос» от компании Intel различает запахи буквально с одной понюшки
Исследователи компании Intel совместно с учеными из Корнуэльского университета создали своего рода "электронный нос", способный запомнить специфический запах какого-то соединения и химиката за один ...
Обнаружено самое большое, 50-е по счету, число из ряда простых чисел Мерсенна
Представители организации Great Internet Mersenne Prime Search (GIMPS, не путайте это с названием популярной программы для редактирования изображений) объявили об открытии очередного самого большого ...
Создан первый кремниевый квантовый компьютер с двумя кубитами на основе фотонов света
Использование кремния, на базе которого построены практически все современные компьютерные чипы, позволяет упаковать на однокристальную схему сотни миллионов и миллиарды транзисторов. Этот же материал ...
Компания Intel сделала самый маленький квантовый вычислительный чип со спин-кубитами
Специалисты компании Intel, специализирующиеся в области квантовых вычислений, начали тестирование нового крошечного квантового чипа с кубитами на базе спин-эффекта. Этот чип был изготовлен на ...
You can skip to the end and leave a response. Pinging is currently not allowed.

Leave a Reply

Яндекс.Метрика