Найти тему
Джино.Журнал

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

Оглавление

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

Программирование квантовых компьютеров становится проще: компьютерные специалисты из ETH Zurich разработали первый язык программирования, который можно использовать для программирования квантовых компьютеров так же просто, надежно и безопасно, как классические компьютеры.

Специалисты по вычислительной технике в ETH Zurich разработали первый квантовый язык программирования, который позволяет элегантно, просто и безопасно решать сложные вычисления. Фото: ETH Zurich
Специалисты по вычислительной технике в ETH Zurich разработали первый квантовый язык программирования, который позволяет элегантно, просто и безопасно решать сложные вычисления. Фото: ETH Zurich

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

“Наш язык квантового программирования Silq позволит программистам лучше использовать потенциал квантовых компьютеров, в отличие от существующих языков, поскольку его код более компактен, быстрее, интуитивнее и проще для понимания программистами” - добавляет Мартин.

На этой неделе Вечев представил Silq другим экспертам в этой области на конференции PLDI 2020, посвященной языкам программирования. Чтобы облегчить обсуждение и дальнейшее развитие, он и его команда также выпустили Silq на своем собственном веб-сайте (silq.ethz.ch).

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

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

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

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

Silq создан раскрыть потенциал квантовых компьютеров

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

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

Silq позволяет использовать потенциал квантовых компьютеров лучше, чем с существующими языками. Мартин Вечев, профессор компьютерных наук
Silq позволяет использовать потенциал квантовых компьютеров лучше, чем с существующими языками. Мартин Вечев, профессор компьютерных наук

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

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

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

Устранение ошибок, благодаря автоматическому вычислению

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

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

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

“Silq - это первый язык программирования, который автоматически идентифицирует и стирает значения, которые больше не нужны”, - объясняет Бичсел.

Ученые-компьютерщики добились этого, применив свои знания классических языков программирования: в их автоматическом методе используются только те команды программирования, которые свободны от каких-либо специальных квантовых операций - они “qfree” (свободны от Q), как говорят Бичсел и Вечев.

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

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