Рассмотрение подходов к реализации симулятора квантовых вычислений на классической архитектуре

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

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык русский
Дата добавления 15.01.2019
Размер файла 255,7 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Рассмотрение подходов к реализации симулятора квантовых вычислений на классической архитектуре

Коноплев Ю.М. студент кафедры системного программирования СПБГУ 239konkos@gmail.com

Сысоев С.С. доцент кафедры системного программирования СПБГУ

sysoev@petroms.ru

Математическая модель квантовых вычислений позволила найти полиномиальные алгоритмы для некоторых сложных вычислительных задач. На данный момент авторам известно не более десятка квантовых алгоритмов, дающих различную степень ускорения по сравнению с классическими. Столь малое количество результатов за более чем 30 лет исследований, возможно, объясняется тем, что квантовые компьютеры до сих пор остаются чисто математической моделью.

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

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

Вместе с устройствами эволюционировали и алгоритмы. В 1936 году Алан Тьюринг предложил математическую модель вычислений, названную впоследствии машиной Тьюринга (Deterministic Turing Machine - DTM) [1]. Модель Тьюринга формализовала понятие алгоритма (способа вычисления некоторой функции на физическом устройстве), что позволило ввести понятие вычислимости и, в дальнейшем, сложности вычислений. Тогда же, в 1936 году, Тьюринг показал, что существуют невычислимые (undecidable) функции - такие функции, которые можно формально определить, но для вычисления которых невозможно предложить алгоритм, работающий конечное время.

Понятие сложности вычислений (количества ресурсов, необходимых для выполнения алгоритма) позволило выделить классы задач, названных неразрешимыми (intractable). В отличие от невычислимых функций, для них существуют алгоритмы, работающие за конечное время. Однако ресурсы, необходимые для выполнения этих алгоритмов, растут слишком быстро (например, экспоненциально) с увеличением размера входных данных. Открытым является вопрос, являются ли неразрешимыми задачи из класса NP-complete (знаменитая гипотеза P!=NP).

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

Уже в 1985 году появилась работа Дэвида Дойча [2], в которой был предложен первый алгоритм, позволяющий использовать преимущества квантовых вычислений. В 1994 году вышла знаменитая статья Питера Шора [3], описывающая полиномиальный алгоритм факторизации чисел.

В 1996 году Гровером [4] был получен важный результат относительно возможности решения на квантовом вычислителе обобщенной модели задачи из класса NP, при полностью неопределенном виде функции (черном ящике).

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

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

Основные понятия

Кубит, система из нескольких кубитов

Простейшей квантовой системой является вектор в двумерном Гилбертовом пространстве, называемый кубитом. Его можно представить в виде суперпозиции двух базисных векторов:

(1)

Система из нескольких кубитов описывается, как тензорное произведение систем её образующих:

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

Измерение состояния квантовой системы. Классический бит можно легко измерить. С кубитом всё не так просто. он находится не в одном из двух состояний (0 или 1), а в их суперпозиции. На данный момент не существует способов определить коэффициенты в (1). При измерении кубита мы можем получить как 0, так и 1, с некоторой вероятностью. Вероятность каждого исхода определяется, как квадрат модуля коэффициента при базисном векторе:

Эволюция квантовой системы, квантовые вентили. Эволюция квантовой системы описывается, как действие на нее некоторого унитарного оператора U. Этот оператор можно разложить в композицию операторов меньшей размерности.

Далее приведены примеры простейших однокубитных операторов:

? Тождественное преобразование:

? Отрицание:

? Фазовый сдвиг:

? Преобразование Адамара:

Также возможны вентили, имеющие более одного входа. Например, матрица контролируемого отрицания (С-NOT) имеет вид:

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

Например набор, состоящий из отрицания, фазового сдвига, преобразования Адамара, поворота на и С-NOT, является универсальным.

Постановка задачи

Целью данной работы была разработка эмулятора квантового вычислителя в виде веб-приложения.

Вся работа включала в себя две основные задачи:

1 Эмуляция действия квантовых вентилей

2 Разработка пользовательского интерфейса

Темой данной статьи является только первая задача.

Решение

Простая схема вычислителя

рис.1

На рис.1 представлена схема квантового вычислителя с четыремя разрядами.

Для квантового компьютера применение однокубитного вентиля - это просто действие на один кубит системы. При симуляции на класическом компьютере - это действие матрицы размерностью на вектор, имеющий размерность , где n - разрядность вычислителя. В данном случае при n = 4 размерность равна 16. Но, например, при n = 20 размер матрицы становится больше .

Первый подход (наивный).

В предыдущей части говорилось, что состояние квантовой системы из n кубит - тензорное произведение систем (кубит) её образующих. Исходя из этого можно показать, что матрица оператора, действующая на систему - это тензорное произведение единичных матриц 2x2 и матрицы самого оператора. Если оператор должен быть применён к кубиту с номером j , то в произведении матрица оператора должна находиться на j-м месте:

Чтобы найти состояние системы после применения оператора, нужно просто умножить вектор состояния системы на полученную матрицу оператора.

Минусы подхода:

1. Затраты памяти на хранение матриц размерностью .

2. При подсчёте матрицы оператора происходит огромное количество лишних элементарных умножений на 0 и 1.

3. Контролируемые операторы (например, CNOT) не раскладываются в тензорное произведение элементарных вентилей, и для формирования их матрицы нужен другой алгоритм.

Данный подход был реализован. Эмуляция производилась на обычном офисном ПК с объемом оперативной памяти 2Гб. Было выяснено, что система работает при разрядности вычислителя не более 12 кубит. При 13 кубитах выдавалась ошибка памяти.

Мы решили более пристально изучить процесс действия матрицы оператора на систему.

Второй подход. Рассмотрим состояние системы не как вектор размерности , а как суперпозицию базисных векторов пространства

Далее будем рассматривать действие оператора не на всю систему, а только на базисные вектора с соответствующими коэффициентами.

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

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

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

Результат применения оператора к системе расчитывается следующим образом:

Здесь - вычисленные нами столбцы.

Таким образом, мы избежали лишних умножений, ускорив процесс примерно в раз.

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

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

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

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

В результате получен прототип эмулятора квантового вычислителя, доступный по адресу http://qc-sim.appspot.com/

рис.2 Вид симулятора

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

Литература

1 Turing A.М. On Computable Numbers, with an Application to the Entscheidungs Problem // Proceedings of the London Mathematical Society. 1936. Ser. 2, 42, р. 230-265.

2 David Deutsch (1985). "The Church-Turing principle and the universal quantum computer". Proceedings of the Royal Society of London A 400: 97.

3 Peter W. Shor (1994). "Algorithms for quantum computation: discrete logarithms and factoring". Proceedings of the 35th IEEESymposium on Foundations of Computer Science. pp. 124-134.

4 Lov K. Grover (1996). "A fast quantum mechanical algorithm for database search". Proceedings of the Twenty-Eighth Annual ACMSymposium on Theory of Computing. pp. 212-219.

Размещено на Allbest.ru

...

