Научная статья на тему 'РАЗРАБОТКА ПРОГРАММНОЙ МОДЕЛИ КВАНТОВЫХ ВЫЧИСЛЕНИЙ И МОДЕЛИРОВАНИЕ РАБОТЫ КВАНТОВЫХ АЛГОРИТМОВ НА ПЛАТФОРМЕ "ЭЛЬБРУС"'

РАЗРАБОТКА ПРОГРАММНОЙ МОДЕЛИ КВАНТОВЫХ ВЫЧИСЛЕНИЙ И МОДЕЛИРОВАНИЕ РАБОТЫ КВАНТОВЫХ АЛГОРИТМОВ НА ПЛАТФОРМЕ "ЭЛЬБРУС" Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
70
26
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
КВАНТОВЫЕ ВЫЧИСЛЕНИЯ / ПРОГРАММНЫЕ МОДЕЛИ / КУБИТЫ / ЭЛЬБРУС

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Кирилюк М.А., Бочаров Н.А.

В рамках данной работы была разработана и описана программная модель квантовых вычислений. С использованием разработанной модели был проведен эксперимент на вычислительном комплексе «Эльбрус-801», в ходе которого была смоделирована работа различных квантовых схем и алгоритмов. Разработанная модель может быть использована для разработки и отладки вычислительно сложных алгоритмов, которые могут быть применены в том числе для решения вычислительных задач ВКО.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Кирилюк М.А., Бочаров Н.А.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

DEVELOPMENT OF A SOFTWARE MODEL FOR QUANTUM COMPUTATIONS AND SIMULATION OF QUANTUM ALGORITHMS OPERATION BASED ON ELBRUS PLATFORM

A software model for quantum computations has been developed and described within the scope of the study. Using the developed model, an experiment was carried out on the Elbrus-801 computing system. During the experiment, the operation of different quantum circuits and algorithms was simulated. The developed model can be used for developing and debugging computationally complex algorithms that may be useful for computational tasks related to aerospace defence applications.

Текст научной работы на тему «РАЗРАБОТКА ПРОГРАММНОЙ МОДЕЛИ КВАНТОВЫХ ВЫЧИСЛЕНИЙ И МОДЕЛИРОВАНИЕ РАБОТЫ КВАНТОВЫХ АЛГОРИТМОВ НА ПЛАТФОРМЕ "ЭЛЬБРУС"»

https://doi.org/10.38013/2542-0542-2022-1-93-101 УДК 004.94

Разработка программной модели квантовых вычислений и моделирование работы квантовых алгоритмов на платформе «Эльбрус»

М. А. Кирилюк, Н. А. Бочаров

Публичное акционерное общество «Институт электронных управляющих машин им. И.С. Брука», Москва, Российская Федерация

В рамках данной работы была разработана и описана программная модель квантовых вычислений. С использованием разработанной модели был проведен эксперимент на вычислительном комплексе «Эльбрус-801», в ходе которого была смоделирована работа различных квантовых схем и алгоритмов. Разработанная модель может быть использована для разработки и отладки вычислительно сложных алгоритмов, которые могут быть применены в том числе для решения вычислительных задач ВКО.

Ключевые слова: квантовые вычисления, программные модели, кубиты, Эльбрус

Для цитирования: Кирилюк М. А., Бочаров Н. А. Разработка программной модели квантовых вычислений и моделирование работы квантовых алгоритмов на платформе «Эльбрус» // Вестник Концерна ВКО «Алмаз - Антей». 2022. № 1. С. 93-101. https://doi.org/10.38013/2542-0542-2022-1-93-101

For citation: Kirilyuk M. A., Bocharov N. A. Development of a software model for quantum computations and simulation of quantum algorithms operation based on Elbrus platform // Vestnik Koncerna VKO "Almaz - Antey". 2022. No. 1. P. 93-101. https://doi.org/10.38013/2542-0542-2022-1-93-101

Поступила 17.11.2021 Отрецензирована 07.12.2021 Одобрена 22.12.2021 Опубликована 18.03.2022

Введение

Квантовые вычисления начали развиваться более 40 лет назад [1, 2] и до сегодняшнего дня остаются областью информационных технологий, привлекающей внимание ученых из разных стран [3, 4]. Благодаря способности квантовых компьютеров решать определенные вычислительные задачи экспоненциально быстрее классических, они могут найти применение в самых различных областях, таких как криптография, машинное обучение, искусственный интеллект, биология и т.д. Квантовые вычисления также могут быть использованы для решения вычислительных задач ВКО, таких как нечеткий поиск, оптимальное распределение информационных ресурсов, распознавание целей. Несмотря на то что создание полноценного квантового компьютера является на данный момент нерешенной задачей,

© Кирилюк М. А., Бочаров Н. А., 2022

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

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

Основы квантовых вычислений —

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

