Application of Propositional Logic - How to Solve Sudoku? Moonzoo Kim

Size: px
Start display at page:

Download "Application of Propositional Logic - How to Solve Sudoku? Moonzoo Kim"

Transcription

1 Application of Propositional Logic - How to Solve Sdok? Moonzoo Kim

2 SAT Basics (/2) SAT = Satisfiability = Propositional Satisfiability Propositional Formla NP-Complete problem We can se SAT solver for many NP-complete problems Hamiltonian path 3 coloring problem SAT problem Traveling sales man s problem Recent interest as a verification engine SAT UNSAT 2/23

3 SAT Basics (2/2) A set of propositional variables and Conjnctive Normal Form (CNF) clases involving variables (x v x 2 v x 3 ) (x 2 v x v x 4 ) x, x 2, x 3 and x 4 are variables (tre or false) Literals: Variable and its negation x and x A clase is satisfied if one of the literals is tre x =tre satisfies clase x =false satisfies clase 2 Soltion: An assignment/interpretation/model that satisfies all clases 3/23

4 Intro. to Logic CS402 DIMACS format for CNF The file can start with comments, that is lines beginning with the character c. Right after the comments, there is the line p cnf <nbvar> <nbclases> indicating that the instance is in CNF format; <nbvar> is the exact nmber of variables appearing in the file; <nbclases> is the exact nmber of clases contained in the file. It is garanteed that each variable between and nbvar appears at least once in a clase. Then the clases follow. Each clase is a seqence of distinct non-nll nmbers between -nbvar and nbvar ending with 0 on the same line. Positive nmbers denote the corresponding variables. Negative nmbers denote the negations of the corresponding variables. A clase is not allowed to contain the opposite literals i and -i simltaneosly c c start with comments c c p cnf

5 Example DIMACS SAT Format Ex. (x x 2 x 3 ) (x 2 x x 4 ) p cnf Model/ soltion x x 2 x 3 x 4 Formla T T T T T T T T F T T T F T T T T F F T T F T T T T F T F F T F F T T T F F F F F T T T T F T T F T F T F T F F T F F F F F T T T F F T F T F F F T T F F F F T 5/23

6 DPLL (Davis-Ptnam-Logemann-Lveland) Algorithm /* The Qest for Efficient Boolean Satisfiability Solvers * by L.Zhang and S.Malik, Compter Aided Verification 2002 */ DPLL(a formla Á, assignment) { necessary = dedction(á, assignment); new_asgnment = nion(necessary, assignment); if (is_satisfied(á, new_asgnment)) retrn SATISFIABLE; else if (is_conflicting(á, new_asgnmnt)) retrn UNSATISFIABLE; var = choose_free_variable(á, new_asgnmnt); asgn = nion(new_asgnmnt, assign(var, )); if (DPLL(Á, asgn) == SATISFIABLE) retrn SATISFIABLE; else { asgn2 = nion (new_asgnmnt, assign(var,0)); retrn DPLL (Á, asgn2); } }

7 Example {p r} { p q r} {p r} p=t p=f {T r} { T q r} {T r} {F r} { F q r} {F r} SIMPLIFY { q,r} {r} { r} SIMPLIFY {} SIMPLIFY

8 SAT Solvers Most SAT solvers receives DIMACS CNF formlas Dozens of indstry-strength SAT solvers available MiniSAT PicoSAT SAT4J borg-sat clasp sathys tts 8/23

9 9 Solving Varios Problems sing SAT Solver C Program Encoding Encoding 2 Optimal Path Planning Encoding 3 Sdok Pzzle CNF SAT Formla SAT Solver Latin Sqare Problem Traveling Salesmen Probelm Encoding n

10 0 What is Sdok? Problem Given a problem, the objectvie is to find a satisfying assignment w.r.t. Sdok rles. Soltion Sodok rles There is a nmber in each cell. A nmber appears once in each row. A nmber appears once in each colmn. A nmber appears once in each block.

11 Sdok as SAT Problem symbol table model Sdok Encoder CNF SAT Solver SAT? yes Decoder no No soltion fond Soltion fond

12 2 Previos Encodings symbol table model Sdok Encoder CNF SAT Solver SAT? yes Decoder Minimal encoding [Lynce & Oaknine, 2006] Extended encoding [Lynce & Oaknine, 2006] Efficient encoding [Weber, 2005]

13 3 Encoding Kowledge compilation into a target langage problem knowlege CNF Knowlede abot Sdok A nmber appears once in each cell A nmber appears once in each row A nmber appears once in each col rles CNF A nmber appears once in each block 9 A pre-assigned nmber facts CNF

14 4 Variables Each cell has one nmber from..n [,]= or [,]=2 or or [,]=N Each cell needs N boolean variables to consider all cases Total nmber of variables N 3 v 2 3 N Boolean variable name as a triple (r,c,v) (i.e., x rcv ) iff [r,c] = v (r,c,v) (i.e., x rcv ) iff [r,c] v r c

15 5 Cell Rle CNF A nmber appears once in each cell There is at least one nmber in each cell (definedness) Cell ( r, c, N N N d = r= c= v= v There is at most one nmber in each cell (niqeness) ) Cell (( r, c, v ) ( r, c, v N N N N = r= c= v = v = v + i j i j i ))

16 6 Row Rle CNF A nmber appears once in each row Each nmber appears at least once in each row Row N d = r= = N N ( v= c r, c, v) (definedness) Each nmber appears at most once in each (niqeness) row Row N N N v c c c (( r, ci, v) ( r, c j, v)) N = r= = = = + i j i

17 7 Colmn Rle CNF A nmber appears once in each colmn Each nmber appears at least once in each colmn Col = N N v= r ( r, c, v) N d c= = (definedness) Each nmber appears at most once in each colmn Col N = c= v= r = r = r + (niqeness) N N N (( r, c, v) ( r, c, v)) i j i i j

