Using Propositional SAT-Solvers to Search for Plans

Slides:



Advertisements
Similar presentations
Artificial Intelligence Chapter 13 The Propositional Calculus Biointelligence Lab School of Computer Sci. & Eng. Seoul National University.
Advertisements

Graphplan. Automated Planning: Introduction and Overview 2 The Dock-Worker Robots (DWR) Domain informal description: – harbour with several locations.
SAT-Based Planning Using Propositional SAT- Solvers to Search for Plans.
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:
UIUC CS 497: Section EA Lecture #2 Reasoning in Artificial Intelligence Professor: Eyal Amir Spring Semester 2004.
CPSC 422, Lecture 21Slide 1 Intelligent Systems (AI-2) Computer Science cpsc422, Lecture 21 Mar, 4, 2015 Slide credit: some slides adapted from Stuart.
The Graphplan Planner Searching the Planning Graph.
Planning with Constraints Graphplan & SATplan Yongmei Shi.
3/25  Monday 3/31 st 11:30AM BYENG 210 Talk by Dana Nau Planning for Interactions among Autonomous Agents.
The Theory of NP-Completeness
Review Best-first search uses an evaluation function f(n) to select the next node for expansion. Greedy best-first search uses f(n) = h(n). Greedy best.
Knowledge Representation II (Inference in Propositional Logic) CSE 473 Continued…
Vilalta&Eick: Informed Search Informed Search and Exploration Search Strategies Heuristic Functions Local Search Algorithms Vilalta&Eick: Informed Search.
SAT and SMT solvers Ayrat Khalimov (based on Georg Hofferek‘s slides) AKDV 2014.
1 Chapter 7 Propositional Satisfiability Techniques.
1 Planning as Satisfiability Alan Fern * * Based in part on slides by Stuart Russell and Dana Nau  Review of propositional logic (see chapter 7)  Planning.
1 Inference Rules and Proofs (Z); Program Specification and Verification Inference Rules and Proofs (Z); Program Specification and Verification.
Solvers for the Problem of Boolean Satisfiability (SAT) Will Klieber Aug 31, 2011 TexPoint fonts used in EMF. Read the TexPoint manual before you.
Escaping Local Optima. Where are we? Optimization methods Complete solutions Partial solutions Exhaustive search Hill climbing Random restart General.
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:
First-Order Logic and Inductive Logic Programming.
1 The Wumpus Game StenchBreeze Stench Gold Breeze StenchBreeze Start  Breeze.
CPSC 422, Lecture 21Slide 1 Intelligent Systems (AI-2) Computer Science cpsc422, Lecture 21 Oct, 30, 2015 Slide credit: some slides adapted from Stuart.
Review of Propositional Logic Syntax
© Copyright 2008 STI INNSBRUCK Intelligent Systems Propositional Logic.
Planning as Satisfiability (SAT-Plan). SAT-Plan Translate the planning problem into a satisfiability problem for length n of Plan garb 0 (proposition)present.
SAT Solving As implemented in - DPLL solvers: GRASP, Chaff and
Inference in Propositional Logic (and Intro to SAT) CSE 473.
Proof Methods for Propositional Logic CIS 391 – Intro to Artificial Intelligence.
Knowledge Repn. & Reasoning Lecture #9: Propositional Logic UIUC CS 498: Section EA Professor: Eyal Amir Fall Semester 2005.
Escaping Local Optima. Where are we? Optimization methods Complete solutions Partial solutions Exhaustive search Hill climbing Exhaustive search Hill.
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:
1 Intro to AI Local Search. 2 Intro to AI Local search and optimization Local search: –use single current state & move to neighboring states Idea: –start.
Logical Agents. Outline Knowledge-based agents Logic in general - models and entailment Propositional (Boolean) logic Equivalence, validity, satisfiability.
Heuristics for Efficient SAT Solving As implemented in GRASP, Chaff and GSAT.
Eick: Informed Search Informed Search and Exploration Search Strategies Heuristic Functions Local Search Algorithms Vilalta&Eick: Informed Search.
Chapter 10 NP-Complete Problems.
Inference in Propositional Logic (and Intro to SAT)
Hard Problems Some problems are hard to solve.
Inference and search for the propositional satisfiability problem
Planning as Satisfiability
Planning as Search State Space Plan Space Algorihtm Progression
Computability and Complexity
The Propositional Calculus
First-Order Logic and Inductive Logic Programming
Intelligent Systems (AI-2) Computer Science cpsc422, Lecture 21
Introduction to Software Verification
Review for the Midterm Exam
Artificial Intelligence (CS 370D)
Heuristics for Efficient SAT Solving
Class #17 – Thursday, October 27
Planning as Satisfiability with Blackbox
Complexity 6-1 The Class P Complexity Andrei Bulatov.
Graphplan/ SATPlan Chapter
Planning as Satisfiability
Introduction to the Boolean Satisfiability Problem
Logics for Data and Knowledge Representation
Propositional Equivalences
Artificial Intelligence: Agents and Propositional Logic.
Class #19 – Monday, November 3
Artificial Intelligence
Warm-up: The regions below visually enclose the set of models that satisfy the respective sentence
This Lecture Substitution model
More on HW 2 (due Jan 26) Again, it must be in Python 2.7.
More on HW 2 (due Jan 26) Again, it must be in Python 2.7.
Graphplan/ SATPlan Chapter
Graphplan/ SATPlan Chapter
GraphPlan Jim Blythe.
Instructor: Aaron Roth
CSC 380: Design and Analysis of Algorithms
Presentation transcript:

Using Propositional SAT-Solvers to Search for Plans SAT-Based Planning SAT-Based Planning Using Propositional SAT-Solvers to Search for Plans Using Propositional SAT-Solvers to Search for Plans

Literature Malik Ghallab, Dana Nau, and Paolo Traverso. Automated Planning – Theory and Practice, chapter 7. Elsevier/Morgan Kaufmann, 2004. Literature Malik Ghallab, Dana Nau, and Paolo Traverso. Automated Planning – Theory and Practice, chapter 7. Elsevier/Morgan Kaufmann, 2004. SAT-Based Planning

The General Idea idea: transform planning problem into other problem for which efficient solvers are known approach here: transform planning problem into propositional satisfiability problem (SAT) solve transformed problem using (efficient) SAT solver, e.g. GSAT extract a solution to the planning problem from the solution to transformed problem The General Idea idea: transform planning problem into other problem for which efficient solvers are known approach here: transform planning problem into propositional satisfiability problem (SAT) SAT: problem of determining whether a propositional formula is satisfiable (theorem proving) solve transformed problem using (efficient) SAT solver, e.g. GSAT extract a solution to the planning problem from the solution to transformed problem main advantage: exploit recent results in SAT solver for efficient planning SAT-Based Planning

Overview Encoding Planning Problems as Satisfiability Problems (SAT) Efficient SAT Solving Algorithms Overview Encoding Planning Problems as Satisfiability Problems (SAT) now: how to encode a planning problem into SAT problem that has a model iff the planning problem has a solution Efficient SAT Solving Algorithms SAT-Based Planning

Encoding a Planning Problem aim: encode a propositional planning problem P=(Σ,si,g) into a propositional formula Φ such that: P has a solution if and only if Φ is satisfiable, and every model μ of Φ corresponds to a solution plan π of P. key elements to encode: world states state-transitions (actions) Encoding a Planning Problem aim: encode a propositional planning problem P=(Σ,si,g) into a propositional formula Φ such that: P has a solution if and only if Φ is satisfiable, and every model μ of Φ corresponds to a solution plan π of P. model: assignment of truth values to propositions (atoms) in the formula such that formula evaluates to true formula is satisfiable if it has a model (if such an assignment exists) key elements to encode: world states state-transitions (actions) note: style of encoding determines length of formula and thus difficulty of SAT problem SAT-Based Planning

Example: Simplified DWR Problem robr conta robq contb loc1 loc2 Example: Simplified DWR Problem same problem as for Graphplan [figure] initial state: as shown robots can load and unload autonomously locations may contain unlimited number of robots and containers problem: swap locations of containers robots can load and unload autonomously locations may contain unlimited number of robots and containers problem: swap locations of containers SAT-Based Planning

Simplified DWR Problem: State Proposition Symbols robots: r1 and r2: at(robr,loc1) and at(robr,loc2) q1 and q2: at(robq,loc1) and at(robq,loc2) ur and uq: unloaded(robr) and unloaded(robq) containers: a1, a2, ar, and aq: in(conta,loc1), in(conta,loc2), loaded(conta,robr), and loaded(conta,robq) b1, b2, br, and bq: in(contb,loc1), in(contb,loc2), loaded(contb,robr), and loaded(contb,robq) initial state: {r1, q2, a1, b2, ur, uq} Simplified DWR Problem: State Proposition Symbols robots: r1 and r2: at(robr,loc1) and at(robr,loc2) q1 and q2: at(robq,loc1) and at(robq,loc2) ur and uq: unloaded(robr) and unloaded(robq) containers: a1, a2, ar, and aq: in(conta,loc1), in(conta,loc2), loaded(conta,robr), and loaded(conta,robq) b1, b2, br, and bq: in(contb,loc1), in(contb,loc2), loaded(contb,robr), and loaded(contb,robq) 14 state propositions initial state: {r1, q2, a1, b2, ur, uq} SAT-Based Planning

