是否有多项式时间算法来确定一组矩阵的跨度是否包含置换矩阵?


30

我想找到一种确定多项式矩阵的跨度是否包含置换矩阵的多项式时间算法。

如果有人知道这个问题是否属于不同的复杂性类别,那将同样有帮助。


编辑:我已经用线性编程标记了这个问题,因为我强烈怀疑如果存在这样的解决方案,那将是一种线性编程算法。我相信这是因为Birkhoff多面体的极端点恰好是置换矩阵。如果然后您可以找到仅在Birkhoff多边形的顶点上最大化或最小化的目标函数,则可以将函数约束到多边形与向量子空间的交点,然后在多项式时间内将其最大化。如果此值是置换矩阵,则您将知道该集合包含置换。这些就是我对这个问题的想法。


编辑2:经过更多的思考,在我看来,置换矩阵恰好是具有欧几里得范数的Birkhoff多面体的元素nn,我们认为Birkhoff多边形是n×nn×n置换矩阵的凸包。也许那也很重要。


编辑3:我添加了半定程序设计标签,因为在我之前的评论之后,我开始认为半定程序设计解决方案是可能的,因为它现在是一个线性约束的二次优化算法。


2
输入矩阵将具有哪种类型的条目?

条目可以在任何字段中,如何设置矩阵有一定的自由度。但是,您需要一个足够大的字段(例如,特性2的字段就不好了)。
尼克,

可以解释一组矩阵的范围是多少?
Mohammad Al-Turkistany

穆罕默德:我认为这是矩阵集的线性组合。
Vivek Bagaria

4
@DavidRicherby我认为穆罕默德的困惑来自于这样一个事实,通常我们认为矩阵代表线性图,并且线性图的范围有时被用作其范围的另一个术语。但这在这里没有意义,所以我想我们应该将矩阵视为向量空间的元素
Sasho Nikolov

Answers:


5

定理。 帖子中的问题是从子集和中减少,从而使NP难。

当然可以得出结论,该问题不太可能具有op所要求的多重时间算法。


这是直觉。帖子中的问题是

  • 给定矩阵范围内是否存在置换矩阵?

这基本上与

  • 是否有一个置换矩阵(将矩阵视为向量)满足某些给定的线性约束?

这又与

  • 是否存在一个完全匹配(在完整的二部图中),其入射向量满足某些给定的线性约束?

将子集和减少到后一个问题是一种标准的练习。

这是详细的证明。


定义以下中间问题:

匹配总和:

输入: 完整的二部图G = U V E G=(U,V,E)具有非负整数边权重和非负整数目标T的T

输出: G是否包含与T完全匹配的权重GT


引理1子总和折乘时间减少为匹配总和。

证明这是标准的家庭作业。证明在最后。

引理2。 匹配总和时间减少了职位中的问题。

