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

แชร์
ฝัง
  • เผยแพร่เมื่อ 20 ต.ค. 2024

ความคิดเห็น • 25

  • @4leks4ndr47
    @4leks4ndr47 ปีที่แล้ว +8

    i passed my exam thanks to you, thank you!! great job

  • @charlesrodriguez6276
    @charlesrodriguez6276 3 ปีที่แล้ว +9

    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 ปีที่แล้ว +5

    Thanks for the clear explanation! Made me understand everything I didn't during the lectures.

    • @EasyTheory
      @EasyTheory  3 ปีที่แล้ว

      You're very welcome!

  • @PriyaSharma-sz1sl
    @PriyaSharma-sz1sl 11 หลายเดือนก่อน +2

    Ultimate explanation 💯👌

  • @chretienli6405
    @chretienli6405 2 ปีที่แล้ว

    You are the curriculum... appreciate you so much man

  • @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.

  • @jemesmemes9026
    @jemesmemes9026 3 ปีที่แล้ว +2

    for anyone getting this in their recommended, SAT stands for Boolean Satisfiability Problem

    • @EasyTheory
      @EasyTheory  3 ปีที่แล้ว +1

      Thanks! I changed the title to reflect that.

  • @YoussefKossale
    @YoussefKossale 5 หลายเดือนก่อน +1

    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 3 หลายเดือนก่อน

      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.

  • @hoanguyentrong2636
    @hoanguyentrong2636 3 ปีที่แล้ว +2

    You're the best . Thank you so much

    • @EasyTheory
      @EasyTheory  3 ปีที่แล้ว

      You're very welcome!

  • @alicianieto2822
    @alicianieto2822 ปีที่แล้ว +1

    Thanks!

  • @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 ปีที่แล้ว +1

      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

  • @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)

  • @KnakuanaRka
    @KnakuanaRka 3 ปีที่แล้ว

    Could somebody explain why the columns of # at the start and end are necessary?

    • @guyelf9419
      @guyelf9419 3 ปีที่แล้ว +1

      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.

  • @沈昱宏-e6n
    @沈昱宏-e6n ปีที่แล้ว

    ur the best, tks!!

  • @joesilvester7235
    @joesilvester7235 3 ปีที่แล้ว +1

    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.

  • @Giorgio-pv1hj
    @Giorgio-pv1hj 3 ปีที่แล้ว

    you're great! thanks!

    • @EasyTheory
      @EasyTheory  3 ปีที่แล้ว

      No, YOU'RE great!