В квантовых вычислениях квантовый алгоритм — это алгоритм , который работает на реалистичной модели квантовых вычислений , наиболее часто используемой моделью является модель вычислений с квантовой схемой . [1] [2] Классический (или неквантовый) алгоритм — это конечная последовательность инструкций или пошаговая процедура решения задачи, где каждый шаг или инструкция может быть выполнена на классическом компьютере . Аналогично, квантовый алгоритм — это пошаговая процедура, каждый из шагов которой может быть выполнен на квантовом компьютере . Хотя все классические алгоритмы также могут быть выполнены на квантовом компьютере, [3] :126 термин «квантовый алгоритм» обычно используется для тех алгоритмов, которые кажутся квантовыми по своей сути или используют некоторые существенные особенности квантовых вычислений, такие как квантовая суперпозиция или квантовая запутанность .
Проблемы, которые неразрешимы с помощью классических компьютеров, остаются неразрешимыми с помощью квантовых компьютеров. [4] : 127 Что делает квантовые алгоритмы интересными, так это то, что они могут решать некоторые проблемы быстрее, чем классические алгоритмы, поскольку квантовая суперпозиция и квантовая запутанность, которые используют квантовые алгоритмы, вероятно, не могут быть эффективно смоделированы на классических компьютерах (см. Квантовое превосходство ).
Наиболее известными алгоритмами являются алгоритм факторизации Шора и алгоритм Гровера поиска в неструктурированной базе данных или неупорядоченном списке. Алгоритмы Шора работают намного (почти экспоненциально) быстрее, чем самый известный классический алгоритм факторизации — решето общего числового поля . [5] Алгоритм Гровера работает квадратично быстрее, чем лучший из возможных классических алгоритмов для той же задачи, [6] линейный поиск .
В широко используемой схемной модели квантовых вычислений квантовые алгоритмы обычно описываются квантовой схемой, которая воздействует на некоторые входные кубиты и завершается измерением . Квантовая схема состоит из простых квантовых вентилей , которые действуют не более чем на фиксированное количество кубитов. Количество кубитов должно быть фиксированным, поскольку изменение количества кубитов подразумевает неунитарную эволюцию. Квантовые алгоритмы также могут быть сформулированы в других моделях квантовых вычислений, таких как модель гамильтонового оракула. [7]
Квантовые алгоритмы можно разделить на категории по основным методам, используемым в алгоритме. Некоторые часто используемые методы/идеи в квантовых алгоритмах включают фазовый откат, оценку фазы , квантовое преобразование Фурье , квантовые блуждания , усиление амплитуды и топологическую квантовую теорию поля . Квантовые алгоритмы также можно сгруппировать по типу решаемой задачи, например, см. обзор квантовых алгоритмов для решения алгебраических задач. [8]
Квантовое преобразование Фурье является квантовым аналогом дискретного преобразования Фурье и используется в нескольких квантовых алгоритмах. Преобразование Адамара также является примером квантового преобразования Фурье в n-мерном векторном пространстве над полем F 2 . Квантовое преобразование Фурье можно эффективно реализовать на квантовом компьютере, используя только полиномиальное число квантовых вентилей . [ нужна цитата ]
Алгоритм Дойча-Йожы решает проблему черного ящика , которая требует экспоненциально большого количества запросов к черному ящику для любого детерминированного классического компьютера, но может быть решена с помощью одного запроса квантовым компьютером. Однако при сравнении классических и квантовых алгоритмов с ограниченной ошибкой ускорение не наблюдается, поскольку классический вероятностный алгоритм может решить задачу с постоянным количеством запросов с небольшой вероятностью ошибки. Алгоритм определяет, является ли функция f постоянной (0 на всех входах или 1 на всех входах) или сбалансированной (возвращает 1 для половины входной области и 0 для другой половины).
Алгоритм Бернштейна-Вазирани — первый квантовый алгоритм, который решает проблему более эффективно, чем самый известный классический алгоритм. Он был разработан для разделения оракулов между BQP и BPP .
Алгоритм Саймона решает проблему черного ящика экспоненциально быстрее, чем любой классический алгоритм, включая вероятностные алгоритмы с ограниченной ошибкой. Этот алгоритм, который обеспечивает экспоненциальное ускорение по сравнению со всеми классическими алгоритмами, которые мы считаем эффективными, стал мотивацией для алгоритма факторизации Шора.
Алгоритм оценки квантовой фазы используется для определения собственной фазы собственного вектора унитарного вентиля с учетом квантового состояния, пропорционального собственному вектору, и доступа к вентилю. Алгоритм часто используется как подпрограмма в других алгоритмах.
Алгоритм Шора решает задачу дискретного логарифмирования и задачу целочисленной факторизации за полиномиальное время, [9] тогда как наиболее известные классические алгоритмы требуют суперполиномиального времени. Эти проблемы не известны ни в P , ни в NP-полных версиях . Это также один из немногих квантовых алгоритмов, который решает задачу, не связанную с черным ящиком, за полиномиальное время, в то время как самые известные классические алгоритмы работают за суперполиномиальное время.
Проблема абелевой скрытой подгруппы является обобщением многих проблем, которые могут быть решены с помощью квантового компьютера, таких как проблема Саймона, решение уравнения Пелля , проверка главного идеала кольца R и факторизация . Известны эффективные квантовые алгоритмы для решения абелевой проблемы скрытой подгруппы. [10] Более общая проблема скрытых подгрупп, где группа не обязательно абелева, является обобщением ранее упомянутых проблем, изоморфизма графов и некоторых проблем решетки . Для некоторых неабелевых групп известны эффективные квантовые алгоритмы. Однако не известны эффективные алгоритмы для симметричной группы , которые дали бы эффективный алгоритм изоморфизма графов [11] и группы диэдра , которые могли бы решить некоторые проблемы решетки. [12]
Сумма Гаусса — это разновидность экспоненциальной суммы . Самый известный классический алгоритм оценки этих сумм требует экспоненциального времени. Поскольку задача дискретного логарифма сводится к оценке суммы Гаусса, эффективный классический алгоритм оценки суммы Гаусса будет подразумевать эффективный классический алгоритм вычисления дискретных логарифмов, что считается маловероятным. Однако квантовые компьютеры могут оценивать суммы Гаусса с полиномиальной точностью за полиномиальное время. [13]
У нас есть оракул , состоящий из n случайных логических функций, отображающих n -битные строки в логическое значение. Нам необходимо найти n n -битовых строк z 1 ,..., z n таких, что для преобразования Адамара-Фурье не менее 3/4 строк удовлетворяют
и хотя бы 1/4 удовлетворяет
Это можно сделать за квантовое полиномиальное время с ограниченной ошибкой (BQP). [14]
Усиление амплитуды — это метод, который позволяет усиливать выбранное подпространство квантового состояния. Применение усиления амплитуды обычно приводит к квадратичному ускорению по сравнению с соответствующими классическими алгоритмами. Его можно рассматривать как обобщение алгоритма Гровера.
Алгоритм Гровера ищет помеченную запись в неструктурированной базе данных (или неупорядоченном списке) с N записями, используя только запросы вместо запросов, требуемых классически. [15] Классически запросы требуются даже для вероятностных алгоритмов с ограниченной ошибкой.
Теоретики рассмотрели гипотетическое обобщение стандартного квантового компьютера, который мог бы получить доступ к истории скрытых переменных в механике Бома . (Такой компьютер является полностью гипотетическим и не может быть стандартным квантовым компьютером, и даже невозможен в соответствии со стандартной теорией квантовой механики.) Такой гипотетический компьютер мог бы осуществлять поиск в базе данных из N элементов максимум поэтапно . Это немного быстрее, чем шаги, выполняемые алгоритмом Гровера . Ни один из методов поиска не позволит ни одной из моделей квантового компьютера решать NP-полные задачи за полиномиальное время. [16]
Квантовый счет решает обобщенную задачу поиска. Он решает проблему подсчета количества отмеченных записей в неупорядоченном списке, а не просто определяет их существование. В частности, он подсчитывает количество отмеченных записей в списке элементов, при этом возникают ошибки , выдавая только запросы, где — количество отмеченных элементов в списке. [17] [18] Точнее, алгоритм выводит оценку количества отмеченных записей со следующей точностью: .
Квантовое блуждание — это квантовый аналог классического случайного блуждания , которое можно описать распределением вероятностей по некоторым состояниям. Квантовое блуждание можно описать квантовой суперпозицией состояний. Известно, что квантовые блуждания приводят к экспоненциальному ускорению решения некоторых задач «черного ящика». [19] [20] Они также обеспечивают полиномиальное ускорение для решения многих задач. Фреймворк для создания алгоритмов квантового блуждания существует и является довольно универсальным инструментом. [21]
Проблема отбора бозонов в экспериментальной конфигурации предполагает [22] вход бозонов (например, фотонов света) умеренного количества, которые случайным образом рассеиваются в большом количестве выходных мод, ограниченных определенной унитарностью . Когда используются отдельные фотоны света, проблема изоморфна многофотонному квантовому блужданию. [23] Тогда проблема состоит в том, чтобы создать адекватную выборку распределения вероятностей выходных данных, которое зависит от входного расположения бозонов и унитарности. [24] Решение этой проблемы с помощью классического компьютерного алгоритма требует вычисления перманента матрицы унитарного преобразования, что может быть либо невозможно, либо занять непомерно много времени. В 2014 году было предложено [25] , что существующие технологии и стандартные вероятностные методы генерации однофотонных состояний могут быть использованы в качестве входных данных для подходящей квантово-вычислимой линейной оптической сети и что выборка выходного распределения вероятностей будет явно лучше, если использовать квантовые алгоритмы. В 2015 году исследование предсказало [26] , что проблема выборки будет иметь аналогичную сложность для входных данных, отличных от фотонов в состоянии Фока , и выявило переход вычислительной сложности от классически моделируемой к такой же сложной, как проблема выборки бозонов, в зависимости от размера входных когерентных амплитуд.
Проблема различимости элементов — это проблема определения того, все ли элементы списка различны. Классически для списка размера N требуются запросы Ω( N ) . Однако ее можно решить в запросах на квантовом компьютере. Оптимальный алгоритм — Андрис Амбайнис . [27] Яоюнь Ши впервые доказал точную нижнюю границу, когда размер диапазона достаточно велик. [28] Амбайнис [29] и Кутин [30] независимо (и посредством различных доказательств) расширили его работу и получили нижнюю оценку для всех функций.
Задача поиска треугольника — это задача определения того, содержит ли данный граф треугольник ( клику размера 3). Самая известная нижняя граница для квантовых алгоритмов равна Ω( N ), но лучший известный алгоритм требует O( N 1,297 ) запросов, [31] улучшение по сравнению с предыдущими лучшими O( N 1,3 ) запросами. [21] [32]
Формула представляет собой дерево с вентилем в каждом внутреннем узле и входным битом в каждом листовом узле. Проблема состоит в том, чтобы оценить формулу, которая является выходными данными корневого узла, учитывая доступ оракула к входным данным.
Хорошо изученная формула — это сбалансированное двоичное дерево, состоящее только из вентилей И-НЕ. [33] Этот тип формулы требует Θ( N c ) запросов с использованием случайности, [34] где . Однако с помощью квантового алгоритма ее можно решить за Θ( N 0,5 ) запросов. Лучшего квантового алгоритма для этого случая не было известно, пока не был найден алгоритм для нетрадиционной гамильтоновой модели оракула. [7] Вскоре последовал тот же результат и для стандартной настройки. [35]
Известны также быстрые квантовые алгоритмы для более сложных формул. [36]
Проблема состоит в том, чтобы определить, является ли группа черного ящика , заданная k генераторами, коммутативной . Группа черного ящика — это группа с функцией оракула, которую необходимо использовать для выполнения групповых операций (умножение, инверсия и сравнение с тождеством). Нас интересует сложность запроса, то есть количество вызовов оракула, необходимое для решения проблемы. Сложность детерминированного и рандомизированного запроса равна и соответственно. [37] Квантовый алгоритм требует запросов, но самый известный алгоритм использует запросы. [38]
Класс сложности BQP (квантовое полиномиальное время с ограниченной ошибкой) представляет собой набор задач решения , решаемых квантовым компьютером за полиномиальное время с вероятностью ошибки не более 1/3 для всех случаев. [39] Это квантовый аналог классического класса сложности BPP .
Задача называется BQP -полной, если она находится в BQP и любая задача из BQP может быть сведена к ней за полиномиальное время . Неформально, к классу BQP -полных задач относятся те, которые столь же сложны, как и самые сложные задачи в BQP , и сами по себе эффективно решаются с помощью квантового компьютера (с ограниченной ошибкой).
Виттен показал, что топологическая квантовая теория поля Черна-Саймонса (TQFT) может быть решена в терминах полиномов Джонса . Квантовый компьютер может моделировать TQFT и тем самым аппроксимировать полином Джонса, [40] который, насколько нам известно, трудно вычислить классически в худшем случае. [ нужна цитата ]
Идея о том, что квантовые компьютеры могут быть более мощными, чем классические, возникла в результате наблюдения Ричарда Фейнмана о том, что классическим компьютерам, похоже, требуется экспоненциальное время для моделирования многочастичных квантовых систем. [41] С тех пор идея о том, что квантовые компьютеры могут моделировать квантовые физические процессы экспоненциально быстрее, чем классические компьютеры, была значительно конкретизирована и развита. Эффективные (то есть с полиномиальным временем) квантовые алгоритмы были разработаны для моделирования как бозонных, так и фермионных систем [42] , и, в частности, для моделирования химических реакций, выходящих за рамки возможностей современных классических суперкомпьютеров, требуется всего несколько сотен кубитов. [43] Квантовые компьютеры также могут эффективно моделировать топологические квантовые теории поля. [44] Помимо своего внутреннего интереса, этот результат привел к созданию эффективных квантовых алгоритмов для оценки квантовых топологических инвариантов, таких как полиномы Джонса [45] и ХОМФЛИ , [46] и инвариант Тураева-Виро трехмерных многообразий. [47]
В 2009 году Арам Харроу , Авинатан Хасидим и Сет Ллойд сформулировали квантовый алгоритм решения линейных систем . Алгоритм оценивает результат скалярного измерения вектора решения заданной линейной системы уравнений . [48]
При условии, что линейная система является разреженной и имеет низкое число обусловленности , а пользователя интересует результат скалярного измерения вектора решения, а не значения самого вектора решения, тогда время выполнения алгоритма равно где – количество переменных в линейной системе. Это обеспечивает экспоненциальное ускорение по сравнению с самым быстрым классическим алгоритмом, который работает (или для положительных полуопределенных матриц).
Гибридные квантово-классические алгоритмы сочетают подготовку и измерение квантового состояния с классической оптимизацией. [49] Эти алгоритмы обычно направлены на определение собственного вектора основного состояния и собственного значения эрмитова оператора.
Алгоритм квантовой аппроксимационной оптимизации основан на квантовом отжиге, выполняя дискретную аппроксимацию квантового отжига в квантовой схеме. Его можно использовать для решения задач по теории графов. [50] Алгоритм использует классическую оптимизацию квантовых операций для максимизации целевой функции.
Алгоритм вариационного квантового собственного решателя (VQE) применяет классическую оптимизацию для минимизации энергетического ожидания анзац- состояния для нахождения основного состояния оператора, такого как гамильтониан молекулы. [51] Это также можно распространить на поиск возбужденных энергий молекул. [52]
Алгоритм CQE минимизирует остаток сжатия (или проекции) уравнения Шредингера на пространство двух (или более) электронов, чтобы найти энергию основного или возбужденного состояния и двухэлектронную приведенную матрицу плотности молекулы. [53] Он основан на классических методах решения энергий и двухэлектронных приведенных матриц плотности непосредственно из антиэрмитова сжатого уравнения Шредингера. [54]