引理2的证明修正匹配-萨姆输入:一个完整的二分图G ^ = Û V ë 具有非负整数的边权重瓦特ü × V Ñ +,和目标Ť Ñ +,其中ù = { ü 1... ù ñ }V = { v 1... v ñG=(U,V,E)w:U×VN+TN+U={u1,,un} }。对于每个V={v1,,vn}Ĵ { 1 2 ... Ñ },定义中号Ĵ 是在基质 - [R Ñ + 1 × Ñ + 1 其中,中号Ĵ Ĵ = Ť,和中号i j n + 1 n + 1 = w ui,j{1,2,,n}M(ij)R(n+1)×(n+1)M(ij)ij=Tiv j 这定义了减少量。M(ij)n+1,n+1=w(ui,vj),所有其他条目均为零。减少输出以下矩阵组: {中号Ĵ Ĵ { 1 ... Ñ } }

{M(ij):i,j{1,,n}}.

要求。 这个矩阵组的跨度包括那些矩阵的中号[R Ñ + 1 × Ñ + 1 满足线性约束中号ħ Ñ + 1 = 中号Ñ + 1 H ^ = 0对所有ħ Ñ和线性约束MR(n+1)×(n+1)Mh,n+1=Mn+1,h=0hn n i = 1n j = 1 M i jw u iv j= T中号Ñ + 1 Ñ + 1

n一世=1nĴ=1M一世jw(uivj=T中号n + 1 n +1

权利要求的证明。通过检查每个矩阵中号Ĵ 该组中满足这些限制,所以这些矩阵的每一个线性组合一样。相反,如果中号[R Ñ + 1 × Ñ + 1 满足约束条件,然后中号等于所述线性组合矩阵的,其中α Ĵ = 中号Ĵ / 中号Ĵ Ĵ = 中号中号i j M[R(n+1)×(n+1)M中号' = Σ ñ = 1 Σ ñ Ĵ = 1 α Ĵ中号ĴM=ni=1nj=1αijM(ij)Ĵ / Ť。特别要注意的是,根据各种定义和线性约束, M 'αij=Mij/M(ij)ij=Mij/T Ñ + 1 Ñ + 1 =ΣĴαĴ瓦特ÛvĴ=Σ Ĵ中号i j w=Tu iv j/ T中号Ñ + 1 Ñ + 1/ Ť = 中号Ñ + 1 Ñ + 1 这证明了索赔。)

Mn+1,n+1=ijαijw(ui,vj)=ijMijw(ui,vj)/T=(TMn+1,n+1)/T=Mn+1,n+1.

现在我们证明减少是正确的。也就是说,给定的图形G具有权重-G当且仅当矩阵集跨越置换矩阵时 T匹配。T

仅当)。首先假设给定图G具有权重T完美匹配M 。令中号{ 0 1 } Ñ + 1 × + 1 H ^ = 0对所有ħ Ñ。然后n i = 1n j = 1 M i j wGTMÑ + 1 是对应的Ñ×Ñ置换矩阵,具有一个额外的行和列中加入,使得中号Ñ + 1 Ñ + 1 =1中号ħ n +M{0,1}(n+1)×(n+1)n×nMn+1,n+1=11 =中号Ñ u i v j M '的权重,即T,而 M n + 1 n + 1 =1Mh,n+1=Mn+1,h=0hnni=1nj=1Mijw(ui,vj)MTMn+1,n+1=1的,所以在权利要求保持状态的线性约束,并且该给定组矩阵的跨度包含置换矩阵中号M

如果。)相反,假设跨度包含任何置换矩阵中号。由权利要求,在行唯一非零项Ñ + 1或列Ñ + 1中号Ñ + 1 Ñ + 1,所以(如中号是置换矩阵)它必须是中号Ñ + 1 Ñ + 1 = 1。因此,删除最后一行和最后一列将得到一个n × n置换矩阵。令M '是的完美匹配Mn+1n+1Mn+1,n+1MMn+1,n+1=1n×nM g ^G对应于该n × n置换矩阵。的重量中号'Σ ñ = 1 Σ Ñ Ĵ = 1中号Ĵ瓦特Û v Ĵ,其(由权利要求)是Ť 中号Ñ + 1 Ñ + 1 = Ť。因此,给定的图具有重量Ť匹配,证明引理2 n×nMni=1nj=1Mijw(ui,vj)TMn+1,n+1=TT    

这是引理1的延迟证明:

引理1的证明给定子集-萨姆实例瓦特Ť Ñ Ñ + × Ñ +,还原输出匹配-萨姆实例g ^ = Û V ë Ť 其中Ù = { ù 1u 2u 2 n }V = { v 1v 2(w,T)Nn+×N+(G=(U,V,E),T)U={u1,u2,,u2n} v 2 Ñ },对于每个{ 1 ... Ñ },边缘Û v 具有重量瓦特,和所有剩余的边缘具有重量为零。V={v1,v2,,v2n}i{1,,n}(ui,vi)wi

对于边权任何完美匹配求和以Ť,该组小号= { Û v 中号Ñ }是为给定的子集,萨姆实例中的溶液(因为这些是仅有的非M中的零权重边)。TS={i:(ui,vi)M,in}M

Conversely, given any solution to the Subset-Sum instance, say S{1,,n}S{1,,n} with iSwi=TiSwi=T, the set of edges {(ui,vi):iS}{(ui,vi):iS} is a partial matching with weight TT, and it extends easily to a weight-TT perfect matching by adding, for example, the following set of (zero-weight) edges:

{(ui+n,vi+n):iS}i{1,,n}S{(ui,vi+n),(ui+n,vi)}.

{(ui+n,vi+n):iS}i{1,,n}S{(ui,vi+n),(ui+n,vi)}.

This proves Lemma 1. The theorem follows from Lemmas 1 and 2.       


ps顺便说一句,根据此答案,将Matching-Sum限制为具有多项式边界边权重的实例的限制。 )条目仍然很难。


2
似乎您采用的是矩阵的凸包,而不是跨度。您描述的矩阵范围是矩阵的全部空间。还是我错过了什么?
Vanessa

@Squark, you are correct - I misinterpreted "span". Thanks. I corrected the proof to use the correct definition of span (as any linear combination of the matrices.)
Neal Young

Nice! I think it would be better to multiply the definition of M(ij)M(ij) by w(ui,vj)w(ui,vj), so that we don't have to divide by something which might be 0? Also, it seems like the proof can be somewhat simplified by combining the two reductions without the intermediate problem.
Vanessa

Good point about dividing by zero. I'll fix that. I'll leave the two reductions separate though, for me it's more intuitive that way.
Neal Young

3

Regarding the problem of computing the diameter of a polytope presented as the intersection of halfspaces, the problem is NP-hard in general, and also NP-hard to approximate within any constant factor, see Brieden's paper and references therein. I think for centrally symmetric polytopes, an SDP gives an O(logm)O(logm) approximation where mm is the number of inequalities defining the polytope. I sketch this below the line.

In your case the Birkhoff polytope PP is not centrally symmetric, but working with the convex hull of PP and PP suffices for your purposes. I think this "symmetric Birkhoff" polytope can be represented as the set of all square matrices MM that satisfy:

i,j:iMij=jMij=c

i,j:iMij=jMij=c

i,j:1Mij1

i,j:1Mij1

1c1

1c1

If this is a correct representation (not sure), then you can just add the constraints that restrict this polytope to your given subspace. It is not hard to adapt the SDP below the line to this representation, but I choose not to go through it in order to keep notation managable.

I am not sure what approximate diameter does for your problem: it probably lets you decide if the given subspace is close to a permutation matrix or far from all of them, but I have not worked out the calculations.


Let me finish with a sketch of the SDP rounding (which is fairly standard fare). Let P={x:bAxb}P={x:bAxb} be a centrally symmetric polytope, where AA is m×nm×n. Define the vector program:

α2=maxni=1vi22α2=maxni=1vi22

subject to:

1im:nj=1Aijvj22b2i1im:nj=1Aijvj22b2i

Above the vivi range over nn-dimensional vectors. This can be written as an SDP in the standard way and is a relaxation of the diameter of PP, i.e αα is at least the euclidean diameter of PP.

I now claim that αO(logm)diam(P)αO(logm)diam(P). To show this, I will give you an algorithm that, given (vi)ni=1(vi)ni=1 of value αα, outputs xPxP of length at least αO(logm)αO(logm). The algorithm is just a random projection: pick a random nn-dimensional vector gg where each gigi is a standard gaussian. Set ˜xi=gTvix~i=gTvi. By standard properties of gaussians:

E ˜x22=α2

E x~22=α2
im:E |(A˜x)i|2b2i    E mmaxi=1|(A˜x)i|biClogm.
im:E |(Ax~)i|2b2i    E maxi=1m|(Ax~)i|biClogm.
where the last bound holds for large enough CC (this is a standard fact about the maximum of mm subguassian random variables, and can be proven using the Chernoff bound).

The two equations already imply there exists an xx such that xP and x221Clogmα. Or, using concentration bounds, you can show that with constant probability 12Clogm˜xP and ˜x212α.

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.