В квантовых вычислениях квантовый алгоритм — это алгоритм , который работает на реалистичной модели квантовых вычислений , наиболее часто используемой моделью является модель вычислений с квантовой схемой . [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] , что проблема выборки будет иметь аналогичную сложность для входных данных, отличных от фотонов в фоковском состоянии, и выявило переход вычислительной сложности от классически моделируемой к такой же сложной, как проблема выборки бозонов, в зависимости от размера входных когерентных амплитуд. .
Проблема различимости элементов — это проблема определения того, все ли элементы списка различны. Классически запросы требуются для списка размера ; однако ее можно решить с помощью запросов на квантовом компьютере. Оптимальный алгоритм был предложен Андрисом Амбайнисом [27] , и Яоюн Ши впервые доказал точную нижнюю границу, когда размер диапазона достаточно велик. [28] Амбайнис [29] и Кутин [30] независимо (и посредством различных доказательств) расширили эту работу и получили нижнюю оценку для всех функций.
Задача поиска треугольника — это задача определения того, содержит ли данный граф треугольник ( клику размера 3). Самая известная нижняя граница для квантовых алгоритмов равна , но лучший известный алгоритм требует O( N 1,297 ) запросов, [31] улучшение по сравнению с предыдущими лучшими O( N 1,3 ) запросами. [21] [32]
Формула представляет собой дерево с вентилем в каждом внутреннем узле и входным битом в каждом листовом узле. Проблема состоит в том, чтобы оценить формулу, которая является выходными данными корневого узла, учитывая доступ оракула к входным данным.
Хорошо изученная формула — это сбалансированное двоичное дерево, состоящее только из вентилей И-НЕ. [33] Для формул этого типа требуются запросы, использующие случайность, [34] где . Однако с помощью квантового алгоритма ее можно решить с помощью запросов. Лучшего квантового алгоритма для этого случая не было известно, пока не был найден алгоритм для нетрадиционной гамильтоновой модели оракула. [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]