Solving SAT. Two kinds of (computing) problems “Calculator” problems Problems solvable using the application of a set of well-defined operations ( functions.

Slides:



Advertisements
Similar presentations
Time Complexity P vs NP.
Advertisements

JAYASRI JETTI CHINMAYA KRISHNA SURYADEVARA
NP-complete and NP-hard problems Transitivity of polynomial-time many-one reductions Concept of Completeness and hardness for a complexity class Definition.
Lecture 21 NP-complete problems
The Theory of NP-Completeness
© The McGraw-Hill Companies, Inc., Chapter 8 The Theory of NP-Completeness.
Complexity 25-1 Complexity Andrei Bulatov #P-Completeness.
Computability and Complexity 14-1 Computability and Complexity Andrei Bulatov Cook’s Theorem.
ECE 331 – Digital System Design
Tractable and intractable problems for parallel computers
Lecture 2 Dr Richard Reilly Dept. of Electronic & Electrical Engineering Room 153, Engineering Building To insert your company logo on this slide From.
1 Polynomial Church-Turing thesis A decision problem can be solved in polynomial time by using a reasonable sequential model of computation if and only.
ECE Synthesis & Verification1 ECE 667 Spring 2011 Synthesis and Verification of Digital Systems Verification Introduction.
1 Polynomial Time Reductions Polynomial Computable function : For any computes in polynomial time.
1 Other Models of Computation. 2 Models of computation: Turing Machines Recursive Functions Post Systems Rewriting Systems.
CSE 421 Algorithms Richard Anderson Lecture 27 NP Completeness.
Fall 2004COMP 3351 Time Complexity We use a multitape Turing machine We count the number of steps until a string is accepted We use the O(k) notation.
Chapter 4 Logic Gates and Boolean Algebra. Introduction Logic gates are the actual physical implementations of the logical operators. These gates form.
February 20, 2015CS21 Lecture 191 CS21 Decidability and Tractability Lecture 19 February 20, 2015.
1 Section 2.3 Complexity of Algorithms. 2 Computational Complexity Measure of algorithm efficiency in terms of: –Time: how long it takes computer to solve.
Themes of Presentations Rule-based systems/expert systems (Catie) Software Engineering (Khansiri) Fuzzy Logic (Mark) Configuration Systems (Sudhan) *
Complexity Classes Kang Yu 1. NP NP : nondeterministic polynomial time NP-complete : 1.In NP (can be verified in polynomial time) 2.Every problem in NP.
1 UNIT -6 P, NP, and NP-Complete. 2 Tractability u Some problems are intractable: as they grow large, we are unable to solve them in reasonable time u.
CSCE350 Algorithms and Data Structure
Machines with Memory Chapter 3 (Part B). Turing Machines  Introduced by Alan Turing in 1936 in his famous paper “On Computable Numbers with an Application.
1 The Theory of NP-Completeness 2012/11/6 P: the class of problems which can be solved by a deterministic polynomial algorithm. NP : the class of decision.
Nattee Niparnan. Easy & Hard Problem What is “difficulty” of problem? Difficult for computer scientist to derive algorithm for the problem? Difficult.
Tonga Institute of Higher Education Design and Analysis of Algorithms IT 254 Lecture 8: Complexity Theory.
Theory of Computation, Feodor F. Dragan, Kent State University 1 NP-Completeness P: is the set of decision problems (or languages) that are solvable in.
Computational Complexity Theory Lecture 2: Reductions, NP-completeness, Cook-Levin theorem Indian Institute of Science.
Natural Algorithms Joshua J. Arulanandham Supervisors: Professor Cristian S. Calude and Dr. Michael J. Dinneen.
CSC 172 P, NP, Etc. “Computer Science is a science of abstraction – creating the right model for thinking about a problem and devising the appropriate.
Week 10Complexity of Algorithms1 Hard Computational Problems Some computational problems are hard Despite a numerous attempts we do not know any efficient.
CSE 024: Design & Analysis of Algorithms Chapter 9: NP Completeness Sedgewick Chp:40 David Luebke’s Course Notes / University of Virginia, Computer Science.
Complexity Non-determinism. NP complete problems. Does P=NP? Origami. Homework: continue on postings.
Complexity 25-1 Complexity Andrei Bulatov Counting Problems.
Linear Algebra. Circuits The circuits in computers and other input devices have inputs, each of which is either a 0 or 1, the output is also 0s and 1s.
1 The Theory of NP-Completeness 2 Cook ’ s Theorem (1971) Prof. Cook Toronto U. Receiving Turing Award (1982) Discussing difficult problems: worst case.
1 P P := the class of decision problems (languages) decided by a Turing machine so that for some polynomial p and all x, the machine terminates after at.
On the Relation between SAT and BDDs for Equivalence Checking Sherief Reda Rolf Drechsler Alex Orailoglu Computer Science & Engineering Dept. University.
Design and Analysis of Algorithms - Chapter 101 Our old list of problems b Sorting b Searching b Shortest paths in a graph b Minimum spanning tree b Primality.
NP-Completeness (Nondeterministic Polynomial Completeness) Sushanth Sivaram Vallath & Z. Joseph.
CSE 589 Part V One of the symptoms of an approaching nervous breakdown is the belief that one’s work is terribly important. Bertrand Russell.
Planning as Satisfiability (SAT-Plan). SAT-Plan Translate the planning problem into a satisfiability problem for length n of Plan garb 0 (proposition)present.
Costas Busch - LSU1 Time Complexity. Costas Busch - LSU2 Consider a deterministic Turing Machine which decides a language.
NPC.
1 Time Complexity We use a multitape Turing machine We count the number of steps until a string is accepted We use the O(k) notation.
Unit1: Modeling & Simulation Module5: Logic Simulation Topic: Unknown Logic Value.
ECE 301 – Digital Electronics Logic Circuit Design (Lecture #9)
CSCI 2670 Introduction to Theory of Computing December 7, 2005.
TU/e Algorithms (2IL15) – Lecture 9 1 NP-Completeness NOT AND OR AND NOT AND.
1 1. Which of these sequences correspond to Hamilton cycles in the graph? (a) (b) (c) (d) (e)
Prof. Busch - LSU1 Time Complexity. Prof. Busch - LSU2 Consider a deterministic Turing Machine which decides a language.
1 The Theory of NP-Completeness 2 Review: Finding lower bound by problem transformation Problem X reduces to problem Y (X  Y ) iff X can be solved by.
The NP class. NP-completeness Lecture2. The NP-class The NP class is a class that contains all the problems that can be decided by a Non-Deterministic.
Lecture 1 Gunjeet kaur Dronacharya group of institutions.
The NP class. NP-completeness
L is in NP means: There is a language L’ in P and a polynomial p so that L1 ≤ L2 means: For some polynomial time computable map r :  x: x  L1 iff.
Homework Reading Machine Projects Labs
Advanced Algorithms Analysis and Design
Time Complexity Costas Busch - LSU.
Hard Problems Introduction to NP
Boolean Expressions Lecture No. 10.
SAT-Based Area Recovery in Technology Mapping
Computational Complexity
Time Complexity We use a multitape Turing machine
Chapter 11 Limitations of Algorithm Power
Instructor: Aaron Roth
RAIK 283 Data Structures & Algorithms
Presentation transcript:

Solving SAT

Two kinds of (computing) problems “Calculator” problems Problems solvable using the application of a set of well-defined operations ( functions ). “Search” problems Problems solvable only through search --- no “straightforward” operations can be used.

SAT = satisfiability of Boolean formulae Input: A Boolean formula such as ( a+b ) ( a’+b ) Question: Is there an assignment (of 0s and 1s) to the variables ( a and b ) such that the formula evaluates to 1? a b a’ b ? ? ? ? 1 Inverting a Boolean function a b a’ b ? Evaluating a Boolean function OR AND

SAT = satisfiability of Boolean formulae A satisfiable formula: (a + c+ e’) (b’) (b + c + d + e) (d’ + e) Can be satisfied with a = 0; b = 0; c = 1; d = 0; e = 0. An un-satisfiable formula: (a) (a’ + b) (a’ + b’) (b’ + c)

A similar “inverting” problem multiply ? factor ? ? Traditionally, these “inverting” problems are solved by viewing them as search problems.

A different approach to invert functions Setting up inputs and observe outputs Can we set up the “output” and maneuver “input” settings?

SAT: much ado about nothing? No one publishes papers On CAT, RAT or BAT; Why so many on SAT? Patience! For, there is a reason: Stephen Cook, the mighty mathematician Proved that “anything” can be expressed as SAT-- Even CAT, RAT and BAT!

SAT is NP-complete (a + b) (a’ + b) b = 0 a = 1 a = 0 b = 1b = 0 b = 1 Search tree for a SAT instance; a path (leading to a leaf) might correspond to a “solution”. GO TO label-1 (deterministic computer’s version) GO TO {label-1, label-2} (non-deterministic computer’s version)

SAT: expressing BAT, CAT & RAT A Boolean circuit can simulate any T-step computation of a digital computer (a Turing machine).

ABC... 50c D Boolean Circuits (don’t have memory!) 50c Boolean Circuits (don’t have memory!) $1 50c AC... $1 D 50c E SAT: expressing BAT, CAT & RAT ABC... 50c D $1 50c E

SAT: expressing BAT, CAT & RAT Boolean Circuits (don’t have memory!) configuration0 configuration1 configuration2 configuration3 configuration4 configuration5 configuration6 config.7config.8config.9config.10config.11config.12config.13config

a b a’ b Evaluating a Boolean function a b a’ b Inverting a Boolean function Solving SAT: a different approach

Bilateral computing devices - AND, OR gates Inputs (use weights ): “push” = 1; “no-push” = 0 Outputs (use fluid level ): “up” = 1; “down” = 0 Note: AND gates use a higher threshold (liquid-level) for signaling a 1-output OR gate a b a + b AND gate a b a.b

Bilateral computing devices - NOT gate NOT gate “see-saw” joint a ~a

Assumptions 1. The seesaw always keeps pistons one up and the other down. 2. Push inputs are “restrained” (one can use standard weights to give the exact “push” required rather than actually pushing). 3. There is a stop-cock in the apparatus (the weakest spot in the whole machinery) ready to be released if pressure exceeds a certain limit.

Solving an instance of SAT Is (~a + b)(a + b) satisfiable? a b (~a + b) (a + b) (~a + b) (a + b) ab (a + b) ~ab (~a + b)

A generic “SAT solver” 1. Using m -ary OR gates. or 2. Using k-1 binary OR gates in a tree fashion to implement a (disjunctive) clause of k variables.

Time complexity Speed = distance travelled / time taken t = t 1 + t 2 = (d/ λ) + t 2 t 1 : time taken for the impulse to reach the pistons t 2 : time taken for the pistons to react (due to friction) d grows linearly with no. of gates ; t 2, λ (speed of sound in water) are constants d λ AND gate OR gates

Bilateral computing Bilateral circuit elementUnilateral circuit element / Multiply / Factor Inherent “asymmetry” in traditional computing Bilateral element computes “both ways” at the same cost.