Abstract Answer Set Solver. Todolist Print the rules of Fig 1.

Slides:



Advertisements
Similar presentations
The behavior of SAT solvers in model checking applications K. L. McMillan Cadence Berkeley Labs.
Advertisements

Exploiting SAT solvers in unbounded model checking
Exploiting SAT solvers in unbounded model checking K. L. McMillan Cadence Berkeley Labs.
Hybrid BDD and All-SAT Method for Model Checking Orna Grumberg Joint work with Assaf Schuster and Avi Yadgar Technion – Israel Institute of Technology.
Boolean Satisfiability
Presented by Monissa Mohan 1.  A highly optimized BCP algorithm  Two watched literals  Fast Backtracking  Efficient Decision Heuristic  Focused on.
Chaff: Engineering an Efficient SAT Solver Matthew W.Moskewicz, Concor F. Madigan, Ying Zhao, Lintao Zhang, Sharad Malik Princeton University Presenting:
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.
Constraint Based Reasoning over Mutex Relations in Graphplan Algorithm Pavel Surynek Charles University, Prague Czech Republic.
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:
Justification-based TMSs (JTMS) JTMS utilizes 3 types of nodes, where each node is associated with an assertion: 1.Premises. Their justifications (provided.
Propositional and First Order Reasoning. Terminology Propositional variable: boolean variable (p) Literal: propositional variable or its negation p 
Proofs from SAT Solvers Yeting Ge ACSys NYU Nov
Methods of Proof Chapter 7, second half.. Proof methods Proof methods divide into (roughly) two kinds: Application of inference rules: Legitimate (sound)
Daniel Kroening and Ofer Strichman 1 Decision Procedures An Algorithmic Point of View SAT.
1/30 SAT Solver Changki PSWLAB SAT Solver Daniel Kroening, Ofer Strichman.
CS 267: Automated Verification Lecture 10: Nested Depth First Search, Counter- Example Generation Revisited, Bit-State Hashing, On-The-Fly Model Checking.
Properties of SLUR Formulae Ondřej Čepek, Petr Kučera, Václav Vlček Charles University in Prague SOFSEM 2012 January 23, 2012.
Best-First Search: Agendas
SAT and Model Checking. Bounded Model Checking (BMC) A.I. Planning problems: can we reach a desired state in k steps? Verification of safety properties:
Constraint Logic Programming Ryan Kinworthy. Overview Introduction Logic Programming LP as a constraint programming language Constraint Logic Programming.
1 Boolean Satisfiability in Electronic Design Automation (EDA ) By Kunal P. Ganeshpure.
Presented by Ed Clarke Slides borrowed from P. Chauhan and C. Bartzis
Constraint Satisfaction Problems
GRASP-an efficient SAT solver Pankaj Chauhan. 6/19/ : GRASP and Chaff2 What is SAT? Given a propositional formula in CNF, find an assignment.
GRASP SAT solver Presented by Constantinos Bartzis Slides borrowed from Pankaj Chauhan J. Marques-Silva and K. Sakallah.
Konrad-Zuse-Zentrum für Informationstechnik Berlin (ZIB) Tobias Achterberg Conflict Analysis in Mixed Integer Programming.
A Compressed Breadth-First Search for Satisfiability DoRon B. Motter and Igor L. Markov University of Michigan, Ann Arbor.
1 Abstraction Refinement for Bounded Model Checking Anubhav Gupta, CMU Ofer Strichman, Technion Highly Jet Lagged.
Chapter 5 Outline Formal definition of CSP CSP Examples
GRASP: A Search Algorithm for Propositional Satisfiability EE878C Homework #2 2002/11/1 KAIST, EECS ICS Lab Lee, Dongsoo.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 15: March 18, 2009 Static Timing Analysis and Multi-Level Speedup.
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.
Penn ESE 535 Spring DeHon 1 ESE535: Electronic Design Automation Day 21: April 21, 2008 Modern SAT Solvers ({z}Chaff, GRASP,miniSAT)
Daniel Kroening and Ofer Strichman 1 Decision Procedures in First Order Logic Decision Procedures for Equality Logic.
SAT and SMT solvers Ayrat Khalimov (based on Georg Hofferek‘s slides) AKDV 2014.
Solvers for the Problem of Boolean Satisfiability (SAT) Will Klieber Aug 31, 2011 TexPoint fonts used in EMF. Read the TexPoint manual before you.
1 Agenda Modeling problems in Propositional Logic SAT basics Decision heuristics Non-chronological Backtracking Learning with Conflict Clauses SAT and.
LDK R Logics for Data and Knowledge Representation Propositional Logic: Reasoning First version by Alessandro Agostini and Fausto Giunchiglia Second version.
NP-Complete Problems. Running Time v.s. Input Size Concern with problems whose complexity may be described by exponential functions. Tractable problems.
On the Relation between SAT and BDDs for Equivalence Checking Sherief Reda Rolf Drechsler Alex Orailoglu Computer Science & Engineering Dept. University.
Tries Data Structure. Tries  Trie is a special structure to represent sets of character strings.  Can also be used to represent data types that are.
Basic Problem Solving Search strategy  Problem can be solved by searching for a solution. An attempt is to transform initial state of a problem into some.
Problem Reduction So far we have considered search strategies for OR graph. In OR graph, several arcs indicate a variety of ways in which the original.
Maximum Density Still Life Symmetries and Lazy Clause Generation Geoffrey Chu, Maria Garcia de la Banda, Chris Mears, Peter J. Stuckey.
Nikolaj Bjørner Microsoft Research DTU Winter course January 2 nd 2012 Organized by Flemming Nielson & Hanne Riis Nielson.
Heuristics for Efficient SAT Solving As implemented in GRASP, Chaff and GSAT.
Propositional SAT The search for a model of a given proposition.
Chapter 13 Backtracking Introduction The 3-coloring problem
SAT Solving As implemented in - DPLL solvers: GRASP, Chaff and
Assumption-based Truth Maintenance Systems: Motivation n Problem solvers need to explore multiple contexts at the same time, instead of a single one (the.
CS137: Electronic Design Automation
Hybrid BDD and All-SAT Method for Model Checking
Clause Learning in a SAT-Solver
Inference and search for the propositional satisfiability problem
Computability and Complexity
CSPs: Search and Arc Consistency Computer Science cpsc322, Lecture 12
Recovering and Exploiting Structural Knowledge from CNF Formulas
SAT’07 Conference, Lisbon;
Introduction to Software Verification
CS137: Electronic Design Automation
Logic Synthesis CNF Satisfiability.
CSPs: Search and Arc Consistency Computer Science cpsc322, Lecture 12
Complexity 6-1 The Class P Complexity Andrei Bulatov.
ECE 667 Synthesis and Verification of Digital Circuits
Decision Procedures An Algorithmic Point of View
NP-Complete Problems.
Stronger learning and higher backjumping
GRASP-an efficient SAT solver
CS137: Electronic Design Automation
Presentation transcript:

Abstract Answer Set Solver

Todolist Print the rules of Fig 1.

An abstract framework for describing algorithms to find answer sets of a logic program using “constraint propagation”, backjumping, learning and forgetting.

Outline Notations Abstract Answer Set Solver –A first definition of graph associted with a program –An extended graph (catering for backjump) –Answer set solver Appendix –Generate reasons (in extended records) –Generate backjump clause

Abstract Answer Set Solver States and transition rules on states will be used, instead of pseudo-code, to describe ASP algorithms employing propagation, backjumping, learning and forgetting

States State: M||T or FailState –M is a record: A record relative to a program P is a list of literals over atoms of P without repetitions where each literal has an annotation, a bit that marks it as a decision literal or not. –T is a (multi-)set of denials

Example

Record –By ignoring the annotations and ordering, a record M can be taken as a set of literals, i.e., a “partial assignment” –l is unassigned if neither l nor its complemet is in M –A decision literal: supscripted with \Delta –Non-decision literal: no supscription

Transition rules Example

Graph associated to a program For any program P, we define a graph G_P whose –Nodes are the states of P –Edges are “transition rules” If there is a transition rule S  S’ followed by a condition such that S and S’ are states and the condition is satisfied, there is an edge between S and S’ in the graph

Graph and answer set Transition rules Semi-terminal state Result

Transition rules Basic rules –Rules based on satisfying the program rules –Rules based on unfounded set –Backjump (backtrack) –Decide –Fail Rules about learning Rules about forgetting

Basic rules

A clause l ∨ C is a reason for l to be in a list of literals P l Q w.r.t P if P satisfies l ∨ C and C ⊆ P. P satisfies a formula F when for any consistent and complete set M of literals, if M+ is an answer set for P, then M |= F.

Rules on learning and forgetting

Semi-terminal state: there is no edge due to one of the basic transition rules leaving this node.

Graph and Answer sets Given a program P and its graph G_P – every path in G_P contains only finitely many edges labeled by Basic transition rules, –for any semi-terminal state M||Γ of G_P reachable from ∅ || ∅, M+ is an answer set of P, –FailState is reachable from ∅ || ∅ in G_P if and only if P has no answer sets.

Example

Extended graph of a program Backjump: in contrast to backtrack to the previous decision literal, it can backtrack to the earlier decision literal which “causes” the current conflict. Efficient in SAT solvers Learning and forgetting: clauses are learned from the current conflict. They can be used to prune the search space. Forgetting is necessary because too many learned clauses may slow down the solver. Again, very useful techniques in SAT solvers

Extended graph: extended state || denials, or FailState An extended record M relative to a program P is a list of literals over atoms in P without repetitions where –(i) each literal l in M is annotated either by or by a reason for l to be in M, –(ii) for any inconsistent prefix of M its last literal is annotated by a reason.

Example: extended record

Example: non extended record

Extended graph We now define a graph G↑_P for any program P. Its nodes are the extended states relative to P. The transition rules of G_P are extended to G↑_P as follows: S1  S2 is an edge in G↑_P justified by a transition rule T if and only if is an edge in G_P justified by T.

Proposition 1↑ For any program P, –a) every path in G↑_P contains only finitely many edges labeled by Basic transition rules, –b) for any semi-terminal state M||Γ of G↑_P, M+ is an answer set of P, –c) G↑_P contains an edge leading to FailState if and only if P has no answer sets. Note –Any semi-terminal state and FailState is reachable from in G↑_P?