18 8 Block Rle CNF A nmber appears once in each block Each nmber appears at least once in each block (definedness) Block sbn d = r = = sbn N sbn sbn c = v = r = c (( roffs ) * sbn + r,( coffs ) * sbn c, v ) + offs offs where sbn =3 for the above example Each nmber appears at most once in each block (niqeness) Block ((( r offs (( r sbn sbn N N N = r = c = v = r = c = r + offs offs offs ) * sbn + ( r mod ) * sbn + ( c mod sbn ),( c offs sbn ),( c offs ) * sbn + ( r mod sbn ), v ) ) * sbn + ( c mod sbn ), v ))

19 9 Pre-Assigned Fact CNF 3 A pre-assigned nmber As a constant; the nmber is never changed It can be represented as a nit clase Assigned {( r, c, a) [ r, c] k = i = a N = a } where k is a nmber of pre - assigned nmbers

20 20 Previos Encodings Minimal encoding [Lynce & Oaknine, 2006] φ = Cell d Row Col Block sfficient to characterize the pzzle φ = Cell d Block Cell d Block Row d Row Assigned Col Assigned Extended encoding [Lynce & Oaknine, 2006] minimal encoding with redndant clases Efficient encoding [Weber, 2005] φ = Cell d Cell Row Col d Block Col Assigned between minimal encoding and extended encoding

21 2 Exponential Growth in Clases size minimal efficient extended 9x x x x x x x Nmber of clases 90,000,000 80,000,000 70,000,000 60,000,000 50,000,000 40,000,000 30,000,000 20,000,000 0,000,000 0 minimal efficient extended 9x9 6x6 25x25 36x36 49x49 64x64 8x8 size

22 Experimental Reslts 22 minimal encoding efficient encoding extended encoding size level vars clases time vars clases time vars clases time 9x9 easy x9 hard x6 easy x6 hard x25 easy x25 hard time time x36 easy time time x36 hard time time x49 easy time time x64 easy stack stack stack 8x8 easy stack stack stack

23 Experimental Reslts 23 minimal encoding efficient encoding extended encoding size level vars clases time vars clases time vars clases time 9x9 easy x9 hard x6 easy x6 hard x25 easy x25 hard time time x36 easy time time x36 hard time time x49 easy time time No soltion fond Soltion fond 64x64 easy stack stack stack 8x8 easy stack stack stack

Application of Propositional Logic - How to Solve Sudoku? Moonzoo Kim

Application of Propositional Logic - How to Solve Sudoku? Moonzoo Kim Application of Propositional Logic - How to Solve Sdok? Moonzoo Kim SAT Basics (/3) SAT = Satisfiability = Propositional Satisfiability Propositional Formla P-Complete problem We can se SAT solver for

More information

SAT Encodings for Sudoku

SAT Encodings for Sudoku SAT Encodings for Sdok Bg Catching in 2006 Fall Sep. 26, 2006 Gi-Hwon Kwon Varios SAT Encoding C Program Encoding Encoding 2 Optimal Path Planning Sdok Pzzle Encoding 3 CF SAT Formla SAT Solver Latin Sqare

More information

SAT-based Model Checking for C programs

SAT-based Model Checking for C programs SAT-based Model Checking for C programs Moonzoo Kim Provable Software Lab. CS Division of EE 1 Formal Methods Definition in Wikepedia Formal methods are mathematically-based techniques for the specification,

More information

SAT Solver Heuristics

SAT Solver Heuristics SAT Solver Heuristics SAT-solver History Started with David-Putnam-Logemann-Loveland (DPLL) (1962) Able to solve 10-15 variable problems Satz (Chu Min Li, 1995) Able to solve some 1000 variable problems

More information

SAT Solver. CS 680 Formal Methods Jeremy Johnson

SAT Solver. CS 680 Formal Methods Jeremy Johnson SAT Solver CS 680 Formal Methods Jeremy Johnson Disjunctive Normal Form A Boolean expression is a Boolean function Any Boolean function can be written as a Boolean expression s x 0 x 1 f Disjunctive normal

More information

Boolean Functions (Formulas) and Propositional Logic

Boolean Functions (Formulas) and Propositional Logic EECS 219C: Computer-Aided Verification Boolean Satisfiability Solving Part I: Basics Sanjit A. Seshia EECS, UC Berkeley Boolean Functions (Formulas) and Propositional Logic Variables: x 1, x 2, x 3,, x

More information

Optimized CNF Encoding for Sudoku Puzzles

Optimized CNF Encoding for Sudoku Puzzles Optimized CNF Encoding for Sudoku Puzzles Gihwon Kwon 1, Himanshu Jain 2 1 Department of Computer Science, Kyonggi University khkwon@kyonggi.ac.kr 2 Department of Computer Science, Carnegie Mellon University

More information

Finite Model Generation for Isabelle/HOL Using a SAT Solver

Finite Model Generation for Isabelle/HOL Using a SAT Solver Finite Model Generation for / Using a SAT Solver Tjark Weber webertj@in.tum.de Technische Universität München Winterhütte, März 2004 Finite Model Generation for / p.1/21 is a generic proof assistant: Highly

More information

PROPOSITIONAL LOGIC (2)

PROPOSITIONAL LOGIC (2) PROPOSITIONAL LOGIC (2) based on Huth & Ruan Logic in Computer Science: Modelling and Reasoning about Systems Cambridge University Press, 2004 Russell & Norvig Artificial Intelligence: A Modern Approach

More information

CS-E3200 Discrete Models and Search

