Алгоритм Харроу–Хассидима–Ллойда или алгоритм HHL — это квантовый алгоритм для численного решения системы линейных уравнений , разработанный Арамом Харроу , Авинатаном Хассидимом и Сетом Ллойдом . Алгоритм оценивает результат скалярного измерения вектора решения заданной линейной системы уравнений. [1]
Алгоритм является одним из основных фундаментальных алгоритмов, который, как ожидается, обеспечит ускорение по сравнению с их классическими аналогами, наряду с алгоритмом факторизации Шора , алгоритмом поиска Гровера и квантовым преобразованием Фурье . При условии, что линейная система разрежена [2] и имеет низкое число обусловленности , и что пользователь заинтересован в результате скалярного измерения вектора решения, а не в значениях самого вектора решения, тогда алгоритм имеет время выполнения , где — число переменных в линейной системе. Это обеспечивает экспоненциальное ускорение по сравнению с самым быстрым классическим алгоритмом, который выполняется за (или для положительных полуопределенных матриц).
Реализация квантового алгоритма для линейных систем уравнений была впервые продемонстрирована в 2013 году тремя независимыми публикациями. [3] [4] [5] Демонстрации состояли из простых линейных уравнений на специально разработанных квантовых устройствах. [3] [4] [5] Первая демонстрация универсальной версии алгоритма появилась в 2018 году. [6]
В связи с распространенностью линейных систем практически во всех областях науки и техники квантовый алгоритм для линейных систем уравнений имеет потенциал для широкого применения. [7]
Алгоритм HHL решает следующую задачу: имея эрмитову матрицу и единичный вектор , подготовить квантовое состояние, соответствующее вектору , который решает линейную систему . Точнее, цель состоит в том, чтобы подготовить состояние , амплитуды которого равны элементам . Это означает, в частности, что алгоритм не может быть использован для эффективного извлечения самого вектора . Однако он позволяет эффективно вычислять ожидаемые значения формы для некоторой наблюдаемой .
Во-первых, алгоритм представляет вектор как квантовое состояние вида:
Далее, методы моделирования Гамильтона используются для применения унитарного оператора к для суперпозиции различных времен . Возможность разложения на собственный базис и нахождения соответствующих собственных значений облегчается использованием квантовой фазовой оценки .
Состояние системы после этого разложения приблизительно такое:
где — базис собственных векторов , и .
Затем мы хотели бы выполнить линейное отображение, принимая в , где — нормализующая константа. Операция линейного отображения не является унитарной и, таким образом, потребует ряда повторений, поскольку она имеет некоторую вероятность неудачи. После того, как она успешна, мы не вычисляем регистр и остаемся с состоянием, пропорциональным:
где — квантово-механическое представление искомого вектора решения x . Для считывания всех компонентов x потребовалось бы повторить процедуру не менее N раз. Однако часто бывает так, что нас интересует не он сам, а некоторое математическое ожидание линейного оператора M , действующего на x . Отображая M в квантово-механический оператор и выполняя квантовое измерение, соответствующее M , мы получаем оценку математического ожидания . Это позволяет извлекать широкий спектр признаков вектора x , включая нормализацию, веса в различных частях пространства состояний и моменты, без фактического вычисления всех значений вектора решения x .
Во-первых, алгоритм требует, чтобы матрица была эрмитовой , чтобы ее можно было преобразовать в унитарный оператор . В случае, когда не является эрмитовой, определяем
Как и эрмитов алгоритм теперь можно использовать для решения, чтобы получить .
Во-вторых, алгоритм требует эффективной процедуры для подготовки , квантового представления b. Предполагается, что существует некий линейный оператор , который может эффективно перевести некоторое произвольное квантовое состояние в , или что этот алгоритм является подпрограммой в более крупном алгоритме и дается в качестве входных данных. Любая ошибка в подготовке состояния игнорируется.
Наконец, алгоритм предполагает, что состояние может быть подготовлено эффективно, где
для некоторых больших . Коэффициенты выбираются так, чтобы минимизировать определенную квадратичную функцию потерь, которая вызывает ошибку в подпрограмме, описанной ниже.
Гамильтоново моделирование используется для преобразования эрмитовой матрицы в унитарный оператор, который затем может быть применен по желанию. Это возможно, если A является s -разреженным и эффективно вычисляемым по строкам, то есть имеет не более s ненулевых записей на строку, и при заданном индексе строки эти записи могут быть вычислены за время O( s ). При этих предположениях квантовое гамильтоново моделирование позволяет моделировать за время .
Ключевая подпрограмма алгоритма, обозначенная , определяется следующим образом и включает в себя подпрограмму оценки фазы :
1. Подготовить на регистре C
2. Применить условную гамильтонову эволюцию (сумму)
3. Применим преобразование Фурье к регистру C. Обозначим полученные базисные состояния через для k = 0, ..., T − 1. Определим .
4. Присоединяем трехмерный регистр S в состоянии
5. Повторите шаги 1–3 в обратном порядке, не вычисляя весь мусор, который возникнет по ходу процесса.
Процедура оценки фазы на этапах 1-3 позволяет оценить собственные значения A с точностью до погрешности .
Вспомогательный регистр на шаге 4 необходим для построения конечного состояния с инвертированными собственными значениями, соответствующими диагонализованной инверсии A. В этом регистре функции f , g называются функциями фильтра. Состояния «ничего», «хорошо» и «хорошо» используются для указания телу цикла, как действовать; «ничего» указывает, что требуемая инверсия матрицы еще не произошла, «хорошо» указывает, что инверсия произошла и цикл должен остановиться, а «хорошо» указывает, что часть находится в плохо обусловленном подпространстве A , и алгоритм не сможет произвести требуемую инверсию. Создание состояния, пропорционального инверсии A, требует измерения «хорошо», после чего общее состояние системы схлопывается до требуемого состояния по расширенному правилу Борна .
Тело алгоритма следует процедуре усиления амплитуды : начиная с , многократно применяется следующая операция:
где
и
После каждого повторения измеряется и выдает значение «ничего», «хорошо» или «плохо», как описано выше. Этот цикл повторяется до тех пор, пока не будет измерено, что происходит с вероятностью . Вместо повторения раз для минимизации ошибки используется усиление амплитуды для достижения той же устойчивости к ошибке с использованием только повторений.
После успешного измерения «хорошо» система будет находиться в состоянии, пропорциональном:
Наконец, мы выполняем квантово-механический оператор, соответствующий M, и получаем оценку значения .
Лучшим классическим алгоритмом, который выдает фактический вектор решения , является метод исключения Гаусса , который выполняется во времени.
Если A является s -разреженным и положительно полуопределенным, то для нахождения вектора решения можно использовать метод сопряженных градиентов , который можно найти за время путем минимизации квадратичной функции .
Когда требуется только сводная статистика вектора решения , как в случае квантового алгоритма для линейных систем уравнений, классический компьютер может найти оценку за .
Время выполнения квантового алгоритма для решения систем линейных уравнений, первоначально предложенного Харроу и др., было показано равным , где — параметр ошибки, а — число обусловленности . Впоследствии он был улучшен до Андриса Амбайниса [8] , а Чайлдс и др. разработали квантовый алгоритм с полиномиальным временем выполнения [9] . Поскольку алгоритм HHL сохраняет логарифмическое масштабирование только для разреженных или низкоранговых матриц, Воссниг и др. [10] расширили алгоритм HHL на основе квантовой техники оценки сингулярных значений и предоставили алгоритм линейной системы для плотных матриц, который выполняется за время по сравнению со стандартным алгоритмом HHL.
Важным фактором производительности алгоритма обращения матрицы является число условий , которое представляет собой отношение наибольшего и наименьшего собственных значений . По мере увеличения числа условий уменьшается легкость, с которой вектор решения может быть найден с использованием методов градиентного спуска, таких как метод сопряженных градиентов , поскольку становится ближе к матрице, которую нельзя инвертировать, и вектор решения становится менее стабильным. Этот алгоритм предполагает, что все сингулярные значения матрицы лежат между и 1, в этом случае будет достигнуто заявленное время выполнения, пропорциональное . Таким образом, ускорение по сравнению с классическими алгоритмами увеличивается еще больше, когда представляет собой . [1]
Если бы время выполнения алгоритма было сделано полилогарифмическим, то задачи, решаемые на n кубитах, можно было бы решить за полилогарифмическое время ( n ), в результате чего класс сложности BQP стал бы равен PSPACE . [1]
Выполнение гамильтоновой симуляции, которая является основным источником ошибок, осуществляется путем симуляции . Предполагая, что является s-разреженным, это можно сделать с ошибкой, ограниченной константой , что будет переводиться в аддитивную ошибку, достигаемую в выходном состоянии .
Шаг оценки фазы ошибается на оценку , что приводит к относительной ошибке в . Если , принятие приводит к окончательной ошибке . Это требует, чтобы общая эффективность времени выполнения была увеличена пропорционально для минимизации ошибки.
Хотя пока не существует квантового компьютера, который действительно может предложить ускорение по сравнению с классическим компьютером, реализация «доказательства концепции» остается важной вехой в разработке нового квантового алгоритма. Демонстрация квантового алгоритма для линейных систем уравнений оставалась сложной задачей в течение многих лет после его предложения до 2013 года, когда он был продемонстрирован Cai et al., Barz et al. и Pan et al. параллельно.
Опубликовано в Physical Review Letters 110, 230501 (2013), Cai et al. сообщили об экспериментальной демонстрации простейшего осмысленного примера этого алгоритма, то есть решения линейных уравнений для различных входных векторов. Квантовая схема оптимизирована и скомпилирована в линейную оптическую сеть с четырьмя фотонными квантовыми битами (кубитами) и четырьмя управляемыми логическими вентилями, которая используется для последовательной реализации каждой подпрограммы для этого алгоритма. Для различных входных векторов квантовый компьютер дает решения для линейных уравнений с достаточно высокой точностью, в диапазоне от 0,825 до 0,993. [11]
5 февраля 2013 года Стефани Барц и ее коллеги продемонстрировали квантовый алгоритм для линейных систем уравнений на архитектуре фотонных квантовых вычислений. Эта реализация использовала два последовательных запутывающих вентиля на одной и той же паре поляризационно-кодированных кубитов. Были реализованы два отдельно управляемых вентиля НЕ, где успешная работа первого была объявлена измерением двух вспомогательных фотонов. Барц и др. обнаружили, что точность в полученном выходном состоянии варьировалась от 64,7% до 98,1% из-за влияния выбросов более высокого порядка от спонтанного параметрического преобразования с понижением частоты. [4]
8 февраля 2013 года Пан и др. сообщили о экспериментальной демонстрации концепции квантового алгоритма с использованием 4-кубитного ядерного магнитно-резонансного квантового информационного процессора. Реализация была протестирована с использованием простых линейных систем всего из 2 переменных. В ходе трех экспериментов они получили вектор решения с точностью более 96%. [5]
Еще одна экспериментальная демонстрация использования ЯМР для решения системы 8*8 была представлена Веном и др. [12] в 2018 году с использованием алгоритма, разработанного Субаши и др. [13].
Квантовые компьютеры — это устройства, которые используют квантовую механику для выполнения вычислений способами, которые классические компьютеры сделать не могут. Для некоторых задач квантовые алгоритмы обеспечивают экспоненциальное ускорение по сравнению с их классическими аналогами, наиболее известным примером является алгоритм факторизации Шора. Известно немного таких экспоненциальных ускорений, и те, которые известны (например, использование квантовых компьютеров для моделирования других квантовых систем), до сих пор нашли ограниченное практическое применение из-за нынешних небольших размеров квантовых компьютеров. Этот алгоритм обеспечивает экспоненциально более быстрый метод оценки характеристик решения набора линейных уравнений, что является проблемой, повсеместно встречающейся в науке и технике, как сама по себе, так и в качестве подпрограммы в более сложных задачах.
Клэйдер и др. представили предобусловленную версию алгоритма линейных систем, которая обеспечила два прогресса. Во-первых, они продемонстрировали, как предобуславливатель может быть включен в квантовый алгоритм. Это расширяет класс задач, которые могут достичь обещанного экспоненциального ускорения, поскольку масштабирование HHL и лучших классических алгоритмов является полиномиальным по числу условий . Вторым прогрессом была демонстрация того, как использовать HHL для решения эффективной поверхности рассеяния сложной формы. Это был один из первых сквозных примеров того, как использовать HHL для решения конкретной задачи экспоненциально быстрее, чем лучший известный классический алгоритм. [14]
Доминик Берри предложил новый алгоритм для решения линейных дифференциальных уравнений, зависящих от времени, как расширение квантового алгоритма для решения линейных систем уравнений. Берри предлагает эффективный алгоритм для решения эволюции полного времени при разреженных линейных дифференциальных уравнениях на квантовом компьютере. [15]
Две группы предложили [16] эффективные алгоритмы для численного интегрирования диссипативных нелинейных обыкновенных дифференциальных уравнений. Лю и др. [17] использовали метод линеаризации Карлемана для уравнений второго порядка, а Ллойд и др. [18] использовали метод линеаризации среднего поля, вдохновленный нелинейным уравнением Шредингера для нелинейностей общего порядка. Полученные линейные уравнения решаются с использованием квантовых алгоритмов для линейных дифференциальных уравнений.
Метод конечных элементов использует большие системы линейных уравнений для поиска приближенных решений различных физических и математических моделей. Монтанаро и Паллистер демонстрируют, что алгоритм HHL, применяемый к определенным задачам FEM, может достигать полиномиального квантового ускорения. Они предполагают, что экспоненциальное ускорение невозможно в задачах с фиксированными размерами, и для которых решение удовлетворяет определенным условиям гладкости.
Квантовые ускорения для метода конечных элементов выше для задач, которые включают решения с производными более высокого порядка и большими пространственными размерами. Например, задачи динамики многих тел требуют решения уравнений, содержащих производные по порядкам, масштабируемым с числом тел, а некоторые задачи вычислительных финансов , такие как модели Блэка-Шоулза , требуют больших пространственных размерностей. [19]
Вибе и др. предлагают новый квантовый алгоритм для определения качества подгонки наименьших квадратов , в котором непрерывная функция используется для аппроксимации набора дискретных точек путем расширения квантового алгоритма для линейных систем уравнений. По мере увеличения числа дискретных точек время, необходимое для подгонки наименьших квадратов с использованием даже квантового компьютера, работающего с алгоритмом томографии квантового состояния, становится очень большим. Вибе и др. обнаруживают, что во многих случаях их алгоритм может эффективно находить краткую аппроксимацию точек данных, устраняя необходимость в алгоритме томографии более высокой сложности. [20]
Машинное обучение — это изучение систем, которые могут определять тенденции в данных. Задачи машинного обучения часто включают обработку и классификацию большого объема данных в многомерных векторных пространствах. Время выполнения классических алгоритмов машинного обучения ограничено полиномиальной зависимостью как от объема данных, так и от размерности пространства. Квантовые компьютеры способны обрабатывать многомерные векторы с использованием пространств тензорных произведений и, таким образом, являются хорошо подходящими платформами для алгоритмов машинного обучения. [21]
Квантовый алгоритм для линейных систем уравнений был применен к машине опорных векторов, которая является оптимизированным линейным или нелинейным бинарным классификатором. Машина опорных векторов может использоваться для контролируемого машинного обучения, в котором доступен обучающий набор уже классифицированных данных, или неконтролируемого машинного обучения, в котором все данные, предоставленные системе, не классифицированы. Ребентрост и др. показывают, что квантовая машина опорных векторов может использоваться для классификации больших данных и достигать экспоненциального ускорения по сравнению с классическими компьютерами. [22]
В июне 2018 года Чжао и др. разработали алгоритм для выполнения байесовского обучения глубоких нейронных сетей на квантовых компьютерах с экспоненциальным ускорением по сравнению с классическим обучением за счет использования квантового алгоритма для линейных систем уравнений [6], предоставив также первую универсальную реализацию алгоритма для запуска на облачных квантовых компьютерах . [23]
Предложения по использованию HHL в финансах включают решение частных дифференциальных уравнений для уравнения Блэка-Шоулза и определение оптимизации портфеля с помощью решения Марковица . [24]
В 2023 году Баскаран и др. предложили использовать алгоритм HHL для квантово-химических расчетов с помощью метода линеаризованных связанных кластеров (LCC). [25] Связь между алгоритмом HHL и методом LCC обусловлена тем, что последний можно переформулировать в виде системы линейных уравнений. Ключевым фактором, который делает этот подход полезным для квантовой химии, является то, что число кубитов регистра состояний является натуральным логарифмом числа возбуждений, тем самым предлагая экспоненциальное подавление числа требуемых кубитов по сравнению с вариационным квантовым собственным решателем или алгоритмами квантовой оценки фазы . Это приводит к «сосуществованию в масштабах», где в данную эпоху квантовых вычислений HHL-LCC можно применять к гораздо более крупным системам, тогда как QPE- CASCI можно использовать для меньших молекулярных систем, но с большей точностью в прогнозировании молекулярных свойств. С точки зрения алгоритма авторы вводят подход «AdaptHHL», который позволяет обойти необходимость затратить ~Ο(N 3 ) классических накладных расходов, связанных с фиксацией значения параметра «c» в модуле управляемого вращения алгоритма.
Признавая важность алгоритма HHL в области квантового машинного обучения , Скотт Ааронсон [26] анализирует оговорки и факторы, которые могут ограничить фактическое квантовое преимущество алгоритма.