Answer set solver Consider finding only one answer set A solver using the same inference rules (unit propagate etc.) as those of G_P (or G↑_P) can be characterized by its strategies of traversing the graph to find a path from to a semi-terminal or FailState.

SMODELS_cc 1.edges corresponding to the applications of transition rules Unit Propagate, All Rules Cancelled, Backchain True, Backchain False, and Unfounded to a state in G_P are considered if Backjump is not applicable in this state, 2.an edge corresponding to an application of a transition rule Decide to a state in G_P is considered if and only if none of the rules among Unit Propagate, All Rules Cancelled, Backchain True, Backchain False, Unfounded, and Backjump is applicable in this state, 3.an edge corresponding to an application of a transition rule Learn to a state in G_P is considered if and only if this state was reached by the edge Backjump and a FirstUIP backjump clause is learned

SUP 1 – 3 of SMODELS_cc an edge corresponding to an application of transition rule Unfounded to a state in G_P is considered only if a state assigns all atoms of P Remove unfounded from 2.

Generate the reasons

Rules on learning and forgetting

Backjump related notations We call the reason in the backjump rule backjump clause. We say that a state in the graph G↑_P is a backjump state if its record is inconsistent and contains a decision literal.

For a record M, by lcp(M) we denote its largest consistent prefix. A clause C is conflicting on a list M of literals if P satisfies C, and C ⊆ lcp(M).e.g.,

