Голографический алгоритм - Holographic algorithm
В Информатика, а голографический алгоритм представляет собой алгоритм, использующий голографическую редукцию. Голографическая редукция - это постоянное время снижение который отображает фрагменты решения «многие ко многим», так что сумма фрагментов решения остается неизменной. Эти концепции были введены Лесли Валиант, кто назвал их голографический потому что «их эффект можно рассматривать как эффект создания интерференционной картины среди фрагментов раствора».[1] Алгоритмы не имеют отношения к лазеру голография, кроме переносного. Их сила происходит от взаимного подавления многих вкладов в сумму, аналогично интерференционным картинам в голограмме.[2]
Голографические алгоритмы были использованы для поиска полиномиальное время решения проблем без таких ранее известных решений для частных случаев выполнимость, крышка вершины, и другие проблемы с графиком.[3] Они получили заметное освещение из-за предположений, что они имеют отношение к P против проблемы NP[2] и их влияние на теория сложности вычислений. Хотя некоторые из общих проблем # P-hard Решенные частные случаи сами по себе не являются # P-сложными и, следовательно, не доказывают, что FP = #P.
Голографические алгоритмы имеют некоторое сходство с квантовые вычисления, но полностью классические.[4]
Проблемы Холанта
Голографические алгоритмы существуют в контексте проблем Холанта, которые обобщают подсчет проблемы удовлетворения ограничений (#CSP). Экземпляр #CSP - это гиперграф грамм=(V,E) называется граф ограничений. Каждое гиперребро представляет собой переменную, а каждая вершина назначается ограничение Вершина соединяется с гиперребром, если ограничение на вершину включает переменную на гиперребре. Проблема подсчета состоит в том, чтобы вычислить
который является суммой по всем присвоениям переменных, произведением каждого ограничения, где входные данные для ограничения - переменные на инцидентных гиперребрах .
Проблема Холанта похожа на #CSP, за исключением того, что входные данные должны быть графом, а не гиперграфом. Такое ограничение класса входных графов действительно является обобщением. Учитывая экземпляр #CSP, замените каждое гиперребро е размера s с вершиной v степени s с ребрами, инцидентными вершинам, содержащимся в е. Ограничение на v - функция равенства арности s. Это идентифицирует все переменные на ребрах, инцидентных v, что аналогично влиянию единственной переменной на гиперреберье е.
В контексте проблем Холанта выражение в (1) называется Холантом в честь соответствующей экспоненциальной суммы, введенной Валиантом.[5]
Голографическая редукция
Стандартный метод в теории сложности - это много-одно сокращение, где экземпляр одной задачи сводится к экземпляру другой (надеюсь, более простой) проблемы. Однако голографические сокращения между двумя вычислительными задачами сохраняют сумму решений, не обязательно сохраняя соответствия между решениями.[1] Например, общее количество решений в обоих наборах может быть сохранено, даже если отдельные проблемы не имеют подходящих решений. Сумму также можно взвесить, а не просто подсчитывать количество решений, используя линейные базисные векторы.[3]
Общий пример
Голографические редукции удобно рассматривать на двудольных графах. Общий граф всегда можно преобразовать в двудольный граф с сохранением значения Холанта. Это делается путем замены каждого ребра в графе путем длиной 2, который также известен как 2-участок графа. Чтобы сохранить то же значение Холанта, каждой новой вершине назначается ограничение двоичного равенства.
Рассмотрим двудольный граф грамм=(U,V,E), где ограничение на каждую вершину является и ограничение, назначенное каждой вершине является . Обозначим эту задачу подсчета как Если вершины в U рассматриваются как одна большая вершина степени |E|, то ограничением этой вершины является тензорное произведение из с собой |U| раз, что обозначается Аналогично, если вершины в V рассматриваются как одна большая вершина степени |E|, то ограничение этой вершины равно Пусть ограничение быть представлен его взвешенным таблица истинности как вектор-строку и ограничение быть представлен его взвешенной таблицей истинности как вектор-столбец. Тогда Холант этого графа ограничений просто
Теперь для любого комплекса 2 на 2 обратимая матрица Т (столбцы которых являются линейными базисными векторами, упомянутыми выше), существует голографическая редукция между и Чтобы увидеть это, вставьте единичную матрицу между получить
Таким образом, и имеют точно такое же значение Холанта для каждого графа ограничений. По сути, они определяют одну и ту же проблему счета.
Конкретные примеры
Покрытия вершин и независимые множества
Позволять грамм быть графом. Существует соответствие 1: 1 между вершинные крышки из грамм и независимые множества из грамм. Для любого набора S вершин грамм, S является вершинным покрытием в грамм если и только если дополнять из S является независимым множеством в грамм. Таким образом, количество вершинных покрытий в грамм точно так же, как количество независимых множеств в грамм.
Эквивалентность этих двух задач подсчета также может быть доказана с помощью голографической редукции. Пусть для простоты грамм быть 3-регулярный график. 2-х отрезок грамм дает двудольный граф ЧАС=(U,V,E), куда U соответствует ребрам в грамм и V соответствует вершинам в грамм. Задача Холанта, которая, естественно, соответствует подсчету числа вершинных покрытий в грамм является Таблица истинности OR2 как вектор-строка (0,1,1,1). Таблица истинности EQUAL3 как вектор-столбец