В информатике голографический алгоритм — это алгоритм, который использует голографическую редукцию. Голографическая редукция — это редукция с постоянным временем , которая отображает фрагменты решения многие-ко-многим таким образом, что сумма фрагментов решения остается неизменной. Эти концепции были введены Лесли Валиантом , который назвал их голографическими , потому что «их эффект можно рассматривать как эффект создания интерференционных картин среди фрагментов решения». [1] Алгоритмы не связаны с лазерной голографией , за исключением метафорического. Их сила заключается во взаимном погашении многих вкладов в сумму, аналогично интерференционным картинам в голограмме. [2]
Голографические алгоритмы использовались для поиска полиномиальных решений проблем без таких ранее известных решений для особых случаев выполнимости , покрытия вершин и других проблем графов . [3] Они получили заметное освещение в связи с предположениями о том, что они имеют отношение к проблеме P против NP [2] и их влиянию на теорию вычислительной сложности . Хотя некоторые из общих проблем являются #P-трудными проблемами, решенные особые случаи сами по себе не являются #P-трудными и, таким образом, не доказывают FP = #P.
Голографические алгоритмы имеют некоторое сходство с квантовыми вычислениями , но являются полностью классическими. [4]
Голографические алгоритмы существуют в контексте проблем Холанта, которые обобщают проблемы удовлетворения ограничений подсчета (#CSP). Экземпляр #CSP представляет собой гиперграф G =( V , E ), называемый графом ограничений . Каждое гиперребро представляет переменную, а каждой вершине назначается ограничение Вершина связана с гиперребром, если ограничение на вершине включает переменную на гиперребре. Задача подсчета состоит в вычислении
которая представляет собой сумму по всем назначениям переменных, произведение каждого ограничения, где входными данными для ограничения являются переменные на инцидентных гиперребрах .
Задача Холанта похожа на задачу #CSP, за исключением того, что входные данные должны быть графом, а не гиперграфом. Ограничение класса входных графов таким образом действительно является обобщением. Для данного экземпляра #CSP замените каждое гиперребро e размера s вершиной v степени s с ребрами, инцидентными вершинам, содержащимся в e . Ограничением на v является функция равенства арности s . Это определяет все переменные на ребрах, инцидентных v , что является тем же эффектом, что и единственная переменная на гиперребре e .
В контексте задач Холанта выражение в (1) называется Холантом в честь связанной с ним экспоненциальной суммы, введенной Вэлиантом. [5]
Стандартным приемом в теории сложности является редукция «многие-один» , где экземпляр одной проблемы сводится к экземпляру другой (надеюсь, более простой) проблемы. Однако голографические редукции между двумя вычислительными задачами сохраняют сумму решений, не обязательно сохраняя соответствия между решениями. [1] Например, общее количество решений в обоих наборах может быть сохранено, даже если отдельные задачи не имеют соответствующих решений. Сумма также может быть взвешена, а не просто подсчитана количество решений, с использованием линейных базисных векторов . [3]
Удобно рассматривать голографические сокращения на двудольных графах. Общий граф всегда можно преобразовать в двудольный граф, сохранив при этом значение Холанта. Это делается путем замены каждого ребра в графе путем длины 2, который также известен как 2-растяжка графа. Чтобы сохранить то же значение Холанта, каждой новой вершине назначается ограничение бинарного равенства.
Рассмотрим двудольный граф G =( U , V , E ), где ограничение, назначенное каждой вершине, равно , а ограничение, назначенное каждой вершине, равно . Обозначим эту задачу подсчета как Если вершины в U рассматриваются как одна большая вершина степени | E |, то ограничение этой вершины является тензорным произведением с собой | U |, умноженным на , что обозначается как Аналогично, если вершины в V рассматриваются как одна большая вершина степени | E |, то ограничение этой вершины равно Пусть ограничение будет представлено его взвешенной таблицей истинности как вектор-строка, а ограничение будет представлено его взвешенной таблицей истинности как вектор-столбец. Тогда Холант этого графа ограничений просто
Теперь для любой комплексной обратимой матрицы T размером 2 на 2 (столбцы которой являются линейными базисными векторами, упомянутыми выше) существует голографическое сокращение между и Чтобы увидеть это, вставьте единичную матрицу между ними , чтобы получить
Таким образом, и имеют точно такое же значение Холанта для каждого графа ограничений. Они по сути определяют одну и ту же задачу подсчета.
Пусть G — граф. Между вершинными покрытиями графа G и независимыми множествами графа G существует взаимно однозначное соответствие . Для любого множества вершин графа G S является вершинным покрытием графа G тогда и только тогда, когда дополнение графа S является независимым множеством графа G. Таким образом, число вершинных покрытий графа G в точности равно числу независимых множеств графа G.
Эквивалентность этих двух задач подсчета также может быть доказана с помощью голографической редукции. Для простоты пусть G будет 3- регулярным графом . 2-Растяжка G дает двудольный граф H =( U , V , E ), где U соответствует ребрам в G , а V соответствует вершинам в G. Задача Холанта, которая естественным образом соответствует подсчету числа вершинных покрытий в G , имеет вид Таблица истинности OR 2 как вектора-строки имеет вид (0,1,1,1). Таблица истинности EQUAL 3 как вектора-столбца имеет вид . Тогда при голографическом преобразовании с помощью
что является задачей Холанта , которая естественным образом соответствует подсчету числа независимых множеств в G.
Как и любой тип редукции, голографическая редукция сама по себе не дает полиномиальный алгоритм времени. Чтобы получить полиномиальный алгоритм времени, задача, к которой она сводится, также должна иметь полиномиальный алгоритм времени. Первоначальное применение Валианта голографических алгоритмов использовало голографическую редукцию к задаче, где каждое ограничение реализуемо с помощью matchgates, [1] которая, как он только что доказал, поддается обработке путем дальнейшего сведения к подсчету числа идеальных паросочетаний в плоском графе . [6] Последняя задача поддается обработке с помощью алгоритма FKT , который датируется 1960-ми годами.
Вскоре после этого Вэлиант нашел голографические алгоритмы с сокращениями до matchgates для # 7 Pl -Rtw- Mon -3 CNF и # 7 Pl-3/2 Bip - VC . [7] Эти проблемы могут показаться несколько надуманными, особенно в отношении модуля . Обе проблемы уже были известны как #P-трудные при игнорировании модуля, и Вэлиант предоставил доказательства #P-трудности по модулю 2, которые также использовали голографические сокращения. Вэлиант нашел эти две проблемы с помощью компьютерного поиска, который искал проблемы с голографическими сокращениями до matchgates. Он назвал их алгоритмы случайными алгоритмами , сказав: «при применении термина случайный к алгоритму мы намереваемся указать, что алгоритм возникает из удовлетворения, по-видимому, обременительного набора ограничений». «Обременительный» набор ограничений, о котором идет речь, представляет собой полиномиальные уравнения, которые, если они удовлетворены, подразумевают существование голографического сокращения до реализуемых matchgate ограничений.
После нескольких лет разработки (так называемой) теории сигнатур matchgate, Цзинь-И Цай и Пиньян Лу смогли объяснить существование двух случайных алгоритмов Валианта. [3] Эти две проблемы являются лишь частными случаями двух гораздо более крупных семейств проблем: # 2 k -1 Pl-Rtw-Mon-kCNF и # 2 k -1 Pl-k/2Bip-VC для любого положительного целого числа k . Модуль 7 — это всего лишь третье число Мерсенна , и Цай и Лу показали, что эти типы проблем с параметром k могут быть решены за полиномиальное время, когда модуль — это k -е число Мерсенна, с помощью голографических редукций к matchgates и китайской теоремы об остатках .
Примерно в то же время Цзинь-И Цай, Пиньян Лу и Минцзи Ся предложили первый голографический алгоритм, который не сводился к проблеме, решаемой с помощью спичечных шлюзов. [5] Вместо этого они свели ее к проблеме, решаемой с помощью вентилей Фибоначчи, которые являются симметричными ограничениями, таблицы истинности которых удовлетворяют рекуррентному соотношению, аналогичному тому, которое определяет числа Фибоначчи . Они также использовали голографические редукции для доказательства того, что некоторые задачи подсчета являются #P-трудными. С тех пор голографические редукции широко использовались в качестве ингредиентов как в алгоритмах с полиномиальным временем, так и в доказательствах #P-трудности.