Почему протоколы исправления ошибок работают только тогда, когда частота ошибок уже значительно ниже?


15

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

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

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

Почему это? Почему невозможно снизить частоту появления ошибок, которая еще не очень низкая?


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

1
@Discretelizard не так много, что есть вообще, может быть, но пороги обычно очень низкие (или высокие с точки зрения точности). Почему это так?
GLS

Ответы:


4

Мы хотим , чтобы сравнить состояние выхода с некоторым идеальным состоянием, так как обычно, верность, F(|ψ,ρ) используется как это хороший способ сказать , насколько хорошо возможные результаты измерений ρ сравнить с возможными результатами измерений |ψ , где |ψ является идеальным выходным состоянием и ρ это достигается (потенциально смешанное) состояние после некоторого процесса шума. Как мы сравнения состояний, это

F(|ψ,ρ)знак равноψ|ρ|ψ,

Описывая как процессы коррекции шума и ошибок с помощью операторов Крауса, где является шум канал с операторами Kraus Н я и Е является исправление ошибок канала с Kraus операторов Х J , состояние после того, как шум ρ ' = Н ( | г | ψ | ) = i N i | г | г | | N i и состояние после исправления шума и ошибок ρ = ENNяЕЕJ

ρ'знак равноN(|ψψ|)знак равноΣяNя|ψψ|Nя
ρзнак равноЕN(|ψψ|)знак равноΣя,JЕJNя|ψψ|NяЕJ,

Верность этого задается

F(|ψ,ρ)=ψ|ρ|ψ=i,jψ|EjNi|ψψ|NiEj|ψ=i,jψ|EjNi|ψψ|EjNi|ψ*=i,J|ψ|ЕJNя|ψ|2,

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

F(|ψ,ρ)>F(|ψ,ρ).
Поскольку верность положительна, это можно переписать какi,j| Г || EjNi| г || 2>я| Г || Nя| г || 2.
i,j|ψ|EjNi|ψ|2>i|ψ|Ni|ψ|2.
i,j|ψ|EjNi|ψ|2>i|ψ|Ni|ψ|2.

Расщепление в корректируемой части, Н с , для которых ЕН с ( | г | г | | ) = | г | г | | и не-корректируемой части, Н н с , для которых ЕН п с ( | г | г | | ) = σ . Обозначая вероятность исправляемой ошибки как P cNNcENc(|ψψ|)=|ψψ|NncENnc(|ψψ|)=σPcи не поддающийся исправлению (то есть слишком много ошибок произошло, чтобы восстановить идеальное состояние), поскольку дает i , j | Г | | E j N i | г | | 2 = Р с + Р п сг | | σ | г | P с , где равенство будет предполагаться, предположив ф | σ | г | = 0Pnc

i,j|ψ|EjNi|ψ|2=Pc+Pncψ|σ|ψPc,
ψ|σ|ψ=0, Это ложное «исправление» проецирует на ортогональный результат к правильному.

Для кубитов с (равной) вероятностью ошибки на каждом кубите как p ( примечание : это не то же самое, что параметр шума, который должен использоваться для вычисления вероятности ошибки), вероятность наличия Исправляемая ошибка (при условии, что n кубитов были использованы для кодирования k кубитов, с учетом ошибок вплоть до t кубитов, определенных синглтоновой границей n - k 4 t ), равна P cNпNКTN-К4T

псзнак равноΣJT(NJ)пJ(1-п)N-Jзнак равно(1-п)N+Nп(1-п)N-1+12N(N-1)п2(1-п)N-2+О(п3)знак равно1-(NT+1)пT+1+О(пT+2)

Nязнак равноΣJαя,JпJпJ χJ,Кзнак равноΣяαя,Jαя,К*

Σя|ψ|Nя|ψ|2знак равноΣJ,КχJ,Кψ|пJ|ψψ|пК|ψχ0,,0,
χ0,0знак равно(1-п)N

1-(NT+1)пT+1(1-п)N,
ρ«1ппT+1п

ппT+1пNзнак равно5Tзнак равно1п0,29

Редактировать из комментариев:

пс+пNсзнак равно1

Σя,J|ψ|ЕJNя|ψ|2знак равноψ|σ|ψ+пс(1-ψ|σ|ψ),

