Cook-Levin Theorem: Full Proof (SAT is NP-complete)

  Рет қаралды 17,822

Easy Theory

Easy Theory

3 жыл бұрын

Here we give the full proof that SAT is NP-complete, which is a general polynomial-time reduction from any problem B in NP. We use the "tableau" proof which encodes the transitions of a nondeterministic poly-time TM.
If you like this content, please consider subscribing to my channel: / @easytheory
▶SEND ME THEORY QUESTIONS◀
ryan.e.dougherty@icloud.com
▶ABOUT ME◀
I am a professor of Computer Science, and am passionate about CS theory. I have taught many courses at several different universities, including several sections of undergraduate and graduate theory-level classes.

Пікірлер: 25
@4leks4ndr47
@4leks4ndr47 Жыл бұрын
i passed my exam thanks to you, thank you!! great job
@charlesrodriguez6276
@charlesrodriguez6276 3 жыл бұрын
Bro you are literally a life saver. Your explanations are amazing, the content is top-notch, you put a lot of effort into explaining each detail. Will definitely buy the textbook you have coming thank you for this content!
@MaxGelm
@MaxGelm 3 жыл бұрын
Thanks for the clear explanation! Made me understand everything I didn't during the lectures.
@EasyTheory
@EasyTheory 3 жыл бұрын
You're very welcome!
@chretienli6405
@chretienli6405 2 жыл бұрын
You are the curriculum... appreciate you so much man
@PriyaSharma-sz1sl
@PriyaSharma-sz1sl 8 ай бұрын
Ultimate explanation 💯👌
@KnakuanaRka
@KnakuanaRka 3 жыл бұрын
Now that is a mind blow. 💥8| We just went over it a few days ago in Discrete 2. Talk about crazy.
@hoanguyentrong2636
@hoanguyentrong2636 3 жыл бұрын
You're the best . Thank you so much
@EasyTheory
@EasyTheory 3 жыл бұрын
You're very welcome!
@alicianieto2822
@alicianieto2822 Жыл бұрын
Thanks!
@user-xj6oq1wh6z
@user-xj6oq1wh6z Жыл бұрын
ur the best, tks!!
@Giorgio-pv1hj
@Giorgio-pv1hj 3 жыл бұрын
you're great! thanks!
@EasyTheory
@EasyTheory 3 жыл бұрын
No, YOU'RE great!
@jemesmemes9026
@jemesmemes9026 3 жыл бұрын
for anyone getting this in their recommended, SAT stands for Boolean Satisfiability Problem
@EasyTheory
@EasyTheory 3 жыл бұрын
Thanks! I changed the title to reflect that.
@sheikhshakilakhtar6844
@sheikhshakilakhtar6844 3 жыл бұрын
I have a request. While I think I have understood this proof, which is also the one presented in Sipser's book, I am having a hard time trying to understand the one used in the book by Arora and Barak. Would you mind making a video on that and tell us where the two proofs are different and where similar?
@EasyTheory
@EasyTheory 3 жыл бұрын
I'll look and see! I'm guessing the terminology is slightly different but the basic proof strategy is the same.
@sheikhshakilakhtar6844
@sheikhshakilakhtar6844 3 жыл бұрын
@@EasyTheory Thank you
@KnakuanaRka
@KnakuanaRka 3 жыл бұрын
Could somebody explain why the columns of # at the start and end are necessary?
@guyelf9419
@guyelf9419 3 жыл бұрын
I believe it's just a convention to mark the beginning and end of the Turing Machine. When you're running the TM you can't really tell on which cell index you're located and since here we are limited by the size of the table to be of O(n^2k), this is how you know you reached those limits.
@YoussefKossale
@YoussefKossale 2 ай бұрын
I don't quite understand how we can put NTM configurations one after the other in the table? do we put only a path of configs from the execution tree of the NTM?
@goranivankovic221
@goranivankovic221 25 күн бұрын
We don't actually fill in this table with values, we only encode that they must follow the rules of the given NTM. If all formulas 1,2,3,4 are True, then there exists some path of configs that finishes with q accept. It is maybe like Sudoku. We can solve the sudoku in multiple ways. Once we solve it we can track back for each step and check that rules of sudoku were followed. This formula would be True only if there exists some way of solving the Sudoku, not telling us exactly how to fill it in.
@BjarkeEbert
@BjarkeEbert 2 жыл бұрын
Thanks for the explanation! Where it clicked for me is that given the input to the Turing machine, there's a known upper bound on the Turing runtime, and thus on the tape, making it a finite problem for THAT input: no infinite tape. Small addition to your explanation around 20 minutes: I guess the important thing is that Phi1..Phi4 can be generated in polynomial TIME, not that the result formula had polynomial SIZE (which follows, btw)
@joesilvester7235
@joesilvester7235 3 жыл бұрын
what is the time complexity for this
@EasyTheory
@EasyTheory 3 жыл бұрын
I'm assuming you mean the reduction, and that will be some polynomial multiplied by the runtime of the original Turing Machine. (The "size" of the formula involves O(n^(2c)) "cells", where n^c was the runtime of the TM.) So the size of the *formula* is a polynomial in the size of the original TM. However, the runtime of *any algorithm for SAT* might not necessarily be polynomial. This is purely the reduction from any NP problem to SAT.
3SAT is NP-complete Proof
17:18
Easy Theory
Рет қаралды 27 М.
NP-Complete Explained (Cook-Levin Theorem)
10:44
Undefined Behavior
Рет қаралды 135 М.
🤔Какой Орган самый длинный ? #shorts
00:42
Дарю Самокат Скейтеру !
00:42
Vlad Samokatchik
Рет қаралды 8 МЛН
路飞被小孩吓到了#海贼王#路飞
00:41
路飞与唐舞桐
Рет қаралды 83 МЛН
КАК ДУМАЕТЕ КТО ВЫЙГРАЕТ😂
00:29
МЯТНАЯ ФАНТА
Рет қаралды 9 МЛН
Savitch's Theorem (Complexity Theory), Statement and Proof
26:04
A Peek Inside SAT Solvers - Jon Smock
35:21
ClojureTV
Рет қаралды 36 М.
Why π^π^π^π could be an integer (for all we know!).
15:21
Stand-up Maths
Рет қаралды 3,3 МЛН
P vs. NP: The Biggest Puzzle in Computer Science
19:44
Quanta Magazine
Рет қаралды 763 М.
What Makes Mario NP-Hard? (Polynomial Reductions)
10:53
Undefined Behavior
Рет қаралды 39 М.
Vertex Cover is NP-Complete + Example
19:13
Easy Theory
Рет қаралды 27 М.
Zero Knowledge Proof (with Avi Wigderson)  - Numberphile
33:38
Numberphile2
Рет қаралды 263 М.
The Boundary of Computation
12:59
Mutual Information
Рет қаралды 984 М.
🤔Какой Орган самый длинный ? #shorts
00:42