CUT What’s a cut –A cut in the implication graph is a bipartition of the graph such that all decision variables are in one set while the conflict is in the other set. –There are many cuts

Each cut results in a learned clause

(Decision) backjump clause through graph Decision backjump clause: one set of the cut contains only decision variables

Obtain backjump clause through resolution

Apply backjump rule

UIP What’s unique implication point (UIP) –A literal l in a implication graph is called a unique implication point if every path from the decision literal at level l to the point of conflict passes through l. –A decision level of a literal l is the number of decision variables when l is assigned a value.

First UIP cut –The 1UIP cut of of an implication graph is the cut “generated from” the unique implication points closest to the point of conflict. On one set (conflict side): all variables assigned after the first UIP of current decision level reachable to the conflict On the other side: everything else.

Apply backjump rule

Application of learning rule Reason carried by the last literal can be put into the store

Refences 1.An abstract answer set solver by Yuliya 2.Efficient Conflict Driven Learning in a Boolean Satisfiability Solver, iccad 2001

Appendix Another implication graph

Backjump clause (conflict clause) Clauses Implication graph (with decision literals x1, x2, x3)

Notations Unfounded set –A set U of atoms occurring in a program P is said to be unfounded on a consistent set M of literals w.r.t. P if for every a ∈ U and every B ∈ Bodies(P, a), B ∩M = ∅ or U ∩ B = ∅.