1-(1-ψ|σ|ψ)(NT+1)пT+1(1-п)N,

1

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


Я думаю, что вы пытаетесь объяснить, до какой частоты физических ошибок вероятность исправляемых ошибок низкая? Обратите внимание, что пороги отказоустойчивости меньше (порядки величин для многих кодов)
М. Стерн,

@ M.Stern Итак, это (очень грубая) оценка того, когда исправление ошибок «уменьшает ошибку» (т. Е. Увеличивает точность воспроизведения на некоторое количество после применения шума), так что это определенно не отказоустойчивый порог, нет. Выполнение исправления ошибок могло бы увеличить точность после шума на некоторое количество, но оно не сбросило его или что-либо еще, поэтому точность будет просто уменьшаться (и ошибки (и)) распространятся, даже если исправление ошибок постоянно применяется, показывая исправление ошибок само по себе недостаточно для отказоустойчивости
Mithrandir24601

Хм, glS придется судить, ответит ли это на вопрос. В любом случае это интересно и хорошо написано. Таким образом, вы предполагаете, что состояние ортогонально, если ошибки были неисправимы, верно? (Это, безусловно, разумно во многих сценариях.) Другой крайний случай будет, когда существует вероятность 50/50 логической ошибки в случае неисправимых ошибок.
М. Штерн,

@ M.Stern Спасибо! Да, либо эти состояния ортогональны, либо принимают нижнюю границу. Поскольку сравнивать одну нижнюю границу с другой не очень хорошая идея, я исходил из того, что они ортогональны. Если есть какие-то правки, которые, по вашему мнению, было бы полезно добавить в конец этого, отрабатывайте! Хм ... Я думаю, что вероятность логической ошибки 50/50 привела бы к тому же результату, только с разными префакторами в конце
Mithrandir24601

4

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

Квантовая коррекция ошибок (QEC) представляет собой (группу) довольно сложный алгоритм (ы), который требует много действий (ворот) на кубитах и ​​между ними. В QEC вы в значительной степени соединяете два кубита с третьим вспомогательным кубитом (вспомогательным) и переносите информацию, если два других равны (в некотором конкретном отношении) в этот третий кубит. Затем вы читаете эту информацию из ancialla. Если он говорит вам, что они не равны, вы действуете на эту информацию (применить исправление). Так как же это может пойти не так, если наши кубиты и врата не идеальны?

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

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

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


4

Классическая версия

000000111111
01010.
п

п>12

01010

Квантовая версия

ИксZ

|ψNN/2N/2Nдемонстрация клонирования|ψ


2

Мне кажется, что есть две части этого вопроса (еще одна связана с названием, другая связана с самим вопросом):

1) На какой уровень шума эффективны коды с исправлением ошибок?
2) С какой степенью несовершенства ворот мы можем реализовать отказоустойчивые квантовые вычисления?

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

На 1)

1/2е(п)знак равноп

График физических и логических ошибок

п1/2ппО(п)О(п2)

На 2)

Мы хотим выполнить сколь угодно длинные квантовые вычисления с помощью квантового компьютера. Однако квантовые ворота не идеальны. Для того, чтобы справиться с ошибками, внесенными затворами, мы используем коды квантовой коррекции ошибок. Это означает, что один логический кубит кодируется во множество физических кубитов. Эта избыточность позволяет исправить определенное количество ошибок на физических кубитах, так что информация, хранящаяся в логическом кубите, остается нетронутой. Большие коды позволяют более длинные вычисления, чтобы быть точным . Тем не менее, большие коды включают в себя больше ворот (например, больше измерений синдрома), и эти ворота вводят шум. Вы видите, что здесь есть некоторый компромисс, и какой код является оптимальным, не очевидно.
Если шум, создаваемый каждым затвором, ниже некоторого порогового значения (порога отказоустойчивости или точности), то можно увеличить размер кода, чтобы учесть произвольно длинные вычисления. Этот порог зависит от кода, с которого мы начали (обычно он итеративно сцепляется с самим собой). Есть несколько способов оценить это значение. Часто это делается с помощью численного моделирования: вводить случайные ошибки и проверять, все ли еще работает расчет. Этот метод обычно дает пороговые значения, которые являются слишком высокими. Есть также некоторые аналитические доказательства в литературе, например, это Алиферис и Кросс .


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

