首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DPLL和满足性示例?

DPLL和满足性示例?
EN

Stack Overflow用户
提问于 2016-02-20 11:54:32
回答 1查看 2K关注 0票数 2

我们知道DPLL算法是回溯+单位传播+纯文字规则。

我有个例子。有一个例子可以用DPLL解决下面的可满足性问题。如果将"0“赋值给变量之前是将"1”赋值给变量,那么Unit Clause (UC)还是Pure Literal (PL)中的哪一个用于解决这个特定示例?

代码语言:javascript
复制
{~A \/ B \/ C}, {A \/ ~B \/ C}, {A \/ B \/ ~C}, {A \/ B \/ C}

在本例中,使用其中的两个(PL and UC)编写。为什么他们中的两个被选中了?知道吗?

EN

回答 1

Stack Overflow用户

发布于 2016-02-20 12:39:16

下面是如何使用DPLL来求解示例公式:

  • 单元传播是不可能的,因为没有单元子句。
  • 纯粹的文字规则是不适用的,因为没有文字只会正面或负面地出现。
  • 要应用拆分规则,请选择一些文字,例如A
    • 设置A=0并进行传播。这将导致 {1 \/ B \/ C}, {0 \/ ~B \/ C}, {0 \/ B \/ ~C}, {0 \/ B \/ C} == {~B \/ C}, {B \/ ~C}, {B \/ C}
    • 单位传播和纯文字仍然不适用。
    • 为下一个文本B应用拆分规则。-设置B=0并宣传: {1 \/ C}, {0 \/ ~C}, {0 \/ C} == {~C}, {C} -这个公式由两个单元子句组成,因此可以应用单元传播,这导致了{},因此我们回溯。 -设置B=1并进行传播。{0 \/ C}, {1 \/ ~C}, {1 \/ C} == {C} -同样,单位传播是适用的,但现在却产生了一个空洞的公式,这是可以满足的。

哪一个单位条款(UC)或纯文字(PL)是用来解决这个具体的例子?

使用单位子句传播来解决这个例子。由于公式的对称性,选择不同顺序的分裂字会得到相同的结果。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35522867

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档