Encoding World States use conjunction of propositions that hold in the state example: initial state: {r1, q2, a1, b2, ur, uq} encoding: r1 ⋀ q2 ⋀ a1 ⋀ b2 ⋀ ur ⋀ uq model: {r1true, q2true, a1true, b2true, urtrue, uqtrue} Encoding World States use conjunction of propositions that hold in the state example: initial state: {r1, q2, a1, b2, ur, uq} encoding: r1 ⋀ q2 ⋀ a1 ⋀ b2 ⋀ ur ⋀ uq model: {r1true, q2true, a1true, b2true, urtrue, uqtrue} SAT-Based Planning

Intended vs. Unintended Models possible models: intended model: {r1true, r2false, q1false, q2true, urtrue, uqtrue, a1true, a2false, arfalse, aqfalse, b1false, b2true, brfalse, bq false} unintended model: {r1true, r2true, q1false, q2true, urtrue, uqtrue, a1true, a2false, artrue, aqfalse, b1false, b2true, brfalse, bq false} encoding: add negated propositions not in state example: r1 ⋀ ¬r2 ⋀ ¬q1 ⋀ q2 ⋀ ur ⋀ uq ⋀ a1 ⋀ ¬a2 ⋀ ¬ar ⋀ ¬aq ⋀ ¬b1 ⋀ b2 ⋀ ¬br ⋀ ¬bq Intended vs. Unintended Models possible models: intended model: {r1true, r2false, q1false, q2true, urtrue, uqtrue, a1true, a2false, arfalse, aqfalse, b1false, b2true, brfalse, bq false} unintended model: {r1true, r2true, q1false, q2true, urtrue, uqtrue, a1true, a2false, artrue, aqfalse, b1false, b2true, brfalse, bq false} encoding: add negated propositions not in state example: r1 ⋀ ¬r2 ⋀ ¬q1 ⋀ q2 ⋀ ur ⋀ uq ⋀ a1 ⋀ ¬a2 ⋀ ¬ar ⋀ ¬aq ⋀ ¬b1 ⋀ b2 ⋀ ¬br ⋀ ¬bq both models make formula from previous slide true differences are underlined unintended model has container a in location 1 and on robot r (may be possible, but unintended) unintended model has robot r in location 1 and 2 at the same time SAT-Based Planning

Encoding the Set of Goal States goal: defined as set of states example: swap the containers all states in which a2 and b1 are true propositional formula can encode multiple states: example: a2 ⋀ b1 (212 possible models) use disjunctions for other types of goals Encoding the Set of Goal States goal: defined as set of states example: swap the containers all states in which a2 and b1 are true propositional formula can encode multiple states: example: a2 ⋀ b1 (212 possible models) use disjunctions for other types of goals other types: set not defined through propositions that must hold, e.g. both containers must be in the same location note: every state can be described in this way, allowing for ambiguity SAT-Based Planning

Simplified DWR Problem: Action Symbols move actions: Mr12: move(robr,loc1,loc2), Mr21: move(robr,loc2,loc1), Mq12: move(robq,loc1,loc2), Mq21: move(robq,loc2,loc1) load actions: Lar1: load(conta,robr,loc1); Lar2, Laq1, Laq2, Lar1, Lbr2, Lbq1, and Lbq2 correspondingly unload actions: Uar1: unload(conta,robr,loc1); Uar2, Uaq1, Uaq2, Uar1, Ubr2, Ubq1, and Ubq2 correspondingly Simplified DWR Problem: Action Symbols move actions: Mr12: move(robr,loc1,loc2), Mr21: move(robr,loc2,loc1), Mq12: move(robq,loc1,loc2), Mq21: move(robq,loc2,loc1) load actions: Lar1: load(conta,robr,loc1); Lar2, Laq1, Laq2, Lar1, Lbr2, Lbq1, and Lbq2 correspondingly unload actions: Uar1: unload(conta,robr,loc1); Uar2, Uaq1, Uaq2, Uar1, Ubr2, Ubq1, and Ubq2 correspondingly 20 action symbols SAT-Based Planning