см см о см

< I

(0

а м

I

О ü CQ

р

<D

о

О <D CQ

CM ■Clio 9

CM ■Clio

CM

w w

Одиночный кубит является суперпозицией двух квантовых состояний |0) и |1), каждое из которых может рассматриваться как носитель одного бита классической информации. Кубит представляется вектором единичной длины в трехмерном пространстве. Такое геометрическое изображение кубита называется его представлением на сфере Блоха (рис. 1).

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

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

Ю>

1 V>\

V

--- г * ^ ^ I W

/ 1 ^ ' У

х

|1>

Рис. 1. Сфера Блоха

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

Квантовая схема - это последовательность преобразований из конечного набора гейтов. На вход квантовая схема получает квантовые биты. Результат ее работы вероятностный.

Программная модель квантовых вычислений

В качестве платформы для разработки программной модели была выбрана отечественная аппаратно-программная платформа «Эльбрус». Общее программное обеспечение (ОПО) «Эльбрус» содержит оптимизирующий компилятор lcc, позволяющий распараллеливать вычисления на уровне операций, тем самым повышая производительность программы [6]. ОПО «Эльбрус» также содержит библиотеку Elbrus Media Library - высокопроизводительную математическую и мультимедийную библиотеку, представляющую из себя набор разнообразных функций для обработки сигналов, изображений, видео и математических вычислений [7]. Библиотека EML содержит такие функции, как eml_Vector_Mul_64F и eml_ Algebra_GEMM_64F, которые могут позволить значительно ускорить вычисление некоторых операций, необходимых для моделирования квантовых вычислений, таких как умножение векторов и умножение матриц.

В рамках данной работы была разработана программная модель квантовых вычислений. После изучения различных вариантов реализации вычислительной части программы было принято решение использовать язык программирования Python и библиотеку математических вычислений NumPy для ее разработки. Интерфейс разработанной модели с открытой в нем квантовой схемой алгоритма квантового преобразования Фурье для 4 кубитов представлен на рисунке 2.

Программная модель состоит из двух частей: вычислительной части, написанной на языке программирования Python, и интерфейсной части, для разработки которой были использованы языки HTML и JavaScript. Пользовательский интерфейс позволяет редактировать, сохранять и загружать квантовые

Рис. 2. Пользовательский интерфейс программной модели квантовых вычислений

схемы, а также выставлять количество запусков квантовых схем. Для моделирования вычислительной части программы была использована библиотека NumPy, опирающаяся на нативную библиотеку Elbrus Media Library и использующая ее функции при работе.

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

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

Результатом работы разработанной программной модели является диаграмма распределения состояний кубитов после серии измерений (рис. 3).

Одной из основных проблем, возникающих при моделировании квантовых вычислений, является тот факт, что система из N кубитов описывается вектором в комплексном пространстве длиной 2N, следовательно, объем памяти, требуемый для моделирования

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

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

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

Рис. 3. Результат работы программной модели квантовых вычислений

те

s

о.

о ■fr

Рис. 4. Квантовая схема алгоритма Дойча - Иожи

см см о см

< I

со

а м

I

о ^

со

р

ф

о

о

V

со

см ■ci-io

с?

см ■ci-io см

(П (П

В рамках данной работы была смоделирована работа набора квантовых алгоритмов, описание некоторых из них приведено ниже.

Алгоритм Дойча - Йожи

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

Алгоритм представляет собой применение к нулевому вектору |0)®и оператора

Рис. 5. Результат работы алгоритма Дойча - Иожи

H®nUfH®n, где H - это гейт Адамара, Uf- квантовый оракул, а ®n - возведение в степень n через тензорное произведение. Если после измерения регистра все биты равны 0, значит значение функции f(x) не зависит от x, в противном случае функция является сбалансированной. Для данного алгоритма можно создать квантовый оракул путем применения гейтов CNOT с каждым входным кубитом в качестве элемента управления и выходным битом в качестве цели. Изначальные состояния, которые дают 0 или 1, можно варьировать путем применения гейта X к некоторым элементам управления. Затем необходимо перевести входные кубиты в состояние |+>, а выходной ку-бит в состояние |—>. В симуляторе это можно сделать при помощи гейтов (гейтов Адамара и гейта NOT), а можно при помощи изменения базисного состояния кубита. После применения оракула необходимо использовать гейты Адамара на входных кубитах, а затем измерить их. Результат работы алгоритма приведен на рисунке 5.

Данный результат говорит о том, что функция сбалансирована.

Алгоритм Бернштейна - Вазирани

Алгоритм Бернштейна - Вазирани является расширенной версией алгоритма Дойча - Иожи. Известно, что существует скрытая булева

Рис. 6. Квантовая схема алгоритма Бернштейна - Вазирани

функция, которая принимает в качестве входных данных строку битов и возвращает либо 0, либо 1, причем f(x) = а • x, где • - скалярное произведение. Требуется найти а. Квантовая схема алгоритма с а = 011 представлена на рисунке 6. Алгоритм Бернштейна - Вазирани демонстрирует преимущество квантовых алгоритмов по наименьшему требуемому количеству запросов к оракулу. Классическое решение задачи в лучшем случае потребует O(n) обращений к оракулу, в то время как квантовый алгоритм решает задачу за 0(1) [8].

Основные кубиты инициализируются состоянием |0)®и, а вспомогательный состоянием |1>. Затем ко всем кубитам применяется гейт Адамара. К результатам предыдущего шага применяется оракул Uf, после чего к основным кубитам снова применяется гейт Адамара. В результате измерение входного регистра даст искомый «скрытый» вектор. Результат работы алгоритма приведен на рисунке 7.

