复杂性:一个矩阵是另一个矩阵的行/列排列

时间:2012-02-20 16:43:29

标签: matrix complexity-theory permutation

  1. 给定两个m×n矩阵A和B,其元素属于集合S. 问题:A的行和列是否可以置换为B? 解决这个问题的算法有多复杂? 决定因素部分有帮助(当m = n时):必要条件是det(A)= +/- det(B)。

  2. 同时允许A包含与“B”的任何元素匹配的“不关心”。

  3. 此外,如果S是有限允许A元素的排列。

  4. 这不是作业 - 它与已解决的17x17拼图有关。

1 个答案:

答案 0 :(得分:0)

请参阅下面排列矩阵的行和列的示例:

enter image description here

观察起始矩阵和结束矩阵。行或列中的所有元素都保留其订单已更改。行和列的相对位置变化也是一致的

例如。在起始矩阵和结束矩阵中看到1。它的行包含元素12,3和14。它的列也有5,9和2。这是在转换中保持的。

基于这个事实,我提出这个基本算法来找到给定的矩阵A,可以将其A行和列置换为矩阵B.

 1. For each row in A, sort all elements in the row. Do same for B.
 2. Sort all rows of A (and B) based on its columns. ie. if row1 is {5,7,16,18} and row2 is {2,4,13,15}, then put row2 above row1
 3. Compare resultant matrix A' and B'. 
 4. If both equal, then do (1) and (2) but for columns on ORIGINAL matrix A & B instead of rows.
 5. Now compare resultant matrix A'' and B''