Extended State Propositions Mr12 s1 s2 r1 ⋀ ¬r2 ¬r1 ⋀ r2 Extended State Propositions [figure] formulas describe state transition when applying Mr12 in state s1, resulting in s2 state transition: γ(s1,Mr12) = s2 where: s1 described by r1 ⋀ ¬r2 and s2 described by ¬r1 ⋀ r2 problem: r1 ⋀ ¬r2 ⋀ ¬ r1 ⋀ r2 has no model idea: extend propositions with state index example: r1_1 ⋀ ¬r2_1 ⋀ ¬r1_2 ⋀ r2_2 meaning: r1_1 – robot r is at location 1 in state 1 model: {r1_1true, r2_1false, r1_2false, r2_2true} state transition: γ(s1,Mr12) = s2 where: s1 described by r1 ⋀ ¬r2 and s2 described by ¬r1 ⋀ r2 problem: r1 ⋀ ¬r2 ⋀ ¬ r1 ⋀ r2 has no model idea: extend propositions with state index example: r1_1 ⋀ ¬r2_1 ⋀ ¬r1_2 ⋀ r2_2 model: {r1_1true, r2_1false, r1_2false, r2_2true} SAT-Based Planning

Extended Action Propositions use same mechanism to describe actions applied in different states: example: Mr12_1: move robot r from location 1 to location 2 in state s2 action encoding: Mr12_1 ⇒ (r1_1 ⋀ ¬r2_1 ⋀ ¬r1_2 ⋀ r2_2) Extended Action Propositions use same mechanism to describe actions applied in different states: example: Mr12_1: move robot r from location 1 to location 2 in state s2 Mr12_1: state index refers to state before that action and has same number; different for planning graph action encoding: Mr12_1 ⇒ (r1_1 ⋀ ¬r2_1 ⋀ ¬r1_2 ⋀ r2_2) model: action must be true; rest remains as before [figure] note: encoding based on same ideas as situation calculus, but propositional encoding of actions as propositional formulas (propositional representation: actions as set-theoretic operators) Mr12_1 s1 s2 r1_1 ⋀ ¬r2_1 ¬r1_2 ⋀ r2_2 SAT-Based Planning

Bounded Planning Problems encoding in two steps: bounded planning problem: for a given planning problem P=(Σ,si,g) find a solution plan of a fixed length n encode the bounded planning problem into a satisfiability problem state propositions with index 0 … n action propositions with index 0 … n-1 Bounded Planning Problems encoding in two steps: bounded planning problem: for a given planning problem P=(Σ,si,g) find a solution plan of a fixed length n idea: extend length of bounded planning problem until a plan is found e.g. use binary search on plan length encode the bounded planning problem into a satisfiability problem state propositions with index 0 … n action propositions with index 0 … n-1 note: if a plan of length k<n exists then it can be extended to a plan of length n with no-op actions SAT-Based Planning

Encoding Bounded Planning Problems conjunction of formulas describing: the initial state the goal states actions (applicability and effects) frame axioms one action at a time Encoding Bounded Planning Problems conjunction of formulas describing: the initial state the goal states actions (applicability and effects) frame axioms one action at a time different types of encodings known: differ in resulting formula length, roughly equivalent to complexity of SAT problem SAT-Based Planning

Encoding Initial and Goal States Let F be the set of state propositions (fluents). Let f∈F. initial state: ⋀f∈si f_0 ⋀ ⋀f∉si ¬f_0 goal states: ⋀f∈g+ f_n ⋀ ⋀f∈g- ¬f_n Encoding Initial and Goal States Let F be the set of state propositions (fluents). Let f∈F. initial state: ⋀f∈si f_0 ⋀ ⋀f∉si ¬f_0 goal states: ⋀f∈g+ f_n ⋀ ⋀f∈g- ¬f_n SAT-Based Planning

Encoding Actions Let A be the set of action propositions. Let a∈A. for 0 ≤ i ≤ n-1: a_i ⇒ (⋀f∈precond(a) f_i ⋀ ⋀f∈effects+(a) f_i+1 ⋀ ⋀f∈effects-(a) ¬f_i+1 ) Encoding Actions Let A be the set of action propositions. Let a∈A. for 0 ≤ i ≤ n-1: a_i ⇒ (⋀f∈precond(a) f_i ⋀ ⋀f∈effects+(a) f_i+1 ⋀ ⋀f∈effects-(a) ¬f_i+1 ) if action a is performed in step i then: all preconditions must have held before and all positive effects will hold after and all negative effects will not hold after SAT-Based Planning

