В линейной алгебре вычисление перманента матрицы считается более сложной задачей, чем вычисление определителя матрицы , несмотря на кажущуюся схожесть определений.
Перманент определяется аналогично определителю, как сумма произведений наборов элементов матрицы, которые лежат в различных строках и столбцах. Однако, если определитель взвешивает каждое из этих произведений со знаком ±1 на основе четности набора , то перманент взвешивает их все со знаком +1.
В то время как определитель может быть вычислен за полиномиальное время методом исключения Гаусса , обычно считается, что перманент не может быть вычислен за полиномиальное время. В теории сложности вычислений теорема Вэлианта утверждает, что вычисление перманентов является #P-трудным , и даже #P-полным для матриц, в которых все элементы равны 0 или 1 Вэлиант (1979). Это помещает вычисление перманента в класс задач, которые считаются еще более сложными для вычисления, чем NP . Известно, что вычисление перманента невозможно для однородных по логарифмическому пространству схем ACC 0. (Allender & Gore 1994)
Разработка как точных, так и приближенных алгоритмов вычисления перманента матрицы является активной областью исследований.
Перманент матрицы A = ( a i,j ) размером n на n определяется как
Сумма здесь распространяется на все элементы σ симметрической группы S n , т.е. на все перестановки чисел 1, 2, ..., n . Эта формула отличается от соответствующей формулы для определителя только тем, что в определителе каждое произведение умножается на знак перестановки σ, тогда как в этой формуле каждое произведение является беззнаковым. Формулу можно напрямую перевести в алгоритм, который наивно расширяет формулу, суммируя по всем перестановкам и внутри суммы умножая каждый элемент матрицы. Это требует n! n арифметических операций.
Самый известный [1] общий точный алгоритм принадлежит HJ Ryser (1963). Метод Ryser основан на формуле включения-исключения , которая может быть задана [2] следующим образом: Пусть будет получено из A путем удаления k столбцов, пусть будет произведением строковых сумм , и пусть будет суммой значений по всем возможным . Тогда
Его можно переписать в терминах матричных записей следующим образом [3]
Формулу Райзера можно оценить с помощью арифметических операций или путем обработки множеств в порядке кода Грея . [4]
Другая формула, которая, по-видимому, так же быстра, как и формула Райзера (или, возможно, даже в два раза быстрее), находится в двух докторских диссертациях; см. (Balasubramanian 1980), (Bax 1998); а также (Bax & Franklin 1996). Методы нахождения формулы совершенно различны, поскольку связаны с комбинаторикой алгебры Мьюира и теорией конечных разностей соответственно. Другой способ, связанный с теорией инвариантов, — через тождество поляризации для симметричного тензора (Glynn 2010). Формула обобщается на бесконечное множество других, как было найдено всеми этими авторами, хотя неясно, быстрее ли они, чем базовая. См. (Glynn 2013).
Простейшая известная формула такого типа (когда характеристика поля не равна двум) имеет вид
где внешняя сумма берется по всем векторам .
Число совершенных паросочетаний в двудольном графе подсчитывается с помощью перманента матрицы бисмежности графа , а перманент любой матрицы 0-1 может быть интерпретирован таким образом как число совершенных паросочетаний в графе. Для планарных графов (независимо от двудольности) алгоритм FKT вычисляет число совершенных паросочетаний за полиномиальное время, изменяя знаки тщательно выбранного подмножества записей в матрице Тутте графа, так что пфаффиан результирующей кососимметричной матрицы ( квадратный корень из ее определителя ) является числом совершенных паросочетаний. Этот метод можно обобщить на графы, которые не содержат подграфа, гомеоморфного полному двудольному графу K 3,3 . [5]
Джордж Полиа задал вопрос [6] о том, когда можно изменить знаки некоторых элементов матрицы 01 A так, чтобы определитель новой матрицы был постоянным для A. Не все матрицы 01 являются «конвертируемыми» таким образом; на самом деле известно (Маркус и Минц (1961)), что не существует линейного отображения такого, что для всех матриц . Характеристика «конвертируемых» матриц была дана Литтлом (1975), который показал, что такие матрицы — это в точности те, которые являются матрицей двусмежности двудольных графов, имеющих пфаффову ориентацию : ориентацию ребер, такую, что для каждого четного цикла , для которого существует совершенное паросочетание, существует нечетное число ребер, направленных вдоль C (и, таким образом, нечетное число с противоположной ориентацией). Было также показано, что эти графы — это в точности те, которые не содержат подграфа, гомеоморфного , как указано выше.
По модулю 2 постоянная совпадает с детерминантом, так как ее также можно вычислить по модулю за время . Однако вычислить постоянную по модулю любого числа, которое не является степенью 2, UP-сложно. Valiant (1979)
Существуют различные формулы, приведенные Глинном (2010) для вычисления по модулю простого числа p . Во-первых, есть одна, использующая символические вычисления с частными производными.
Во-вторых, при p = 3 существует следующая формула для матрицы n×n , включающая главные миноры матрицы (Коган (1996)):
где — подматрица , индуцированная строками и столбцами , проиндексированная как , а — дополнение к , в то время как определитель пустой подматрицы определяется как 1.
Приведенное выше разложение можно обобщить в произвольной характеристике p как следующую пару дуальных тождеств: где в обеих формулах сумма берется по всем ( p − 1)-кортежам , которые являются разбиениями множества на p − 1 подмножеств, некоторые из которых, возможно, пусты.
Первая формула имеет аналог для гафниана симметричного и нечетного p:
с суммой, взятой по тому же набору индексов. Более того, в нулевой характеристике аналогичное выражение суммы свертки, включающее как перманент, так и определитель, дает полином гамильтонового цикла (определяемый как, где — множество n-перестановок, имеющих только один цикл):
В характеристике 2 последнее равенство превращается в то, что, следовательно, дает возможность за полиномиальное время вычислить полином гамильтонова цикла любой унитарной (т.е. такой, что где — единичная n × n -матрица), поскольку каждый минор такой матрицы совпадает со своим алгебраическим дополнением: где — единичная n × n -матрица с элементами индексов 1,1, замененными на 0. Более того, оно, в свою очередь, может быть далее обобщено для унитарной n × n -матрицы следующим образом: где — подмножество {1, ..., n }, — единичная n × n -матрица с элементами индексов k , k , замененными на 0 для всех k, принадлежащих , и мы определяем, где — множество n-перестановок, каждый цикл которых содержит хотя бы один элемент из .
Эта формула также подразумевает следующие тождества над полями характеристики 3:
для любого обратимого
для любой унитарной , то есть квадратной матрицы такой, что где — единичная матрица соответствующего размера,
где — матрица, элементы которой являются кубами соответствующих элементов .
Также было показано (Kogan (1996)), что если мы определим квадратную матрицу как k-полуунитарную, когда , перманент 1-полуунитарной матрицы вычислим за полиномиальное время над полями характеристики 3, в то время как для k > 1 задача становится #3-P-полной . (Параллельная теория касается гамильтонова цикла, полиномиального в характеристике 2: в то время как его вычисление на унитарных матрицах осуществимо за полиномиальное время, задача является #2-P-полной для k-полуунитарных для любого k > 0). Последний результат был существенно расширен в 2017 году (Knezevic & Cohen (2017)), и было доказано, что в характеристике 3 существует простая формула, связывающая перманенты квадратной матрицы и ее частичной обратной (для и будучи квадратными, будучи обратимыми ):
и он позволяет за полиномиальное время свести вычисление перманента матрицы размера n × n с подмножеством из k или k − 1 строк, выражаемых как линейные комбинации другого (непересекающегося) подмножества из k строк, к вычислению перманента матрицы размера ( n − k )×( n − k )- или ( n − k + 1)×( n − k + 1)- соответственно, тем самым введя оператор сжатия (аналогичный гауссовой модификации, применяемой для вычисления определителя), который «сохраняет» перманент в характеристике 3. (Аналогично, стоит отметить, что полином гамильтонова цикла в характеристике 2 также обладает своими инвариантными матричными сжатиями, принимая во внимание тот факт, что ham( A ) = 0 для любой матрицы A размера n × n , имеющей три равные строки, или, если n > 2, пары индексов i , j таких, (что его i -я и j -я строки идентичны, а его i -й и j -й столбцы также идентичны.) Замыкание этого оператора, определяемое как предел его последовательного применения вместе с транспонированием (используемым каждый раз, когда оператор оставляет матрицу нетронутой), также является операторным отображением, когда применяется к классам матриц, одного класса в другой. В то время как оператор сжатия отображает класс 1-полуунитарных матриц в себя и классы унитарных и 2-полуунитарных матриц, компрессионное замыкание 1-полуунитарного класса (а также класса матриц, полученных из унитарных путем замены одной строки на произвольный вектор-строку — перманент такой матрицы является, через разложение Лапласа, суммой перманентов 1-полуунитарных матриц и, соответственно, вычислим за полиномиальное время) пока неизвестно и тесно связано с общей проблемой вычислительной сложности перманента в характеристике 3 и главным вопросом P против NP : как было показано в (Knezevic & Cohen (2017)), если такое компрессионное замыкание является множеством всех квадратных матриц над полем характеристики 3 или, по крайней мере, содержит матричный класс, то вычисление перманента на является #3-P-полным (как и класс 2-полуунитарных матриц), то перманент вычислим за полиномиальное время по этой характеристике.
Кроме того, была сформулирована задача поиска и классификации любых возможных аналогов сохраняющих постоянство сжатий, существующих в характеристике 3 для других простых характеристик (Knezevic & Cohen (2017)), при этом было дано следующее тождество для матрицы n × n и двух n -векторов (имеющих все свои элементы из множества {0, ..., p − 1}) и таких, что , справедливое в произвольной простой характеристике p :
где для n × m -матрицы , n-вектора и m-вектора , оба вектора имеют все свои элементы из множества {0, ..., p − 1}, обозначает матрицу, полученную из повторением раз ее i -й строки для i = 1, ..., n и раз ее j -го столбца для j = 1, ..., m (если кратность какой-либо строки или столбца равна нулю, это будет означать, что строка или столбец были удалены, и, таким образом, это понятие является обобщением понятия подматрицы), и обозначает n-вектор, все элементы которого равны единице. Это тождество является точным аналогом классической формулы, выражающей минор матрицы через минор ее обратной и, следовательно, демонстрирует (еще раз) своего рода двойственность между определителем и перманентом как относительными имманантами. (На самом деле его собственным аналогом для гафниана симметричного и нечетного простого числа p является ).
И, как еще более широкое обобщение для случая частичной инверсии в простой характеристике p, для , будучи квадратным, будучи обратимым и имея размер x , и , также справедливо тождество
где общие векторы кратности строк/столбцов и для матрицы порождают соответствующие векторы кратности строк/столбцов и , s,t = 1,2, для ее блоков (то же самое касается частичной обратной матрицы в правой части равенства).
Когда элементы A неотрицательны, перманент может быть приблизительно вычислен за вероятностное полиномиальное время с точностью до ε M , где M — значение перманента, а ε > 0 — произвольно. Другими словами, существует полностью полиномиальная рандомизированная схема приближения (FPRAS) (Jerrum, Sinclair & Vigoda (2001)).
Самым сложным шагом в вычислениях является построение алгоритма для выборки почти равномерно из множества всех идеальных паросочетаний в заданном двудольном графе: другими словами, полностью полиномиального почти равномерного выборщика (FPAUS). Это можно сделать с помощью алгоритма Монте-Карло цепи Маркова , который использует правило Метрополиса для определения и запуска цепи Маркова , распределение которой близко к равномерному, а время смешивания полиномиально.
Можно приблизительно подсчитать количество идеальных паросочетаний в графе с помощью самоприводимости перманента, используя FPAUS в сочетании с хорошо известным сокращением от выборки к подсчету, предложенным Джеррумом, Валиантом и Вазирани (1986). Пусть обозначает количество идеальных паросочетаний в . Грубо говоря, для любого конкретного ребра в , выбрав множество паросочетаний в и подсчитав, сколько из них являются паросочетаниями в , можно получить оценку отношения . Тогда число равно , где может быть приближено, применяя тот же метод рекурсивно.
Другой класс матриц, для которых перманент представляет особый интерес, — это положительно-полуопределенные матрицы . [7] Используя технику подсчета Стокмейера, их можно вычислить в пределах класса , но в целом это считается невыполнимым классом. Аппроксимировать перманенты матриц PSD в пределах субэкспоненциального множителя NP-трудно, и предполагается, что это -трудно [8] Если наложить дополнительные ограничения на спектр , известны более эффективные алгоритмы. Один рандомизированный алгоритм основан на модели выборки бозонов и использует инструменты, присущие квантовой оптике , для представления перманента положительно-полуопределенных матриц как ожидаемого значения определенной случайной величины. Последняя затем аппроксимируется ее выборочным средним. [9] Этот алгоритм для определенного набора положительно-полуопределенных матриц аппроксимирует их перманент за полиномиальное время с точностью до аддитивной ошибки, что более надежно, чем у стандартного классического алгоритма полиномиального времени Гурвица. [10]