Алгоритм моделирования квантового алгоритма Гровера
Статья посвящена исследованию квантового алгоритма Гровера. Проведен анализ фундаментальных принципов квантовых вычислений: квантовый бит, суперпозиция, основные квантовые элементы. Перевод базисного состояния в равновероятное по преобразованию Адамара.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | русский |
Дата добавления | 23.01.2021 |
Размер файла | 111,8 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Алгоритм моделирования квантового алгоритма Гровера
Шемякина М.А., студент магистратуры 1 курс, факультет "Техника и технологии" Институт сферы обслуживания и предпринимательства (филиал) ДГТУ в г. Шахты Россия, г. Шахты
Аннотации
Статья посвящена исследованию квантового алгоритма Гровера. Данный алгоритм предназначен для поиска значения некоторого параметра в заданном неупорядоченном пространстве. Как показало исследование, использование алгоритма Гровера позволяет получить квадратичное ускорение по сравнению с классическими алгоритмами поиска. Также проведен анализ фундаментальных принципов квантовых вычислений: квантовый бит, суперпозиция, основные квантовые элементы.
Ключевые слова: квантовый бит, квантовый компьютер, квантовый алгоритм Гровера.
Annotation: The article is devoted to the study of Grover's quantum algorithm. This algorithm is designed to search for the value of some parameter in a given unordered space. As research has shown, the use of Grover's algorithm allows one to obtain quadratic acceleration in comparison with classical search algorithms. The analysis of the fundamental principles of quantum computing is also carried out: quantum bits, superposition, basic quantum elements.
Key words: quantum bit, quantum computer, Grover's quantum algorithm.
Квантовая вычислительная модель в последние десятилетия привлекает к себе пристальное внимание ученых, а именно ее реализация в качестве квантового компьютера. На данный момент известно, что квантовый компьютер способен вычислять сложные задачи, для которых не существует эффективных алгоритмов решения на классическом компьютере. Например, используя классические вычисления невозможно эффективно решить задачу факторизации. В квантовых же вычислениях используется алгоритм Шора, который позволяет за полиномиальное время решить задачу факторизации [1].
Одновременно с этим были обнаружены и другие задачи, которые решаются эффективней на квантовых компьютерах.
1. Основные теоретические сведения
Основой квантовой вычислительной модели является квантовый бит (кубит), который является аналогом классического бита. Кубит, как и бит может находиться в состоянии |0), |1). Однако в отличие от бита он также может находиться в суперпозиции состояний, которая представляет собой линейную комбинацию состояний квантового бита. Для квантовой системы, состоящей из одного кубита суперпозицию можно представить следующим образом:
|ф) = а|0) + р|1), (1)
где числа а и в - комплексные коэффициенты, удовлетворяющие условию |а|2+|в|2=1 [2].
Еще одним отличием кубита от бита является невозможность его измерения для определения состояния. Можно получить лишь более ограниченную информацию о его квантовом состоянии. При измерении кубита будет получен 0 с вероятностью |а|2 или 1 с вероятностью |в|2 [3]. После проведения измерения кубит переходит в состояние, которое соответствует измерению, т.е. он коллапсирует из суперпозиции в определенное состояние [4].
В квантовом компьютере состояние кубита изменяется под действием различных квантовых элементов. В качестве стандартных квантовых элементов можно выделить следующие: квантовый элемент NOT и преобразование Адамара.
Квантовый элемент NOT является аналогом классического логического элемента NOT. Его действие заключается в переводе состояния а|0) + в|1) в состояние, в котором |0) и |1) меняются местами.
Преобразование Адамара позволяет переводить базисное состояние в равновероятное, т.е. при измерении с равной вероятностью можно получить любой результат. Во многих квантовых алгоритмах в качестве начального и конечного шага используют преобразование Адамара.
2. Алгоритм Гровера
Для решения задачи компьютеру необходимо выполнить определенную последовательность операций. Описание этой последовательности называют алгоритмом решения задачи [5]. Для решения задачи на квантовом компьютере создают квантовые алгоритмы, которые в отличие от классических учитывают законы квантовой физики. На данный момент было разработано около шестидесяти квантовых алгоритмов [6].
Рассмотрим квантовый алгоритм Гровера предназначенный для поиска значения некоторого параметра в заданном неупорядоченном пространстве. Пусть задана булева функция /(х), хе(0,1}п, которая представлена в виде черного ящика. Цель алгоритма Гровера найти х такой, что /(х)=1 (функция дана в виде оракула).
Алгоритм Гровера можно представить следующим образом:
- Инициализация начального состояния. На данном этапе необходимо подготовить равновероятную суперпозицию состояний всех входных кубитов.
- Применение итерации Гровера. Итерация Гровера состоит из оракула и оператора диффузии Гровера (условный сдвиг фазы). Данный этап повторяется раз.
- Измерение. На данном этапе производят измерение выходного регистра кубитов.
Основной частью рассматриваемого алгоритма является итерация Гровера, которая разбита на четыре шага: применение оракула (гейт, осуществляющий вычисление заданной функции.); применение преобразования Адамара; применение к регистру условного сдвига фазы; применение преобразования Адамара. Три последних шага объединяются в оператор диффузии Гровера [7].
В анализируемом алгоритме оракул предназначен для распознавания решения задачи поиска. Когда на вход функции / подается значение х, при котором /(х)= 1 оракул помечает данное решение, сдвигая фазу у того квантового состояния, которое соответствует значению х.
Как можно заметить, классический алгоритм решает задачу поиска методом перебора, т.е. в лучшем случае х будет найден с первой попытки, а в худшем придётся перебрать 2П вариантов. Следовательно, х можно найти таким методом за О(И) операций, где И=2П. Алгоритм Гровера позволяет ускорить метод поиска - до О(-^М) операций.
Таким образом, на основе выше сказанного можно сделать вывод о том, что квантовый алгоритм Гровера позволяет найти значение некоторого параметра в заданном неупорядоченном пространстве за 0(^А) обращений к оракулу, т.е. дает квадратичное ускорение по сравнению с классическим алгоритмом.
3. Реализация квантового алгоритма Гровера
Для реализация квантового алгоритма Гровера была выбрана сервис - ориентированная архитектура. Вся бизнес-логика, которая представляет собой квантовые вычисления, реализуется набором сервисов, а проверка введенных данных, их интерпретация и вывод осуществляются на стороне клиента. Введенные пользователем данные по протоколу передаются сервису, который выполняет квантовые вычисления. Полученный результат передается клиенту.
На рисунке 1 представлена архитектура проектируемой системы.
Рисунок 1 -Сервис-ориентированная архитектура При реализации алгоритма Гровера, было использовано два класса: StartGrover и Grover. В StartGrover происходит проверка и подготовка входных данных, а также вывод результатов в виде графика. Grover выполняет квантовую часть алгоритма Гровера
На рисунке 2 показана последовательность действий, необходимых для выполнения алгоритма Гровера.
Рисунок 2 - Алгоритм Гровера
Выполнение алгоритма Гровера начинается с ввода данных. Затем система подготавливает квантовый регистр, который должен состоять из трех кубитов, над которыми выполняется преобразование Адамара.
Следующий этап начинается с проектирование оракула и оператора диффузии Гровера, которые строятся на основе данных, которые были введены пользователем. Затем поток управления переходит к выполнению итерации Гровера.
Заключительным этапом квантовой части алгоритма является измерение квантового регистра и сохранение ответа в массиве. Когда квантовая часть алгоритма Гровера будет выполнена N раз, система переходит к построению графика, на котором отображаются все ответы (рисунок 3).
Заключение
В данной статье представлено моделирование квантового алгоритма Гровера на классическом компьютере. Для реализации алгоритма была использована библиотека квантовых вычислений на C# - Quantum.NET, которая была выпущена в 2017 году. Данная библиотека позволяет манипулировать кубитами и моделировать квантовые цепи. Она значительно упрощает проектирование регистров и оракулов.
Таким образом, можно сделать вывод о том, что несмотря на отсутствие полноценного квантового компьютера, квантовые алгоритмы поддаются описанию, изучению и моделированию и на классическом компьютере. квантовый бит гровер
Использованные источники
1. Душкин Р.В. Квантовые вычисления и функциональное программирование. - 2014 г. - 318 с., ил.
2. Нильсен М., Чанг И. Квантовые вычисления и квантовая информация. Пер. с англ - М: Мир, 2006 г. - 824 с, ил
3. Гуц А.К. Основы квантовой кибернетики. - Омск: Полиграфический центр КАН, 2008. - 204 с.
4. Калачев А.А. Квантовая информатика в задачах: учеб.-метод. пос. / А.А. Калачев. - Казань: Казан. ун-т, 2012 г. - 48 с.: ил.
5. Дасгупта С., Пападимитриу Х., Вазирани У. Алгоритмы. Пер. с англ. под ред. А. Шеня. - М.: МЦНМО, 2014. - 320 с.
6. Stephen Jordan. Quantum algorithms zoo. [Электронный ресурс]. URL:https://math.nist.gov/quantum/zoo/ (дата обращения: 08.01.2019).
7. Гуц А.К. Архитектура, процессор и работа квантового компьютера// Математические структуры и моделирование. - 2010. - Вып. 21. - С. 55-64: рис. - Библиогр.: C. 64.
Размещено на Allbest.ru
...Подобные документы
Основные понятия квантовой механики, понятия и принципы квантовых вычислений. Возможность построения квантового компьютера, и его преимущества перед "классическим". Алгоритм Гровера - квантовый алгоритм быстрого поиска в неупорядоченной базе данных.
реферат [241,0 K], добавлен 07.05.2009История возникновения идеи о квантовых вычислениях. Основные понятия квантовых вычислений. Квантовые биты, вентили и алгоритмы. Основные принципы работы и реализации квантового компьютера. Алгоритмы Шора и Гровера. Квантовый компьютер на ионных ловушках.
реферат [1,8 M], добавлен 26.05.2012Структура квантового компьютера. Несколько идей и предложений как сделать надежные и легко управляемые квантовые биты. Использование квантовых электродинамических полостей для фотонов. Системы двух одномерных квантовых каналов для электронных волн.
презентация [102,5 K], добавлен 24.05.2014Нейровычислитель как устройство переработки информации на основе принципов работы естественных нейронных систем. Основные преимущества нейрокомпьютеров. Кубит как основа для работы квантового компьютера. Основные перспективы квантовых компьютеров.
курсовая работа [31,7 K], добавлен 07.01.2011Физическая реализация квантового компьютера. Вычислимые функции и разрешимые предикаты. Вероятностные алгоритмы, проверка простоты числа. Соотношение между классическим и квантовым вычислением. Базисы для квантовых схем. Универсальная квантовая схема.
курсовая работа [3,8 M], добавлен 05.04.2013Сущность, понятие и назначение квантового комп’ютера; его использование для вычисления процессов квантовой природы. Физические системы, реализующие кубиты. Упрощённая схема вычисления на квантовом компьютере. Тезис Черча-Тьюринга. Алгоритм Deutsch-Josza.
реферат [122,6 K], добавлен 10.11.2014Квантовые и классические приборы. Алгоритмы, классы их сложности. Квантовая информация в квантовой системе. Определение квантовой информации, реализация алгоритма. Универсальные наборы элементарных операций. Общий вид двухкубитовой операции CNOT.
курсовая работа [213,0 K], добавлен 24.12.2012Показатели эффективности параллельного алгоритма: ускорение, эффективность использования процессоров, стоимость вычислений. Оценка максимально достижимого параллелизма. Закон Амдала, Закон Густафсона. Анализ масштабируемости параллельного алгоритма.
презентация [493,0 K], добавлен 11.10.2014Описание принципа работы генетического алгоритма, проверка его работы на функции согласно варианту на основе готовой программы. Основные параметры генетического алгоритма, его структура и содержание. Способы реализации алгоритма и его компонентов.
лабораторная работа [20,2 K], добавлен 03.12.2014Основные свойства алгоритма. Формальный и неформальный исполнитель алгоритма, система его команд. Способы записи алгоритма. Словесное описание, построчная запись, опорный конспект. Характеристики алгоритмического языка. Выполнение алгоритма компьютером.
презентация [2,0 M], добавлен 04.04.2014История создания алгоритма Форда-Фалкерсона, краткое описание его алгоритма, особенности работы, анализ сложности. Создание распараллеленного варианта алгоритма и его краткое описание. Основные характеристики теории графов, специфика, пути и маршруты.
контрольная работа [246,3 K], добавлен 06.08.2013Обучение нейронных сетей как мощного метода моделирования, позволяющего воспроизводить сложные зависимости. Реализация алгоритма обратного распространения ошибки на примере аппроксимации функции. Анализ алгоритма обратного распространения ошибки.
реферат [654,2 K], добавлен 09.06.2014Понятие алгоритма, его свойства. Дискретность, определенность, результативность, формальность как свойства алгоритма. Программа как описание структуры алгоритма на языке алгоритмического программирования. Основные структурные алгоритмические конструкции.
реферат [1,3 M], добавлен 18.11.2010Элементы и переменные, используемые для составления записи в Паскале. Основные числовые типы языка Turbo Pascal. Составление блок-схемы приложения, программирование по ней программы для вычисления функции. Последовательность выполнения алгоритма.
лабораторная работа [256,9 K], добавлен 10.11.2015Виды социальных медиа. Критерии эффективности продвижения аккаунта в социальных сетях. Программная реализация алгоритма моделирования распространения информации в социальной сети "Twitter". Разработка клиентского приложения. Апробация интерфейса системы.
дипломная работа [5,4 M], добавлен 08.02.2016Калькулятор как устройство для арифметических вычислений. Разработка алгоритма, его перевод в программный код. Выбор языка, опции компилятора при сборке программы. Обработка ошибок и исключительных ситуаций в коде. Тестирование программы, файл помощи.
курсовая работа [1,2 M], добавлен 19.02.2015Основные определения и свойства колец и полей. Принцип расширения ключа (Key Expansion) для увеличения криптостойкости. Основные процедуры AddRoundKey, SubBytes, ShiftRows, MixColumns, играющие главную роль в работе алгоритма. Общий алгоритм работы AES.
курсовая работа [569,2 K], добавлен 23.11.2013История возникновения алгоритма симметричного шифрования, условия и особенности его применения на современном этапе. Принципы и функции исследуемой технологии. Анализ главных преимуществ и недостатков использования алгоритма, оценка его уязвимости.
курсовая работа [301,9 K], добавлен 29.10.2017Изучение понятия и свойств алгоритма. Определение сущности технологии Robson. Исполнитель, а также блок-схема алгоритма или его графическое представление, в котором он изображается в виде последовательности связанных между собой функциональных блоков.
реферат [155,9 K], добавлен 19.10.2013Задачи, решаемые методом динамического программирования. Основные этапы нахождения деревянного алгоритма решения задачи. Выполнение алгоритма Прима. Построение Эйлерового цикла. Решение задач средствами Excel. Алгоритм основной программы - Derevo.
курсовая работа [586,3 K], добавлен 04.04.2015