1 - Introduction [ID:25019]
50 von 99 angezeigt

The kind of space of programs that do propositional inference we call SAT solvers.

SAT solvers are extremely useful. They can do more than just wumpus.

Satisfiability checking is the first problem where we found out that the problem is NP-hard,

which means, which essentially means everything takes exponentially long. Proofs are exponentially

long typically. But on the average you can actually do very, very well. So there's a

whole community who builds programs that decide the satisfiability of propositional formulae.

And there are other communities who build translators into propositional formulae like

wumpus. So wumpus is a good example. You have a problem. You don't really know how to solve

it via inference. But you have a clever idea how to turn this into a propositional formula.

And then you hit it with the big stick, which is you hit it with a SAT solver. And the SAT

solver tells you unsatisfiable or satisfiable. So if we had one of those, we could actually

do not just wumpus 4 times 4, but say wumpus 400 times 400. That's a big formula. And if

you have a good SAT solver, that will still very quickly tell you satisfiable or unsatisfiable.

And that's all the agent needs. And that's something that is done routinely. For instance,

when the US invaded Iraq, when was that, 10 years ago? They had a big planning problem.

For every tank, for every rifle, for every soldier, you had to plan where do we want

this guy or piece of equipment at what time, and how does it get there, given that we only

have finitely many helicopters and planes and ships and all of those kind of things.

So a logistical nightmare. And what they did was they used an industrial strength planning

system. And that planning system actually wrote down all the constraints that it could

find that the generals had probably given, plus all the knowledge about the terrain that

if you want to go from Virginia to Iraq, you have to cross the seas, so you need a ship

or an airplane. You can't just drive there, those kind of things. And this planner then

internally translates it into a big propositional formula. And then a SAT solver comes and says

yes or no. And that's how they did it. And that's one of the standard ways of doing it.

And that's kind of the standard way you attack any problem if you don't know how to solve

it. And you have the hunch it's probably something with inference. What you do is you try to

translate it into propositional logic, hit it with a big stick. So there's a community

that builds these SAT solvers. They meet once a year and meet around big problems, a million

propositional variables. And then they see who can solve the most problems the fastest.

And if you are doing a PhD in that area, you probably want to win that competition. And

of course if you have a good system, then the US military says, well, we would like

to talk to you. And you never hear about these people again.

And I want to kind of go briefly into SAT. And one of the things you should notice is

that SAT is actually the same as constraint satisfaction. You can actually think of a

propositional formula as a long list of values that you have to do. Every single little literal

formula is actually an assignment. Those are binary constraints. And every long formula

is just a multiple constraint between many variables. So SAT is actually a very special

kind of CSP. And now you could say, oh, that's easy, wonderful. We know how to do a CSP solver,

so we can do SAT solving by translating into a CSP. It's been done, but CSPs as SAT solvers

haven't been successful in that competition for 30 years now. When I started my PhD, you

could do these kind of things. Now they've gotten just much too good. But sometimes it's

interesting to know these. And the other way is also true. You can translate any CSP into

a SAT problem and solve it that way. And sometimes that's the best we can do, but not in that

case. Other things, hardware verification is something that goes wonderfully with SAT.

You have a propositional, you remember a circuit. You can have in any kind of a node there, you

can have voltage or no voltage. Very clearly a propositional variable. And then you have

rules that tell you what these kind of gates do. They could be flip-flops, they could be

AND gates or gates and so on. And you can actually, if you have only AND or NOR, the

gates for sequential logic circuits, you can just directly unroll this thing into a propositional

Teil eines Kapitels:
Propositional Reasoning: SAT Solvers

Zugänglich über

Offener Zugang

Dauer

00:15:45 Min

Aufnahmedatum

2020-11-26

Hochgeladen am

2020-11-26 15:08:35

Sprache

en-US

Explanation of SAT and comparison of SAT and CSP. Also, the agenda for this chapter is discussed. 

Einbetten
Wordpress FAU Plugin
iFrame
Teilen