Encoding Frame Axioms use explanation closure axioms for more compact SAT problem for 0 ≤ i ≤ n-1: (f_i ⋀ ¬f_i+1) ⇒ (⋁a∈A ⋀ f∈effects-(a) a_i) ⋀ (¬f_i ⋀ f_i+1) ⇒ (⋁a∈A ⋀ f∈effects+(a) a_i) Encoding Frame Axioms use explanation closure axioms for more compact SAT problem for 0 ≤ i ≤ n-1: (f_i ⋀ ¬f_i+1) ⇒ (⋁a∈A ⋀ f∈effects-(a) a_i) ⋀ (¬f_i ⋀ f_i+1) ⇒ (⋁a∈A ⋀ f∈effects+(a) a_i) SAT-Based Planning

Encoding Exclusion Axioms allow only exactly one action at each step for 0 ≤ i ≤ n-1 and a≠a’, a,a’∈A: ¬a_i ⋁ ¬a’_i Encoding Exclusion Axioms allow only exactly one action at each step for 0 ≤ i ≤ n-1 and a≠a’, a,a’∈A: ¬a_i ⋁ ¬a’_i unlike Graphplan: only one action in each step SAT-Based Planning

Overview Encoding Planning Problems as Satisfiability Problems (SAT) Efficient SAT Solving Algorithms Overview Encoding Planning Problems as Satisfiability Problems (SAT) just done: how to encode a planning problem into SAT problem that has a model iff the planning problem has a solution Efficient SAT Solving Algorithms now: efficient algorithms for SAT solving (very quick overview) SAT-Based Planning

Generic SAT Problem given: set of m propositional formulas: {F1 … Fm} containing n proposition symbols: P1 … Pn find: an interpretation I that assigns truth values (T, F) to P1 … Pn, i.e. I(Fj) = T or I(Fj) = F, and under which all the formulas evaluate to T, i.e. I(F1 ⋀… ⋀ Fm) = T Generic SAT Problem given: set of m propositional formulas: {F1 … Fm} or one formula that is the conjunction of the formulas in the set containing n proposition symbols: P1 … Pn find: an interpretation I that assigns truth values (T, F) to P1 … Pn, i.e. I(Fj) = T or I(Fj) = F, and under which all the formulas evaluate to T, i.e. I(F1 ⋀… ⋀ Fm) = T SAT-Based Planning

Conjunctive Normal Form formula F is in conjunctive normal form (CNF) iff: F has the form F1 ⋀… ⋀ Fn and each Fi, i ∈ 1…n, is a disjunction of literals Proposition: Let F be a propositional formula. Then there exists a propositional formula F’ in CNF such that: F and F’ are equivalent, i.e. for every interpretation I, I(F) = I(F’) Conjunctive Normal Form formula F is in conjunctive normal form (CNF) iff: F has the form F1 ⋀… ⋀ Fn and each Fi, i ∈ 1…n, is a disjunction of literals disjunction of literals: clause Proposition: Let F be a propositional formula. Then there exists a propositional formula F’ in CNF such that: F and F’ are equivalent, i.e. for every interpretation I, I(F) = I(F’) SAT-Based Planning

Transformation into CNF eliminate implications: F↔G = F→G ⋀ G→F F→G = ¬F⋁G bring negations before atoms: ¬(F⋁G) = ¬F⋀¬G ¬(F⋀G) = ¬F⋁¬G ¬(¬F) = F apply distributive laws: F⋀(G⋁H) = (F⋀G)⋁(F⋀H) F⋁(G⋀H) = (F⋁G)⋀(F⋁H) Transformation into CNF eliminate implications: F↔G = F→G ⋀ G→F F→G = ¬F⋁G bring negations before atoms: ¬(F⋁G) = ¬F⋀¬G ¬(F⋀G) = ¬F⋁¬G ¬(¬F) = F apply distributive laws: F⋀(G⋁H) = (F⋀G)⋁(F⋀H) F⋁(G⋀H) = (F⋁G)⋀(F⋁H) SAT-Based Planning

SAT Solving Procedures systematic: Davis-Putnam algorithm extend partial assignment into complete assignment sound and complete stochastic: local search algorithms (GSAT, WalkSAT) modify randomly chosen total assignment sound, not complete, very fast SAT Solving Procedures systematic: Davis-Putnam algorithm extend partial assignment into complete assignment sound and complete stochastic: local search algorithms (GSAT, WalkSAT) modify randomly chosen total assignment sound, not complete, very fast SAT-Based Planning