Подобные документы

  • Задачи, выполняемые администраторами ИС ФНС РФ по обеспечению сетевой безопасности ОС UNIX. Требования к системе разработки симулятора. Блок распознавания введенной переменной. Реализация симулятора при помощи Adobe Captivate. Запись ошибки в лог-файл.

    курсовая работа [1,0 M], добавлен 01.05.2011

  • Выбор программ CodeVisionAVR и Altium Designer для быстрой реализации бегущей строки на микроконтроллере с применением программного симулятора. Реализация передачи данных, отображение текста на экране LCD. Составление эксплуатационной документации.

    курсовая работа [723,5 K], добавлен 17.11.2014

  • Разработка программного продукта, предназначенного для имитации физического взаимодействия между объектами на основе игрового симулятора. Проектирование программы "LonelySpaceRanger", код которой представлен на языке VisualС++. Разработка интерфейса.

    дипломная работа [3,2 M], добавлен 30.11.2011

  • Создание программного обеспечения для моделирования компьютерных сетей, анализ задачи и формализация технического задания. Обоснование выбора симулятора для выполнения лабораторных работ "Знакомство со средой Cisco Packet Tracer", описание интерфейса.

    дипломная работа [3,3 M], добавлен 16.07.2013

  • История возникновения идеи о квантовых вычислениях. Основные понятия квантовых вычислений. Квантовые биты, вентили и алгоритмы. Основные принципы работы и реализации квантового компьютера. Алгоритмы Шора и Гровера. Квантовый компьютер на ионных ловушках.

    реферат [1,8 M], добавлен 26.05.2012

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

    реферат [241,0 K], добавлен 07.05.2009

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

    презентация [102,5 K], добавлен 24.05.2014

  • Физическая реализация квантового компьютера. Вычислимые функции и разрешимые предикаты. Вероятностные алгоритмы, проверка простоты числа. Соотношение между классическим и квантовым вычислением. Базисы для квантовых схем. Универсальная квантовая схема.

    курсовая работа [3,8 M], добавлен 05.04.2013

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

    реферат [137,2 K], добавлен 25.07.2009

  • Методы создания и наложения текстур (сделанных на основе полученных фотографий) в программах Autodesk 3ds MAX и Adobe Photoshop. Добавление карт нормалей и бликов в программе PixPlant для создания материалов. Создание развертки 3D-объекта в 3ds MAX.

    дипломная работа [6,2 M], добавлен 15.06.2013

  • Подання чисел у нормальній формі. Порядок нормалізації чисел з рухомою комою. Правила додавання двійкових чисел з рухомою комою. Алгоритми і програми додавання чисел в арифметиці з рухомою комою в інструкціях навчального комп'ютера-симулятора DeComp.

    лабораторная работа [31,7 K], добавлен 13.03.2011

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

    курсовая работа [31,7 K], добавлен 07.01.2011

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

    реферат [1,6 M], добавлен 15.04.2016

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

    курсовая работа [455,2 K], добавлен 28.08.2017

  • Арифметические и логические основы персонального компьютера. Работа персонального компьютера. Программные средства реализации информационных процессов. Алгоритмизация и программирование. Моделирование и формализация. Локальные и глобальные сети ЭВМ.

    методичка [112,9 K], добавлен 10.12.2011

  • Цели разработки сайта интернет–магазина для реализации продуктов питания, выбор инструментария для реализации. Разработка базы данных главного модуля и клиентского интерфейса. Модульность и расширяемость, язык команд и сценариев, административный модуль.

    дипломная работа [1,1 M], добавлен 09.04.2012

  • Основные концепции разработки приложения в трёхуровневой архитектуре. Проектное решение, реализующее модель реляционной БД. Спецификация на разработку интерфейса. Описание выполнения транзакций прибытия и убытия судна. Инсталляционные файлы приложения.

    курсовая работа [4,0 M], добавлен 26.12.2011

  • Современные подходы к дистанционному образованию. Применение новых образовательных технологий. Анализ подходов к созданию обучающих интернет-ресурсов и выбор среды разработки. Эффективность создания интернет-ресурса с использованием cms-системы ucoz.

    дипломная работа [317,4 K], добавлен 26.11.2010

  • Устройство персонального компьютера. Устройства ввода графических данных и вывода данных. Устройства хранения данных. Устройства обмена данными. Цели создания сетей. Многомашинные вычислительные комплексы и компьютерные сети.

    дипломная работа [1,2 M], добавлен 18.06.2007

  • Изучение понятия внутренней памяти компьютера, которая представлена в виде отдельных интегральных микросхем, выполняющих непосредственно функцию хранения программ и данных. Технологический цикл производства ИМС. Физическая организация внутренней памяти.

    контрольная работа [35,1 K], добавлен 22.11.2010

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.