SC Chapter 3 SAT Solving

Questions about the lecture 'Satisfiability Checking' of the RWTH Aachen Chapter 3 SAT Solving

Questions about the lecture 'Satisfiability Checking' of the RWTH Aachen Chapter 3 SAT Solving


Kartei Details

Karten 25
Sprache English
Kategorie Informatik
Stufe Universität
Erstellt / Aktualisiert 18.02.2017 / 27.02.2017
Weblink
https://card2brain.ch/box/20170218_sc_chapter_3_sat_solving
Einbinden
<iframe src="https://card2brain.ch/box/20170218_sc_chapter_3_sat_solving/embed" width="780" height="150" scrolling="no" frameborder="0"></iframe>

What are the components of SAT-solving? [3]

1. Decision as enumeration

2. Boolean constraint propagation (BCP)

3. Conflict resolution and backtracking

What is the definition of the enumeration algorithm? [4]

1. Assign values to all variables as (var, v, false)

2. If all clauses satisfy return SAT // Order of variables and values influences runtime

3. Else change the latest false variable assignment to (var, \neg v, true)

4. If no variable assignment is left return UNSAT

What are characteristics of decision heuristics? [4]

1. Static variable order // x < y < z

2. Static value order // true < false

3. Influences runtime of SAT formulae

4. Does not influence runtime of UNSAT formulae

What are examples of decision heuristics? [3]

1. Dynamic largest individual sum (DLIS), 2. Jerosolow-Wang method and 3. Variable state independent decaying sum (VSIDS)

What are the characteristics of DLIS? [6]

1. Cx is number of unresolved clauses for positive x

2. C\negx is number of unresolved clauses for negative x

3. Choose x as max Cx and y as max C\negy

4. Choose x as true if Cx>C\negy otherwise y as false

 

5. Requires O(#literals) queries for each decision

6. O(2^n *n*m*k) with n #var, m #clauses and k #litPerClause

What are the characteristics of Jerosolow-Wang method? [3]

1. Compute J(l) = Sum_(l \in c, c \in phi) 2^(-|c|) for all literals l with clause c and |c| number of literals in c // Sum of all clauses where the literal l appears

2. Choose maximizing l

 

3. Literals in shorter clauses have higher weight

What are the characteristics of VSIDS? [8]

1. Watch variables used in recent clauses used for conflict resolution // Conflict driven decision strategy

2. Static because does not depend on current assignment

3. Dynamic because it gradually changes

 

4. Count for every variable by increasing increment value

5. Choose unassigned variable with the highest counter for decision // constant time

6. Periodically counters and increment value and counters are divided by constant

 

7. Chaff stores unassigned variables sorted by counter value

8. Update is only necessary when adding conflict clauses

What are the statues of clauses? [4]

1. satisfied if at least one literal is satisfied

2. unsatisfied if all literals are assigned but unsatisfied

3. unit if all but one literals are assigned but unsatisfied // imply consequences of decisions

4. unresolved if none of the other statuses

What is the definition of decision level (DL)?

A counter for decisions

What is the definition of the antecedent?

The unit clause implying the value of l // nil if decision

What are the characteristics of watching literals? [2]

1. Large effort to watch each literal in each clause of each propagation

2. Instead watch two literals for each clause such that one of them is true or both unassigned

What is the definition of the watching literals algorithm? [5]

1. If l gets assigned update clause(\neg l, k)

 

2. If k is true then clause is satisfied

3. Else if k is false then replace k by other literal k’

4. Else if k is unassigned then clause is unit

5. Else clause is unsatisfied

What is the definition of the implication graph? [4]

1. labeled directed acyclic with G=(V,E,L)

2. V is set of currently assigned variables and conflict node kappa

3. L is labeling function assigning to each node (var=v@DL) and kappa for node kappa

4. E is set of edges that unit clauses imply other assignments and to node kappa for conflicting clause

What is the definition of asserting clauses? [2]

1. Asserting clause has one literal from the current DL // considered by modern solvers

2. The clause obtained by applying resolution on the conflicting clauses of the decision level

What is the definition of unique implication points (UIP)?

A node reached by all paths from the decision node // first UIP is closest to the conflict

What is the definition of the backtracking algorithm? [2]

1. Add asserting clause to clause set // Not necessary for completeness

2. Backtrack to second highest DL (dl) in the asserting clause without erasing

What means a conflict at DL zero?

The formula is unsatisfiable

What is the definition of an unsatisfiable core? [3]

1. Original set of clauses is a core

2. Set of clauses used for resolution in CA // not minimal

3. Small set of clauses via resolution graph

What is the theorem of conflict resolution and backtracking?

“It is never the case that the solver enters decision level dl again with the same partial assignment.”

What is the definition of the basic SAT algorithm CDCL? [4]

1. If BCP not possible return UNSAT

2. Loop { If decision not possible return SAT // satisfiable assignment found

3. While BCP not possible // conflict found

4. If conflict not resolvable return UNSAT } <---

What is the definition of the basic SAT algorithm DPLL? [5]

1. Clear trail of all assignments

2. If BCP not possible return UNSAT

3. Loop { If decision not possible return SAT // satisfiable assignment found

4. While BCP not possible // conflict found

5. If backtrack not possible return UNSAT } <---

What is the definition of the basic SAT algorithm BCP? [3]

1. While unit clauses available push assignment to trail

2. If one clause is unsatisfiable return false

3. Else return true

What is the definition of the basic SAT algorithm Decision? [3]

1. If all variables are assigned return false

2. Choose unassigned variable and push assignment to trail

3. return true

What is the definition of the basic SAT algorithm Backtrack? [3]

1. Loop { If trail is empty return false

2. Pop assignment from trail

3. If assignment unmodified change value and return true }

What is an example for an basic SAT algorithm implementation? [4]

1. DPLL for search

2. CDCL for backtracking

3. Watching literals to enhance propagation

4. VSIDS as variable ordering heuristics with lexicographic order