我正在寻找可以找到具有最小移动次数的Lights Out game的解决方案的算法。我找到了使用Gaussian Elimination的解决方案,但是这个解决方案是找到任何解决方案,而不是最好的解决方案。
主要问题是侧面和角落有些地方,如果点击,只会改变三四个灯。如果没有它们,就有可能在O(n²)中解决这个问题。我想在角落和侧面尝试这些地方的所有可能性,但是n太大了。
有什么想法吗?
n - 边的大小。 n高达10。
PS。我只是在寻找可以找到解决给定方块所需的最小移动数量的解决方案,或者说这是不可能的。
答案 0 :(得分:2)
高斯消除不是太难以返回跨越移动的零空间的向量 - >灯线性变换。然后你可以在比2 ^ 100个元素小得多的空间上施加蛮力(我不认为有超过一百万种可能)。