Extracting Minimum Unsatisfiable Cores with a Greedy Genetic Algorithm Jianmin Zhang, Sikun Li, and Shengyu Shen School of Computer Science, National University.

Slides:



Advertisements
Similar presentations
Model Checking Base on Interoplation
Advertisements

Algorithm Design Techniques
Satisfiability Modulo Theories (An introduction)
CS6800 Advanced Theory of Computation
Proofs from SAT Solvers Yeting Ge ACSys NYU Nov
Using Parallel Genetic Algorithm in a Predictive Job Scheduling
Exact and heuristics algorithms
A Scalable Algorithm for Minimal Unsatisfiable Core Extraction Nachum Dershowitz¹ Ziyad Hanna² Alexander Nadel¹, ² 1 Tel-Aviv University 2 Intel SAT’06.
Reduction of Interpolants for Logic Synthesis John Backes Marc Riedel University of Minnesota Dept.
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:
CSC5160 Topics in Algorithms Tutorial 2 Introduction to NP-Complete Problems Feb Jerry Le
Genetic Algorithms Genetic Algorithms (Gas) are inspired by ideas from biological evolution. Like SAs the starting point is a random poor quality solution,
Content Based Image Clustering and Image Retrieval Using Multiple Instance Learning Using Multiple Instance Learning Xin Chen Advisor: Chengcui Zhang Department.
Non-Linear Problems General approach. Non-linear Optimization Many objective functions, tend to be non-linear. Design problems for which the objective.
Genetic Algorithms1 COMP305. Part II. Genetic Algorithms.
1 IOE/MFG 543 Chapter 14: General purpose procedures for scheduling in practice Section 14.5: Local search – Genetic Algorithms.
COMP305. Part II. Genetic Algorithms. Genetic Algorithms.
Data Mining CS 341, Spring 2007 Genetic Algorithm.
COMP305. Part II. Genetic Algorithms. Genetic Algorithms.
Identifying Conflicts in Overconstrained Temporal Problems Mark H. Liffiton, Michael D. Moffitt, Martha E. Pollack, and Karem A. Sakallah University of.
Intro to AI Genetic Algorithm Ruth Bergman Fall 2002.
Integer Programming Difference from linear programming –Variables x i must take on integral values, not real values Lots of interesting problems can be.
Genetic Algorithms Nehaya Tayseer 1.Introduction What is a Genetic algorithm? A search technique used in computer science to find approximate solutions.
Cardinality & Sorting Networks. Cardinality constraint Appears in many practical problems: scheduling, timetabling etc’. Also takes place in the Max-Sat.
Genetic Algorithm.
Efficient Model Selection for Support Vector Machines
On Bridging Simulation and Formal Verification Eugene Goldberg Cadence Research Labs (USA) VMCAI-2008, San Francisco, USA.
Optimization and Relaxation in SAT Search Sharad Malik Princeton University Symposium on Satisfiability Solvers and Program Verification (SSPV) Seattle.
Solving the Concave Cost Supply Scheduling Problem Xia Wang, Univ. of Maryland Bruce Golden, Univ. of Maryland Edward Wasil, American Univ. Presented at.
Lecture 8: 24/5/1435 Genetic Algorithms Lecturer/ Kawther Abas 363CS – Artificial Intelligence.
Zorica Stanimirović Faculty of Mathematics, University of Belgrade
Arindam K. Das CIA Lab University of Washington Seattle, WA MINIMUM POWER BROADCAST IN WIRELESS NETWORKS.
Applying Genetic Algorithm to the Knapsack Problem Qi Su ECE 539 Spring 2001 Course Project.
Boolean Minimizer FC-Min: Coverage Finding Process Petr Fišer, Hana Kubátová Czech Technical University Department of Computer Science and Engineering.
Learning by Simulating Evolution Artificial Intelligence CSMC February 21, 2002.
Genetic Algorithms Przemyslaw Pawluk CSE 6111 Advanced Algorithm Design and Analysis
On the Relation between SAT and BDDs for Equivalence Checking Sherief Reda Rolf Drechsler Alex Orailoglu Computer Science & Engineering Dept. University.
On Finding All Minimally Unsatisfiable Subformulas Mark Liffiton and Karem Sakallah University of Michigan {liffiton, June 21, 2005.
Boolean Satisfiability Present and Future
EE749 I ntroduction to Artificial I ntelligence Genetic Algorithms The Simple GA.
SAT 2009 Ashish Sabharwal Backdoors in the Context of Learning (short paper) Bistra Dilkina, Carla P. Gomes, Ashish Sabharwal Cornell University SAT-09.
Waqas Haider Bangyal 1. Evolutionary computing algorithms are very common and used by many researchers in their research to solve the optimization problems.
SAT Solving As implemented in - DPLL solvers: GRASP, Chaff and
1 Boolean Satisfiability (SAT) Class Presentation By Girish Paladugu.
Artificial Intelligence By Mr. Ejaz CIIT Sahiwal Evolutionary Computation.
1 Comparative Study of two Genetic Algorithms Based Task Allocation Models in Distributed Computing System Oğuzhan TAŞ 2005.
On the Ability of Graph Coloring Heuristics to Find Substructures in Social Networks David Chalupa By, Tejaswini Nallagatla.
EVOLUTIONARY SYSTEMS AND GENETIC ALGORITHMS NAME: AKSHITKUMAR PATEL STUDENT ID: GRAD POSITION PAPER.
Genetic Algorithm (Knapsack Problem)
Genetic Algorithm in TDR System
Selected Topics in CI I Genetic Programming Dr. Widodo Budiharto 2014.
Optimization Of Robot Motion Planning Using Genetic Algorithm
Minimizing Unsatisfiable Formulas
Chapter 6: Genetic Algorithms
Artificial Intelligence (CS 370D)
Subject Name: Operation Research Subject Code: 10CS661 Prepared By:Mrs
Comparing Genetic Algorithm and Guided Local Search Methods
Mining backbone literals in incremental SAT
CS621: Artificial Intelligence
Canonical Computation without Canonical Data Structure
ECE 667 Synthesis and Verification of Digital Circuits
Canonical Computation Without Canonical Data Structure
MURI Kickoff Meeting Randolph L. Moses November, 2008
Multi-Objective Optimization
Resolution Proofs for Combinational Equivalence
The N-queens problem Team: 404 brain not found
EE368 Soft Computing Genetic Algorithms.
Canonical Computation without Canonical Data Structure
Canonical Computation without Canonical Data Structure
SAT/SMT seminar 18/02/2018 Computing multiple MUSes (Minimal Unsatisfiable Subformulas) and MSISes (Minimal Safe Inductive Subsets) Alexander Ivrii IBM.
Presentation transcript:

Extracting Minimum Unsatisfiable Cores with a Greedy Genetic Algorithm Jianmin Zhang, Sikun Li, and Shengyu Shen School of Computer Science, National University of Defense Technology Australasian Joint Conference on Artificial Intelligence AI 06

Abstract Problem: finding minimum unsatisfiable core Method: Efficient greedy genetic algorithm takes advantage of the relationship between maximal satisfiability and minimum unsatisfiability generate all minimal UCs then select the smallest one experiment: SAT benchmarks from Automotive Product Configuration (size of 22 instances from 4k~8k clauses and 1.6k ~1.9k variables) compared with the branch-and-bound algorithm Conclusion : Efficient than branch-and-bound algorithm

Introduction Explaining the causes of unsatisfiability of Boolean formulas is a key requirement in formal verification, artificial intelligence, and electronic design. checking minimal unsatisfiability is hard ? D p completeD p complete a smallest sub-formula that is also unsatisfiable (minimum unsatisfiable core). How to find minimun unsat core ? Using relationship between maximal satisfiability and minimal unsatisfiability derive the complements of maximal satisfiable subsets. extract a minimum unsatisfiable core by computing the minimum hitting set of those complement sets

Related Work Bruni and A. Sassano. Restoring Satisfiability or Maintaining Unsatisfiability by Finding Small Unsatisfiable Subformulae (SAT’01) a method of adaptive core search L. Zhang and S. Malik. Extracting small unsatisfiable cores from unsatisfiable Boolean formula (SAT’03) use SAT solvers to produce resolution refutations. AMUSE: a minimally-unsatisfiable subformula extractor.(DAC 04) MUP: A minimal unsatisfiability prover.(DAC 05)  : small unsatisfiable subformula no guarantee minimal subformula

Related Work (con’t) I. Lynce and J. P. Marques-Silva. On computing minimum unsatisfiable cores.(SAT’04) algorithm enumerates all possible subsets of a formula and checks which are unsatisfiable A branch and bound algorithm for extracting smallest minimal unsatisfiable formulas. (SAT’05) utilizes iterative maximal satisfiability solutions to generate lower and upper bounds on smallest minimal UC branch on specific subformulas to find it beter than previous our approach compared with this on the same benchmarks

Preliminaries Definition 1. (Unsatisfiable Core). Given a formula ϕ, ψ is an unsatisfiable core for ϕ iff ψ is an unsatisfiable formula and ψ ⊆ ϕ. Definition 2. (Minimal Unsatisfiable Core). Given an unsatisfiable core ψ for a formula ϕ, ψ is a minimal unsatisfiable core iff removing any clause ω ∈ ψ from ψ implies that ψ − {ω} is satisfiable. Definition 3. (Minimum Unsatisfiable Core). Consider the set of all unsatisfiable cores for a formula ϕ : {ψ 1,..., ψ j }. Then, ψ k ∈ {ψ 1,..., ψ j } is a minimum unsatisfiable core iff ∀ ψ i ∈ {ψ 1,..., ψ j }, 1 ≤ i ≤ j : |ψ k | ≤ |ψ i |.

Preliminaries (con’t) Definition 4. (Satisfiable Subformula). Consider a formula ϕ, φ is a satisfiable subformula for ϕ iff φ is a satisfiable formula and φ ⊆ ϕ. Definition 5. (Maximal Satisfiable Subformula). Given a satisfiable subformula φ for a formula ϕ, φ is a maximal satisfiable subformula iff adding any clause ω ∈ { ϕ − φ} into φ implies that φ ∪ {ω} is unsatisfiable Definition 6. (Minimal Hitting Set). Suppose C = {S1,..., Sn} is a collection of sets. Then H is a hitting set of C iff H ⊆ 1≤i≤n ∪ Si, and H ∩ Si != ∅ for each i with 1 ≤ i ≤ n. H is a minimal hitting set iff ∀ R ⊂ H : R is not a hitting set. C={ {M1, M2, A1}, {M1, A1, A2, M3}}. The minimal hitting sets are {M1}, {A1}, {M2, A2}, {M2, M3}.

Preliminaries (con’t) Lemma 1. A minimal unsatisfiable core for a formula ϕ is a minimal hitting set of the complements of maximal satisfiable subformulas for ϕ. Definition 7. (Minimum Hitting Set). Given a collection C of sets and the set of all hitting sets of C : {H 1,..., Hj}, then Hk ∈ {H 1,..., Hj} is a minimum hitting set iff ∀ Hi ∈ {H 1,..., Hj}, 1 ≤ i ≤ j : |Hk| ≤ |Hi|. Lemma 2. A minimum unsatisfiable core for a formula ϕ is a minimum hitting set of the comp- lements of maximal satisfiable subformulas for ϕ.

Example CNF formula ϕ = (x 1 ) ∧ (~x 2 ) ∧ (~x 1 ∨ x 2 ) ∧ (~x 2 ∨ x 3 ) ∧ (~x 3 ) The SAT and UNSAT Solutions of ϕ Maximal satisfiable subformulas {2, 3, 4, 5} {1, 2, 4, 5} {1, 3, 5} {1, 3, 4} Complements of MSSes {1} {3} {2, 4} {2, 5} Minimal unsatisfiable cores {1, 2, 3} {1, 3, 4, 5} Minimum unsatisfiable core {1, 2, 3}

Extracting Minimum UC generate all minimal UCs then select the smallest one

GA Main idea How it work? populations of candidate solution natural selection evolve to a better solution

GA GA definitions&operators Genetic encoding.: chromosome code of CoMSSes. For example, CoMSSes is S = {1, 3, 4, 7}, then the corresponding binary genes are Fitness function.: f(S) = H S /|S|; (H S :number of sets hit by some of the elements in S, and |S| represents the cardinality of the set S.) Crossover operator.: S1 : {x1, x2, xk.,xm} ; S2:{y1, y2,yk.,ym}; the crossover offspring : S3 : {x1,.,xk,yk+1,.ym},S4 : {y1,.,yk,xk+1,.xm} Mutation operator.: S1 = {x1, x2,..., xm}, S2 = {si | if i = k, si = ¬ xi, else si = xi}. is the mutation offspring of S1 Inversion operator.: S1 = {x1,., xk, xk+1,., xl−1,xl,.., xm}, then S2= {x1,.., xl, xl−1,., xk+1, xk,..., xm}.is the inversion offspring of S1 Selection operator.: use fitness function. We choose hit more sets and have smaller cardinality than others

Greedy Genetic Algorithm algorithm proceeds as follows: 1. Find all complements of maximal satisfiable subformulas for a formula ϕ ; 2. Recode the clause number in CoMSSes to make the sets more compressed; 3. Adopt a greedy algorithm to derive two good near minimum unsatisfiable cores as the initial parents. We incrementally solve this problem, removing solutions as they are found to continue the search until all have been found; 4. Encode the sets of CoMSSes as binary vector and obtain the binary genes; 5. Apply the genetic operators, including crossover, mutation and inversion, to the selected parents, in order to give birth to the offspring; 6. Recombine the offspring and current parents to form a new population, and employ the selection operator to choose the best solutions as the new parents; 7. If the upper limit of iterations is reached, or the minimum unsatisfiable cores remain the same size for 10 successive offspring, stop and report the best solution found. Otherwise go to the step 5.

More example

(DP-complete problems are both NP-hard and coNP-hard). (DP-complete problems are both NP-hard and coNP-hard).