170 likes | 282 Views
Explorations in Artificial Intelligence. Prof. Carla P. Gomes gomes@cs.cornell.edu Module 3 Logic Representations (Part 2). Satisfiability. Propositional Satisfiability problem. Satifiability (SAT): Given a formula in propositional calculus, is there a model
E N D
Explorations in Artificial Intelligence Prof. Carla P. Gomes gomes@cs.cornell.edu Module 3 Logic Representations (Part 2)
Propositional Satisfiability problem • Satifiability (SAT): Given a formula in propositional calculus, is there a model • (i.e., a satisfying interpretation, an assignment to its variables) making it true? • We consider clausal form, e.g.: • ( ab c ) AND ( b c) AND ( ac) possible assignments SAT: prototypical hard combinatorial search and reasoning problem. Problem is NP-Complete. (Cook 1971) Surprising “power” of SAT for encoding computational problems.
Effective propositional inference • Two families of algorithms for propositional inference (checking satisfiability) based on model checking (which are quite effective in practice): • Complete backtracking search algorithms • DPLL algorithm (Davis, Putnam, Logemann, Loveland) • Incomplete local search algorithms • WalkSAT algorithm
The DPLL algorithm • Determine if an input propositional logic sentence (in CNF) is satisfiable. • Improvements over truth table enumeration: • Early termination A clause is true if any literal is true. A sentence is false if any clause is false. • Pure symbol heuristic Pure symbol: always appears with the same "sign" in all clauses. e.g., In the three clauses (A B), (B C), (C A), A and B are pure, C is impure. Make a pure symbol literal true. • Unit clause heuristic Unit clause: only one literal in the clause The only literal in a unit clause must be true.
The WalkSAT algorithm • Incomplete, local search algorithm • Evaluation function: The min-conflict heuristic of minimizing the number of unsatisfied clauses • Balance between greediness and randomness
Hard satisfiability problems • Consider random 3-CNF sentences. e.g., • (D B C) (B A C) (C B E) (E D B) (B E C) m = number of clauses n = number of symbols • Hard problems seem to cluster near m/n = 4.3 (critical point)
Intuition • At low ratios: • few clauses (constraints) • many assignments • easily found • At high ratios: • many clauses • inconsistencies easily detected
Encoding Latin Square Problems in Propositional Logic • Variables: • Each variables represents a color assigned to a cell. • Clauses: • Some color must be assigned to each cell (clause of length n); • No color is repeated in the same row (sets of negative binary clauses); • No color is repeated in the same column (sets of negative binary clauses);
3D Encoding or Full Encoding • This encoding is based on the cubic representation of the quasigroup: each line of the cube contains exactly one true variable; • Variables: • Same as 2D encoding. • Clauses: • Same as the 2 D encoding plus: • Each color must appear at least once in each row; • Each color must appear at least once in each column; • No two colors are assigned to the same cell;
Dimacs format • At the top of the file is a simple header. • p cnf <variables> <clauses> • Each variable should be assigned an integer index. Start at 1, as 0 is used to indicate the end of a clause. The positive integer a positive literal, whereas a negative interger represents a negative literal. • Example • -1 7 0 ( x1 x7)
A cell gets at most a color No repetition of color in a column No repetition of color in a row A cell gets a color A given color goes in each column A given color goes in each row Extended Latin Square 2x2 order 2 -1 -1 -1 -1 • p cnf 8 24 • -1 -2 0 • -3 -4 0 • -5 -6 0 • -7 -8 0 • -1 -5 0 • -2 -6 0 • -3 -7 0 • -4 -8 0 • -1 -3 0 • -2 -4 0 • -5 -7 0 • -6 -8 0 • 1 2 0 • 3 4 0 • 5 6 0 • 7 8 0 • 1 5 0 • 2 6 0 • 3 7 0 • 4 8 0 • 1 3 0 • 2 4 0 • 5 7 0 • 6 8 0 1/2 3/4 5/6 7/8 1 – cell 11 is red 2 – cell 11 is green 3 – cell 12 is red 4 – cell 12 is green 5 – cell 21 is red 6 – cell 21 is green 7 – cell 22 is red 8 – cell 22 is green