我正在读《计算机科学蒸馏》一书,但遇到了麻烦。作者建议通过真值表解决爱因斯坦的“斑马难题”,但我不知道如何解决。我找不到起始条件和变量。您对最小桌子有什么想法吗?我想我只能创建6 ^ 6版本
最佳答案
我是OP提到的那本书的作者。我并不是要读者仅使用一个大的事实表来解决Zebra难题,而是将其用作检测不可能发生的情况并更好地指导探索过程的工具。
使用一个带有代表房屋/属性状态的变量的大真值表,您可以发现一个变量,如果为true,则表示很多相关状态。最好测试这些变量以发现逻辑矛盾,而不是简单地对所有变量进行暴力破解。
我写了一篇详细的博客文章,解释了如何仅使用简单的推论和 bool(boolean) 代数来解决斑马难题:https://code.energy/solving-zebra-puzzle/