Первый интуитивно понятный язык программирования для квантовых компьютеров


Программирование квантовых компьютеров становится проще: компьютерные ученые из ETH Zurich разработали первый язык программирования, который можно использовать для программирования квантовых компьютеров так же просто, надежно и безопасно, как классические компьютеры. «Программирование квантовых компьютеров по-прежнему является проблемой для исследователей, — говорит Мартин Вечев, профессор компьютерных наук в лаборатории безопасных, надежных и интеллектуальных систем (SRI) ETH, — поэтому я так рад, что теперь мы можем продолжить традицию ETH Zurich в разработка квантовых компьютеров и языков программирования «

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

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

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

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

Выражение намерений программиста

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

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

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

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

Устранение ошибок за счет автоматического невычисления

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

Чтобы освободить память, классические компьютеры автоматически стирают эти значения. Ученые-компьютерщики называют это «сборкой мусора», поскольку лишние временные значения удаляются.

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

«Silq — это первый язык программирования, который автоматически определяет и стирает значения, которые больше не нужны», — поясняет Бихсель. Ученые-информатики добились этого, применив свои знания классических языков программирования: их метод автоматического невычисления использует только команды программирования, свободные от каких-либо специальных квантовых операций — они «qfree», как говорят Вечев и Бихсель.

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

«Наша команда из четырех человек сделала прорыв после двух лет работы благодаря сочетанию различных знаний в области языкового дизайна, квантовой физики и реализации. Если другие группы исследователей и разработчиков примут наши инновации, это будет большим успехом, «- говорит Бихсель.


Добавить комментарий