Рис. 4. Сравнение временных затрат Рис. 5. Сравнение критерия адекватности
Анализ результатов эксперимента показывает, что применение предварительной ориентации контуров сокращает время последующей деформации и приближает значения критерия адекватности к его максимальному значению. В рамках дальнейших исследований планируется модифицировать процедуру предварительной ориентации применительно к сплайновому представлению контуров и представления трехмерных объектов как сплошных тел.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. McInerney T., Terzopoulos D. Deformable Models in Medical Image Analysis: A Survey. Medical Image Analysis, 1996, 1(2):91-108
2. Christopher Lee. Wyatt Extending the geometric deformable model for use in medical image analysis. PhD dissertation, Wake forest university, 2000. - 56 p.
3. Бабков В.С. Застосування методу “деформованих моделей“ для реконструкції органів в КТ за умови обмеженої кількості вхідної інформації. Вісник Житомирського інженерно-технологічного інституту. Спеціальний випуск за матеріалами Міжнародної науково-технічної конференції “ІКТ-2002”. - 207-214 сс
4. Samuel D. Fenster Training, Evaluation and Local Adaptation in Deformable Models. PhD dissertation, Columbia university, 2000. - 91 p.
С. М. Гушанский, Р. А. Погорелов КВАНТОВЫЕ КОДЫ, ИСПРАВЛЯЮЩИЕ ОШИБКИ
Практическая реализация квантовых вычислений в настоящее время ограничена рядом проблем, среди которых следует выделить погрешность измерения состояния квантовой системы, нестабильность квантовых состояний вследствие декогерентности. Невозможность полной изоляции кубитов приводит к возникновению в них разнотипных ошибок (битовых, фазовых, битофазовых). Поэтому столь актуальным сейчас является создание эффективных методов квантовой коррекции. Использование квантовых кодов коррекции ошибок позволяет бороться с декогерентностью, восстанавливая квантовые состояния, уменьшая одновременно погрешность измерений.
В силу специфики пространства состояний кубита, считается, что его взаимодействие с окружающей средой может привести к ошибке одного из трех возможных типов [1]:
1) битовые ошибки, приводящие к перебросу кубита |0 ® Ц, Ц ® |0. Их иначе еще называют X - ошибками, так как их можно представить, как результат произведения матрицы Паули Ух и вектора состояния кубита;
2) фазовые ошибки, приводящие к перевороту фазы кубита |0 ® |0,
1 ® _| 1. Их называют Z - ошибками (соответствующая матрица Паули У г);
3) смешанные битофазовые ошибки, приводящие одновременно и к перебросу кубита и перевороту фазы |0 ® Ц, Ц ®-|0 . Их называют Y - ошибками
(соответствующая матрица Паули Уу ).
Таким образом, принимая во внимание факт, что взаимодействие с окружающей средой может и не повлиять на квантовое состояние, любую квантовую ошибку в единичном кубите можно представить в виде линейной комбинации всех видов ошибок. Если через у обозначить произвольное состояние единичного
кубита, то возникновение ошибки можно представить следующей схемой [2]:
\у) ® (e1I + e2X + ^ + е4Z)|у) = ^eiEi \у) ,
i
где I - единичная матрица (отсутствие ошибки), X, Y, 2 - соответствуют, как уже было сказано, матрицам Паули Уг, Уу , Уг. е1...е4 - некоторые коэффициенты, в
общем случае комплексные, Е{ - общее обозначение матриц элементарных преобразований.
Понятно, что процесс появления ошибок вследствие декогерентности может протекать с разной интенсивностью. Сделаем ряд важных предположений, жестко регламентирующий круг ошибок, с которыми можно бороться, используя квантовые коды коррекции:
- воздействие окружающей среды на квантовую систему будем считать ограниченным. То есть существует такое конечное время Д/, в течение которого вероятность, что ошибка появится в двух или более кубитах, бесконечно мала.
- все ошибки будем считать слабокоррелированными. Это означает, что ошибка, возникающая в одном кубите, не влияет на состояние другого.
- будем полагать, что все ошибки носят случайный характер, т.е. отсутствуют так называемые систематические ошибки.
Если возникающие ошибки удовлетворяют этим условиям, то для их обнаружения и устранения возможно использование квантовых кодов коррекции.
Идея отказоустойчивых кодов заимствована из классической теории информации, однако их реализация в случае кодирования квантовых состояний заметно отличается от классической ситуации.
Пусть £ - произвольное состояние в гильбертовом пространстве М. Кодом называется изометрическое отображение V : М ® N , переводящее состояния £ в кодирующие состояния VS в гильбертовом пространстве N [3].
Квантовый код V может обнаружить возникновение ошибки, если размерность гильбертова пространства N больше размерности пространства М. Иными словами, как и в классическом случае, любой отказоустойчивый квантовый код базируется на принципе избыточного кодирования.
Пусть преобразование квантового состояния в ходе кодирования и последующего возникновения ошибки описывается следующей схемой [3]:
£ ® V£ ®Ф(V£),
где Фё Е - оператор ошибки, определенного класса Е.
Тогда код V называется кодом, исправляющим ошибки, если существует такой оператор ^, что
¥[Ф( VS)]® с (Ф) 5,
для любого Фё Е. Здесь с (Ф) - некоторая константа, зависящая от оператора
ошибки [3]. Ее называют анциллой синдрома ошибки, так как ее значение зависит только от вида ошибки и ее локализации.
Система | )
Кодирующая
0)
Рис. 1. Базовая схема построения квантовых кодов коррекции
Полученная на основании этих утверждений схема любого отказоустойчивого кода приведена на рис. 1 [4]. Здесь под кодирующей анциллой понимается совокупность кубитов, посредством которых происходит кодирование состояния квантовой системы. Процесс кодирования превращает состояние кодирующей ан-циллы в отображение состояния исходной квантовой системы. Анцилла синдрома ошибки является также ансамблем из нескольких кубитов. Она введена с целью определения типа возникшей ошибки и ее локализации. Процесс коррекции ошибок является двухступенчатым:
- посредством квантовых схем, индивидуальных для каждого кода коррекции, анализируется состояние кодирующей анциллы, в ходе чего происходит изменение состояния анциллы синдрома;
- состояние анциллы синдрома измеряется, и, в зависимости от него, с кодирующей анциллой осуществляются те или иные преобразования. Т ак как ошибка единичного кубита определяется унитарным преобразованием, то для восстановления состояния достаточно лишь повторно применить к ошибочному кубиту преобразование, вызвавшее ошибку.
По аналогии с классическим кодированием, для обозначения квантовых кодов коррекции используется обозначение вида [[п, к, ^]. Здесь п - определяет полное число кубитов кода, к - число информационных кубитов, d - называется минимальным кодовым расстоянием кода, определяется как минимальное расстояние Хемминга [5] между всеми возможными парами кодовых слов (двойные скобки отличают квантовый код от классического).
Всё многообразие квантовых кодов коррекции принято разделять на три класса [4]:
1) аддитивные стабилизирующие (симплексные) коды. Наиболее обширный класс кодов базируется на классических кодах коррекции, в связи с чем и получили наибольшее развитие. Стабилизирующие коды можно проклассифицировать по минимальному кодовому расстоянию [8]:
- класс кодов с кодовым расстоянием два. Общее обозначение [[n, n-2, 2]];
- класс кодов с кодовым расстоянием три. Общее обозначение [[2, 2-/-2, 3]];
- класс кодов с кодовым расстоянием четыре. Общее обозначение [[2, 2-2j-2, 4]].
Здесь j может принимать произвольные целые значения. Такая классификация стабилизирующих кодов не является единственной и общепринятой. Чаще можно встретиться с классификацией по виду матрицы стабилизатора кода:
• циклические коды;
• CSS - коды;
• Амплитудно-защищающие коды они же “code over GF(4)”;
2) неаддитивные коды, не являющиеся стабилизирующими;
3) каскадные или Клиффорд-коды. Вероятность ошибки для них намного ниже, чем для двух предыдущих, за что приходится платить многоуровневой структурой кода, а как следствие увеличением числа кубитов. Каскадные коды являются обобщением аддитивных стабилизирующих кодов. В классической теории кодирования они имеют себе аналог, называемый сверточными кодами.
В основе квантового помехоустойчивого кодирования лежит код Хемминга, который представляет собой код коррекции ошибки единичного бита [5]. Длина кодового слова равна 7 битам: 4 информационных бита, 3 - контрольных. Суть кодирования заключается в установке контрольных битов по определенному правилу в зависимости от информационных.
Для обнаружения ошибки в кодовом слове используется так называемая матрица проверки, имеющая вид
0 0 0 1 1 1 1
0 1 1 0 0 1 1
1 0 1 0 1 0 1
V /
Если кодовое слово представить в виде матрицы столбца, то произведение матрицы H на этот столбец даст столбец из трех бит (при умножении матриц сложение заменяется сложением по модулю два), который определяет номер переброшенного бита или говорит об отсутствии ошибки (если он нулевой).
На основе кода Хемминга рассмотрим пример несложного, но важного се-микубитового кода, предложенного Эндрю Стином. Он позволяет, ориентируясь на классическое кодирование, наглядно рассмотреть общий принцип действия квантовых кодов коррекции. Данный код позволяет кодировать пространство состояний единичного кубита, используя для этого 7 кубитов. Иными словами, мы имеем дело с отображением произвольного состояния двумерного комплексного гильбертового пространства в состояние в 128 - мерном гильбертовом пространстве. Код Стина относится к уже упомянутому классу CSS - кодов. Предполагается, что любой вид ошибки может произойти в любом из семи кубитов, но только в одном (ограниченность воздействия окружающей среды). При кодировании состояния кубита кодом Стина используют суперпозицию только тех базисных векторов 128 - мерного комплексного гильбертового пространства, которые соответствуют множеству безошибочных кодовых слов кода Хемминга. Причем, при кодировании 10 используются только комбинации с четным числом единиц, а при
кодировании Ц , наоборот, с нечетным [6].
10
2^2
X И
е\еп фе Р
V
^ (10000000) + | 0001111 + 1 °110011) + | 0111100)
242
|1010101) +11011010) +|1100110) +11101001))
2у12
ойй фе Р
V
^ (11111111 +11110000) +|1001100) +11000011) +
242
+ |0101010) + |0100101 + 10011001 +10010110)
Используя такой метод кодирования можно, как и в классическом случае, определить, в каком из кубитов произошла ошибка, однако обнаруженной может быть только X - ошибка. Процесс обнаружения ошибки запишем как
\ф)®\0) ®|ф)®| Иф) ,
\ ' / I / апс I ' / I ' / апс
вектор Иф) аналогичен трехбитовому столбцу для кода Хемминга, следова-
I ' 'апс
тельно, он также однозначно задает локализацию X - ошибки.
рис.2.
Определение X - ошибки для семикубитового кода Стина приведено на
+
с 1
с > с > г > о
и и и и и и Ш г л г л С л с Л
с и и и и и и и к К К Э
Рис. 2
Теперь мы можем привести квантовую схему, позволяющую обнаружить X
- ошибку в любом из семи кубитов кода (рис. 2). В схеме используются общепринятые обозначения для управляемых гейтов (точкой обозначается управляющий кубит, а кружком с крестиком - управляемый). Данная схема позволяет понять, как происходит выявление синдрома ошибки для кода Стина. Каждый кубит ан-циллы синдрома есть результат суммирования по модулю 2 определенных кубитов кода. Причем если сравнить матрицу проверки кода Хемминга и схему (рис. 2), то видно, что именно матрица проверки и определяет номера кубитов кода, суммируемых (по модулю 2) в каждом кубите анциллы.
Однако понятно, что помимо X - ошибок необходимо бороться и с 2 -ошибками (если можно будет ликвидировать оба типа этих ошибок, то У - ошибки автоматически также будут ликвидированы, так как их можно представить как результат последовательного действия первых двух). Как известно, понятия битовая и фазовая ошибки уместны лишь при введенном базисе. Смена базиса определенным образом превращает битовую ошибку в фазовую и наоборот. Преобразование, осуществляющее поворот базиса, называется преобразованием Адамара [7]
R = V2
1 1
1 -1
Преобразование Адамара переводит кодирующие состояния |о\ и h\ в
I / code I / code
новые кодирующие состояния
l 0^c0de 42 ^ 0code ^1 code ) ’
^ code 42 ^ ^ code ^ 1 code )
Учитывая, что преобразование Адамара унитарно, т.е. двукратное его применение переведет систему в исходное состояние, то возможная реализация схемы, позволяющей обнаружить любые ошибки в семикубитном коде Стина, будет иметь вид (рис. 3).
Определение любой ошибки для кода Стина показано на рис. 3.
е 5 ; Pi У -ч э-е
г ) v Г i г > Г
О . ) к. ) 1 ) V
- R -« »_ О А
- R -i 1- R 4
- R -t р 1
- R ч R
Г л г > г >
U J L U L U L и > л г л >
Z к ) К i—У ) L X э
|я )
I / СИ
я
Рис. 3
В предложенном варианте квантовой схемы (рис. 3) используются две ан-циллы (анцилла X - ошибки и анцилла 2 - ошибки). Так как по нашему предположению ошибка может произойти лишь в одном кубите, то возможно 4 исхода обнаружения ошибки:
1) обе анциллы нулевые: ошибки не произошло;
2) анциллаX нулевая, а анцилла 2 нет: произошла 2 - ошибка в кубите, чей номер содержится в анцилле 2;
3) анцилла 2 нулевая, а анцилла X нет: произошла X - ошибка в кубите, чей номер содержится в анцилле X;
4) обе анциллы ненулевые и содержат одно и то же значение: произошла У
- ошибка в кубите, чей номер содержится в анцилле X и 2.
Если установлен тип ошибки и ее локализация, то процесс коррекции заключается лишь в применении к ошибочному кубиту соответствующего преобразования: X, У, или 2.
Рассмотрим процесс обнаружения ошибки на примере. Пусть имеется исходное состояние единичного кубита:
И-tjI»)+$!>>•
тогда закодированное состояние, согласно правилам кодирования кода Стина, будет иметь вид
1 ¡2 1
И cd - ^1°) code + ^l1) code - ^ (I 0000000) + l 0001111) + l 0110011) + l O1111O0 +
+ | 1010101 +11011010 +11100110 + (1101001) ) + —U (11111111 +11110000 +11001100) +
2V3
+ | 1000011 + 10101010 + | 0100101 + 10011001 + 10010110 )
Предположим, что ошибка представляет собой просто X - преобразование, примененное к третьему кубиту кода, т.е. оператор ошибки равен
Ф = IÄIÄ X ÄIÄIÄIÄI,
тогда в результате ошибки закодированное состояние примет вид
ф|у)^ - -V (10010000) + | 0011111 + | 0100011 + | 0101100) +11000101 +11001010) +
co e 2V6
+ (1110110 + (1111001) + ~Г" (11101111 + (1100000 + (1011100 + (1010011 + 10111010 + 2V3 + |0110101 + 10001001 + 10000110)
обозначим состояние анциллы синдрома как (ccc), первоначально c1 — c2 — c3 — 0. Осуществив преобразования, согласно схеме (рис. 3), получим для нашего случая
c1 - x4 @ x5 @ x6 @ x7 - 0
c2 - x2 @ x3 @ x6 @ x7 -1 ■
c3 - x1 @ x3 @ x5 @ x7 -1
Видно, что состояние анциллы синдрома |011) однозначно указывает на X
- ошибку в третьем кубите. Для ее устранения достаточно лишь повторно применить оператор ошибки Ф к закодированному состоянию.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Стин Э. Квантовые вычисления. —Москва-Ижевск: РХД, 2000.
2. Рифель Е. Полак В. Основы квантовых вычислений.
3. ХолевоА. С. Введение в квантовую теорию информации. —Москва: МЦНМО, 2002. - 128 с.
4. GrassM. Quantum Error-Correcting Codes.
5. Блейхут Р. Теория и практика кодов, контролирующих ошибки: Пер. с англ.- Москва: Мир, 1986.
6. Preskill J. Fault-Tolerant Quantum Computation. arXiv:quant-ph/9712048 v1 19 Dec 1997.
7. Steane A. M. Error correcting codes in quantum theory, Phys. Rev. Lett. 77, 793 1996.
8. Gottesman D. Stabilizer Codes and Quantum Error Correction. arXiv:quant-ph/9705052 v1 28 May 1997.