我正在用 C 语言开发一个客户端/服务器策划游戏,到目前为止我已经完成了。我的程序正在运行,平均 6 到 7 次猜测它就解决了这个秘密。然后我浏览了互联网,发现了 Donals Knuths 的方法:
- 创建一组剩余的可能性(此时有 1296 个)。第一个猜测是aabb。
- 如果它们是答案,则从 S 中删除不会给出相同分数的彩色和白色钉子的所有可能性。
- 对于每个可能的猜测(不一定在 S 中),计算每个可能的彩色/白色分数从 S 中消除多少可能性。猜测的分数是这些值中最小的。以最高分(minimax)进行猜测。
- 回到步骤 2,直到你做对了。
我这里要说的是,我用了5个位置和8种颜色。
当我试图优化我的程序时,我很难理解第 3 步的样子,特别是计算什么猜测会消除最多的可能性。
我所知道的是我必须查看每个元素并将其与其他元素进行比较,但我不确定如何比较它,因为我没有任何白色/黑色值。我想知道我怎么知道满足某些条件的条目会消除最大的可能性。