【发布时间】:2012-04-04 06:53:58
【问题描述】:
我有一个矩阵,我需要在这个矩阵中找到一个模式。 矩阵是:
1 0 0 1 1 1 0 0 0 1
0 0 0 1 1 0 1 0 0 1
0 1 1 1 0 0 0 1 0 1
1 0 1 0 0 1 1 0 1 0
1 1 1 0 0 0 1 1 0 1
0 1 0 0 1 1 0 1 0 1
1 1 1 0 0 0 1 0 0 1
1 0 0 1 0 1 1 1 0 1
规则:
- 我们从每一行中选择一个数字。
- 从第二行中选择的下一个数字必须与前一个相反。
- 1 和 2 规则选择的数字的位置必须是精确的模式。
所以问题是:
找到遵守 3 条规则的最佳模式。 所示矩阵中的示例:
- 选择了一个数字:0(2) //“()”中的内容表示值的位置。位置从 1 到 10 开始。
- 1(4)
- 要使位置 2 和 4 成为模式,必须支持矩阵其余部分的规则 1 和 2。
所以我们在第 3 行进一步检查第 2 个位置:1。我们进入第 4 行,我们检查第 4 个位置:0。似乎尊重规则。第 2 和第 4 位置的数字相反,所以我们继续:第 5 行,第 2 位置:,依此类推,但您会看到第 7 行第 2 位置:1 和第 8 行第 4 位置:1;所以2-4位的格局不好。
如何根据这些规则制定算法?
【问题讨论】:
-
您已经“制作”了算法。我不明白为什么你不只是用你最喜欢的编程语言编写指令列表并继续使用它。如果您遇到困难,或者您认为您的算法不是最优的(在某种意义上),请再次发布您的代码,我们会提供一些帮助。
标签: algorithm math statistics pattern-matching