zoukankan      html  css  js  c++  java
  • 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中的算法按照拓扑排序的逆序依次处理每个顶点即可。

  • 相关阅读:
    Java习惯用法总结
    为什么做java的web开发我们会使用struts2,springMVC和spring这样的框架?
    Java 20年:转角遇到Go
    史上最全最强SpringMVC详细示例实战教程
    即将改变软件开发的5个Java9新特性
    <一>c++的编程思路
    人生不可破的28个天规
    定时任务
    redis
    mycat分库分表
  • 原文地址:https://www.cnblogs.com/xiu68/p/8000704.html
Copyright © 2011-2022 走看看