Моделирование квантового алгоритма Шора на классическом компьютере

МОДЕЛИРОВАНИЕ КВАНТОВОГО АЛГОРИТМА ШОРА НА КЛАССИЧЕСКОМ

КОМПЬЮТЕРЕ

М.А. Шемякина, магистрант

Институт сферы обслуживания и предпринимательства

DOI: 10.24411/2500-1000-2019-10751

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

Ключевые слова: квантовая информатика, квантовые вычисления, квантовый бит, квантовые элементы, квантовый алгоритм Шора.

В течение последних нескольких лет постоянно возрастает объем производимых вычислений, с которыми не справляются современные компьютеры. Один из вариантов решения проблемы вычислительных мощностей заключается в использовании квантовых вычислений. В конце прошлого века на стыке квантовой механики и теории информации было разработано новое направление науки - квантовая информатика. Основными разделами которой являются: квантовые вычисления, квантовая связь и квантовая теория информации [1, с. 3]. В данной статье основное внимание направлено на исследование первого раздела, в рамках которого разрабатывают квантовые алгоритмы для решения вычислительных задач и основы функционирования квантовых компьютеров. Например, используя классические вычисления невозможно эффективно решить задачу факторизации. В квантовых же вычислениях используется алгоритм Шора, который позволяет за полиномиальное время решить задачу факторизации. Данный алгоритм является не единственной задачей, которую можно эффективно решать на квантовом компьютере. Именно поэтому квантовая информатика переживает бурный рост развития.

1. Основные теоретические сведения

Фундаментальным понятием в области квантовых вычислений и квантовой информации является понятие квантового бита (кубита) [2]. Кубит может находиться в состоянии |0), |1) или суперпозиции состояний, являющейся линейной комбинацией состояний кубита. Для квантовой системы, состоящей из одного кубита суперпозицию можно представить следующим образом:

где числа а и в являются комплексными коэффициентами и называются амплитудой вероятности.

Исходя из принципов квантовой механики невозможно измерить кубит, чтобы определить его состояние. Можно получить лишь более ограниченную информацию о его квантовом состоянии. При измерении кубита будет получено 0 с вероятностью |а|2 или 1 с вероятностью |в|2 [3]. Измерение квантового бита приводит к изменению его состояния - он коллапси-рует из суперпозиции в одно из базисных состояний.

Один из вопросов квантовой информации - сколько информации содержит в се-

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

Для манипулирования квантовой информацией используются элементарные квантовые элементы (гейты) [4]. Одним из наиболее часто используемых преобразований является преобразование Адамара. В матричном виде его можно представить следующим образом:

H

"Ï1 V2I1

.

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

2. Принципы квантовых вычислений

Для решения задачи на квантовом компьютере создают квантовые алгоритмы, которые в отличии от классических основываются на законах квантовой физики. На данный момент было разработано около шестидесяти квантовых алгоритмов [5].

Квантовые алгоритмы основываются на следующих принципах:

- Обратимость вычислений. Согласно квантовой механике, ее законы обратимы во времени, из чего можно предположить, что квантовые преобразования должны быть также обратимы во времени, т.е. по выходным данным вычисления можно восстановить исходные данные.

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

- Отсутствие циклов. Обратимость вычислений приводит к тому, что в кванто-

вых преобразованиях не может быть циклов и возвратов назад. При выполнении программы все операции выполняются последовательно.

- Квантовый параллелизм. Квантовый параллелизм позволяет вычислять функцию f(x) для различных значений Х одновременно [6, с. 109].

3. Алгоритм Шора

В 1994 году Питер Шор описал новый квантовый алгоритм, впоследствии названный алгоритмом факторизации или алгоритмом Шора, который позволяет решить задачу факторизации, т.е. разложить составное число на множители. Для классических вычислений не существуеит эффективного алгоритма, который смог бы эффективно за полиномиальное время решить данную задачу. В среднем случае потребуется exp(0(n1/ log23n)) операций, чтобы разложить число. А квантовый алгоритм, в отличии от классического, способен выполнить эту задачу экспоненциально быстрее, всего за 0(n2log n log log n) операций.

Алгоритм Шора интересен тем, что он имеет очень важное прикладное значение. Он может быть использован для взлома криптосистем с открытым ключом, основанных на алгоритме RSA [7].

4. Реализация квантового алгоритма Шора

Для проектирования системы, которая реализует алгоритм Шора, была выбрана сервис-ориентированная архитектура.

