♯П-полнота 01-перманент
# P -полнота 01-перманента , иногда известная как теорема Валианта , [1] Это математическое доказательство перманента , матриц вычислений считающееся основополагающим результатом в теории сложности . [2] [3] В научной статье вычислительная 1979 года Лесли Валиант доказал, что проблема вычисления перманента матрицы является #P-трудной , даже если в матрице есть ограничения на наличие всех элементов, равных 0 или 1. [4] В этом ограниченном случае вычисление перманента является даже #P-полным , поскольку оно соответствует задаче #P подсчёта количества матриц перестановок, которые можно получить, заменив единицы на нули.
В статье Валианта 1979 года также был представлен #P как класс сложности . [5]
В определении полноты Валианта и его доказательстве полноты 01-перманента использовались за полиномиальное время сокращения Тьюринга . При таком виде сокращения единственный сложный экземпляр какой-либо другой проблемы в #P сводится к вычислению перманента последовательности нескольких графов, каждый из которых потенциально может зависеть от результатов предыдущих перманентных вычислений. Более позднее упрощение, предложенное Бен-Дором и Халеви (1993), показало, что можно использовать более слабое понятие редукции, редукцию подсчета за полиномиальное время , которая переводит другую проблему в единственный экземпляр постоянной проблемы.
Значение
[ редактировать ]Одна из причин интереса к вычислительной сложности перманента заключается в том, что он представляет собой пример задачи, в которой построение единственного решения может быть выполнено эффективно, но подсчет всех решений затруднен. [6] Как пишет Пападимитриу в своей книге «Вычислительная сложность» :
Наиболее впечатляющими и интересными #P-полными задачами являются те, для которых соответствующая задача поиска может быть решена за полиномиальное время. Классическим примером здесь является ПОСТОЯННАЯ проблема для матриц 0–1, которая эквивалентна проблеме подсчета идеальных паросочетаний в двудольном графе [...]. [1]
В частности, вычисление перманента (как показали результаты Валианта, это сложно) тесно связано с поиском идеального паросочетания в двудольном графе , который разрешим за полиномиальное время с помощью алгоритма Хопкрофта-Карпа . [7] [8] Для двудольного графа с 2n вершинами, разделенными на две части по n вершин в каждой, количество идеальных паросочетаний равно перманенту его матрицы двусмежности , а квадрат числа совершенных паросочетаний равен перманенту его матрицы смежности . [9] Поскольку любая матрица 0–1 является матрицей двусмежности некоторого двудольного графа, из теоремы Валианта следует [9] что проблема подсчета количества идеальных паросочетаний в двудольном графе является #P-полной , и в сочетании с теоремой Тоды это означает, что она сложна для всей полиномиальной иерархии . [10] [11]
Вычислительная сложность перманента также имеет некоторое значение в других аспектах теории сложности: неизвестно, равно ли NC с полилогарифмическим временем P (неформально, может ли каждая полиномиально решаемая задача быть решена с помощью параллельного алгоритма ), и Кетан Малмули предположил, что подход к решению этого вопроса, основанный на записи перманента как определителя матрицы. [12]
Хартманн [13] доказал обобщение теоремы Валианта о сложности вычисления имманантов матриц , обобщающих как определитель, так и перманент.
Доказательство Бен-Дора и Халеви
[ редактировать ]доказательство того, что вычисление перманента 01-матрицы #P-полно Ниже описано . В основном оно следует доказательству Бен-Дора и Халеви (1993) . [14]
Обзор
[ редактировать ]Любая квадратная матрица можно рассматривать как матрицу смежности ориентированного графа, где представляющий вес ребра из вершины в вершину . Затем перманент равен сумме весов всех циклопокрытий графа; это теоретико-графовая интерпретация постоянного .
#SAT , функциональная задача , связанная с проблемой булевой выполнимости , представляет собой задачу подсчета количества удовлетворяющих назначений данной булевой формулы. Это #P-полная проблема (по определению), поскольку любая NP-машина может быть закодирована в булевую формулу с помощью процесса, аналогичного процессу в теореме Кука , так что количество удовлетворяющих присвоений булевой формулы равно числу приемных путей машины NP. Любую формулу в SAT можно переписать как формулу в форме 3- CNF , сохраняя количество удовлетворяющих присваиваний, поэтому #SAT и #3SAT эквивалентны, а #3SAT #P-полна также .
Поэтому, чтобы доказать, что 01-Permanent является #P-hard , достаточно показать, что количество удовлетворяющих присвоений для формулы 3-CNF может быть кратко выражено как функция перманента матрицы, которая содержит только значения 0 и 1. Обычно это выполняется в два этапа:
- Учитывая формулу 3-CNF , построим направленный целочисленно-взвешенный граф , такой, что сумма весов циклических покрытий (или, что то же самое, перманент ее матрицы смежности) равен количеству удовлетворяющих присвоений . Это устанавливает, что постоянный является #P-сложным.
- Посредством серии сокращений сведите постоянный к 01-постоянному, задаче вычисления перманента матрицы для всех записей 0 или 1. Это устанавливает, что 01-постоянный также является #P-сложным.
Построение целочисленного графа
[ редактировать ]Учитывая 3CNF-формулу с положения и переменных, можно построить взвешенный ориентированный граф такой, что
- каждое удовлетворяющее задание для будет иметь соответствующий набор обложек циклов в где сумма весов покрытий циклов в этом множестве будет равна ; и
- все остальные циклы охватывают будут иметь веса, суммирующиеся до 0.
Таким образом, если это количество удовлетворяющих заданий для , перманент этого графика будет . (Оригинальное доказательство Валианта строит граф с элементами в чей перманент где «вдвое больше вхождений литералов в "- .)
В конструкции графа используется компонент, который рассматривается как «черный ящик». Для простоты объяснения свойства этого компонента приводятся без фактического определения структуры компонента.
Чтобы указать , сначала создается переменный узел в для каждого из переменные в . Кроме того, для каждого из положения в , создается компонент предложения в это действует как своего рода «черный ящик». Все, что необходимо отметить по поводу заключается в том, что он имеет три входных и три выходных фронта. Входные ребра поступают либо из узлов переменных, либо из компонентов предыдущего предложения (например, для некоторых ), а выходные ребра переходят либо к узлам переменных, либо к более поздним компонентам предложения (например, для некоторых ). Первые входные и выходные ребра соответствуют первой переменной предложения. , и так далее. На данный момент все узлы, которые появятся на графике были указаны.
Далее следует рассмотреть края. Для каждой переменной из , можно создать истинный цикл (Т-цикл) и ложный цикл (F-цикл) в . Чтобы создать Т-цикл, мы начинаем с узла переменной для и нарисуйте край компонента предложения что соответствует первому предложению, в котором появляется. Если — первая переменная в предложении соответствующий , это ребро будет первым входным ребром , и так далее. Затем нарисуйте ребро к следующему компоненту предложения, соответствующему следующему предложению в котором появится, подключив его к соответствующему выходному краю к соответствующему входному ребру следующего компонента предложения и так далее. После последнего предложения, в котором появляется, мы подключаем соответствующий выходной край соответствующего компонента предложения обратно к переменная node. Конечно, это завершает цикл. Чтобы создать F-цикл, нужно было бы выполнить ту же процедуру, но подключить узел переменной для тех компонентов предложения, в которых ~ появляется и, наконец, возвращается к переменная node. Все эти ребра вне компонентов предложения называются внешними ребрами , все из которых имеют вес 1. Внутри компонентов предложения ребра называются внутренними ребрами . Каждое внешнее ребро является частью Т-цикла или F-цикла (но не того и другого — это приведет к несогласованности).
Обратите внимание, что график имеет размер, линейный по , поэтому построение можно выполнить за политайм (при условии, что компоненты предложения не вызывают проблем).
Примечательные свойства графа
[ редактировать ]Полезное свойство заключается в том, что его покрытия циклов соответствуют присвоениям переменных для . Для велосипедного чехла из , можно сказать, что вызывает присвоение значений переменным в на всякий случай содержит все внешние ребра в T-цикл и ни одно из внешних ребер в F-цикл для всех переменных что присваивание становится истинным, и наоборот для всех переменных что присваивание делает ложным. Хотя любое данное покрытие цикла не нужно вызывать задание для , любой, который это делает, индуцирует ровно одно присваивание, и то же самое индуцированное присваивание зависит только от внешних ребер . Термин на этом этапе считается покрытием неполного цикла, поскольку речь идет только о его внешних краях, . В разделе ниже рассматривается -дополнения, чтобы показать, что имеется набор покрытий циклов, соответствующий каждому обладающие необходимыми свойствами.
Какие обложки которые не вызывают присваивания, — это те, которые содержат циклы, которые «перескакивают» внутрь компонентов предложения. То есть, если для каждого , хотя бы один из входные края находятся в , и каждое выходное ребро компонентов предложения находится в когда соответствующий входной фронт находится в , затем является правильным по отношению к каждому компоненту предложения, и подготовит удовлетворительное задание для . Это потому, что правильные покрытия содержат либо полный T-цикл, либо полный F-цикл каждой переменной в а также каждое из ребер, входящих и выходящих из каждого компонента предложения. Таким образом, эти покрытия присваивают каждому из них либо истинное, либо ложное (но никогда то и другое). и обеспечить выполнение каждого пункта. Далее, множества цикловых накрытий, соответствующие всем таким иметь вес и любые другие имеет вес . Причины этого зависят от конструкции компонентов предложения и изложены ниже.
Компонент предложения
[ редактировать ]Понять соответствующие свойства компонентов предложения. , необходимо понятие М-пополнения. Велосипедный чехол индуцирует удовлетворяющее присваивание только в том случае, если его внешние ребра удовлетворяют определенным свойствам. Для любого цикла покрытия , рассмотрим только его внешние ребра, подмножество . Позволять быть множеством внешних ребер. Набор внутренних ребер это -завершение на всякий случай это обложка цикла . Далее обозначим множество всех -завершения и множество всех результирующих покрытий циклов к .
Напомним, что строительство было таково, что каждое внешнее ребро имело вес 1, поэтому вес , цикл охватывает результат любого , зависит только от задействованных внутренних ребер. Добавим сюда предпосылку, что конструкция компонентов предложения такова, что сумма по возможным -дополнения веса внутренних ребер в каждом компоненте предложения, где является правильным относительно компонента предложения, равен 12. В противном случае вес внутренних ребер равен 0. Поскольку существуют компоненты предложения и выбор наборов внутренних ребер, , внутри каждого компонента предложения не зависит от выбора наборов внутренних ребер в других компонентах предложения, поэтому можно все перемножить, чтобы получить вес . Итак, вес каждого , где индуцирует удовлетворяющее задание, . Далее, где не приводит к удовлетворительному заданию, некорректно по отношению к некоторым , поэтому произведение весов внутренних ребер в будет .
Компонент предложения представляет собой взвешенный ориентированный граф с 7 узлами со взвешенными ребрами и узлами, расположенными так, чтобы обеспечить свойства, указанные выше, и приведен в Приложении A Бен-Дора и Халеви (1993). Обратите внимание, что внутренние ребра здесь имеют веса, взятые из набора ; не все ребра имеют веса 0–1.
Наконец, поскольку сумма весов всех наборов циклических покрытий, индуцирующих какое-либо конкретное удовлетворяющее присваивание, равна , а сумма весов всех остальных наборов покрытий циклов равна 0, имеем . В следующем разделе сокращаются вычисления перманенту матрицы 01.
01-Матрица
[ редактировать ]В приведенном выше разделе показано, что постоянный является #P-сложным. Путем серии сокращений любой перманент можно свести к перманенту матрицы с элементами только 0 или 1. Это докажет, что 01-Permanent также является #P-сложным.
Приведение к неотрицательной матрице
[ редактировать ]Используя модульную арифметику , преобразуйте целочисленную матрицу в эквивалентную неотрицательную матрицу так что перманент можно легко вычислить из перманента , следующее:
Позволять быть целочисленная матрица, где ни одна запись не имеет величины больше, чем .
- Вычислить . Выбор связано с тем, что
- Вычислить
- Вычислить
- Если тогда Пермь( А ) = П . В противном случае
Преобразование в полиномиален по и , поскольку количество битов, необходимое для представления полиномиален по и
Пример преобразования и почему оно работает приведен ниже.
Здесь, , , и , так . Таким образом
Обратите внимание, что элементы неотрицательны благодаря модульной арифметике. Вычислить постоянную величину несложно.
так . Затем , так
Приведение к степени 2
[ редактировать ]Обратите внимание, что любое число можно разложить в сумму степеней 2 . Например,
Этот факт используется для преобразования неотрицательной матрицы в эквивалентную матрицу, все элементы которой являются степенями 2. Сокращение может быть выражено с помощью графиков, эквивалентных матрицам.
Позволять быть -взвешенный по узлам ориентированный граф с неотрицательными весами, где наибольший вес равен . Каждый край с весом преобразуется в эквивалентное ребро с весами в степенях 2 следующим образом:
- ,
Графически это можно увидеть на рисунке 1. Подграф, заменяющий существующее ребро, содержит узлы и края.
Чтобы доказать, что это дает эквивалентный граф имеющий тот же перманент, что и оригинал, необходимо показать соответствие между обложками цикла и .
Рассмотрим некоторое циклическое покрытие в .
- Если край не в , то чтобы охватить все узлы нового подграфа, необходимо использовать циклы. Поскольку все циклы имеют вес 1, вес циклических накрытий в и соответствовать.
- Если находится в , то во всех соответствующих цикло-накрытиях из , должен быть путь из к , где и являются узлами ребра . Из конструкции видно, что есть разные пути и сумма всех этих путей равна весу ребра в исходном графе . Таким образом, вес соответствующих циклопокрытий в и соответствовать.
Обратите внимание, что размер полиномиален по и .
Снижение до 0–1
[ редактировать ]Цель здесь состоит в том, чтобы свести матрицу, элементы которой являются степенями 2, в эквивалентную матрицу, содержащую только нули и единицы (т.е. ориентированный граф, где каждое ребро имеет вес 1).
Позволять быть -узловой ориентированный граф, в котором все веса на ребрах являются степенями двойки. Построить график, , где вес каждого ребра равен 1 и . Размер этого нового графика, , является полиномиальным по и где максимальный вес любого ребра графа является .
Это сокращение выполняется локально на каждом ребре который имеет вес больше 1. Пусть быть преимуществом в с весом . Его заменяет подграф который состоит из узлы и ребра, как показано на рисунке 2. Каждое ребро в имеет вес 1. Таким образом, полученный граф содержит только ребра с весом 1.
Рассмотрим некоторое циклическое покрытие в .
- Если исходный край из графика не в , нельзя создать путь через новый подграф . Единственный способ сформировать циклическое покрытие над в таком случае каждый узел подграфа должен взять свой цикл. Поскольку вес каждого ребра равен единице, вес полученного покрытия цикла равен весу исходного покрытия цикла.
- Однако, если край в является частью покрытия цикла, то в любом покрытии цикла должен быть путь из к в подграфе. На каждом шаге вниз по подграфу можно сделать два варианта формирования такого пути. Человек должен сделать этот выбор раз, что приводит к возможные пути из к . Таким образом, существуют возможных покрытий цикла, и поскольку каждый путь имеет вес 1, сумма весов всех этих покрытий цикла равна весу исходного покрытия цикла.
Доказательство Ааронсона
[ редактировать ]В 2011 году специалист по квантовым компьютерам Скотт Ааронсон с помощью квантовых методов доказал, что перманент является #P-жестким. [15]
Ссылки
[ редактировать ]- ^ Jump up to: а б Христос Х. Пападимитриу . Вычислительная сложность. Аддисон-Уэсли , 1994 год. ISBN 0-201-53082-1 . Страница 443
- ^ Аллен Кент , Джеймс Дж. Уильямс, Розалинд Кент и Кэролин М. Холл (редакторы). Энциклопедия микрокомпьютеров . Марсель Деккер , 1999 год. ISBN 978-0-8247-2722-2 ; п. 34
- ^ Джин-И Цай, А. Паван и Д. Сивакумар, О твердости перманента. В: STACS, '99: 16-й ежегодный симпозиум по теоретическим аспектам информатики, Трир, Германия, 4–6 марта 1999 г., материалы. стр. 90–99. Спрингер-Верлаг , Нью-Йорк, ООО Паб. Дата: октябрь 2007 г. ISBN 978-3-540-65691-3 ; п. 90.
- ^ Лесли Г. Валиант (1979). «Сложность вычисления перманента». Теоретическая информатика . 8 (2). Эльзевир: 189–201. дои : 10.1016/0304-3975(79)90044-6 .
- ^ Лэнс Фортноу . Мои любимые десять теорем сложности за последнее десятилетие. Основы технологии программного обеспечения и теоретической информатики: материалы 14-й конференции, Мадрас, Индия, 15–17 декабря 1994 г. П. С. Тиагараджан (редактор), стр. 256–275, Springer-Verlag , Нью-Йорк, 2007. ISBN 978-3-540-58715-6 ; п. 265
- ^ Бюргиссер, Питер (2000). Полнота и редукция в теории алгебраической сложности . Алгоритмы и вычисления в математике. Том. 7. Берлин: Шпрингер-Верлаг . п. 2. ISBN 978-3-540-66752-0 , Збл 0948.68082 .
- ^ Джон Э. Хопкрофт , Ричард М. Карп : Ан Алгоритм поиска максимальных паросочетаний в двудольных графах. СИАМ Дж. Компьютер. 2 (4), 225–231 (1973)
- ^ Кормен, Томас Х .; Лейзерсон, Чарльз Э .; Ривест, Рональд Л .; Штейн, Клиффорд (2001) [1990]. «26.5: Алгоритм перемаркировки на передний план». Введение в алгоритмы (2-е изд.). MIT Press и McGraw-Hill. стр. 696–697. ISBN 0-262-03293-7 .
- ^ Jump up to: а б Декстер Козен . Разработка и анализ алгоритмов. Спрингер-Верлаг , Нью-Йорк, 1991 г. ISBN 978-0-387-97687-7 ; стр. 141–142
- ^ Сейносукэ Тода . PP так же сложен, как иерархия с полиномиальным временем. SIAM Journal on Computing , том 20 (1991), выпуск 5, стр. 865–877.
- ^ «Премия Гёделя 1998 года. Сейносукэ Тода» . Архивировано из оригинала 8 января 2014 г. Проверено 6 июля 2016 г.
- ^ Кетан Малмули . Нижние границы в параллельной модели без битовых операций. SIAM Journal on Computing , том 28 (1999), выпуск 4, стр. 1460–1509.
- ^ В. Хартманн. О сложности имманантов. Линейная и полилинейная алгебра 18 (1985), вып. 2, стр. 127–140.
- ^ Бен-Дор, Амир; Халеви, Шай (1993). «Перманент ноль-один #P -полный, более простое доказательство». Материалы 2-го Израильского симпозиума по теории и вычислительным системам (PDF) . стр. 108–117.
- ^ С. Ааронсон , Линейно-оптическое доказательство того, что перманент #P-Hard