ОПРЕДЕЛЕНИЕ И РЕАЛИЗАЦИЯ ОПЕРАТОРОВ КВАНТОВЫХ АЛГОРИТМОВ*
В. С. Потапов*, С. М. Гушанский
Южный федеральный университет Россия, 347922, г. Таганрог, ул. Энгельса, 1 * email: [email protected]
В статье предлагается структура операторов квантовых алгоритмов, ее математическое и схематическое представление. Реализована общая структура универсального квантового алгоритма в качестве диаграмм, раскрывающих основные элементы, их свойства, функции и место в работе квантового алгоритма. Произведена подробная декомпозиция каждого блока схематической диаграммы описания последовательных процессов и этапов квантовых алгоритмов.
Ключевые слова: Квантовый алгоритм, запутанность, суперпозиция, квантовые вычисления, интерференция, оператор Адамара, квантовый блок, унитарная матрица.
DEFINITION AND IMPLEMENTATION OPERATORS OF QUANTUM ALGORITHMS V. S. Potapov*, S. M. Gushansky
South Federal University 1 Engelsa St., 347922, Taganrog, Russia * email: [email protected]
In the article offered the structure of operators of quantum algorithms, its mathematical and schematic representation. We implemented the overall structure of a universal quantum algorithm as diagrams revealing the basic elements of their properties, functions and place of quantum algorithm. Produced detailed decomposition of each block schematic diagram describing sequential processes and stages of quantum algorithms.
Keywords: Quantum algorithm, entanglement, superposition, quantum computing, interference, Hadamard's operator, quantum unit, unitary matrix.
*Работа выполнена при финансовой поддержке РФФИ, грант № НК 15-01-01270^5
Введение
В настоящее время в мире, в том числе и в России, ведутся активные работы по исследованию и физической реализации квантового вычислителя. Прототипы вычислительных устройств уже были построены в различных точках мира в различное время, но пока не создано полноценного квантового вычислителя имеет смысл выполнять моделирование квантовых вычислений на ЭВМ с классической архитектурой в целях изучения и дальнейшего построения квантового вычислителя.
Поле квантовых алгоритмов постоянно обновляется и дополняется. Однако долгое время не существовало квантовых языков программирования для практических целей и задач.
Результат работы квантового алгоритма [1] носит вероятностный характер. За счёт небольшого увеличения количества операций в алгоритме и достижения максимальности запутывания кубитов можно сколь угодно приблизить вероятность получения правильного результата к единице.
1. Структура операторов квантовых алгоритмов
Процесс проектирования квантового алгоритма состоит из матричной формы представления трех операторов [2]: суперпозиция (S), квантовая запутанность [3] (запутанные состояния) (UF) и интерференция (Int). В общем виде структура квантового алгоритма, как основы квантовых вычислений можно представить в виде:
где И - идентичный оператор; символ тензорное произведение; S - оператор суперпозиции, Н - операторы Адамара [4].
На рис. 1 изображена структура операторов квантовых алгоритмов, эквивалентная выражению (1). На вход квантового алгоритма всегда подается бинарная функция £ Эта функция представляется в качестве отображения, определяющего изображение каждой входной бинарной строки. Вначале функция f кодируется в виде унитарного матричного оператора иг в зависимости от свойств функции f . Полученный матричный оператор иг включается в структуру квантовой ячейки, унитарной матрицы, чья структура зависит от матрицы иг и от проблемы, которую алгоритм должен решить.
Рис. 1. Структура операторов квантовых алгоритмов
Суперпозиция содержит всю информацию, необходимую для решения конкретной задачи/проблемы. Вследствие создания суперпозиции выполняется операция измерения для
TECHNICAL SCIENCE | Juvenis scientia 2016 № 2
39
извлечения информации. Последовательное использование квантового оператора и измерение результата характеризует квантовый блок. Он выполняется к раз для вывода совокупности базисных векторов. Данное измерение не является детерминированной операцией, поэтому полученные базисные векторы будут различными. Следовательно, каждый из них будет содержать лишь часть информации, необходимой для решения конкретной задачи/проблемы.
2. Общая структура квантового алгоритма
На рис. 2 изображена схематическая диаграмма моделирования работы квантового алгоритма на классическом вычислительном устройстве. Квантовый блок, изображенный на данном рисунке, выполняет поочередное применение квантового оператора и измерение результата. Он выполняется п раз для получения совокупности базисных векторов. Так как измерение не является детерминированной операцией, то полученные базисные векторы будут одинаковы, и каждый из них будет содержать лишь часть информации, необходимой для решения проблемы.
Рис. 2. Схематическая диаграмма квантового алгоритма
Завершающая фаза квантового алгоритма - интерпретация совокупности базисных векторов для получения решения конкретной задачи/проблемы с определенным значением вероятности.
2.1. Блок кодирования
Диаграмма работы блока кодирования представлена на рис. 3.
Рис. 3. Декомпозиция блока кодирования
Этап 1. Таблица представления функции I :{°,1}" ^{°ЛГ преобразуется в таблицу представления унитарной функции
Р :{0.1}"+" ^{0.1}"+" , такой что:
Необходимость такого изменения связана с условием унитарности оператора ир . Он является обратимым и не мо-
жет представлять два разных входа в одинаковые выходные значения. Поскольку данный оператор - матричное отображение функции F, то она должна быть обратимой. Обратимость осуществляется за счет увеличения количества бит и описания функции F вместо f.
Этап 2. Представление функции F преобразуется в представление , согласно следующим ограничениям:
(3)
Таблица кодирования г:{одГ" ^с2-+- , где с2™ есть результирующее Гильбертово пространство, определяется как:
(4)
(5)
Этап 3. Представление ир преобразуется в матричный оператор по следующему правилу:
(6)
Данное правило легко понять, если рассмотреть |<) и как столбцы вектора. Распределяя эти столбцы по каноническому базису, иг определяет перестановку рядов матрицы идентичности. В общем виде, ряд |<) отображается в ряд 14 .
2.2. Квантовый блок
Основной элемент квантового блока - квантовая ячейка. Ее вид зависит от свойств матрицы оператора [5]. Матричный оператор иг , являющийся выходом блока кодирования, в данной структуре является входом квантового блока.
Унитарная матрица применяется к раз к начальному каноническому вектору 14 размерности 2"+т. Результирующая комплексная линейная комбинация базисных векторов измеряется, производя один базисный вектор как результат. Все измеренные базисные векторы (х.....} собираются вместе. Полученный набор является выходом квантового блока.
Вход
Uf
Входной Ячейка й
вектор
Повторить к раз
I
I
L
Выход ' г
Базисный Измерение Выходной
ветор состояния вектор
J
Совокупность базисных состоянии
Рис. 4. Декомпозиция квантового блока
Блок декодирования включает в себя интерпретацию совокупности базисных векторов. Декодирование базисных векторов заключается в их преобразовании в бинарные строки. Далее они используются как коэффициенты некоторого уравнения или для извлечения ответа. Структура блока декодирования значительно зависит от характера решаемой задачи, и по существу является тем или иным классическим алгоритмом.
Последняя часть квантового алгоритма содержит блок интерпретации совокупность базисных векторов, позволяю-
щий выделить конечное содержательное решение исследуемой проблемы с определенной вероятностью.
Подводя итог всему вышесказанному, стоит отметить, что разработанная и предложенная общая структура квантового алгоритма находит успешное воплощение в программной разработке и реализации квантовых симуляторов в качестве вспомогательных внешних модулей. Что касается структуры операторов квантовых алгоритмов, то она универсальна и, в общем смысле, не зависит от свойств и решаемых задач конкретного квантового алгоритма.
Заключение
В ходе написания статьи было предложено математическое и схематическое представление структуры операторов квантовых алгоритмов. Произведена подробная декомпозиция каждого блока схематической диаграммы описания последовательных процессов и этапов квантовых алгоритмов. Реализована общая структура универсального квантового алгоритма в качестве диаграмм, раскрывающих основные элементы, их свойства, функции и место в работе квантового алгоритма.
ЛИТЕРАТУРА
1. Гузик В.Ф., Гушанский С.М., Потапов В.С. Оценка сложности квантовых алгоритмов // Технологии разработки информационных систем. Сборник статей Международной научно-практической конференции, 01.09.2014, г. Геленджик, стр. 81-85;
2. Ульянов С. В., Добрынин В. Н., Нефёдов Н. Ю. Генетические и квантовые алгоритмы. ч. 1: Инновационные модели в обучении // Электронный журнал «Системный анализ в науке и образовании» Выпуск №3, 2010 г;
3. Касаркин А. В., Гушанский С. М. Очищение запутанности // Информатика, моделирование, автоматизация проектирования. Сборник научных трудов третьей Всероссийской школы-семинара аспирантов, студентов и молодых ученых ИМАП-2011 - Ульяновск: Изд-во УлГТУ, 2011. С. 210-212;
4. Гузик В.Ф., Гушанский С.М., Поленов М.Ю., Потапов В.С. Реализация компонентов для построения открытой модульной модели квантовых вычислительных устройств // Информатизация и связь. - 2015, № 1. - С. 44-48;
5. Guzik V., Gushanskiy S., Polenov M., Potapov V. Models of a quantum computer, their characteristics and analysis // 2015 9th International Conference on Application of Infor-mation and Communication Technologies (AlCT). - Institute of Electrical and Electronics Engineers, 2015. - P. 583-587.
Поступила в редакцию 23.02.2016