Алгоритмы квантовой оптимизации — это квантовые алгоритмы , которые используются для решения задач оптимизации. [1] Математическая оптимизация занимается поиском наилучшего решения проблемы (согласно некоторым критериям) из множества возможных решений. В основном задача оптимизации формулируется как задача минимизации, где пытаются минимизировать ошибку, которая зависит от решения: оптимальное решение имеет минимальную ошибку. Различные методы оптимизации применяются в различных областях, таких как механика , экономика и инженерия , и по мере роста сложности и объема используемых данных необходимы более эффективные способы решения задач оптимизации. Квантовые вычисления могут позволить решить проблемы, которые практически невозможно решить на классических компьютерах, или предложить значительное ускорение по сравнению с самым известным классическим алгоритмом.
Подгонка данных — это процесс построения математической функции , которая наилучшим образом соответствует набору точек данных. Качество подгонки измеряется некоторыми критериями, обычно расстоянием между функцией и точками данных.
Одним из наиболее распространенных типов подбора данных является решение задачи наименьших квадратов , минимизирующее сумму квадратов разностей между точками данных и подобранной функцией.
Алгоритму заданы входные данные и непрерывные функции . Алгоритм находит и выдает на выходе непрерывную функцию, которая представляет собой линейную комбинацию :
Другими словами, алгоритм находит комплексные коэффициенты и, следовательно, вектор .
Алгоритм направлен на минимизацию ошибки, которая определяется выражением:
где определяется следующая матрица:
Квантовый алгоритм подбора методом наименьших квадратов [2] использует версию квантового алгоритма Харроу, Хассидима и Ллойда для линейных систем уравнений (HHL) и выводит коэффициенты и оценку качества подбора . Он состоит из трех подпрограмм: алгоритма выполнения псевдообратной операции , одной процедуры оценки качества подгонки и алгоритма обучения параметров подгонки.
Поскольку квантовый алгоритм в основном основан на алгоритме HHL, он предполагает экспоненциальное улучшение [3] в случае, когда разрежено и число обусловленности (а именно, соотношение между наибольшим и наименьшим собственными значениями ) обоих и мало.
Полуопределенное программирование (SDP) — это подполе оптимизации, занимающееся оптимизацией линейной целевой функции (задаваемой пользователем функции, подлежащей минимизации или максимизации) над пересечением конуса положительных полуопределенных матриц с аффинным пространством . Целевая функция — это внутренний продукт матрицы (заданной в качестве входных данных) с переменной . Обозначим через пространство всех симметричных матриц. Переменная должна лежать в (замкнутом выпуклом) конусе положительных полуопределенных симметричных матриц . Внутренний продукт двух матриц определяется как:
Проблема может иметь дополнительные ограничения (заданные в качестве входных данных), которые также обычно формулируются как внутренние продукты. Каждое ограничение заставляет внутренний продукт матриц (заданный в качестве входных данных) с переменной оптимизации быть меньше указанного значения (заданного в качестве входных данных). Наконец, задачу SDP можно записать так:
Неизвестно, чтобы лучший классический алгоритм работал безоговорочно за полиномиальное время . Известно, что соответствующая задача осуществимости лежит либо вне объединения классов сложности NP и co-NP, либо в пересечении NP и co-NP. [4]
Входными данными алгоритма являются параметры, касающиеся трассы решения , точности и оптимального значения (значения целевой функции в оптимальной точке).
Квантовый алгоритм [5] состоит из нескольких итераций. На каждой итерации он решает задачу осуществимости , а именно находит любое решение, удовлетворяющее следующим условиям (дающим порог ):
На каждой итерации выбирается другой порог , и алгоритм выводит либо такое решение (и другие ограничения также выполняются), либо указание на то, что такого решения не существует. Алгоритм выполняет двоичный поиск, чтобы найти минимальный порог , для которого решение все еще существует: это дает минимальное решение проблемы SDP.
Квантовый алгоритм обеспечивает квадратичное улучшение по сравнению с лучшим классическим алгоритмом в общем случае и экспоненциальное улучшение, когда входные матрицы имеют низкий ранг .
Задача комбинаторной оптимизации направлена на поиск оптимального объекта из конечного множества объектов. Проблему можно сформулировать как максимизацию целевой функции , которая представляет собой сумму логических функций . Каждая логическая функция получает на вход -битную строку и выдает на выходе один бит (0 или 1). Задача комбинаторной оптимизации битов и предложений заключается в поиске -битной строки , которая максимизирует функцию.
Приближенная оптимизация — это способ найти приближенное решение задачи оптимизации, которая часто является NP-трудной . Приближенное решение задачи комбинаторной оптимизации представляет собой строку , близкую к максимизирующей .
Для комбинаторной оптимизации алгоритм квантовой аппроксимационной оптимизации (QAOA) [6] на короткое время имел лучший коэффициент аппроксимации, чем любой известный классический алгоритм с полиномиальным временем (для определенной задачи) [7] , пока не был предложен более эффективный классический алгоритм. [8] Относительное ускорение квантового алгоритма является открытым исследовательским вопросом.
Сердце QAOA основано на использовании унитарных операторов , зависящих от углов , где — входное целое число. Эти операторы итеративно применяются к состоянию, которое представляет собой равновзвешенную квантовую суперпозицию всех возможных состояний в вычислительном базисе. На каждой итерации состояние измеряется в вычислительной базе и оценивается. Затем углы обновляются классическим способом для увеличения . После повторения этой процедуры достаточное количество раз значение становится практически оптимальным, а измеряемое состояние также близко к оптимальному. В принципе, оптимальное значение может быть достигнуто с любой точностью, это гарантируется адиабатической теоремой [9] или, альтернативно, универсальностью унитарной системы QAOA. [10] Однако вопрос о том, возможно ли это сделать, остается открытым. Например, было показано, что QAOA демонстрирует сильную зависимость от отношения ограничения задачи к переменным (плотности задачи), что накладывает предельное ограничение на способность алгоритма минимизировать соответствующую целевую функцию . [11]
Вскоре было признано, что обобщение процесса QAOA, по сути, представляет собой попеременное применение квантового блуждания в непрерывном времени на базовом графе с последующим зависящим от качества фазовым сдвигом, применяемым к каждому состоянию решения. Этот обобщенный QAOA был назван QWOA (алгоритм оптимизации на основе квантового обхода). [12]
В статье «Сколько кубитов необходимо для квантового вычислительного превосходства», представленной arXiv, [13] авторы приходят к выводу, что схема QAOA с 420 кубитами и 500 ограничениями потребует по крайней мере одно столетие для моделирования с использованием классического алгоритма моделирования, работающего на основе состояний. новейших суперкомпьютеров , так что этого будет достаточно для квантового вычислительного превосходства .
Строгое сравнение QAOA с классическими алгоритмами может дать оценки глубины и количества кубитов, необходимых для получения квантового преимущества. Исследование алгоритма QAOA и MaxCut показывает, что необходимо для масштабируемого преимущества. [14]