【问题标题】:Matrix algorithm for finding holes in matrix matching pattern在矩阵匹配模式中寻找孔洞的矩阵算法
【发布时间】:2019-08-31 10:17:19
【问题描述】:

我正在开发一个尝试将各种形状的块组装成最紧凑的矩阵的应用程序。我正在寻找任何现有的算法,它们可以将两个不同大小的矩阵“和”在一起,并返回第一个矩阵中适合第二个矩阵的右上角位置。

例如: 矩阵 A:

[1,0,1,1,1]
[1,0,0,1,1]
[1,0,0,1,1]
[1,1,0,0,1]
[1,1,1,1,1]

矩阵 B:

[1,0]
[1,0]
[1,1]

矩阵 B 有 2 个位置可以放入矩阵 A - (0,1) 和 (1,2)。 我可以使用蛮力方法来做到这一点(扩展矩阵 B 以匹配矩阵 A 的大小,逆矩阵 A 并将它们“与”在一起。将矩阵 B 向右滑动,然后向下直到形状的每个可能位置都被表示出来)。直觉上,似乎应该有一种更有效的方法来使用一些矩阵库或公式来完成同样的任务。

谢谢

【问题讨论】:

    标签: algorithm math matrix


    【解决方案1】:

    您可以尝试使用 Baker-Bird 算法(假设它是 KMP 算法对二维的扩展)。 请查阅此主题,您可以在其中找到更多解释:2D String Matching: Baker-Bird Algorithm

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多