Download presentation
Presentation is loading. Please wait.
Published byHortense Glenn Modified over 9 years ago
1
Solving SAT
2
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.
3
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 0 1 1 1 ? Evaluating a Boolean function OR AND
4
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)
5
A similar “inverting” problem multiply 7919 5839 ? factor ? ? 46239041 Traditionally, these “inverting” problems are solved by viewing them as search problems.
6
A different approach to invert functions Setting up inputs and observe outputs Can we set up the “output” and maneuver “input” settings?
7
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!
8
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)
9
SAT: expressing BAT, CAT & RAT A Boolean circuit can simulate any T-step computation of a digital computer (a Turing machine).
10
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
11
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.14 01 01 01 0 1 0 1 0101
12
a b a’ b Evaluating a Boolean function a b a’ b Inverting a Boolean function Solving SAT: a different approach
13
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 0 0 0 1 0 1 0 1 1 1 1 1 AND gate a b a.b 0 0 0 1 0 0 0 1 0 1 1 1
14
Bilateral computing devices - NOT gate NOT gate “see-saw” joint a ~a 0 1 1 0
15
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.
16
Solving an instance of SAT Is (~a + b)(a + b) satisfiable? a b (~a + b) (a + b) 0 0 0 1 0 0 0 1 1 1 1 1 (~a + b) (a + b) ab (a + b) ~ab (~a + b)
17
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.
18
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
19
Bilateral computing Bilateral circuit elementUnilateral circuit element / Multiply / Factor 456 987 450072 Inherent “asymmetry” in traditional computing Bilateral element computes “both ways” at the same cost.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.