140 likes | 460 Views
a. DPLL example. Legend. false. C1:(a b) C2:( a b) C3:(a c) C4:(c d e) C5:(d e) C6:( d f) C7:(f e) C8:( f e). true. a =false by branching. a =false by pure symbol. a. a. a =true by an unit clause. a. e. d. b. c.
E N D
a DPLL example Legend false C1:(a b) C2:(a b) C3:(a c) C4:(c d e) C5:(d e) C6:(d f) C7:(f e) C8:(f e) true a=false by branching a=false by pure symbol a a a=true by an unit clause
a e d b c branching pure symbol unit clause false true DPLL example Unit Clause? Pure Symbol ? C1:(a b) C2:(a b) C3:(a c) C4:(c d e) C5:(d e) C6:(d f) C7:(f e) C8:(f e) C4 is a unit clause No unit clause Yes C3 is an unit clause Yes, b in C1 is pure No pure symbol C5 is unsatisfied, Early termination Backtrack upto the last branching: d = false
a b c d f e branching pure symbol unit clause false true DPLL example C1:(a b) C2:(a b) C3:(a c) C4:(c d e) C5:(d e) C6:(d f) C7:(f e) C8:(f e) Formula Satisfied! C6 is an unit clause e is pure
Exercise • Find a satisfying assignment using DPLL (a b) (a b c) (c d e) (a c) (d f) (a c) (e f)