Под сервис-ориентированной архитектурой (SOA) понимается модульный подход к разработке программного обеспечения [8], использующий слабо связанные и легко заменяемые компоненты. В данной архитектуре подразумевается, что клиент имеет минимум функций, он может только вызывать сервисы и отображать данные. Вся бизнес-логика реализуется набором слабо связанных сервисов. Сервисы взаимодействуют с клиентами и между собой используя SOAP, HTTP и другие Internet-протоколы.

На рисунке 1 представлена архитектура проектируемой системы.

Клиент Проверка, интерпретация и вывод данных Служба Основные квантовые вычисления,

Обмен данными

выполнение квантового алгоритма

Рис. 1. Диаграмма сервис-ориентированная архитектура

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

полняет квантовые вычисления. Полученный результат передается клиенту.

На рисунке 2 представлена последовательность действий, необходимых для выполнения алгоритма Шора на классическом компьютере.

Проверить данные, введенные пользователем

Данные некорректны

Данные корректны

Попросить пользователя повторить ввод

Выбрать число а

Вычисление НОД

НОД не равен 1

♦

НОД равен 1

Вывести полученное число

С

Найти период

Подготовить два квантовых регистра

X

Применить преобразование Адамара к первоме регистру

Объединить два регистра в один

Применить Оракул

Применить квантовае преобращование Фурье

Измерить первый регистр

Применить алгоритм цепных дробей

Проверить период на четность

♦

Вычисление НОД

Вывести полученное число

Рис. 2. Алгоритм Шора

Для реализации алгоритма Шора была использована библиотека квантовых вычислений на С# - Quantum.NET, которая

была выпущена в 2017 году. На рисунке 3 показан результат работы алгоритма Шора.

Рис. 3. Алгоритм Шора

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

Заключение

В данной статье представлен принцип использования квантового алгоритма Шора на классическом компьютере. Для моделирования было разработано программное обеспечение с использованием библиотеки квантовых вычислений на C# -Quantum.NET. Данная библиотека позволяет манипулировать кубитами и моделировать квантовые цепи.

Автором были сделаны выводы о том, что:

Библиографический список

1. Калачев А.А. Квантовая информатика в задачах: учеб.-метод. пос. / А.А. Калачев. -Казань: Казан. ун-т, 2012. - 48 с.

2. Нильсен М., Чанг И. Квантовые вычисления и квантовая информация. Пер. с англ. -М: Мир, 2006. - 824 с.

3. Гуц А.К. Основы квантовой кибернетики. - Омск: Полиграфический центр КАН, 2008. - 204 с.

4. Холево А.С. Введение в квантовую теорию информации. - М.: МЦНМО, 2002. -128 с.

1. В рамках квантовых вычислений для некоторых задач можно реализовывать более эффективные алгоритмы, чем в классических вычислениях.

2. Создание квантовых компьютеров позволит решить проблему экспоненциального роста сложности алгоритмов.

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

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

5. Stephen Jordan. Quantum algorithms zoo. [Электронный рессурс] URL:https://math.nist.gov/quantum/zoo/ (дата обращения: 25.04.2019).

6. Бауместер Д., Экерт А., Цайлингер А. Физика квантовой информации. - М.: По-стмаркет, 2002. - 376 с.

7. Коутинхо С. Введение в теорию чисел. Алгоритм RSA. - М.: Постмаркет, 2001. -328 с.

8. Ляшов М.В., Берёза А.Н., Бабаев А.М., Алексеенко Ю.В., Авдеева Т.Г. Применение сервис-ориентированной архитектуры для создания распределенных вычислительных систем // Фундаментальные исследования. - 2016. - № 10-2. - С. 312-316; URL: http://www.fundamental-research.ru/ru/article/view?id=40851 (дата обращения: 25.04.2019).

SIMULATION OF QUANTUM SHOR'S ALGORITHM ON A CLASSICAL COMPUTER

M.A. Shemyakina, graduate student

Institute of service and entrepreneurship

Abstract. In recent years, there has been a tendency to increase the complexity of mathematical calculations, which dictates the need to increase the computing power of modern computers. The main way to improve performance is associated with an increase in the number of transistors placed on the integrated circuit chip, which leads to a decrease in the size of the transistors. However, scientists predict that in the near future will reach the physical limit, after which the work of transistors will manifest quantum effects. As a result of the search for a solution to this problem, a new branch of science - quantum Informatics. This article discusses the possibility of creating a program that allows you to simulate quantum computing, namely, the quantum Shor algorithm on a classical computer.

Keywords: quantum Informatics, quantum computing, quantum bit, quantum elements, quantum shore algorithm.