Результатом измерения является искомый «скрытый» вектор - 011.

Квантовое преобразование Фурье

В классических вычислениях преобразование Фурье - это математическая операция, которая является фундаментальной для таких областей, как обработка сигналов. Квантовое преобразование Фурье (QFT) выполняет преобразование

между двумя базисами, вычислительным (7) базисом и базисом Фурье, и является частью некоторых важных алгоритмов, таких как алгоритм Шора [9]. Гейт Адамара - это однокубит-ное QFT, так как он выполняет преобразование из базиса 7 |0> и |1> в базис X |+> и |->. Точно так же все многокубитные состояния в вычислительном базисе имеют соответствующие состояния в базисе Фурье, то есть QFT - это просто функция, которая переводит состояние из одного базиса в другой.

Схема квантового преобразования Фурье для двух кубитов приведена на рисунке 8.

В многокубитных (2 и больше) квантовых схемах, реализующих QFT, используются

Рис. 7. Результат работы алгоритма Бернштейна -Вазирани

Рис. 8. Квантовая схема рБТ для двух кубитов

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

см см о см

< I

со

а м

|

о ^

со

р

о

о <и со

см ■ч-ю

с?

см ■ч-ю см

(П (П

два гейта: гейт Адамара и контролируемый фазовый поворот. Для 2-кубитного QFT к первому кубиту сначала применяется гейт Адамара, который переводит кубит в суперпозицию.

Рис. 9. Результат работы схемы квантового преобразования Фурье для 2 кубитов

Затем к кубиту применяется контролируемый гейт S (являющийся частным случаем гейта и1 с X = п/2). После этого ко второму кубиту применяется гейт Адамара. Результат работы квантовой схемы приведен на рисунке 9.

Схема квантового преобразования Фурье для трех кубитов приведена на рисунке 10.

С увеличением количества кубитов алгоритм усложняется. QFT для 3 кубитов требует выполнения следующих шагов:

1) Применить гейт Адамара к первому кубиту |х7);

2) К первому кубиту применить гейт S, контролируемый вторым кубитом;

3) Применить к первому кубиту гейт Т (являющийся частным случаем гейта Ш с X = п/4), контролируемый вторым кубитом;

4) Применить гейт Адамара ко второму кубиту;

I—

.0)

0

|0> —I

1

|0>

Г* •

1 №

Н - э

н X

У г

13Х

\XI

и1 1)2

из

т

т

2 |0>

ГА

н

л*

н

гЛ

Рис. 10. Квантовая схема рБТ для трех кубитов

100000

80000

s 60000

я

с

§

! 40000

20000

Рис. 11. Результат работы схемы квантового преобразования Фурье для 3 кубитов

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Количество кубитов

Рис. 12. Результат вычислительного эксперимента

5) Применить гейт S, контролируемый третьим кубитом, ко второму кубиту;

6) Применить гейт Адамара к третьему кубиту.

Результат работы квантовой схемы приведен на рисунке 11.

Схема квантового преобразования Фурье для четырех кубитов приведена на рисунке 2.

4-кубитная схема, реализующая QFT, построена по тому же принципу, что и схема для 3 кубитов, но в ней используется гейт поворота U1 с X = л/8. Соответственно в 5-кубит-ной схеме используется U1 с X = п/16, в 6-ку-битной U1 с X = п/32 и т.д. Результат работы квантовой схемы приведен на рисунке 3.

Вычислительный эксперимент

С использованием разработанной модели был проведен эксперимент на вычислительном комплексе «Эльбрус-801», в ходе которого была смоделирована работа ряда различных квантовых схем, содержащих от 1 до 15 куби-тов. В процессе эксперимента использовались следующие программные пакеты:

- Эльбрус ОС с ядром версии 5.4.0, дистрибутив версии 6.0;

- Python версии 3.7.4;

- NumPy версии 1.17.2.

Как и ожидалось, с увеличением количества кубитов наблюдалось значительное увеличение в затраченной памяти и времени выполнения (рис. 12). При попытке смоделировать вычислительную схему, содержащую 16

