Языки программирования для квантового компьютера

 

К настоящему времени уже появились первые языки программирования для квантового компьютера, в частности, QCL (Quantum Computation Language). Как пишут разработчики языка в документации*, квантовые вычисления сейчас все еще рассматривают как специальную дисциплину в рамках теоретической физики, несмотря на то что она имеет много общего с классической информатикой. Одна из причин того, что сообщество программистов медленно принимает квантовые вычисления — запутывающее разнообразие формализма (дираковские обозначения, матрицы плотности, гейты, операторы и т. д.). Все эти теоретические инструменты не имеют ничего общего с классическими языками программирования, а изложение самих основ квантовых вычислений часто слишком усложнено. В результате программисты испытывают трудности при моделировании квантовых логических операций знакомыми им средствами. QCL пытается восполнить этот пробел: это архитектурно независимый язык программирования высокого уровня для квантовых компьютеров с синтаксисом, заимствованным от таких классических языков, как C или Паскаль. Этот синтез теории квантовых вычислений и обычных языков программирования обеспечивает моделирование и полное выполнение квантовых алгоритмов (включая классические компоненты) в одном совместимом формализме.

 

* http://tph.tuwien.ac.at/~oemer/qcl.html;

http://www.vcpc.univie.ac.at/~ian/hotlist/qc/programming.shtml.

 

По аналогии с классической машиной Тьюринга*, в квантовых вычислениях рассматривается квантовая машина Тьюринга. Классическая (булева) логика обобщается квантовыми гейтами, а квантовым унитарным операторам ставятся в соответствие частично рекурсивные функции.

 

* Машина Тьюринга (Turing machine) получила свое название по имени английского математика Алана Тьюринга, предложившего в середине 30-х годов ХХ века способ формального задания алгоритмов с помощью абстрактной (воображаемой) вычислительной машины. Эта машина представляет собой простейшую модель вычислительной машины с линейной памятью, которая, согласно формальным правилам, преобразует входные данные в выходные с помощью последовательности элементарных логических операций. Несмотря на простоту машины Тьюринга, на ней можно имитировать любую программу для обычных компьютеров.

 

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

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

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

 

* http://science.compulenta.ru//42507/?phrase_id=3888807.

 

«Группа ученых из Французского центра национальных научных исследований разработала новый метод компрессии звука, который можно будет использовать в квантовых компьютерах», — сообщает газета «News Factor».

Джей Вон Ли, а также его коллеги Дмитрий и Алексей Шепелянские утверждают, что «классические методы анализа аудио не применимы к квантовым сигналам». И подчеркивают при этом: «На данном этапе очень важно найти метод, который удовлетворял бы новым требованиям квантовой компьютерной техники».

Первые результаты уже достигнуты. В первом эксперименте удалось воспроизвести фразу приветствия компьютера HAL из знаменитой «Космической Одиссеи 2001 года» Артура Кларка («Good afternoon, gentlemen. I am a HAL 9000 computer. I became operational at the H. A. L. lab in Urbana, Illinois, on the 12th of January»). По словам исследователей, полученные ими в результате расчетов данные демонстрируют, что звуковые сигналы, сохраненные в квантовой памяти, могут свободно распознаваться настоящими квантовыми компьютерами.

Как говорит Дмитрий Шепелянский, 50-кубитный квантовый компьютер способен вместить в себя информацию, превосходящую по объему ту, что хранят сейчас все современные суперкомпьютеры вместе взятые.

Объясняя теорию кодирования звука в квантовых компьютерах, Дмитрий Шепелянский отметил, что сгенерированный ими голос HAL состоял из 18 кубитов и являл собой «волновую функцию квантового компьютера, которая была „записана“ в память квантового регистра, сформированного кубитами».

Разработанный группой Шепелянского метод «квантового преобразования Фурье» очень близок по принципу своего действия к кодированию обычного формата mp3 — «быстрому преобразованию Фурье». Ученым удалось произвести числовое моделирование этого процесса, что позволило получить оптимальный алгоритм декодирования зашифрованного звукового сигнала в квантовой технике и соответственно добиться оптимального звучания восстановленного сигнала.