@glS Я подозреваю, что существует такой «универсальный нижний порог», то есть значение ошибки, выше которого не существует отказоустойчивых протоколов коррекции. Однако значение должно зависеть как от вашего набора шлюзов, так и от вашей модели ошибок. Здесь люди больше заинтересованы в положительных результатах (что свидетельствует о наличии хорошего отказоустойчивого протокола). Может быть интересно найти верхние границы, чтобы увидеть, «сколько места у нас осталось» в улучшении наших отказоустойчивых схем. Я предполагаю, что там не так много места осталось.
Джалекс Старк

@glS Вы правы, некоторые фактические количественные расчеты улучшат этот ответ. Я думаю, что эти вычисления, как правило, делаются численно? Но я тоже хочу знать об этом
М. Штерн

@JalexStark Что заставляет вас думать, что места осталось немного? Например, код поверхности не кажется оптимизированным по отношению к этому порогу. Он использует только взаимодействия ближайших соседей на решетке, и вы могли бы сделать намного больше в целом.
М. Штерн,

@ M.Stern У меня нет доказательств, основанных на теоремах, и я не эксперт в этой области. Я просто догадывался, исходя из объема проделанной работы и того, насколько велики лучшие пороги.
Джалекс Старк

2

Вам нужно удивительно большое количество квантовых вентилей для реализации кода, исправляющего квантовые ошибки, отказоустойчивым способом. Одна из причин заключается в том, что существует много ошибок, которые необходимо обнаружить, поскольку для кода, который может исправить все ошибки одного кубита, уже требуется 5 кубитов, и каждая ошибка может быть трех видов (соответствующих непреднамеренным элементам X, Y, Z). Следовательно, даже для того, чтобы просто исправить любую ошибку в одном кубите, вам уже нужна логика, чтобы различать эти 15 ошибок плюс ситуацию без ошибок:Иксяяяя, Yяяяя, Zяяяя, яИксяяя, яYяяя, яZяяя, яяИксяя, яяYяя, яяZяя, яяяИкся, яяяYя, яяяZя, яяяяИкс, яяяяY, яяяяZ, яяяяя где Икс, Y, Z возможные ошибки одного кубита и я (идентичность) обозначает ситуацию без ошибок для этого кубита.

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

При наличии множества шлюзов на шаг исправления ошибок вы можете разрешить только очень низкую частоту ошибок на шаг. Здесь возникает еще одна проблема: поскольку у вас могут быть когерентные ошибки, вы должны быть готовы к худшему случаю, когда ошибкаε размножается не так Nε после N однобитовых ворот, но как N2ε, Это значение должно оставаться достаточно низким, чтобы вы в целом получили выигрыш после исправления некоторых (но не всех) ошибок, например, только ошибок одного кубита.

Примером когерентной ошибки является реализация логического элемента грамм что, на первый взгляд, не просто грамм но грамм+εИкс который вы могли бы назвать ошибкой ε потому что это вероятность, соответствующая амплитуде вероятности ε и, следовательно, вероятность того, что измерение сразу после гейта покажет, что оно действовало как ошибка Икс, ПослеN приложения этих ворот, опять же в первом порядке, вы фактически применили граммN+NεграммNИкс (если G и X коммутируют, в противном случае более сложная конструкция, которая имеет N отдельные условия, пропорциональные ε). Следовательно, при измерении вы найдете вероятность ошибкиN2ε,

Некогерентные ошибки более доброкачественные. И все же, если в качестве порога ошибки нужно указать одно значение, нельзя допускать, чтобы он допускал только доброкачественные ошибки!


спасибо за ответ, но я был бы признателен, если бы вы расширили ответ, чтобы подробнее рассказать о некоторых моментах здесь. В частности, 1) что именно вы имеете в виду, говоря, что в коде с исправлением ошибок нужно много элементов, потому что «много ошибок нужно обнаружить»? 2) Что вы имеете в виду под «простой логической конструкцией»? 3) Почему «когерентные ошибки» подразумевают масштабирование распространения ошибок, напримерN2ε вместо того Nε?
GLS

@glS Я значительно расширил ответ, чтобы ответить на все ваши вопросы. Удалось ли мне это сделать?
пирамиды
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.