кубитов, возникла ошибка из-за превышения максимально возможного количества памяти, выделяемого для работы виртуальной машины Python. Также в ходе исследования была смоделирована работа ряда квантовых алгоритмов, в том числе алгоритма Дойча - Йожи, алгоритма Бернштейна - Вазирани, алгоритма Гровера.

Возможности аппаратно-программной платформы «Эльбрус» позволяют оптимизировать процесс моделирования квантовых вычислений. В дальнейшем планируется перенос вычислительной части модели с интерпретируемого языка Python на компилируемый язык C++, что позволит в полной мере воспользоваться всеми возможностями оптимизации, предоставляемыми программным обеспечением и архитектурой «Эльбрус». Также планируется использование специальных методов хранения разреженных матриц, что может позволить значительно снизить объем памяти, используемый при моделировании.

Заключение

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

(5 ^

S

н

си

а

0

■а

1

0

ОПО и архитектурой «Эльбрус», а также эффективное использование структур данных позволит не только увеличить количество моделируемых кубитов, но и повысить скорость получения результата при моделировании. Усовершенствование разработанной модели может позволить расширить спектр квантовых алгоритмов, доступных для моделирования. Разработанная модель может быть использована для разработки и отладки вычислительно сложных алгоритмов, которые могут быть применены в том числе для решения вычислительных задач ВКО, таких как нечеткий поиск, оптимальное распределение информационных ресурсов, распознавание целей.

Список литературы

1. Beniofff P. The computer as a physical system: A microscopic quantum mechanical Hamiltonian model of computers as represented by Turing machines // Journal of Statistical Physics. 1980. No. 22 (5). P. 563-591.

2. Benioff P. Quantum mechanical hamiltonian models of turing machines // Journal of Statistical Physics. 1982. No. 29 (3). P. 515-546.

3. Emani P. S., Warrell J., Anticevic A., et al. Quantum computing at the frontiers of biological sciences. // Nat Methods. 2021. No. 18. P. 701709.

4. Mangini S., et al. Quantum computing models for artificial neural networks. // EPL. 2021. P. 134.

5. Бочаров Н. А., Кирилюк М. А., Парамонов Н. Б. Квантовые вычисления и некоторые сложности их реализации // Приборы. 2021. № 7 (253). С. 18-25.

6. Ким А. К., Перекатов В. И., Ермаков С. Г. Микропроцессоры и вычислительные комплексы семейства «Эльбрус». СПб.: Питер, 2013. 272 с.

7. Нейман-заде М. И., Королев С. Д. Руководство по эффективному программированию на платформе «Эльбрус». АО «МЦСТ», 2020. 170 с..

8. Jack D. H. Quantum Computing: An Applied Approach. Springer International Publishing, 2019. 379 p.

9. Shor P. W. Algorithms for quantum computation: discrete logarithms and factoring // Proceedings 35th Annual Symposium on Foundations of Computer Science, 1994. P. 124-134.

CM CM

й Об авторах

Кирилюк Михаил Андреевич - младший научный сотрудник публичного акционерного общества «Институт электронных управляющих машин им. И.С. Брука», Москва, Российская Федерация.

Область научных интересов: вычислительная техника, робототехника, программирование, квантовые вычисления.

< I

м

О со

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

р

ф

о

о ф

со

см ■ci-io

9 см ■ci-

10 см

(П (П

Бочаров Никита Алексеевич - кандидат технических наук, начальник отдела публичное акционерного общества

м «Институт электронных управляющих машин им. И.С. Брука», Москва, Российская Федерация.

Область научных интересов: вычислительная техника, робототехника, программирование, квантовые вычисления.

Development of a software model for quantum computations and simulation of quantum algorithms operation based on Elbrus platform

Kirilyuk M. A., Bocharov N. A.

Institute of Electronic Control Machines (INEUM) named after I. S. Bruk

A software model for quantum computations has been developed and described within the scope of the study. Using the developed model, an experiment was carried out on the Elbrus-801 computing system. During the experiment, the operation of different quantum circuits and algorithms was simulated. The developed model can be used for developing and debugging computationally complex algorithms that may be useful for computational tasks related to aerospace defence applications.

Keywords: quantum computations, software models, qubits, Elbrus

Information about the authors

Kirilyuk Mikhail Andreevich - Junior Researcher, Institute of Electronic Control Machines (INEUM) named after I. S. Bruk.

Science research interests: computers, robotics, programming, quantum computations

Bocharov Nikita Alekseevich - Candidate of Engineering Sciences, Head of Department, Institute of Electronic Control Machines (INEUM) named after I. S. Bruk.

Science research interests: computers, robotics, programming, quantum computations

i Надоели баннеры? Вы всегда можете отключить рекламу.