Сможет ли квантовый компьютер находить и исправлять собственные ошибки вычислений?

На приведенной здесь иллюстрации вашему вниманию демонстрируется необходимость использования девяти квантовых битов для фиксации состояния одного квантового бита с целью обеспечения работы системы коррекции ошибок. В 1994 году Питер Шор, математик из Bell Labs (Нью-Джерси), доказал возможность решения квантовым компьютером определенных задач с экспоненциально большей скоростью по сравнению с классическими компьютерами. Возникал вопрос о осуществимости построения квантового компьютера. Скептики утверждали, что квантовые состояния слишком уязвимы: окружающая среда неизбежно нарушит информацию в квантовом компьютере, лишив его квантовых свойств. В 1995 году Шор предложил решение. Классические схемы осуществляли измерение отдельных битов для выявления ошибок, но такой подход не был применим к квантовым битам («кубитам»), поскольку любое измерение разрушало бы квантовое состояние и, соответственно, вычисления.

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

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

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

Так как же Шору удалось разгадать загадки, с которыми он столкнулся? Он использовал дополнительную сложность квантовой механики в своих интересах.

Повтор повтор повтор

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

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

Вместо этого Шор нашел способ определить, находятся ли три физических кубита в одном и том же состоянии. Если один из кубитов отличается, это означает, что произошла ошибка.

Задача мало чем отличается от решения простой логической головоломки. Вам даны три шара, которые выглядят одинаково, но один из шаров может иметь другой вес. У вас также есть простые весы. Какие измерения позволят вам определить, есть ли среди шаров отличающийся, и если да, то какой именно?

Ответ состоит в том, чтобы сначала взвесить два шара, затем заменить один из шаров оставшимся шаром и снова взвесить. Если весы были сбалансированы оба раза, то все шары идентичны. Если весы были сбалансированы только один раз, то один из замененных шаров отличается. Если вес оба раза отличается, то виноват третий шар.

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

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

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

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

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

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

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

Устойчивость к ошибкам

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

Код Шора также не учитывал, как он будет управлять квантовым компьютером, построенным из его логических кубитов. «Нам нужен какой-то способ выполнять вычисления с закодированными состояниями без потери этой защиты. И это непросто», – сказал Дэниел Готтесман, ученый-теоретик из Университета Мэриленда.

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

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

Однако создание квантового компьютера ещё не близко. Монро считает, что преимущества, предоставляемые исправлением ошибок, не будут заметны до тех пор, пока квантовые компьютеры не достигнут примерно 100 логических кубитов. Для такой машины потребуется около 1300 физических кубитов, поскольку каждому логическому кубиту нужно девять физических кубитов плюс четыре вспомогательных (в настоящее время самый крупный квантовый процессор, недавно анонсированный IBM Eagle, имеет 127 физических кубитов). На данном этапе «мы собираемся начать создавать фабрику кубитов, а затем внедрить исправление ошибок», – сказал Монро. «Но не раньше».

Автор: @LevPos
Источник: https://habr.com/