Local Search Algorithms basic principles: keep only a single (complete) state in memory generate only the neighbours of that state keep one of the neighbours and discard others key features: no search paths neither systematic nor incremental key advantages: use very little memory (constant amount) find solutions in search spaces too large for systematic algorithms Local Search Algorithms basic principles: keep only a single (complete) state in memory generate only the neighbours of that state keep one of the neighbours and discard others key features: no search paths neither systematic nor incremental key advantages: use very little memory (constant amount) find solutions in search spaces too large for systematic algorithms SAT-Based Planning

Random-Restart Hill-Climbing method: conduct a series of hill-climbing searches from randomly generated initial states stop when a goal is found analysis: complete with probability approaching 1 requires 1/p restarts where p is the probability of success (1 success + 1/p-1 failures) Random-Restart Hill-Climbing method: must be able to generate random states; therefore usually complete state formulation conduct a series of hill-climbing searches from randomly generated initial states stop when a goal is found analysis: complete with probability approaching 1 requires 1/p restarts where p is the probability of success (1 success + 1/p-1 failures) no guarantee that algorithm will terminate; hence no time complexity space complexity: b, the branching factor completeness: eventually, it will generate the global maximum optimality: same as completeness SAT-Based Planning

Hill Climbing: getBestSuccessors getBestSuccessors(i,clauses) tc  -1; succs  {} for every proposition p in i i’  i.flipValueOf(p) n  number of clauses true under i’ if n > tc then tc  n; succs  {} if n = tc then succs  succs + i’ return succs Hill Climbing: getBestSuccessors getBestSuccessors(i,clauses) given an interpretation and a set of clauses, find best “neighbours” tc  -1; succs  {} tc: number of true clauses under best neighbour interpretation found so far for every proposition p in i i’  i.flipValueOf(p) copy of given interpretation with value of p flipped n  number of clauses true under i’ if n > tc then tc  n; succs  {} if this interpretation is better then previous interpretations, remember how good it is and forget previous successors if n = tc then succs  succs + i’ if this interpretation is as good as the best so far, add it to the set of successors return succs SAT-Based Planning

GSAT: Pseudo Code function GSAT(clauses) props  clauses.getPropositions() loop at most MAXLOOP times i  randomInterpretation(props) while not clauses.evaluate(i) do succs  getBestSuccessors(i,clauses) i  succs.selectOne() if clauses.evaluate(i) return i return unknown GSAT: Pseudo Code function GSAT(clauses) returns a model or failure props  clauses.getPropositions() loop at most MAXLOOP times ensures that the algorithm terminates i  randomInterpretation(props) while not clauses.evaluate(i) do while the interpretation is not a model succs  getBestSuccessors(i,clauses) i  succs.selectOne() random selection, no backtracking if clauses.evaluate(i) return I found a model: clauses are satisfiable, return model return unknown there may be a model, but we didn’t find one variants: break inner loop when no improvement is made allow only a limited number of level steps SAT-Based Planning

GSAT Evaluation experimental results: analysis: solved every problem correctly that Davis-Putnam could solve, only much faster begins to return “unknown” on problems orders of magnitude larger than Davis-Putnam can solve analysis: problems with many local maxima are difficult for GSAT GSAT Evaluation experimental results: solved every problem correctly that Davis-Putnam could solve, only much faster begins to return “unknown” on problems orders of magnitude larger than Davis-Putnam can solve analysis: problems with many local maxima are difficult for GSAT SAT-Based Planning

WalkSAT idea: start with random interpretation choose a random proposition to flip accept if it represents an uphill or level move otherwise accept it with probability e-δ/T(s) where: δ = decrease in number of true clauses under i’ T(s) = monotonically decreasing function from number of steps taken to temperature value WalkSAT inspired by simulated annealing idea: start with random interpretation choose a random proposition to flip accept if it represents an uphill or level move otherwise accept it with probability e-δ/T(s) where: δ = decrease in number of true clauses under i’ T(s) = monotonically decreasing function from number of steps taken to temperature value SAT-Based Planning

Overview Encoding Planning Problems as Satisfiability Problems (SAT) Efficient SAT Solving Algorithms Overview Encoding Planning Problems as Satisfiability Problems (SAT) Efficient SAT Solving Algorithms just done: efficient algorithms for SAT solving (very quick overview) SAT-Based Planning