1
BLACKBOX: A New Approach to the Application of Theorem Proving to Problem Solving
BLACKBOX: A New Approach to the Application of Theorem Proving to Problem Solving
Bart SelmanCornell University
Joint work with Henry Kautz
AT&T Labs
2
Planning as (Specialized) DeductionPlanning as (Specialized) Deduction
Situation calculus (McCarthy & Hayes 1969)
• Conceptually elegant
Planning as first-order theorem proving (Green 1969)
• Computationally infeasible
STRIPS: A New Approach to the Application of Theorem Proving to Problem Solving (Fikes & Nilsson 1971)
• More efficient, but still poor scaling
Partial-order planning (Tate 1977, Chapman 1985, McAllester 1991)
• Planning as specialized implementation of a particular theorem - the modal truth criteria
• Can be more efficient, but still hard (Minton, Bresina, & Drummond 1994)
SATPLAN (Kautz and Selman 1992, 1996)
• Planning as (simply) propositional reasoning
3
SATPLANSATPLAN
axiomschemas instantiated
propositionalclauses
satisfyingmodelplan
mapping
length
problemdescription
SATengine(s)
instantiate
interpret
4
What SATPLAN ShowedWhat SATPLAN Showed
A general propositional theorem prover can be competitive with specialized planning (specialized theorem proving) systems
• Good representations– propositional, not first-order
– can combine expressiveness with good computational properties
• Fast SAT engines– stochastic search - walksat
– large SAT/CSP community sharing ideas and code+ compare: general CPU's versus Lisp-chip
+ specialized engines can catch up, but by then, new general techniques
5
GraphplanGraphplan
Planning as graph search (Blum & Furst 1995)
Set new paradigm for planning
Like SATPLAN...
• Two phases: instantiation of propositional structure, followed by search
• Possible to translate planning graph into CNF (Kautz & Selman 1996)
Unlike SATPLAN...
• Interleaves instantiation and pruning of plan graph
• Employs specialized search engine
• Graphplan - better instantiation
• SATPLAN - better search
6
Bridging ParadigmsBridging Paradigms
Both SATPLAN and Graphplan are disjunctive planners (Kambhampati 1996)
avoid splitting - more compact representations, faster search
IJCAI Challenge in Bridging Plan Synthesis Paradigms (Kambhampati 1997)
• study tradeoffs between refinement (instantiation) and extraction (SAT) techniques
Our response: blackbox
efficient planning system and highly-configurable testbed
7
Blackbox ArchitectureBlackbox Architecture
1. Front end: turn STRIPS input into planning graph
• interleaves instantiation and pruning (specialized limited deduction)
2. Translation to CNF
3. Simplification (general limited deduction)
• critical for hardest problems– unit propagation, failed literal, binary failed literal, ...
4. SAT solvers
• can schedule series of different solvers: walksat, satz, rel_sat, etc.
• new: randomized systematic solvers (more later)
8
Specialized InferenceSpecialized Inference
SATPLAN was proof of concept that general deduction is feasible
When do specialized inference techniques have the greatest impact?
Two kinds of specialized deduction• Planning specific - graphplan's pruning rules
• General polytime inference - simplification performed after CNF generation– apply to all CNF formulas, may or may not be
designed with planning in mind
9
Graph PruningGraph Pruning
Graphplan instantiates in a forward direction, pruning nodes with incompatible preconditions
• incomplete
• pair-wise mutex relations computed by incremental constraint propagation
– (see Kambhampati 1997, Euro CP)
In logical terms: limited application of negative binary propagation
• given: P V Q, P V R V S V ...
• infer: Q V R V S V ...
10
Translation to CNFTranslation to CNF
Fact Act1 V Act2
Act1 Pre1 & Pre2
Wff is entailed by original SATPLAN hand encodings, but more compact, easier to solve
• compare with Medic (Weld 1997), which translated STRIPS CNF directly
Act1
Act2
Fact
Pre1
Pre2
11
SimplificationSimplification
Generated wff can be further simplified by additional consistency propagation techniques
Because is in CNF, can take advantage of many fast, powerful simplifiers
Compact (Crawford & Auton 1996)
• failed literal rule: is Wff + { P } unsat by unit propagation?
• binary failed literal rule: is Wff + { P V Q } unsat by unit propagation?
Generally reduces number of variables and clauses by 30%
12
Randomized Sytematic SolversRandomized Sytematic Solvers
Stochastic local search solvers (walksat)
• when they work, scale well
• cannot show unsat
• fail on some domains
• must use very simple (fast) heuristics
Systematic solvers (Davis Putnam)
• complete
• fail on (often different) domains
• might use more sophisticated (costly) heuristics
• seem to scale badly
Can we combine best features of each approach?
13
Heavy TailsHeavy Tails
Bad scaling of systematic solvers can be caused by heavy tailed distributions
Deterministic algorithms get stuck on particular instances
• but that same instance might be easy for a different deterministic algorithm!
Expected (mean) solution time increases without limit over large distributions
14
Heavy Tailed Cost DistributionHeavy Tailed Cost Distribution
0.1
1
1 10 100 1000 10000 100000
log( Backtracks )
log
( 1
- F
(x)
)
15
Randomized RestartsRandomized Restarts
Solution: randomize the systematic solver
• Add noise to the heuristic branching (variable choice) function
• Cutoff and restart search after a fixed number of backtracks
Eliminates heavy tails
In practice: rapid restarts with low cutoff can dramatically improve performance
16
Rapid Restart SpeedupRapid Restart Speedup
1000
10000
100000
1000000
1 10 100 1000 10000 100000 1000000
log( cutoff )
log
( b
ackt
rack
s )
17
Blackbox as Experimental TestbedBlackbox as Experimental Testbed
All components of blackbox are parameterized
Can experiment with different schedules for instantiating, simplifying, and solving problems
blackbox -solver -maxsec 20 graphplan
-then compact -l
-then satz -cutoff 20 -restart 100
-then walksat -cutoff 1000000 -restart 10
18
Blackbox ResultsBlackbox Results
0.01
0.1
1
10
100
1000
10000
rocket.a rocket.b log.a log.b log.c log.d
Graphplan
BB-walksat
BB-rand-sys
Handcoded-walksat
19
blackbox version 9Bcommand line: blackbox -o logistics.pddl -f logistics_prob_d_len.pddl -solver compact -l -then satz -cutoff 25 -restart 10
----------------------------------------------------Converting graph to wff6151 variables243652 clausesInvoking simplifier compactVariables undetermined: 4633Non-unary clauses output: 139866----------------------------------------------------Invoking solver satz version satz-rand-2.1Wff loaded[1] begin restart[1] reached cutoff 25 --- back to root[2] begin restart[2] reached cutoff 25 --- back to root [3] begin restart[3] reached cutoff 25 --- back to root [4] begin restart[4] reached cutoff 25 --- back to root [5] begin restart**** the instance is satisfiable ********* verification of solution is OK ****
total elapsed seconds = 25.930000----------------------------------------------------Begin plan1 drive-truck_ny-truck_ny-central_ny-po_ny
20
Begin plan1 drive-truck_ny-truck_ny-central_ny-po_ny1 drive-truck_sf-truck_sf-airport_sf-po_sf1 load-truck_package5_bos-truck_bos-po1 drive-truck_pgh-truck_pgh-airport_pgh-central_pgh1 fly-airplane_airplane2_pgh-airport_sf-airport1 load-truck_package6_bos-truck_bos-po2 load-truck_package2_pgh-truck_pgh-central2 load-truck_package4_ny-truck_ny-po2 load-truck_package7_ny-truck_ny-po2 load-truck_package3_pgh-truck_pgh-central2 drive-truck_bos-truck_bos-po_bos-airport_bos2 load-airplane_package8_airplane2_sf-airport2 fly-airplane_airplane1_pgh-airport_sf-airport2 drive-truck_la-truck_la-po_la-airport_la3 fly-airplane_airplane2_sf-airport_bos-airport3 unload-truck_package6_bos-truck_bos-airport3 drive-truck_pgh-truck_pgh-central_pgh-airport_pgh3 fly-airplane_airplane1_sf-airport_pgh-airport3 unload-truck_package5_bos-truck_bos-airport3 drive-truck_ny-truck_ny-po_ny-airport_ny3 drive-truck_sf-truck_sf-po_sf-airport_sf4 unload-truck_package3_pgh-truck_pgh-airport4 unload-truck_package2_pgh-truck_pgh-airport4 unload-truck_package4_ny-truck_ny-airport4 load-airplane_package6_airplane2_bos-airport4 load-airplane_package5_airplane2_bos-airport4 drive-truck_la-truck_la-airport_la-po_la4 drive-truck_bos-truck_bos-airport_bos-central_bos4 unload-truck_package7_ny-truck_ny-airport5 drive-truck_ny-truck_ny-airport_ny-po_ny5 drive-truck_bos-truck_bos-central_bos-po_bos5 load-airplane_package2_airplane1_pgh-airport5 drive-truck_la-truck_la-po_la-central_la5 drive-truck_pgh-truck_pgh-airport_pgh-po_pgh5 load-airplane_package3_airplane1_pgh-airport5 fly-airplane_airplane2_bos-airport_ny-airport6 drive-truck_sf-truck_sf-airport_sf-central_sf6 unload-airplane_package6_airplane2_ny-airport6 load-airplane_package4_airplane2_ny-airport6 drive-truck_la-truck_la-central_la-po_la6 drive-truck_bos-truck_bos-po_bos-airport_bos6 load-airplane_package7_airplane2_ny-airport6 drive-truck_ny-truck_ny-po_ny-airport_ny6 unload-airplane_package8_airplane2_ny-airport6 fly-airplane_airplane1_pgh-airport_sf-airport6 load-truck_package1_pgh-truck_pgh-po7 fly-airplane_airplane2_ny-airport_la-airport7 fly-airplane_airplane1_sf-airport_bos-airport7 load-truck_package9_sf-truck_sf-central7 load-truck_package6_ny-truck_ny-airport
7 drive-truck_bos-truck_bos-airport_bos-central_bos7 drive-truck_pgh-truck_pgh-po_pgh-airport_pgh7 load-truck_package8_ny-truck_ny-airport8 drive-truck_sf-truck_sf-central_sf-po_sf8 fly-airplane_airplane2_la-airport_pgh-airport8 unload-truck_package1_pgh-truck_pgh-airport8 drive-truck_bos-truck_bos-central_bos-po_bos8 drive-truck_ny-truck_ny-airport_ny-central_ny8 fly-airplane_airplane1_bos-airport_la-airport8 drive-truck_la-truck_la-po_la-airport_la9 unload-airplane_package7_airplane2_pgh-airport9 unload-truck_package8_ny-truck_ny-central9 unload-airplane_package5_airplane2_pgh-airport9 unload-truck_package9_sf-truck_sf-po9 unload-airplane_package3_airplane1_la-airport9 unload-truck_package6_ny-truck_ny-central9 drive-truck_pgh-truck_pgh-airport_pgh-po_pgh9 load-airplane_package1_airplane2_pgh-airport10 drive-truck_ny-truck_ny-central_ny-po_ny10 fly-airplane_airplane2_pgh-airport_bos-airport10 load-truck_package3_la-truck_la-airport10 fly-airplane_airplane1_la-airport_ny-airport10 drive-truck_pgh-truck_pgh-po_pgh-airport_pgh11 drive-truck_bos-truck_bos-po_bos-airport_bos11 drive-truck_ny-truck_ny-po_ny-airport_ny11 unload-airplane_package2_airplane1_ny-airport11 drive-truck_la-truck_la-airport_la-central_la11 drive-truck_sf-truck_sf-po_sf-airport_sf11 unload-airplane_package1_airplane2_bos-airport11 load-truck_package7_pgh-truck_pgh-airport11 load-truck_package5_pgh-truck_pgh-airport12 drive-truck_sf-truck_sf-airport_sf-po_sf12 load-truck_package1_bos-truck_bos-airport12 fly-airplane_airplane2_bos-airport_la-airport12 load-truck_package2_ny-truck_ny-airport12 fly-airplane_airplane1_ny-airport_pgh-airport12 drive-truck_pgh-truck_pgh-airport_pgh-po_pgh12 unload-truck_package3_la-truck_la-central13 drive-truck_ny-truck_ny-airport_ny-po_ny13 load-truck_package3_la-truck_la-central13 load-truck_package9_sf-truck_sf-po13 drive-truck_bos-truck_bos-airport_bos-po_bos13 unload-truck_package5_pgh-truck_pgh-po13 unload-airplane_package4_airplane2_la-airport14 unload-truck_package9_sf-truck_sf-po14 unload-truck_package1_bos-truck_bos-po14 unload-truck_package7_pgh-truck_pgh-po14 unload-truck_package2_ny-truck_ny-po14 unload-truck_package3_la-truck_la-centralEnd plan
21
SummarySummary
Blackbox combines best features of Graphplan, SATPLAN, and new randomized systematic search engines
Automatic generation of wffs from standard STRIPS input
• No performance penalty over hand-encodings!
Testbed for bridging different planning paradigms
22
Current Research IssuesCurrent Research Issues
Tradeoffs between planning-specific and more general limited inference (simplification) techniques
• More powerful / general rules than mutex computation?
Incorporating explicit domain knowledge (Kautz & Selman, 1998)
• state invariants
• optimal conditionsOther front-ends: causal encodings (McAllester, Selman, Kautz
1996), HTN encodings (Mali & Kambhampati 1998)
Download from www.research.att.com/~kautz/blackbox