Resolution Based Search John Hooker GSIA Feb 2003.

Slides:



Advertisements
Similar presentations
Planning II: Partial Order Planning
Advertisements

Appendix: Other ATPG algorithms 1. TOPS – Dominators Kirkland and Mercer (1987) n Dominator of g – all paths from g to PO must pass through the dominator.
1 A formula in predicate logic An atom is a formula. If F is a formula then (~F) is a formula. If F and G are Formulae then (F /\ G), (F \/ G), (F → G),
Glitches & Hazards.
1 CMSC 471 Fall 2002 Class #6 – Wednesday, September 18.
MBD and CSP Meir Kalech Partially based on slides of Jia You and Brian Williams.
DMOR Branch and bound. Integer programming Modelling logical constraints and making them linear: – Conjuction – Disjunction – Implication – Logical constraints.
First Order Logic Resolution
Methods of Proof Chapter 7, second half.. Proof methods Proof methods divide into (roughly) two kinds: Application of inference rules: Legitimate (sound)
Methods of Proof Chapter 7, Part II. Proof methods Proof methods divide into (roughly) two kinds: Application of inference rules: Legitimate (sound) generation.
CPSC 422, Lecture 21Slide 1 Intelligent Systems (AI-2) Computer Science cpsc422, Lecture 21 Mar, 4, 2015 Slide credit: some slides adapted from Stuart.
EE 553 Integer Programming
Abstract Answer Set Solver. Todolist Print the rules of Fig 1.
3.3 Spanning Trees Tucker, Applied Combinatorics, Section 3.3, by Patti Bodkin and Tamsen Hunter.
Artificial Intelligence Chapter 14. Resolution in the Propositional Calculus Artificial Intelligence Chapter 14. Resolution in the Propositional Calculus.
1 Logic-Based Methods for Global Optimization J. N. Hooker Carnegie Mellon University, USA November 2003.
Constraint Logic Programming Ryan Kinworthy. Overview Introduction Logic Programming LP as a constraint programming language Constraint Logic Programming.
Unifying Local and Exhaustive Search John Hooker Carnegie Mellon University September 2005.
Duality in Optimization and Constraint Satisfaction J. N. Hooker Carnegie Mellon Univ. Pittsburgh, USA September 2006.
Inference and Resolution for Problem Solving
Constraint Satisfaction Problems
Methods of Proof Chapter 7, second half.
Knoweldge Representation & Reasoning
Backtracking search: look-back Chapter 6. Look-back: Backjumping / Learning Backjumping: In deadends, go back to the most recent culprit. Learning: constraint-recording,
Chapter 5 Outline Formal definition of CSP CSP Examples
Artificial Intelligence Chapter 14 Resolution in the Propositional Calculus Artificial Intelligence Chapter 14 Resolution in the Propositional Calculus.
ECE 667 Synthesis and Verification of Digital Systems
Distributed Scheduling. What is Distributed Scheduling? Scheduling: –A resource allocation problem –Often very complex set of constraints –Tied directly.
SAT Solving Presented by Avi Yadgar. The SAT Problem Given a Boolean formula, look for assignment A for such that.  A is a solution for. A partial assignment.
MULTIPLES OF 2 By Preston, Lincoln and Blake. 2 X 1 =2 XX 2X1=2 1+1=2.
Daniel Kroening and Ofer Strichman Decision Procedures An Algorithmic Point of View Deciding ILPs with Branch & Bound ILP References: ‘Integer Programming’
Decision Procedures An Algorithmic Point of View
1 Decision Procedures for Linear Arithmetic Presented By Omer Katz 01/04/14 Based on slides by Ofer Strichman.
Constrainedness Including slides from Toby Walsh.
The covering procedure. Remove rows with essential PI’s and any columns with x’s in those rows.
1 Chapter 8 Inference and Resolution for Problem Solving.
Quine-McCluskey (Tabular) Minimization Two step process utilizing tabular listings to: Identify prime implicants (implicant tables) Identify minimal PI.
EveMark Ed Enter question here. Click the sound icon to listen to each solution. Who has the best solution?
Exact methods for ALB ALB problem can be considered as a shortest path problem The complete graph need not be developed since one can stop as soon as in.
CP Summer School Modelling for Constraint Programming Barbara Smith 2. Implied Constraints, Optimization, Dominance Rules.
CSE S. Tanimoto Horn Clauses and Unification 1 Horn Clauses and Unification Propositional Logic Clauses Resolution Predicate Logic Horn Clauses.
CSCI 5582 Fall 2006 CSCI 5582 Artificial Intelligence Fall 2006 Jim Martin.
Agenda Review: –Planar Graphs Lecture Content:  Concepts of Trees  Spanning Trees  Binary Trees Exercise.
Automated Reasoning Early AI explored how to automated several reasoning tasks – these were solved by what we might call weak problem solving methods as.
On the Relation between SAT and BDDs for Equivalence Checking Sherief Reda Rolf Drechsler Alex Orailoglu Computer Science & Engineering Dept. University.
Algorithm Design Methods (II) Fall 2003 CSE, POSTECH.
First-Order Logic and Inductive Logic Programming.
CPSC 422, Lecture 21Slide 1 Intelligent Systems (AI-2) Computer Science cpsc422, Lecture 21 Oct, 30, 2015 Slide credit: some slides adapted from Stuart.
Maximum Density Still Life Symmetries and Lazy Clause Generation Geoffrey Chu, Maria Garcia de la Banda, Chris Mears, Peter J. Stuckey.
© Copyright 2008 STI INNSBRUCK Intelligent Systems Propositional Logic.
Vertex Coloring Distributed Algorithms for Multi-Agent Networks
1 Knowledge Based Systems (CM0377) Lecture 6 (last modified 20th February 2002)
Logical Agents Chapter 7. Outline Knowledge-based agents Propositional (Boolean) logic Equivalence, validity, satisfiability Inference rules and theorem.
Chap. 10 Learning Sets of Rules 박성배 서울대학교 컴퓨터공학과.
Assumption-based Truth Maintenance Systems: Motivation n Problem solvers need to explore multiple contexts at the same time, instead of a single one (the.
Proof Methods for Propositional Logic CIS 391 – Intro to Artificial Intelligence.
Theory of Computational Complexity Probability and Computing Chapter Hikaru Inada Iwama and Ito lab M1.
Introduction to Logic for Artificial Intelligence Lecture 2
Resolution in the Propositional Calculus
Backtracking And Branch And Bound
5.2 Mixed Integer Linear Programming
Biointelligence Lab School of Computer Sci. & Eng.
Title—48 pt. Arial Bold (use two lines of text if necessary)
Backtracking search: look-back
Constraints and Search
Biointelligence Lab School of Computer Sci. & Eng.
Title—48 pt. Arial Bold (use two lines of text if necessary)
Directional consistency Chapter 4
5.2 Mixed Integer Linear Programming
Presentation transcript:

Resolution Based Search John Hooker GSIA Feb 2003

Previous Work This talk generalizes & unifies contributions of: Gaschnig 1977 (backjumping, backmarking, backchecking) Ginsberg 1993 (dynamic backtracking) McAllester 1993 (partial order dynamic backtracking) Ginsberg & McAllester 1994 (generalized dynamic backtracking)

Some Definitions In propositional logic: x j – atomic proposition x j – negated proposition  – (inclusive) “or” x j, x j – literals x 1  x 2 – clause

Resolution x 1  x 2  x 4 x 1  x 2  x x 2  x 3  x 4 Parents of resolvent Resolvent Absorption x1  x2x1  x2 absorbs (is contained in) x1  x2  x3x1  x2  x3 For clauses, absorption  implication

Resolution Algorithm To apply the resolution algorithm to a clause set S: While there are 2 clauses in S with a resolvent R that no clause in S absorbs: Remove from S all clauses absorbed by R. Add R to S.

Prime Implicates Clause C is a prime implicate of clause set S if C is a strongest clause implied by S. That is, if S implies a clause C that absorbs C then C = C. Theorem (Quine): The resolution algorithm converts S to the set of prime implicates of S.

Sample Problem

Replace negative variables with complements = 1 – x 3

Resolution-Based Search Consider the partial assignment (x 1, x 2, x 3, x 4, x 5 ) = (0,0,0,0,?) It is redundant; i.e., already violates a constraint x 3 + x 4  1 Add a nogood to avoid repeating this partial assignment: Minimal nogood: x 1  x 2  x 3  x 4 Dependent nogood: x 3  x 4

Partial assignment Nogoods generated Nogoods after resolution 1234 x3  x4x3  x4 x3  x4x3  x4 x3  x4x3  x4 x3x3 x3  x4x3  x4 x3x4x3x x1  x5x1  x5 x3x4x1  x5x3x4x1  x5 x1  x3x1  x3 x3x4x1x3x4x1 x1  x3x1  x3  Resolution-Based Search (x 1, x 2, x 3, x 4, x 5 ) = (0,0,0,0,?) Since nogoods after resolution are prime implicates, we can find a partial assignment consistent with them without backtracking

Partial assignment Nogoods generated Nogoods after resolution 1234 x3  x4x3  x4 x3  x4x3  x4 x3  x4x3  x4 x3x3 x3  x4x3  x4 x3x4x3x x1  x5x1  x5 x3x4x1  x5x3x4x1  x5 x1  x3x1  x3 x3x4x1x3x4x1 x1  x3x1  x3  Resolution-Based Search Feasible solutions in green. Dependent nogoods based on objective function.

Depth-first branching = Resolution-Based Search with Parallel Resolution and Minimal Nogoods x 1  x 2  x 4 x 2  x 3  x x 1  x 2  x 3 penultimate literals in blue ultimate literals in red resolve on ultimate literals only parallel resolvent

Parallel Absorption parallel absorbs x1  x2x1  x2 x2  x3  x4x2  x3  x4 Ultimate literal in first clause is penultimate in second clause

Depth-first branching tree

Leaf node Partial assignment Nogoods generated Nogoods after parallel resolution x1x2x3x4x5x1x2x3x4x5 x1x2x3x4x5x1x2x3x4x5 7 x1x2x3x4x5x1x2x3x4x5 x1x2x3x4x1x2x3x x1x2x3x4x1x2x3x4 x1x2x3x1x2x x1x2x3x4x1x2x3x4 x1x2x3x1x2x3x4x1x2x3x1x2x3x x1x2x3x4x1x2x3x4 x1x2x1x x1x2x5x1x2x5 x1x2x1x2x5x1x2x1x2x x1x2x5x3x4x1x2x5x3x4 x1x2x1x2x5x1x2x5x3x4x1x2x1x2x5x1x2x5x3x x1x2x5x3x4x1x2x5x3x4 x1x2x1x2x5x1x2x5x3x1x2x1x2x5x1x2x5x3 Partial assignments must conform to nogoods. Must begin with values opposite to signs of penultimate literals.

Leaf node Partial assignment Nogoods generated Nogoods after parallel resolution x1x2x3x4x5x1x2x3x4x5 x1x2x3x4x5x1x2x3x4x5 7 x1x2x3x4x5x1x2x3x4x5 x1x2x3x4x1x2x3x x1x2x3x4x1x2x3x4 x1x2x3x1x2x x1x2x3x4x1x2x3x4 x1x2x3x1x2x3x4x1x2x3x1x2x3x x1x2x3x4x1x2x3x4 x1x2x1x x1x2x5x1x2x5 x1x2x1x2x5x1x2x1x2x x1x2x5x3x4x1x2x5x3x4 x1x2x1x2x5x1x2x5x3x4x1x2x1x2x5x1x2x5x3x x1x2x5x3x4x1x2x5x3x4 x1x2x1x2x5x1x2x5x3x1x2x1x2x5x1x2x5x

Leaf node Partial assignment Nogoods generated Nogoods after parallel resolution x1x2x5x3x4x1x2x5x3x4 x1x2x1x2x5x1x2x5x3x1x2x5x3x4x1x2x1x2x5x1x2x5x3x1x2x5x3x x1x2x5x3x4x1x2x5x3x4 x1x x1x5x3x4x2x1x5x3x4x2 x1x1x5x3x4x2x1x1x5x3x4x x1x5x3x4x2x1x5x3x4x2 x1x1x5x3x4x1x1x5x3x x1x5x3x4x1x5x3x4 x1x1x5x3x1x1x5x x1x5x3x4x1x5x3x4 x1x1x5x3x1x5x3x4x1x1x5x3x1x5x3x x1x5x3x4x1x5x3x4 x1x1x5x1x1x x1x5x1x5 

violates Backtrack to here Since infeasibility established by this point. Backjumping

Backjumping = Parallel resolution search that uses minimal nogoods, except that dependent nogoods are used whenever two consecutive nogoods have a parallel resolvent.

Replace minimal nogoods x 1  x 2  x 3  x 4  x 5 with dependent nogoods x 1  x 5 x 1  x 2  x 5 “missing” literals must be added prior to last penultimate literal

Backchecking and Backmarking These also have interpretations as forms of parallel resolution search.

Partial Order Dynamic Backtracking Partial order = dynamic backtracking Parallel resolution search that uses minimal nogoods. The ultimate literals in the nogoods imply a partial order on the variables in which penultimate variables must precede ultimate ones. The choice of ultimate literal in a new nogood must be consistent with this partial order.

Partial assignment Nogoods generated Nogoods after parallel resolution 1234 x3x4x3x4 x3x4x3x x3x4x3x4 x3x x3x4x3x4 x3x3x4x3x3x x1x5x1x5 x3x3x4x1x5x3x3x4x1x optimal x1 x3x1 x3 x3x1x3x x3x4x3x4 x3x1x3x4x3x1x3x x3x1x3x1  Must choose x 4 as ultimate literal Either literal can be ultimate Only x 3 is fixed; others chosen as desired Partial Order Dynamic Backtracking Note that a nogood can occur twice

Theorem. Any partial assignment that conforms to the current nogoods in parallel resolution search is nonredundant. Theorem. Parallel resolution search terminates after an exhaustive implicit enumeration. Theorem. The complexity of parallel resolution in the context of parallel resolution search is O(N), where N is the number of literals in the current nogoods.

Generalized Partial Order Dynamic Backtracking Partition variables into groups of ultimate variables. Associate a group with each new nogood to define its ultimate variables (possibly > 1). Ultimate variables define partial order: penultimate variables precede them. Groups merge when their representatives are chosen to be ultimate in the same clause. Parallel resolve on any ultimate variable. Parallel absorption also generalized. Fewer penultimate variables  more freedom to search. All variables ultimate  full resolution search.

Partial assignment Nogoods generated Nogoods after parallel resolution Ultimate variable groups 125 x1x2x5x1x2x5 x1x2x5x1x2x5 x 1 x 2 x 3 x 4 x x1x5x1x5 x1x5x2x1x1x5x2x1 x 1 x 5 x 2 x 3 x x3x4x3x4 x1x5x2x1x3x4x1x5x2x1x3x4 x 1 x 5 x 2 x 3 x x3x4x3x4 x1x5x2x1x3x1x5x2x1x3 215 x 1  x 5 x 2  x 1 x 3 x 1  x 5 x 2  x 5 x 1 x 5 x 2 x 3 x 4 Generalized partial order dynamic backtracking x 1 and x 2 fixed x 1 precedes x 5, but both can become ultimate. This merges two groups.

Partial assignment Nogoods generated Nogoods after parallel resolution Ultimate variable groups 125 x1x2x5x1x2x5 x1x2x5x1x2x5 x 1 x 2 x 3 x 4 x x1x5x1x5 x1x5x2x1x1x5x2x1 x 1 x 5 x 2 x 3 x x3x4x3x4 x1x5x2x1x3x4x1x5x2x1x3x4 x 1 x 5 x 2 x 3 x x3x4x3x4 x1x5x2x1x3x1x5x2x1x3 215 x 1  x 5 x 2  x 1 x 3 x 1  x 5 x 2  x 5 x 1 x 5 x 2 x 3 x 4 x 1  x 5 resolves with x 1  x 2  x 5 x 2 fixed ultimate variables must be x 4 only, or x 3 and x 4.. The latter merges 2 groups

Partial assignment Nogoods generated Nogoods after parallel resolution Ultimate variable groups x3x4x3x4 x 1  x 5 x 2  x 1 x 3 x 1  x 5 x 2  x 5 x 4 x 1 x 5 x 2 x 3 x optimal x3x1x3x1 x 1  x 5 x 3 x 1  x 5 x 4 x 2 x 1 x 5 x 2 x 3 x optimal x3x1x3x1 x 1  x 5 x 3 x 1  x 5 x 4 x 2 x 3  x 1 x 3  x 5 x 1 x 5 x 2 x 3 x x3x1x3x1  x 1 x 5 x 2 x 3 x 4 Completion of the algorithm