Теорема. Проблема в посте - NP-сложная, за счет сокращения от Subset-Sum.
Конечно, из этого следует, что проблема вряд ли будет иметь многовременный алгоритм, как того требует op.
Вот эта интуиция. Проблема в посте
- Существует ли матрица перестановок в диапазоне заданного набора матриц?
Это по сути так же, как
- Существует ли матрица перестановок, которая (рассматривая матрицу как вектор) удовлетворяет некоторым заданным линейным ограничениям?
Это в свою очередь так же, как
- Существует ли идеальное совпадение (в полном двудольном графе), вектор инцидентности которого удовлетворяет некоторым заданным линейным ограничениям?
Сокращение Subset-Sum до последней проблемы является стандартным упражнением.
Вот подробное доказательство.
Определите следующую промежуточную задачу:
Соответствие-Sum:
вход: полный двудольный граф с неотрицательными весами ребер целого числа, и неотрицательной целое числом целевой Т .G=(U,V,E)T
Вывод: содержит ли точное совпадение веса точно T ?GT
Лемма 1 . Полумесяц Subset-Sum сводится к Matching-Sum.
Доказательство это стандартное домашнее задание. Доказательство в конце.
Лемма 2. Сопоставление-сумма множителей сводится к проблеме в посте.
Доказательство леммы 2. Зафиксируем входную сумму совпадения: полный двудольный граф с неотрицательными целочисленными ребрами веса w : U × V → N + и целью T ∈ N + , где U = { u 1 , … , u n } и V = { v 1 , … , v n } . Для каждого яG=(U,V,E)w:U×V→N+T∈N+U={u1,…,un}V={v1,…,vn} , определите M ( i j ) как матрицу в R ( n + 1 ) × ( n + 1 ), где M ( i j ) i j = T и M ( i j ) n + 1 , i , v j ) , а все остальные записи равны нулю. Сокращение выводит следующий набор матриц:
{ M ( ii,j∈{1,2,…,n}M(ij)R(n+1)×(n+1)M(ij)ij=TM(ij)n+1,n+1=w(ui,vj)
Это определяет сокращение.
{M(ij):i,j∈{1,…,n}}.
Запрос. Оболочка этого набора матриц состоит из этих матриц удовлетворяют линейным ограничениям M h , n + 1 = M n + 1 , h =0для всехh≤nи линейное ограничениеM∈ R(n+1)×(n+1)Mh,n+1=Mn+1,h=0h≤n
∑ni=1∑nj=1Mijw(ui,vj)=TMn+1,n+1.
( Доказательство утверждения. При проверке каждой матрицы в наборе удовлетворяет этим ограничениям, поэтому каждая линейная комбинация этих матриц удовлетворяет. И наоборот, еслиM∈ R ( n + 1 ) × ( n + 1 ) удовлетворяет ограничениям тогдаMравно линейной комбинации M ′ = ∑ n i = 1 ∑ n j = 1 α i j M ( i j = M i j / M (M(ij)M∈R(n+1)×(n+1)M из матриц, где α я JM′=∑ni=1∑nj=1αijM(ij). Обратите вниманиечтов частности,помощью различных определений и линейных ограничений,
М ' п + 1 , п + 1 =ΣяJαяJш(уя,vJαij=Mij/M(ij)ij=Mij/T
Это доказывает иск.)
M′n+1,n+1=∑ijαijw(ui,vj)=∑ijMijw(ui,vj)/T=(TMn+1,n+1)/T=Mn+1,n+1.
Теперь мы показываем, что сокращение является правильным. То есть данный граф имеет вес- T, совпадающий тогда и только тогда, когда набор матриц охватывает матрицу перестановок.GT
( Только если. ) Сначала предположим, что данный граф h = 0 для всех h ≤ n . Тогда ∑ есть весовое T идеальное соответствие M ′ . Пусть M ∈ { 0 , 1 } ( n + 1 ) × ( n + 1 ) - соответствующаяматрица перестановок n × n с добавлением дополнительной строки и столбца, так что M n + 1 , n + 1 = 1 1 = M n + 1 ,GTM′M∈{0,1}(n+1)×(n+1)n×nMn+1,n+1=1 и Mh,n+1=Mn+1,h=0h≤nявляется весМ', то есть,ТиМп+1∑ni=1∑nj=1Mijw(ui,vj)M′TMn+1,n+1=1, Так что линейные ограничения в трюме претензии, и продолжительность данного набора матриц перестановок содержат матрицу .M
( Матрица перестановок. Масса М ' является Σ п я = Если. ) С другой стороны , предположим , что оболочка содержит любую перестановку матрицу . Согласно утверждению, единственная ненулевая запись в строке n + 1 или столбце n + 1 - это M n + 1 , n + 1 , поэтому (поскольку M является матрицей перестановок), должно быть, что M n + 1 , n + 1 = 1 . Таким образом, удаление последней строки и столбца дает матрицу перестановок n × n . Пусть M ′ будет идеальным соответствиемMn+1n+1Mn+1,n+1MMn+1,n+1=1n×nM′ соответствует этой n × n 1 Е п J = 1 М я J ш ( у я , v J ) , который (по п) является Т М п + 1 , п + 1 = Т . Таким образом, данный граф имеет соответствие веса и T , что доказывает лемму 2. ◻Gn×nM′∑ni=1∑nj=1Mijw(ui,vj)TMn+1,n+1=TT □
Вот отложенное доказательство леммы 1:
Доказательство леммы 1. Для данного экземпляра суммы подмножеств редукция выдает экземпляр суммы совпадений ( G = ( U , V , E ) , T ), где U = { u 1 , u 2 , … , u 2 n } , V = { v 1 , v 2 ,(w,T)∈Nn+×N+(G=(U,V,E),T)U={u1,u2,…,u2n}имеет вес w i , а все остальные ребра имеют вес ноль. , для каждого i ∈ { 1 , … , n } , ребра ( u i , v i )V={v1,v2,…,v2n}i∈{1,…,n}(ui,vi)wi
Для любого идеального соответствия с весами ребер, суммирующими с , множество S = { i : ( u i , v i ) ∈ M , i ≤ n } является решением данного экземпляра суммы подмножества (так как они являются единственными ребра с нулевым весом в M ).TS={i:(ui,vi)∈M,i≤n}M
Наоборот, при любом решении экземпляра суммы подмножеств, скажем, с ∑ i ∈ S w i = T , множество ребер { ( u i , v i ) : i ∈ S } равно частичное сопоставление с весом T , и оно легко распространяется на идеальное сопоставление веса T путем добавления, например, следующего набора ребер (с нулевым весом):S⊆{1,…,n}∑i∈Swi=T{(ui,vi):i∈S}TT
{(ui+n,vi+n):i∈S}∪⋃i∈{1,…,n}∖S{(ui,vi+n),(ui+n,vi)}.
Это доказывает лемму 1. Теорема следует из лемм 1 и 2. ◻ □
ps Кроме того, согласно этому ответу , ограничение Matching-Sum на экземпляры с полиномиально ограниченными весами ребер находится в P. Но я уверен, что ограничение задачи в посте на матрицы с полиномиально-ограниченными (целое число ) записи остается нп хард.