M ,一个n x n矩阵,每个条目等于0或1. m ij 表示第i行和第j列中的条目。对角线入口是其中之一 对于某些i,形成m ii 。 交换矩阵M的行i和j表示以下操作: 我们将值m ik 和m jk 交换为k = 1,2 ..... n。交换两列 类似地定义。 我们说 M 是可以重新排列的,如果可以交换一些 成对的行和一些列(以任何顺序),以便, 在所有交换之后,M的所有对角线条目都等于1.
我需要找到一个确定矩阵是否的多项式时间算法 具有0-1条目的M是可重排的。
我知道我必须使用max-flow / min-cut范例来解决这个问题,但我找不到将这个问题与最大流量问题联系起来的方法。
欢迎任何提示!
答案 0 :(得分:5)
当且仅当在S n 中存在置换pi使得M i,pi(i) = 1时,显示矩阵是可重排的是直截了当的。为每一个人。
这样的置换只是二分图中的完美匹配,每个行有一个顶点,每列有一个顶点,而当m ij = 1时,第i行和第j列之间的边正好相同
使用max-flow在二分图中找到最大匹配非常简单;当最大匹配完全匹配时,你就有一个可重排的矩阵。