Download presentation
Presentation is loading. Please wait.
Published byAmos Alexander Modified over 9 years ago
1
Daniel Kroening and Ofer Strichman 1 Decision Procedures An Algorithmic Point of View Quantified Formulas Acknowledgement: QBF slides borrowed from S. Malik
2
Decision Procedures - An algorithmic point of view 2 Why do we need quantifiers ? As always: more modeling power Examples of quantifiers usage: “Everyone in the room has a friend” “There is a person in the room that all of his cars are red” “There is not more than one person in the room that earns more than $1M”
3
Decision Procedures - An algorithmic point of view 3 Quantifiers in Math… For any integer x there is a smaller integer y 8 x 2 Z 9 y 2 Z. y < x X Reverse claim: There exists an integer y such that any integer x is greater than y 9 y 2 Z 8 x 2 Z. y < x £ (Bertrand’s postulate) For any natural number greater than 1 there is a prime number p such that n < p < 2 n 8 n 2 N. 9 p 2 N. n >1 ! (isprime( p ) Æ n < p < 2 n )
4
Decision Procedures - An algorithmic point of view 4 Actually… Satisfiability of ( x 1, , x n ) = does there exist an interpretation of x 1, , x n that satisfies Validity of ( x 1, , x n ) = does it hold that all interpretation of x 1, , x n satisfy Conclusion: what we did so far (satisfiability, validity) is non-alternating quantification.
5
Decision Procedures - An algorithmic point of view 5 Example #1: Quantified Linear Arithmetic formula = predicate | formula Ç formula | : formula | (formula) | 8 var. formula | 9 var. formula predicate = i a i x i · c 8 x. 9 y. 9 z. ( y + 1 · x Æ z + 1 · y Æ 2 x + 1 · z )
6
Decision Procedures - An algorithmic point of view 6 Solving QLA with projection Eliminate 9 x. by projecting x. In Linear Arithmetic over R projection can be done with Fourier-Motzkin elimination. Fourier-Motzkin method to eliminate a variable x n : - for each pair of constraints: i=1.. n -1 a i ’ x i < x n < i=1.. n -1 a i x i add a constraint i =1.. n -1 a i ’ x i < i =1.. n -1 a i x i - in the end remove all constraints involving x n.
7
Decision Procedures - An algorithmic point of view 7 x + 1 · 3 z + 3 Solving QLA with projection Fourier Motzkin: example. Eliminate y : x + 1 · z + 2 Æ x + 1 · y Æ y · 3 z + 3 Æ 2 y · 2 z + 4
8
Decision Procedures - An algorithmic point of view 8 Quantifier elimination - example 8 x. 9 y. 9 z. ( y +1 · x Æ z +1 · y Æ 2 x +1 · z ) 8 x. 9 y. ( y +1 · x Æ 2 x +1 · y -1 ) 8 x. (2 x +2 · x -1)// transform to 9 :9 x. : (2 x +2 · x -1) :9 x. x > -3 : true false
9
Decision Procedures - An algorithmic point of view 9 Quantifier elimination by projection: summary Given a PNF formula f = Q[ n ]V[ n ] Q[1]V[1] For i = 1.. n { if Q[ i ] = 9 then = project( ,V[ i ]) else = : project( : ,V[ i ]) } Return
10
Decision Procedures - An algorithmic point of view 10 Example#2: Quantified Propositional Logic Better known as Quantified Boolean Formulas (QBF) P-Space Complete formula: var | : formula | formula Ç formula | ( formula ) | T | F| 8 var. (formula) | 9 var. (formula) 8 x. ( x Ç 9 y. ( y ! x )) 8 x. ( 9 y. (( x Ç : y ) Æ ( : x Ç y )) Æ 9 y. (( : y Ç : x ) Æ ( x Ç y ))) Binding scope of y X X
11
Decision Procedures - An algorithmic point of view 11 Motivations QBF has practical applications: AI Planning Sequential circuit verification …
12
Decision Procedures - An algorithmic point of view 12 Winning strategy in chess as QBF Given an initial configuration of the board, an odd natural k, does white have a winning strategy ?
13
Decision Procedures - An algorithmic point of view 13 Variables... s = board size. #locations = s 2 + 1, # pieces = 4s.
14
Constraint Decision Procedures - An algorithmic point of view 14 Problem: possibly false because of illegal moves of black ! Initial state W 1 st move B 1 st move
15
Decision Procedures - An algorithmic point of view 15 Constraint - 2nd attempt Problem: white can drive the black into stalemate! Solution:...
16
Decision Procedures - An algorithmic point of view 16 The State-Space Diameter Problem S0S0 S2S2 S1S1 S3S3 S5S5 S4S4 diameter = 3 Start from the initial states, the minimum number of steps needed to visit every reachable state S0S0 initial state: S 0 S2S2 S1S1 step 1: S 1, S 2 S4S4 S3S3 step 2: S 3, S 4 S5S5 step 3: S 5
17
Decision Procedures - An algorithmic point of view 17 Why is the Diameter Problem important? If the graph is given to us explicitly – an easy problem Typically, however, graphs are given to us symbolically. That is, with formulas. Those formulas are called a ‘transition system’.
18
Transition systems: examples 1. a 2 32 state graph described symbolically. Let ‘cnt’ be a 32-bit variable init(cnt) = 0; next(cnt) = cnt + 1; 2. same, but with an input. Let ‘in’ be a Boolean input. init(cnt) = 0; next(cnt) = cnt + in; Decision Procedures - An algorithmic point of view 18
19
Decision Procedures - An algorithmic point of view 19 Why is the Diameter Problem important? We are given a circuit as a transition system, and a property. Bounded model checking (BMC): search for a ‘bad’ state (that violates the property) up to k steps from an initial step. BMC can be formulated as SAT. Increasing k makes is harder. Q: how deep should we go ? A: as deep as the diameter The diameter can be found by solving a QBF problem
20
The Diameter Problem Decision Procedures - An algorithmic point of view 20 Inputs I drive this path … but inputs I’ drive a shorter path
21
The Diameter Problem Decision Procedures - An algorithmic point of view 21
22
QBF Formulation Decision Procedures - An algorithmic point of view 22 V inputs All other variables Circuit constraints Equal states
23
Decision Procedures - An algorithmic point of view 23 Prenex Normal-Form (PNF) Formulas in PNF look like this: ’: Q[ n ]V[ n ]. .Q[1]V[1]. Quantifier-free formula where Q[ i ] 2 { 8, 9 } and V[ i ] is a variable. Every quantified formula can be transformed to PNF while preserving validity. How ? prefix
24
Decision Procedures - An algorithmic point of view 24 Prenex Normal Form (PNF) 1. Eliminate ! and $ (transform to Ç Æ : ) 2. Push negations inside using: : 8 x. $ 9 x. : : 9 x. $ 8 x. : 3. If there are name conflicts across scopes, solve with renaming. 4. Move quantifiers out by using recursively rules such as: 1. Q 1 x. 1 (x) Æ Q 2 y. 2 (y) $ Q 1 x. Q 2 y. ( 1 (x) Æ 2 (y))Q i 2 { 8, 9 } 2. Q 1 x. 1 (x) Ç Q 2 y. 2 (y) $ Q 1 x. Q 2 y. ( 1 (x) Ç 2 (y))Q i 2 { 8, 9 } 1 Æ 9 x. 2 (x) $ 9 x. ( 1 Æ 2 (x)) where x does not appear in 1 1 Æ 8 x. 2 (x) $ 8 x. ( 1 Æ 2 (x)) where x does not appear in 1 5. 8 x. 1 (x) Æ 8 x. 2 (x) $ 8 x. ( 1 (x) Æ 2 (x)) 6. 9 x. 1 (x) Ç 9 x. 2 (x) $ 9 x. ( 1 (x) Ç 2 (x))
25
Decision Procedures - An algorithmic point of view 25 Prenex Normal Form (PNF): example :9 x. : ( 9 y. (( y ! x ) Æ ( : x Ç y )) Æ :8 y. (( y Æ x ) Ç ( : x Æ : y))) 1,2. Eliminate !, push negations inside: 8 x. ( 9 y. (( : y Ç x ) Æ ( : x Ç y )) Æ 9 y. (( : y Ç : x ) Æ ( x Ç y ))) 3. Renaming: 8 x. ( 9 y 1. (( : y 1 Ç x ) Æ ( : x Ç y 1 )) Æ 9 y 2. (( : y 2 Ç : x ) Æ ( x Ç y 2 ))) 4. Move quantifiers to front: 8 x. 9 y 1. 9 y 2. ( x Ç : y 1 ) Æ ( : x Ç y 1 ) Æ ( : y 2 Ç : x ) Æ ( x Ç y 2 )
26
Decision Procedures - An algorithmic point of view 26 Why eliminating 9 x. Æ i L i is enough A procedure for eliminating an existential quantifier applied to a conjunction of literals is enough, because: Given a formula , write it in DNF. Use the fact that Eliminate universal quantifiers using the fact 8 x. $ :9 x. :
27
Decision Procedures - An algorithmic point of view 27 a Ç b Ç g Ç h’ Ç f a Ç b Ç g Ç h’ Solving QBF with projection: 9 Eliminate 9 x. by projecting x on variables in higher quantification levels (their scope includes x ’s scope). In Propositional Logic projection can be done with Resolution. Resolution example: g Ç h’ Ç c Ç fa Ç b Ç c’ Ç f
28
Decision Procedures - An algorithmic point of view 28 Solving QBF with projection: 8 Transform 8 to 9 via: ( 8 x. $ ( :9 x. : CNF is easier than general formulas: 8 u 1 u 2 9 e 1 8 u 3 ( u 1 Ç: e 1 )( : u 1 Ç e 1 )( u 2 Ç: u 3 Ç: e 1 ) 8 u 1 u 2 9 e 1 :9 u 3 : (( u 1 Ç: e 1 )( : u 1 Ç e 1 )( u 2 Ç: u 3 Ç: e 1 )) 8 u 1 u 2 9 e 1 :9 u 3 (( : u 1 Æ e 1 ) Ç ( u 1 Æ : e 1 ) Ç ( : u 2 Æ u 3 Æ e 1 )) 8 u 1 u 2 9 e 1 : (( : u 1 Æ e 1 ) Ç ( u 1 Æ : e 1 ) Ç ( : u 2 Æ ( 9 u 3. u 3 ) Æ e 1 )) 8 u 1 u 2 9 e 1 : (( : u 1 Æ e 1 ) Ç ( u 1 Æ : e 1 ) Ç ( : u 2 Æ e 1 )) 8 u 1 u 2 9 e 1 ( u 1 Ç: e 1 )( : u 1 Ç e 1 )( u 2 Ç: e 1 ) Suffix is DNF Back to CNF Shortcut for CNF formulas: simply erase universally quantified variables! Replace with true
29
Decision Procedures - An algorithmic point of view 29 Another example… 8 u 1 u 2 9 e 1 8 u 3 9 e 3 e 2 ( u 1 Ç: e 1 )( : u 1 Ç: e 2 Ç e 3 )( u 2 Ç: u 3 Ç: e 1 )( e 1 Ç e 2 )( e 1 Ç: e 3 ) 8 u 1 u 2 9 e 1 8 u 3 9 e 3 ( u 1 Ç: e 1 )( : u 1 Ç e 3 Ç e 1 )( u 2 Ç: u 3 Ç: e 1 )( e 1 Ç: e 3 ) 8 u 1 u 2 9 e 1 8 u 3 ( u 1 Ç: e 1 )( : u 1 Ç e 1 )( u 2 Ç: u 3 Ç: e 1 ) 8 u 1 u 2 9 e 1 ( u 1 Ç: e 1 )( : u 1 Ç e 1 )( u 2 Ç: e 1 ) 8u1u2(:u1Ç u2)8u1u2(:u1Ç u2) FALSE
30
Decision Procedures - An algorithmic point of view 30 An alternative way to project Booleans Shannon expansion: 9 x. = | x =0 Ç | x =1 8 x. = | x =0 Æ | x =1 // can be derived from 8 x. = :9 x. : The same applies for all finite-range variables. Applying 9 x. , where in CNF $ resolution But: does not need to be in CNF, and there is no need to transform the formula to DNF.
31
Decision Procedures - An algorithmic point of view 31 Example: Projecting with Shannon expan. 9 y 8 z 9 x. ( y Ç ( x Æ z )) 9 y 8 z. ( y Ç ( x Æ z ))| x =0 Ç ( y Ç ( x Æ z ))| x =1 9 y 8 z. (( y ) Ç ( y Ç z )) 9 y 8 z. ( y Ç z ) | z =0 Æ ( y Ç z ) | z =1 9 y. ( y ) True
32
Decision Procedures - An algorithmic point of view 32 Simplifications between resolution steps First resolve out existential variables After resolving out all existential variables An empty clause (a clause with no literal or consisting only of universal variables) false An empty set of clauses true Has the memory blowup problem Alleviate by simplifying the propositional part after each resolution step
33
Decision Procedures - An algorithmic point of view 33 Example: simplifying resolve out e 1 empty set of clause instance is true simplify resolve out e 2 8 u 1 u 2 9 e 1 e 2. ( u 1 Ç e 1 ) Æ ( : u 1 Ç : e 1 ) Æ ( : u 1 Ç u 2 Ç: e 2 ) Æ ( : u 2 Ç: e 1 Ç e 2 ) Æ ( e 1 Ç: e 2 ) 8 u 1 u 2 9 e 2. ( u 1 Ç : u 2 Ç e 2 ) Æ ( : u 1 Ç : e 2 ) Æ ( : u 1 Ç u 2 Ç: e 2 ) 8 u 1 u 2 9 e 2. ( u 1 Ç : u 2 Ç e 2 ) Æ ( : u 1 Ç : e 2 ) subsumed
34
Decision Procedures - An algorithmic point of view 34 More about QBF Example of using QBF A chess problem The diameter problem A search-based procedure for QBF.
35
Decision Procedures - An algorithmic point of view 35 Search Based QBF Algorithms Work by gradually assigning variables A partial assignment [KGS98] M. Cadoli, A. Giovanardi, M. Schaerf. An Algorithm to Evaluate Quantified Boolean Formulae. In Proc. of 16th National Conference on Artificial Intelligence (AAAI-98)An Algorithm to Evaluate Quantified Boolean Formulae
36
Decision Procedures - An algorithmic point of view 36 Search Based QBF Algorithms Work by gradually assigning variables A partial assignment Undetermined Continue search [KGS98] M. Cadoli, A. Giovanardi, M. Schaerf. An Algorithm to Evaluate Quantified Boolean Formulae. In Proc. of 16th National Conference on Artificial Intelligence (AAAI-98)An Algorithm to Evaluate Quantified Boolean Formulae
37
Decision Procedures - An algorithmic point of view 37 Search Based QBF Algorithms Work by gradually assigning variables A partial assignment Undetermined Conflict Backtrack Record the reason [KGS98] M. Cadoli, A. Giovanardi, M. Schaerf. An Algorithm to Evaluate Quantified Boolean Formulae. In Proc. of 16th National Conference on Artificial Intelligence (AAAI-98)An Algorithm to Evaluate Quantified Boolean Formulae
38
Decision Procedures - An algorithmic point of view 38 Search Based QBF Algorithms Work by gradually assigning variables A partial assignment Undetermined Conflict Satisfied Backtrack Determine the covered satisfying space [KGS98] M. Cadoli, A. Giovanardi, M. Schaerf. An Algorithm to Evaluate Quantified Boolean Formulae. In Proc. of 16th National Conference on Artificial Intelligence (AAAI-98)An Algorithm to Evaluate Quantified Boolean Formulae
39
Decision Procedures - An algorithmic point of view 39 Search Based QBF Algorithms Work by gradually assigning variables A partial assignment Undetermined Conflict Satisfied The majority of QBF solvers are search based, the DPLL algorithm is an example of this
40
Decision Procedures - An algorithmic point of view 40 Basic DPLL Flow for QBF e u ( e Ç u )( : e Ç : u ) Unknown True (1) False(0)
41
Decision Procedures - An algorithmic point of view 41 Basic DPLL Flow for QBF e = 0 Unknown True (1) False(0) e u ( e Ç u )( : e Ç : u )
42
Decision Procedures - An algorithmic point of view 42 Basic DPLL Flow for QBF e = 0 u = 1 Unknown True (1) False(0) Satisfying Node e u ( e Ç u )( : e Ç : u ) Universal quantification Existential quantification
43
Decision Procedures - An algorithmic point of view 43 Basic DPLL Flow for QBF e = 0 u = 1 Unknown True (1) False(0) Backtrack e u ( e Ç u )( : e Ç : u )
44
Decision Procedures - An algorithmic point of view 44 Basic DPLL Flow for QBF e = 0 u = 1 u = 0 Unknown True (1) False(0) e u ( e Ç u )( : e Ç : u )
45
Decision Procedures - An algorithmic point of view 45 Basic DPLL Flow for QBF e = 0 u = 1 u = 0 Unknown True (1) False(0) e u ( e Ç u )( : e Ç : u )
46
Decision Procedures - An algorithmic point of view 46 Basic DPLL Flow for QBF e = 1 Unknown True (1) False(0) e u ( e Ç u )( : e Ç : u ) e = 0 u = 1 u = 0
47
Decision Procedures - An algorithmic point of view 47 Basic DPLL Flow for QBF e = 1 u = 1 Unknown True (1) False(0) e u ( e Ç u )( : e Ç : u ) e = 0 u = 1 u = 0
48
Decision Procedures - An algorithmic point of view 48 Basic DPLL Flow for QBF e = 1 u = 1 Unknown True (1) False(0) Conflicting Node e u ( e Ç u )( : e Ç : u ) e = 0 u = 1 u = 0
49
Decision Procedures - An algorithmic point of view 49 Basic DPLL Flow for QBF e = 1 u = 1 Unknown True (1) False(0) e u ( e Ç u )( : e Ç : u ) e = 0 u = 1 u = 0
50
Decision Procedures - An algorithmic point of view 50 Basic DPLL Flow for QBF e = 1 u = 1 e = 0 u = 1 u = 0 False Unknown True (1) False(0) e u ( e Ç u )( : e Ç : u )
51
Decision Procedures - An algorithmic point of view 51 Basic DPLL Flow for QBF u e ( u Ç e )( : u Ç : e ) Unknown True (1) False(0)
52
Decision Procedures - An algorithmic point of view 52 Basic DPLL Flow for QBF Unknown True (1) False(0) u = 1 u e ( u Ç e )( : u Ç : e )
53
Decision Procedures - An algorithmic point of view 53 Basic DPLL Flow for QBF Unknown True (1) False(0) u = 1 e = 1 u e ( u Ç e )( : u Ç : e )
54
Decision Procedures - An algorithmic point of view 54 Basic DPLL Flow for QBF Unknown True (1) False(0) u = 1 e = 1e = 0 u e ( u Ç e )( : u Ç : e )
55
Decision Procedures - An algorithmic point of view 55 Basic DPLL Flow for QBF Unknown True (1) False(0) u = 1 e = 1e = 0 u e ( u Ç e )( : u Ç : e )
56
Decision Procedures - An algorithmic point of view 56 Basic DPLL Flow for QBF Unknown True (1) False(0) u = 1 e = 1e = 0 u = 0 e = 1 u e ( u Ç e )( : u Ç : e )
57
Decision Procedures - An algorithmic point of view 57 Basic DPLL Flow for QBF Unknown True (1) False(0) u = 1 e = 1e = 0 u = 0 e = 1 True u e ( u Ç e )( : u Ç : e )
58
Decision Procedures - An algorithmic point of view 58 What we saw is DPLL - QBF while (true) { decide_next_branch() //choose a branch variable while(true) { status = deduce(); //unit propagation if (status == CONFLICT) { blevel = analyze_conflict(); //find out the reason for conflict if (blevel < 0) return UNSATISFIABLE; else backtrack(blevel); } else if (status == SATISFIABLE) { blevel = analyze_SAT() //find out the reason for satisfaction if (blevel < 0) return SATISFIABLE; else backtrack(blevel); } else break; }}
59
Decision Procedures - An algorithmic point of view 59 Solving QBF of ACNF formulas We will see a special case: 2QBF 2QBF = QBF with one quantifier alternation very useful!
60
Decision Procedures - An algorithmic point of view 60 A special case: 2QBF DPLL search based, utilize a standard SAT solver Algorithm I: Assign universal variables first Algorithm II: no restriction in decision order w.r.t. variable quantification order
61
Decision Procedures - An algorithmic point of view 61 Example for Algorithm I universal assignment: u 1 =0, u 2 =0 SAT assignment: u 1 =0, u 2 =0, e 1 =1, e 2 =1 satisfying cube (cover set): u 1 =0, e 1 =1, e 2 =1 coverage cube: u 1 =0 universal assignment: u 1 =1, u 2 =0 SAT assignment: u 1 =1, u 2 =0, e 1 =0, e 2 =0 satisfying cube (cover set): u 1 =1, e 1 =0, e 2 =0 coverage cube: u 1 =1 no more universal assignment left, instance is true 8 u 1 u 2 9 e 1 e 2. ( u 1 Ç e 1 ) Æ ( : u 1 Ç : e 1 ) Æ ( : u 1 Ç u 2 Ç: e 2 ) Æ ( : u 2 Ç: e 1 Ç e 2 ) Æ ( e 1 Ç: e 2 )
62
Decision Procedures - An algorithmic point of view 62 satisfying cube (cover set) 3 Algorithm I universal space (u 1,u 2,…,u m ) SAT assignmentuniversal assignment coverage cube existential space (e 1,e 2,…,e n ) 1 2 4 5
63
Decision Procedures - An algorithmic point of view 63 Example for Algorithm II SAT assignment: u 1 =0, e 1 =1, e 2 =1, u 2 =0 blocking clause: (u 1 Ç : e 1 Ç : e 2 ) coverage cube: u 1 =0 SAT assignment: u 1 =1, e 1 =0, e 2 =0, u 2 =0 coverage cube: u 1 =1 blocking clause: (u 1 Ç : e 1 Ç : e 2 ) The entire universal space is covered, instance is true 8 u 1 u 2 9 e 1 e 2. ( u 1 Ç e 1 ) Æ ( : u 1 Ç : e 1 ) Æ ( : u 1 Ç u 2 Ç: e 2 ) Æ ( : u 2 Ç: e 1 Ç e 2 ) Æ ( e 1 Ç: e 2 )
64
Decision Procedures - An algorithmic point of view 64 blocking clause 2 Algorithm II universal variable space (u 1,u 2,…,u m ) SAT assignment, no need to respect quantification order to get that 1 3 all variable space (u 1,u 2,…,u m,e 1,e 2,…,e n ) coverage cube 4
65
Decision Procedures - An algorithmic point of view 65 Experimental Results (Malik et al.) >400 Res w/o simp >400 4.29 208.6 25.04 2.19 Res w/ simp >400 298.8634** >400 2.55 18.23294.270.803 Depth s1423 s1488 >400 0.22 0.27 Quaffle >4002.1115 >4000.151 0.260.151 Alg. IIAlg. ICircuit 0.36(10) 0.01(100) Res w/o simp 169.09(6) 0.25(100) Res w/ simp 200 (10 instances) 100 (100 instances) >400(0)16.22(98)0(100) >400(0) Quaffle >400(0)160(6) Alg. IIAlg. I # of clauses (100 vars, 5 lits/clause) * The tests were done on an Intel Pentium III 933 MHz machine with 1GB of RAM running linux. ** Improves on previous diameter lower bound of 26
66
Decision Procedures - An algorithmic point of view 66 Naïve DPLL Based Approach Works on a CNF database Learning and non-chronological backtracking is much harder – requires a change! Modern QBF solvers do not work with CNF, rather with a combination of CNF with Cubes. This lets them apply learning efficiently.
67
Decision Procedures - An algorithmic point of view 67 ACNF Definition: Augmented CNF (ACNF) = C 1 Æ C 2 Æ … Æ C m Ç S 1 Ç S 2 Ç …… Ç S k Where C i ’s are clauses, and S j ’s are cubes. Each S j is contained in the clause term C 1 C 2 …C m. i.e. i {1,2…k}, S i C 1 Æ C 2 Æ … Æ C m In ACNF, cubes are redundant Cubes are necessary for saving information on the (universal) space already covered. Example: ( : a Ç: b Ç: c) Æ ( : a Ç b Ç c) Æ (a Ç: b Ç c) Æ (a Ç b Ç: c) Ç ( : a Æ: b Æ: c) Ç (a Æ : b Æ c)
68
Decision Procedures - An algorithmic point of view 68 Coverage Cubes and Blocking Clauses (u 1 Ç u 2 Ç e 1 ) Æ (u 3 Ç : e 2 ) Æ (u 1 Ç : e 1 Ç : e 2 )( : u 1 Ç : u 2 Ç e 2 ) Æ satisfying assignment : {u 1 =1, u 2 =0, u 3 =X, e 1 =0, e 2 =0} satisfying cube: {u 1 =1, u 2 =0, e 2 =0} select a set of literals that satisfy all clauses coverage cube for the universal Boolean space: u 1 : u 2 blocking clause: : u 1 Ç u 2 prevents revisiting the already searched space
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.