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

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

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

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

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

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

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

Как работает новый язык?

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

После того, как вы проделаете это какое-то время, кабели образуют набор битов — нулей и единиц — в зависимости от того, вставлены они или нет. Эта коробка представляет собой память классического компьютера. Программа для этого компьютера представляет собой последовательность инструкций о том, когда и как тянуть за кабели.

Теперь представьте себе вторую, точно такую ​​же коробку. На этот раз вы дергаете кабель и видите, что, когда он появляется, пара других кабелей протягивается внутрь. Понятно, что внутри коробки эти кабели как-то перепутаны друг с другом.

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

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

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

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

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

Читать TechDigest в Google

Читайте также

Главу Nvidia заподозрили в связях с предполагаемой китайской шпионкой

Главу Nvidia заподозрили в связях с предполагаемой китайской шпионкой

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

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

Claude научили «видеть сны», чтобы исправлять ошибки и лучше запоминать информацию

Claude научили «видеть сны», чтобы исправлять ошибки и лучше запоминать информацию

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

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

В Китае представили роботов-телеведущих с искусственным интеллектом и реалистичной кожей

В Китае представили роботов-телеведущих с искусственным интеллектом и реалистичной кожей

В Китае представили четырёхметрового робота Neo1, способного поднимать до 500 кг

В Китае представили четырёхметрового робота Neo1, способного поднимать до 500 кг

Робот Unitree G1 перегрелся во время подъёма на гору — его эвакуировали на носилках

Робот Unitree G1 перегрелся во время подъёма на гору — его эвакуировали на носилках

Квантовый компьютер сможет взломать RSA-2048 всего за три дня — потребуется 23 000 кубитов

Квантовый компьютер сможет взломать RSA-2048 всего за три дня — потребуется 23 000 кубитов

«Черный ящик»: как устроен главный свидетель авиакатастроф и почему его нельзя заменить облаком

«Черный ящик»: как устроен главный свидетель авиакатастроф и почему его нельзя заменить облаком

Комета Галлея возвращается: почему её появление в 1986 году разочаровало миллионы людей и чего ждать в 2061-м

Комета Галлея возвращается: почему её появление в 1986 году разочаровало миллионы людей и чего ждать в 2061-м

Япония отправляет аппарат к спутникам Марса: миссия MMX должна раскрыть тайну происхождения Фобоса и Деймоса

Япония отправляет аппарат к спутникам Марса: миссия MMX должна раскрыть тайну происхождения Фобоса и Деймоса

Почему дата-центры не строят в Арктике или на дне океана?

Почему дата-центры не строят в Арктике или на дне океана?

NASA предложило отправить своё имя на Титан вместе с космическим дроном Dragonfly

NASA предложило отправить своё имя на Титан вместе с космическим дроном Dragonfly

Китайские учёные охладили атомы почти до абсолютного нуля и установили новый рекорд

Китайские учёные охладили атомы почти до абсолютного нуля и установили новый рекорд

В Китае представили трёхколёсный суперкар MTPeak One-All с карбоновым кузовом

В Китае представили трёхколёсный суперкар MTPeak One-All с карбоновым кузовом

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

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