Ex3_28 在2SAT问题中,给定一个字句的集合..._第十二次作业

Posted 薰衣草

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ex3_28 在2SAT问题中,给定一个字句的集合..._第十二次作业相关的知识,希望对你有一定的参考价值。

 

参考答案

 

------------------------------------------------------------------------------------------------------------------------------------------------------------------

(a) 该问题的其他满意赋值: x1=true , x2=true , x3=false , x4=true。

(c)

 本题对应的有向图:

 

(b)中对应的有向图:

(d)  对于一个变量x,如果一个强连通部件既包含x,又包含x(一)1,那么x成立时,x(一)1也应该成立,或者x(一)1成立时,x也应该成立,这显然是矛盾的。因此如果一个强连通部件既包含x,又包含x(一)1,那么该实例没有满意赋值。

 

(e) 在图G中,若对于任何一个变量x,在一个强连通部件中不存在x和x(一),则选择一个汇点强连通部件,把这个汇点强连通部件中所有文字赋值为true,将所有文字的取反赋值为false,即将这个汇点强连通部件中的所有顶点都设为true,这样的赋值并不破坏逻辑,因为一个变量和变量的取反不会出现在同一个强连通部件中,这样的赋值同时也不影响其他顶点的值,因为对于p-q来说q取true,p取true或者false都能满足。同时,汇点强连通分支中顶点的取反为false,因此也不影响其子孙的值,于是删除掉汇点强连通部件中的顶点,继续在剩余的图中执行相同的操作,最终将得到一个满意的赋值。

 

(f) 利用拓扑排序排序有向图,然后利用e中的算法按照拓扑排序的逆序依次处理每个顶点即可。

 

以上是关于Ex3_28 在2SAT问题中,给定一个字句的集合..._第十二次作业的主要内容,如果未能解决你的问题,请参考以下文章

ex1 to ex3.py

Ex3_7无向图二部图

SQL语言的=ALL怎么用,WHERE子句中的。 是指集合包含的关系么?如果是谁包含谁

python PFE_chp2_ex3_compute付费

python PFE_chp2_ex3_compute付费

C++中出现error LNK2001,如何解决