CS-E3200 Discrete Models and Search Shahab Tasharrofi Department of Information and Computer Science, Aalto University Lecture 7: Complete and local search methods for SAT Outline Algorithms for solving Boolean satisfiability problems Complete

More information

Decision Procedures. An Algorithmic Point of View. Decision Procedures for Propositional Logic. D. Kroening O. Strichman.

Decision Procedures. An Algorithmic Point of View. Decision Procedures for Propositional Logic. D. Kroening O. Strichman. Decision Procedures An Algorithmic Point of View Decision Procedures for Propositional Logic D. Kroening O. Strichman ETH/Technion Version 1.0, 2007 Part I Decision Procedures for Propositional Logic Outline

More information

Implementation of a Sudoku Solver Using Reduction to SAT

Implementation of a Sudoku Solver Using Reduction to SAT Implementation of a Sudoku Solver Using Reduction to SAT For this project you will develop a Sudoku solver that receives an input puzzle and computes a solution, if one exists. Your solver will: read an

More information

SAT and Termination. Nao Hirokawa. Japan Advanced Institute of Science and Technology. SAT and Termination 1/41

SAT and Termination. Nao Hirokawa. Japan Advanced Institute of Science and Technology. SAT and Termination 1/41 SAT and Termination Nao Hirokawa Japan Advanced Institute of Science and Technology SAT and Termination 1/41 given 9 9-grid like Sudoku Puzzle 1 8 7 3 2 7 7 1 6 4 3 4 5 3 2 8 6 fill out numbers from 1

More information

Applications of Logic in Software Engineering. CS402, Spring 2016 Shin Yoo

