A Peek Inside SAT Solvers - Jon Smock

  Рет қаралды 40,498

ClojureTV

ClojureTV

Күн бұрын

Пікірлер: 22
@RickeyBowers
@RickeyBowers 5 жыл бұрын
A comprehensive overview explained in a very accessible manner, wow!
@BlueMesaCable
@BlueMesaCable Ай бұрын
I feel like this is an incredibly powerful and yet developing field with little discussion about it online. Perhaps it's the domain of universities and corporations besides those few interested on the side - I must admit, I don't know where I'd use this myself - but it's really compelling.
@ayushrastogi6176
@ayushrastogi6176 7 жыл бұрын
Thanks Jon, one of most comprehensive stuff for beginners, really good !!
@ElliotPotts
@ElliotPotts 7 жыл бұрын
Awesome talk, got me really intrigued by SAT!
@anthonyapm
@anthonyapm 4 жыл бұрын
Awesome talk. Very comprehensive.
@user-nj1qc7uc9c
@user-nj1qc7uc9c Ай бұрын
this is an insanely good talk!
@varunvarma5424
@varunvarma5424 4 жыл бұрын
Really nice slides.
@SaulloCarvalho
@SaulloCarvalho 6 жыл бұрын
Awesome talk! Thank you.
@darksaga2006
@darksaga2006 8 жыл бұрын
Awesome talk thank you
@holf99
@holf99 7 жыл бұрын
what did you mean by keeping the clauses after we restart? if we keep the same clauses then what is different between before the restart and after? Thanks for the great video btw it's a lot of help.
@stathissideris
@stathissideris 6 жыл бұрын
I think he meant that CDCL learns some clauses that were not in the initial instance, then we backtrack to the route (restart) but keep the learned clauses, so we start from a better place.
@Madsy9
@Madsy9 4 жыл бұрын
Late reply, but the idea is that the clause database contains a lot of knowledge that the SAT solver has learned about the problem. That is, given sets of both guessed and inferred literal values, we can infer a set of clause collisions (collisions/contradictions among literals lead to empty clauses). Then when you 'restart' (which means to restart the depth-first search), all you have done is to start your guessing from the beginning, but you keep the clause collision database. So, now you have more knowledge about which guesses to avoid, which hopefully will lead you on a different branch than before. This really helps getting SAT-solvers 'unstuck' when they are searching deep in an obviously bad branch of the graph. If your SAT-solver does not support restarts, then its clause database might at some point contain enough information to deduce that it is on the wrong deep path altogether, but it can't make use of that fact until it is done searching the whole graph sub-tree currently under consideration.
@catmacopter8545
@catmacopter8545 Ай бұрын
Hello from AlphaPhoenix
@andersseruppoulsen7010
@andersseruppoulsen7010 7 жыл бұрын
If we suppose there is an algorithm for P vs NP, would it have to be able to find solutions where we now use trial and error? In harder Sudokus, for example, there are times when you have two or more possible numbers and need to guess whereafter you work the rest of the numbers through to see if what you guessed is right. There is a distinction between problems where the solution is given by the process of elimination and problems where you have to guess. Does P vs NP concern the former only or also the latter? An answer would be very much appreciated!
@albins0
@albins0 5 жыл бұрын
I know this is coming a bit late, but I'll answer anyway! That is precisely the case. You can think of it like this: NP is the domain of problems that are fast (polynomial time) to check, but (probably) hard to compute. It stands for "Nondeterministically polynomial". That means that these problems would be solved in poly-time by a nondeterministic machine. Such a machine would indeed "find solutions" instead of searching; in principle it would make all choices at once and only use the correct ones. What we do when we search in the case of NP-complete problems is effectively emulating a non-deterministic machine. IF we could reduce NP to P, that means we could re-cast the search problem to one that does not require searching, and therefore we would not need trial and error. However, even if we theoretically could do such a reduction, it is not guaranteed to be viable in practice, as all the quantifiers are asymptotic. In practice, this means that we might re-cast our problem as something in p, say n^k, where k is a constant. The lower bound on that constant could be the number of atoms in the universe, and we would still be in P without having something we could actually use.
@quosswimblik4489
@quosswimblik4489 4 жыл бұрын
If you match 2 cells possible paths in sudoku then a crab with 2 claws is more efficient than 1 or 3. You could make a game out of the problem where by with a 16 by 16 grid the sudoku auto fills as far as possible with basic rules then you each pick 2 squares to compare and the one with the most partial solutions 0.5 and solved squares 1 point by the time the problem folds wins
@JB-vd9hg
@JB-vd9hg 5 жыл бұрын
In his run through DPLL, after the x1=false branch gets a contradiction, he sets x1=true. On that branch how does he get that x2=true? Using line one, which is "(or x1 x2)", I would assume that if x1 is true then that x2 is actually false... which contradicts what the video shows. Any help would be appreciated.
@RickeyBowers
@RickeyBowers 5 жыл бұрын
Look at the truth table for OR - if x1=true, then x2 can be any value, one true value is sufficient to make the whole clause true.
@keejay98195
@keejay98195 4 жыл бұрын
The clause is (or x1 x2). It means either x1 is true, or x2 is true, or both are true. The order in which he finds out x2 is true is not actually just by finding out that x1 is true, he just skipped a few steps there to save some time.
@at1with0
@at1with0 5 жыл бұрын
SAT becomes what problem when completeness turns it to syntactic theorem proving?
@Madsy9
@Madsy9 4 жыл бұрын
Not exactly sure what you mean, but you can think of 3-SAT as the unit NP-complete problem from which all NP complete-problems are defined. That is, any NP-complete problem can be (and must be) convertible into any other NP-complete problem, where 3-SAT historically bootstrapped the first problem classifications under this definition. This is known as Cook's theorem.
What P vs NP is actually about
17:58
Polylog
Рет қаралды 126 М.
У вас там какие таланты ?😂
00:19
Карина Хафизова
Рет қаралды 25 МЛН
Wait for it 😂
00:19
ILYA BORZOV
Рет қаралды 11 МЛН
Увеличили моцареллу для @Lorenzo.bagnati
00:48
Кушать Хочу
Рет қаралды 3,9 МЛН
Solving Problems Declaratively - Mark Engelberg
34:24
ClojureTV
Рет қаралды 10 М.
Look-ahead SAT Solvers: Smart vs. Fast
39:13
Simons Institute
Рет қаралды 2,2 М.
Analyzing Programs with Z3
43:31
Compose Conference
Рет қаралды 21 М.
The Satisfiability Problem, and SAT is in NP
10:54
Easy Theory
Рет қаралды 50 М.
"Propositions as Types" by Philip Wadler
42:43
Strange Loop Conference
Рет қаралды 130 М.
10 weird algorithms
9:06
Fireship
Рет қаралды 1,3 МЛН
The Strange Physics Principle That Shapes Reality
32:44
Veritasium
Рет қаралды 5 МЛН
The Turing Lectures: The future of generative AI
1:37:37
The Alan Turing Institute
Рет қаралды 619 М.
Effective Programs - 10 Years of Clojure - Rich Hickey
1:14:52
ClojureTV
Рет қаралды 163 М.
У вас там какие таланты ?😂
00:19
Карина Хафизова
Рет қаралды 25 МЛН