我在学习我的第一门人工智能课程,作业要求我定义一些问题(不是解决它们,只是提供定义)。所以我需要定义布尔可满足性问题:
- 什么是状态?
- 什么是初始状态?
- 什么是最终状态?
- 什么是操作符?
我的问题是:公式是否应该是状态的一部分?
目前的考虑:
- 操作符不会改变它,并且在计算过程中它是恒定的,所以它不是状态的一部分。
- 如果我将其包括在内,理论上搜索空间会变得更大,因为可能的状态更多,但实际上公式是不能改变的,所以我得到一个大的状态,并且分支因子不匹配。
- 它在每次执行中都会变化,所以它应该是状态的一部分。
回答:
在进行这样的搜索时,您只需要将问题中变化的部分视为状态,尽管在这种情况下,这实际上取决于您如何定义问题。
对于算法的给定运行,搜索空间取决于输入公式,但一旦固定,即您正在搜索公式中变量数量为n的n长度位向量的空间。因此,公式不是状态的一部分,因为它不变化。
反驳的说法是您在公式-向量对的更大空间中搜索,但由于您不能作为问题的一部分更改公式,这实际上并未增加搜索空间的大小。所以我不认为“如果我将其包括在内,理论上搜索空间会变得更大”。它不会,可达状态是相同的,分支是相同的,解决问题所需探索的空间是相同的。
鉴于此,我的回答是公式不是状态的一部分,而是定义状态空间的性质。因此,您四个问题的答案在某种程度上都将在功能上依赖于公式,但状态仅依赖于公式的长度。
希望这有意义!