Applications of Logic in Software Engineering. CS402, Spring 2016 Shin Yoo Applications of Logic in Software Engineering CS402, Spring 2016 Shin Yoo Acknowledgements I borrow slides from: Moonzoo Kim Theo C. Ruys (http://spinroot.com/spin/doc/ SpinTutorial.pdf) CBMC & Daniel

More information

8.1 Polynomial-Time Reductions

8.1 Polynomial-Time Reductions 8.1 Polynomial-Time Reductions Classify Problems According to Computational Requirements Q. Which problems will we be able to solve in practice? A working definition. Those with polynomial-time algorithms.

More information

NP-Complete Reductions 2

NP-Complete Reductions 2 x 1 x 1 x 2 x 2 x 3 x 3 x 4 x 4 12 22 32 CS 447 11 13 21 23 31 33 Algorithms NP-Complete Reductions 2 Prof. Gregory Provan Department of Computer Science University College Cork 1 Lecture Outline NP-Complete

More information

Solving Constraint Satisfaction Problems by a SAT Solver

Solving Constraint Satisfaction Problems by a SAT Solver SAT Encodings Sugar Examples Demo Summary Solving Constraint Satisfaction Problems by a SAT Solver Kobe University, JAPAN CICLOPS-WLPE-2010 SAT Encodings Sugar Examples Demo Summary Contents 3 A SAT-based

More information

Seminar decision procedures: Certification of SAT and unsat proofs

Seminar decision procedures: Certification of SAT and unsat proofs Seminar decision procedures: Certification of SAT and unsat proofs Wolfgang Nicka Technische Universität München June 14, 2016 Boolean satisfiability problem Term The boolean satisfiability problem (SAT)

More information

Integrating a SAT Solver with Isabelle/HOL

Integrating a SAT Solver with Isabelle/HOL Integrating a SAT Solver with / Tjark Weber (joint work with Alwen Tiu et al.) webertj@in.tum.de First Munich-Nancy Workshop on Decision Procedures for Theorem Provers March 6th & 7th, 2006 Integrating

More information

Automated Testing and Debugging of SAT and QBF Solvers

Automated Testing and Debugging of SAT and QBF Solvers Automated Testing and Debugging of SAT and QBF Solvers JKU Linz, Austria 13 th International Conference on Theory and Applications of Satisfiability Testing July 13, 2010 Edinburgh, Scotland, UK Outline

More information

SAT Solver and its Application to Combinatorial Problems

SAT Solver and its Application to Combinatorial Problems SAT Solver and its Application to Combinatorial Problems Naoyuki Tamura Kobe University 2014 December 14th, 2014 1 / 46 Contents 1 SAT Problems and SAT Solvers SAT Problems SAT Solvers Don Knuth s TAOCP

More information

A Stochastic Non-CNF SAT Solver

A Stochastic Non-CNF SAT Solver A Stochastic Non-CNF SAT Solver Rafiq Muhammad and Peter J. Stuckey NICTA Victoria Laboratory, Department of Computer Science and Software Engineering, The University of Melbourne, Victoria 3010, Australia

More information

Ma Lesson 18 Section 1.7

Ma Lesson 18 Section 1.7 Ma 15200 Lesson 18 Section 1.7 I Representing an Ineqality There are 3 ways to represent an ineqality. (1) Using the ineqality symbol (sometime within set-bilder notation), (2) sing interval notation,

More information

SAT Solvers. Ranjit Jhala, UC San Diego. April 9, 2013

SAT Solvers. Ranjit Jhala, UC San Diego. April 9, 2013 SAT Solvers Ranjit Jhala, UC San Diego April 9, 2013 Decision Procedures We will look very closely at the following 1. Propositional Logic 2. Theory of Equality 3. Theory of Uninterpreted Functions 4.

More information

Chapter 8. NP and Computational Intractability. Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved.

Chapter 8. NP and Computational Intractability. Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved. Chapter 8 NP and Computational Intractability Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved. 1 Algorithm Design Patterns and Anti-Patterns Algorithm design patterns.

More information

Practical SAT Solving

Practical SAT Solving Practical SAT Solving Lecture 5 Carsten Sinz, Tomáš Balyo May 23, 2016 INSTITUTE FOR THEORETICAL COMPUTER SCIENCE KIT University of the State of Baden-Wuerttemberg and National Laboratory of the Helmholtz

More information

Dr Paolo Guagliardo. Fall 2018

Dr Paolo Guagliardo. Fall 2018 The NULL vale Dr Paolo Gagliardo dbs-lectrer@ed.ac.k Fall 2018 NULL: all-prpose marker to represent incomplete information Main sorce of problems and inconsistencies... this topic cannot be described in

More information

! Greed. O(n log n) interval scheduling. ! Divide-and-conquer. O(n log n) FFT. ! Dynamic programming. O(n 2 ) edit distance.

! Greed. O(n log n) interval scheduling. ! Divide-and-conquer. O(n log n) FFT. ! Dynamic programming. O(n 2 ) edit distance. Algorithm Design Patterns and Anti-Patterns 8. NP and Computational Intractability Algorithm design patterns. Ex.! Greed. O(n log n) interval scheduling.! Divide-and-conquer. O(n log n) FFT.! Dynamic programming.

More information

Linear Time Unit Propagation, Horn-SAT and 2-SAT

Linear Time Unit Propagation, Horn-SAT and 2-SAT Notes on Satisfiability-Based Problem Solving Linear Time Unit Propagation, Horn-SAT and 2-SAT David Mitchell mitchell@cs.sfu.ca September 25, 2013 This is a preliminary draft of these notes. Please do

More information

Planning as Search. Progression. Partial-Order causal link: UCPOP. Node. World State. Partial Plans World States. Regress Action.

Planning as Search. Progression. Partial-Order causal link: UCPOP. Node. World State. Partial Plans World States. Regress Action. Planning as Search State Space Plan Space Algorihtm Progression Regression Partial-Order causal link: UCPOP Node World State Set of Partial Plans World States Edge Apply Action If prec satisfied, Add adds,

More information

A Pearl on SAT Solving in Prolog (extended abstract)

A Pearl on SAT Solving in Prolog (extended abstract) A Pearl on SAT Solving in Prolog (extended abstract) Jacob M. Howe and Andy King 1 Introduction The Boolean satisfiability problem, SAT, is of continuing interest because a variety of problems are naturally

More information

Computer-Aided Program Design

Computer-Aided Program Design Computer-Aided Program Design Spring 2015, Rice University Unit 1 Swarat Chaudhuri January 22, 2015 Reasoning about programs A program is a mathematical object with rigorous meaning. It should be possible

More information

Solving Constraint Satisfaction Problems with SAT Technology

Solving Constraint Satisfaction Problems with SAT Technology SAT Encodings Sugar Nonogram OSS Summary Solving Constraint Satisfaction Problems with SAT Technology Kobe University, JAPAN SAT Encodings Sugar Nonogram OSS Summary Contents A SAT-based CSP Solver 1 SAT

More information

Satisfiability. Michail G. Lagoudakis. Department of Computer Science Duke University Durham, NC SATISFIABILITY

Satisfiability. Michail G. Lagoudakis. Department of Computer Science Duke University Durham, NC SATISFIABILITY Satisfiability Michail G. Lagoudakis Department of Computer Science Duke University Durham, NC 27708 COMPSCI 271 - Spring 2001 DUKE UNIVERSITY Page 1 Why SAT? Historical Reasons The first NP-COMPLETE problem

More information

10.2 Solving Quadratic Equations by Completing the Square

10.2 Solving Quadratic Equations by Completing the Square . Solving Qadratic Eqations b Completing the Sqare Consider the eqation We can see clearl that the soltions are However, What if the eqation was given to s in standard form, that is 6 How wold we go abot

More information

Normal Forms for Boolean Expressions

Normal Forms for Boolean Expressions Normal Forms for Boolean Expressions A NORMAL FORM defines a class expressions s.t. a. Satisfy certain structural properties b. Are usually universal: able to express every boolean function 1. Disjunctive

More information

Propositional Calculus: Boolean Algebra and Simplification. CS 270: Mathematical Foundations of Computer Science Jeremy Johnson

Propositional Calculus: Boolean Algebra and Simplification. CS 270: Mathematical Foundations of Computer Science Jeremy Johnson Propositional Calculus: Boolean Algebra and Simplification CS 270: Mathematical Foundations of Computer Science Jeremy Johnson Propositional Calculus Topics Motivation: Simplifying Conditional Expressions

More information

Encoding First Order Proofs in SMT

Encoding First Order Proofs in SMT Encoding First Order Proofs in SMT Jeremy Bongio Cyrus Katrak Hai Lin Christopher Lynch Ralph Eric McGregor June 4, 2007 Abstract We present a method for encoding first order proofs in SMT. Our implementation,

More information

(p 300) Theorem 7.27 SAT is in P iff P=NP

(p 300) Theorem 7.27 SAT is in P iff P=NP pp. 292-311. The Class NP-Complete (Sec. 7.4) P = {L L decidable in poly time} NP = {L L verifiable in poly time} Certainly all P is in NP Unknown if NP is bigger than P (p. 299) NP-Complete = subset of

More information

Formally Certified Satisfiability Solving

Formally Certified Satisfiability Solving SAT/SMT Proof Checking Verifying SAT Solver Code Future Work Computer Science, The University of Iowa, USA April 23, 2012 Seoul National University SAT/SMT Proof Checking Verifying SAT Solver Code Future

More information

Chapter 2 PRELIMINARIES

Chapter 2 PRELIMINARIES 8 Chapter 2 PRELIMINARIES Throughout this thesis, we work with propositional or Boolean variables, that is, variables that take value in the set {true, false}. A propositional formula F representing a

More information

NP and computational intractability. Kleinberg and Tardos, chapter 8

NP and computational intractability. Kleinberg and Tardos, chapter 8 NP and computational intractability Kleinberg and Tardos, chapter 8 1 Major Transition So far we have studied certain algorithmic patterns Greedy, Divide and conquer, Dynamic programming to develop efficient

More information

Massively Parallel Seesaw Search for MAX-SAT

Massively Parallel Seesaw Search for MAX-SAT Massively Parallel Seesaw Search for MAX-SAT Harshad Paradkar Rochester Institute of Technology hp7212@rit.edu Prof. Alan Kaminsky (Advisor) Rochester Institute of Technology ark@cs.rit.edu Abstract The

More information

Reductions. Linear Time Reductions. Desiderata. Reduction. Desiderata. Classify problems according to their computational requirements.

Reductions. Linear Time Reductions. Desiderata. Reduction. Desiderata. Classify problems according to their computational requirements. Desiderata Reductions Desiderata. Classify problems according to their computational requirements. Frustrating news. Huge number of fundamental problems have defied classification for decades. Desiderata'.

More information

Where Can We Draw The Line?

Where Can We Draw The Line? Where Can We Draw The Line? On the Hardness of Satisfiability Problems Complexity 1 Introduction Objectives: To show variants of SAT and check if they are NP-hard Overview: Known results 2SAT Max2SAT Complexity

More information

1.4 Normal Forms. We define conjunctions of formulas as follows: and analogously disjunctions: Literals and Clauses

1.4 Normal Forms. We define conjunctions of formulas as follows: and analogously disjunctions: Literals and Clauses 1.4 Normal Forms We define conjunctions of formulas as follows: 0 i=1 F i =. 1 i=1 F i = F 1. n+1 i=1 F i = n i=1 F i F n+1. and analogously disjunctions: 0 i=1 F i =. 1 i=1 F i = F 1. n+1 i=1 F i = n

More information

! Greed. O(n log n) interval scheduling. ! Divide-and-conquer. O(n log n) FFT. ! Dynamic programming. O(n 2 ) edit distance.

! Greed. O(n log n) interval scheduling. ! Divide-and-conquer. O(n log n) FFT. ! Dynamic programming. O(n 2 ) edit distance. Algorithm Design Patterns and Anti-Patterns Chapter 8 NP and Computational Intractability Algorithm design patterns. Ex.! Greed. O(n log n) interval scheduling.! Divide-and-conquer. O(n log n) FFT.! Dynamic

More information

CS 267: Automated Verification. Lecture 13: Bounded Model Checking. Instructor: Tevfik Bultan

CS 267: Automated Verification. Lecture 13: Bounded Model Checking. Instructor: Tevfik Bultan CS 267: Automated Verification Lecture 13: Bounded Model Checking Instructor: Tevfik Bultan Remember Symbolic Model Checking Represent sets of states and the transition relation as Boolean logic formulas

More information

4.1 Review - the DPLL procedure

4.1 Review - the DPLL procedure Applied Logic Lecture 4: Efficient SAT solving CS 4860 Spring 2009 Thursday, January 29, 2009 The main purpose of these notes is to help me organize the material that I used to teach today s lecture. They

More information

Definition: A context-free grammar (CFG) is a 4- tuple. variables = nonterminals, terminals, rules = productions,,

Definition: A context-free grammar (CFG) is a 4- tuple. variables = nonterminals, terminals, rules = productions,, CMPSCI 601: Recall From Last Time Lecture 5 Definition: A context-free grammar (CFG) is a 4- tuple, variables = nonterminals, terminals, rules = productions,,, are all finite. 1 ( ) $ Pumping Lemma for

More information

Solving Constraint Satisfaction Problems by a SAT Solver

Solving Constraint Satisfaction Problems by a SAT Solver SAT Encodings Systems Summary Solving Constraint Satisfaction Problems by a SAT Solver Kobe University, JAPAN Osaka Workshop for Verification and Validation Feb 28, 2011 at AIST Amagasaki SAT Encodings

More information

8 NP-complete problem Hard problems: demo

8 NP-complete problem Hard problems: demo Ch8 NPC Millennium Prize Problems http://en.wikipedia.org/wiki/millennium_prize_problems 8 NP-complete problem Hard problems: demo NP-hard (Non-deterministic Polynomial-time hard), in computational complexity

More information

Decision Procedures in the Theory of Bit-Vectors

Decision Procedures in the Theory of Bit-Vectors Decision Procedures in the Theory of Bit-Vectors Sukanya Basu Guided by: Prof. Supratik Chakraborty Department of Computer Science and Engineering, Indian Institute of Technology, Bombay May 1, 2010 Sukanya

More information

Where the hard problems are. Toby Walsh Cork Constraint Computation Centre

Where the hard problems are. Toby Walsh Cork Constraint Computation Centre Where the hard problems are Toby Walsh Cork Constraint Computation Centre http://4c.ucc.ie/~tw Where the hard problems are That s easy Passing your finals Finding a job Where the hard problems are That

More information

Computability Theory

Computability Theory CS:4330 Theory of Computation Spring 2018 Computability Theory Other NP-Complete Problems Haniel Barbosa Readings for this lecture Chapter 7 of [Sipser 1996], 3rd edition. Sections 7.4 and 7.5. The 3SAT

More information

EECS 219C: Computer-Aided Verification Boolean Satisfiability Solving. Sanjit A. Seshia EECS, UC Berkeley

EECS 219C: Computer-Aided Verification Boolean Satisfiability Solving. Sanjit A. Seshia EECS, UC Berkeley EECS 219C: Computer-Aided Verification Boolean Satisfiability Solving Sanjit A. Seshia EECS, UC Berkeley Project Proposals Due Friday, February 13 on bcourses Will discuss project topics on Monday Instructions

More information

Improving Unsatisfiability-based Algorithms for Boolean Optimization

Improving Unsatisfiability-based Algorithms for Boolean Optimization Improving Unsatisfiability-based Algorithms for Boolean Optimization Vasco Manquinho, Ruben Martins, and Inês Lynce IST/INESC-ID, Technical University of Lisbon, Portugal {vmm,ruben,ines}@sat.inesc-id.pt

More information

8.1 Polynomial-Time Reductions

8.1 Polynomial-Time Reductions Algorithm Design Patterns and Anti-Patterns Analysis of Algorithms Algorithm design patterns. Ex. Greed. O(n 2 ) Dijkstra s SSSP (dense) Divide-and-conquer. O(n log n) FFT. Dynamic programming. O(n 2 )

More information

Unit 8: Coping with NP-Completeness. Complexity classes Reducibility and NP-completeness proofs Coping with NP-complete problems. Y.-W.

Unit 8: Coping with NP-Completeness. Complexity classes Reducibility and NP-completeness proofs Coping with NP-complete problems. Y.-W. : Coping with NP-Completeness Course contents: Complexity classes Reducibility and NP-completeness proofs Coping with NP-complete problems Reading: Chapter 34 Chapter 35.1, 35.2 Y.-W. Chang 1 Complexity

More information

versat: A Verified Modern SAT Solver

versat: A Verified Modern SAT Solver Computer Science, The University of Iowa, USA Satisfiability Problem (SAT) Is there a model for the given propositional formula? Model: assignments to the variables that makes the formula true. SAT if

More information

Recall: Function Calls to Create Transform Matrices

Recall: Function Calls to Create Transform Matrices Reall: Fntion Calls to Create Transform Matries Previosl made fntion alls to generate 44 matries for identit, translate, sale, rotate transforms Pt transform matri into CTM Eample mat4 m = Identit(; CTM

More information

Deductive Methods, Bounded Model Checking

Deductive Methods, Bounded Model Checking Deductive Methods, Bounded Model Checking http://d3s.mff.cuni.cz Pavel Parízek CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics Deductive methods Pavel Parízek Deductive Methods, Bounded

More information

Boolean Representations and Combinatorial Equivalence

Boolean Representations and Combinatorial Equivalence Chapter 2 Boolean Representations and Combinatorial Equivalence This chapter introduces different representations of Boolean functions. It then discusses the applications of these representations for proving

More information

CS 251, Spring 2018, Assignment 3.0 3% of course mark

CS 251, Spring 2018, Assignment 3.0 3% of course mark CS 25, Spring 28, Assignment 3. 3% of corse mark De onday, Jne 25th, 5:3 P. (5 points) Consider the single-cycle compter shown on page 6 of this assignment. Sppose the circit elements take the following

More information

Symbolic Methods. The finite-state case. Martin Fränzle. Carl von Ossietzky Universität FK II, Dpt. Informatik Abt.

Symbolic Methods. The finite-state case. Martin Fränzle. Carl von Ossietzky Universität FK II, Dpt. Informatik Abt. Symbolic Methods The finite-state case Part I Martin Fränzle Carl von Ossietzky Universität FK II, Dpt. Informatik Abt. Hybride Systeme 02917: Symbolic Methods p.1/34 What you ll learn How to use and manipulate

More information

Learning a SAT Solver from Single-

Learning a SAT Solver from Single- Learning a SAT Solver from Single- Bit Supervision Daniel Selsman, Matthew Lamm, Benedikt Bunz, Percy Liang, Leonardo de Moura and David L. Dill Presented By Aditya Sanghi Overview NeuroSAT Background:

More information

On the complexity of Submap Isomorphism

On the complexity of Submap Isomorphism On the compleit of Sbmap Isomorphism Christine Solnon 1,2, Gillame Damiand 1,2, Colin de la Higera 3, and Jean-Christophe Janodet 4 1 INSA de Lon, LIRIS, UMR 5205 CNRS, 69621 Villerbanne, France 2 Université

More information

NP-Completeness. Algorithms

NP-Completeness. Algorithms NP-Completeness Algorithms The NP-Completeness Theory Objective: Identify a class of problems that are hard to solve. Exponential time is hard. Polynomial time is easy. Why: Do not try to find efficient

More information

Study of efficient techniques for implementing a Pseudo-Boolean solver based on cutting planes

Study of efficient techniques for implementing a Pseudo-Boolean solver based on cutting planes DEGREE PROJECT IN COMPUTER ENGINEERING, FIRST CYCLE, 15 CREDITS STOCKHOLM, SWEDEN 2017 Study of efficient techniques for implementing a Pseudo-Boolean solver based on cutting planes ALEIX SACREST GASCON

More information

Decision Procedures. An Algorithmic Point of View. Bit-Vectors. D. Kroening O. Strichman. Version 1.0, ETH/Technion

Decision Procedures. An Algorithmic Point of View. Bit-Vectors. D. Kroening O. Strichman. Version 1.0, ETH/Technion Decision Procedures An Algorithmic Point of View Bit-Vectors D. Kroening O. Strichman ETH/Technion Version 1.0, 2007 Part VI Bit-Vectors Outline 1 Introduction to Bit-Vector Logic 2 Syntax 3 Semantics

More information

EXTENDING SAT SOLVER WITH PARITY CONSTRAINTS

EXTENDING SAT SOLVER WITH PARITY CONSTRAINTS TKK Reports in Information and Computer Science Espoo 2010 TKK-ICS-R32 EXTENDING SAT SOLVER WITH PARITY CONSTRAINTS Tero Laitinen TKK Reports in Information and Computer Science Espoo 2010 TKK-ICS-R32

More information

More eamples with half half(0) handle Zero => 1000; > val it = 1000 : int half(1) handle Zero => 1000; > ncaght eception Odd half(0) handle Zero => 10

More eamples with half half(0) handle Zero => 1000; > val it = 1000 : int half(1) handle Zero => 1000; > ncaght eception Odd half(0) handle Zero => 10 Lectre 4 0 More eamples with half half(0) handle Zero => 1000; > val it = 1000 : int half(1) handle Zero => 1000; > ncaght eception Odd half(0) handle Zero => 1000 Odd => 1001; > val it = 1000 : int half(3)

More information

Parallelizing SAT Solver With specific application on solving Sudoku Puzzles

Parallelizing SAT Solver With specific application on solving Sudoku Puzzles 6.338 Applied Parallel Computing Final Report Parallelizing SAT Solver With specific application on solving Sudoku Puzzles Hank Huang May 13, 2009 This project was focused on parallelizing a SAT solver

More information

An Efficient Framework for User Authorization Queries in RBAC Systems

An Efficient Framework for User Authorization Queries in RBAC Systems An Efficient Framework for User Authorization Queries in RBAC Systems Guneshi T. Wickramaarachchi Purdue University 305 N. University Street, West Lafayette, IN 47907, USA gwickram@purdue.edu Wahbeh H.

More information

Dynamic Maintenance of Majority Information in Constant Time per Update? Gudmund S. Frandsen and Sven Skyum BRICS 1 Department of Computer Science, Un

Dynamic Maintenance of Majority Information in Constant Time per Update? Gudmund S. Frandsen and Sven Skyum BRICS 1 Department of Computer Science, Un Dynamic Maintenance of Majority Information in Constant Time per Update? Gdmnd S. Frandsen and Sven Skym BRICS 1 Department of Compter Science, University of arhs, Ny Mnkegade, DK-8000 arhs C, Denmark

More information

EECS 219C: Formal Methods Boolean Satisfiability Solving. Sanjit A. Seshia EECS, UC Berkeley

EECS 219C: Formal Methods Boolean Satisfiability Solving. Sanjit A. Seshia EECS, UC Berkeley EECS 219C: Formal Methods Boolean Satisfiability Solving Sanjit A. Seshia EECS, UC Berkeley The Boolean Satisfiability Problem (SAT) Given: A Boolean formula F(x 1, x 2, x 3,, x n ) Can F evaluate to 1

More information

Mixed Integer Linear Programming

Mixed Integer Linear Programming Mixed Integer Linear Programming Part I Prof. Davide M. Raimondo A linear program.. A linear program.. A linear program.. Does not take into account possible fixed costs related to the acquisition of new

More information

CS 153 Design of Operating Systems Spring 18

CS 153 Design of Operating Systems Spring 18 CS 153 Design of Operating Systems Spring 18 Lectre 9: Synchronization (1) Instrctor: Chengy Song Slide contribtions from Nael Ab-Ghazaleh, Harsha Madhyvasta and Zhiyn Qian Cooperation between Threads

More information

Lemma 1 Let the components of, Suppose. Trees. A tree is a graph which is. (a) Connected and. (b) has no cycles (acyclic). (b)

Lemma 1 Let the components of, Suppose. Trees. A tree is a graph which is. (a) Connected and. (b) has no cycles (acyclic). (b) Trees Lemma Let the components of ppose "! be (a) $&%('*)+ - )+ / A tree is a graph which is (b) 0 %(')+ - 3)+ / 6 (a) (a) Connected and (b) has no cycles (acyclic) (b) roof Eery path 8 in which is not

More information

The implementation is written in Python, instructions on how to run it are given in the last section.

The implementation is written in Python, instructions on how to run it are given in the last section. Algorithm I chose to code a version of the WALKSAT algorithm. This algorithm is based on the one presented in Russell and Norvig p226, copied here for simplicity: function WALKSAT(clauses max-flips) returns

More information

The Disciplined Flood Protocol in Sensor Networks

The Disciplined Flood Protocol in Sensor Networks The Disciplined Flood Protocol in Sensor Networks Yong-ri Choi and Mohamed G. Goda Department of Compter Sciences The University of Texas at Astin, U.S.A. fyrchoi, godag@cs.texas.ed Hssein M. Abdel-Wahab

More information

Parallel and Distributed Computing

Parallel and Distributed Computing Parallel and Distributed Computing Project Assignment MAX-SAT SOLVER Version 1.0 (07/03/2016) 2015/2016 2nd Semester CONTENTS Contents 1 Introduction 2 2 Problem Description 2 2.1 Illustrative Example...................................

More information

Nonmonotonic and Paraconsistent Reasoning: From Basic Entailments to Plausible Relations. Ofer Arieli and Arnon Avron

Nonmonotonic and Paraconsistent Reasoning: From Basic Entailments to Plausible Relations. Ofer Arieli and Arnon Avron Nonmonotonic and Paraconsistent Reasoning: From Basic Entailments to Plasible Relations Ofer Arieli and Arnon Avron Department of Compter Science, School of Mathematical Sciences, Tel-Aviv University,

More information

The Resolution Algorithm

The Resolution Algorithm The Resolution Algorithm Introduction In this lecture we introduce the Resolution algorithm for solving instances of the NP-complete CNF- SAT decision problem. Although the algorithm does not run in polynomial

More information

SAT/SMT Solvers and Applications

SAT/SMT Solvers and Applications SAT/SMT Solvers and Applications University of Waterloo Winter 2013 Today s Lecture Lessons learnt so far Implementation-related attacks (control-hazard, malware,...) Program analysis techniques can detect

More information

CS 153 Design of Operating Systems Spring 18

CS 153 Design of Operating Systems Spring 18 CS 153 Design of Operating Systems Spring 18 Lectre 10: Lock Implementation Instrctor: Chengy Song Slide contribtions from Nael Ab-Ghazaleh, Harsha Madhyvasta and Zhiyn Qian Recap: Synchronization Race

More information

POWER-OF-2 BOUNDARIES

POWER-OF-2 BOUNDARIES Warren.3.fm Page 5 Monday, Jne 17, 5:6 PM CHAPTER 3 POWER-OF- BOUNDARIES 3 1 Ronding Up/Down to a Mltiple of a Known Power of Ronding an nsigned integer down to, for eample, the net smaller mltiple of

More information

SAT BASED ALGORITHMIC APPROACH FOR SUDOKU PUZZLE

SAT BASED ALGORITHMIC APPROACH FOR SUDOKU PUZZLE International Journal of Computer Engineering & Technology (IJCET) Volume 9, Issue 6, November-December 2018, pp. 38 45, Article ID: IJCET_09_06_005 Available online at http://www.iaeme.com/ijcet/issues.asp?jtype=ijcet&vtype=9&itype=6

More information

MajorSat: A SAT Solver to Majority Logic

MajorSat: A SAT Solver to Majority Logic MajorSat: A SAT Solver to Majority Logic Speaker : Ching-Yi Huang Authors: Yu-Min Chou, Yung-Chih Chen *, Chun-Yao Wang, Ching-Yi Huang National Tsing Hua University, Taiwan * Yuan Ze University, Taiwan

More information

C Puzzles The course that gives CMU its Zip! Integer Arithmetic Operations Jan. 25, Unsigned Addition. Visualizing Integer Addition

C Puzzles The course that gives CMU its Zip! Integer Arithmetic Operations Jan. 25, Unsigned Addition. Visualizing Integer Addition 1513 The corse that gies CMU its Zip! Integer Arithmetic Operations Jan. 5, 1 Topics Basic operations Addition, negation, mltiplication Programming Implications Conseqences of oerflow Using shifts to perform

More information

Verification of Proofs of Unsatisfiability for CNF Formulas

Verification of Proofs of Unsatisfiability for CNF Formulas Verification of Proofs of Unsatisfiability for CNF Formulas Evgueni Goldberg Cadence Berkeley Labs (USA), Email: egold@cadence.com Yakov Novikov The United Institute of Informatics Problems, National Academy

More information

Exercises Computational Complexity

Exercises Computational Complexity Exercises Computational Complexity March 22, 2017 Exercises marked with a are more difficult. 1 Chapter 7, P and NP Exercise 1. Suppose some pancakes are stacked on a surface such that no two pancakes

More information

Hack Your Language! CSE401 Winter 2016 Introduction to Compiler Construction

Hack Your Language! CSE401 Winter 2016 Introduction to Compiler Construction Hack Your Language! CSE401 Winter 2016 Introduction to Compiler Construction Ras Bodik Alvin Cheung Maaz Ahmad Talia Ringer Ben Tebbs Lecture 15: Pointer analysis and Intro to Solver-Aided DSLs Andersen

More information

CS 512, Spring 2017: Take-Home End-of-Term Examination

CS 512, Spring 2017: Take-Home End-of-Term Examination CS 512, Spring 2017: Take-Home End-of-Term Examination Out: Tuesday, 9 May 2017, 12:00 noon Due: Wednesday, 10 May 2017, by 11:59 am Turn in your solutions electronically, as a single PDF file, by placing

More information

CNF Instances from the Software Package Installation Problem

CNF Instances from the Software Package Installation Problem CNF Instances from the Software Package Installation Problem Josep Argelich 1 and Inês Lynce 2 1 INESC-ID Rua Alves Redol 9, Lisboa, Portugal josep@sat.inesc-id.pt 2 INESC-ID and IST/TU Lisbon Rua Alves

More information

Circuit versus CNF Reasoning for Equivalence Checking

Circuit versus CNF Reasoning for Equivalence Checking Circuit versus CNF Reasoning for Equivalence Checking Armin Biere Institute for Formal Models and Verification Johannes Kepler University Linz, Austria Equivalence Checking Workshop 25 Madonna di Campiglio,

More information

2SAT Andreas Klappenecker

2SAT Andreas Klappenecker 2SAT Andreas Klappenecker The Problem Can we make the following boolean formula true? ( x y) ( y z) (z y)! Terminology A boolean variable is a variable that can be assigned the values true (T) or false

More information

Combining forces to solve Combinatorial Problems, a preliminary approach

Combining forces to solve Combinatorial Problems, a preliminary approach Combining forces to solve Combinatorial Problems, a preliminary approach Mohamed Siala, Emmanuel Hebrard, and Christian Artigues Tarbes, France Mohamed SIALA April 2013 EDSYS Congress 1 / 19 Outline Context

More information

Hybrid solvers for the Boolean Satisfiability problem: an exploration

Hybrid solvers for the Boolean Satisfiability problem: an exploration Rowan University Rowan Digital Works Theses and Dissertations 12-12-2012 Hybrid solvers for the Boolean Satisfiability problem: an exploration Nicole Nelson Follow this and additional works at: http://rdw.rowan.edu/etd

More information

Minimum Satisfying Assignments for SMT. Işıl Dillig, Tom Dillig Ken McMillan Alex Aiken College of William & Mary Microsoft Research Stanford U.

Minimum Satisfying Assignments for SMT. Işıl Dillig, Tom Dillig Ken McMillan Alex Aiken College of William & Mary Microsoft Research Stanford U. Minimum Satisfying Assignments for SMT Işıl Dillig, Tom Dillig Ken McMillan Alex Aiken College of William & Mary Microsoft Research Stanford U. 1 / 20 Satisfiability Modulo Theories (SMT) Today, SMT solvers

More information