lydia
lydia
  • 10
  • 729 433
Undecidable Problems: Reducibility (Part 2) | A Sample Reduction
To show that the Truth Problem is undecidable, we reduce the Halting Problem to the Truth Problem. In this video, we show the complete reduction. Also, if you use Michael Sipser's Introduction to the Theory of Computation textbook, then the Truth Problem is actually A_TM (defined in chapter 4.2 on page 174 in the 2nd edition).
Here is the proof and reduction in writing (I use 'machine' below, but 'program' means the same thing):
Truth Problem: "Can we build a machine that determines if another machine returns true?"
Halting Problem: "Can we build a machine that determines if another machine halts?"
****** PROOF ******
Suppose T decides the Truth Problem. We define H as follows:
Let H = "On input ❮M❯, where M is a machine:
1. Run T on input ❮M❯.
2. If T returns true, return true and exit. If T returns false, continue to step 3.
3. Construct M’ as follows:
M’ = “On input y:
1. Run machine M on y.
2. If M returns true, return false and exit. If M returns false, return true and exit.”
4. Run T on ❮M'❯ and return what T returns.
If T decides the Truth Problem, then H decides the Halting Problem. But this contradicts the fact that the Halting Problem is undecidable. Therefore, the Truth Problem is undecidable.
****** END PROOF ******
Note: In step 3 of the proof above, I said in the video that we change input ❮M❯. However, in a formal proof, we simply construct a new machine that returns the opposite of what M returns.
To summarize reductions:
1. We can use reductions to show that a problem is unsolvable or undecidable.
2. If problem A reduces to problem B, and problem A is undecidable, then problem B must be undecidable. However, if problem B is decidable, then problem A is decidable.
3. To prove that a problem is unsolvable through a reduction:
i. Find another unsolvable problem A.
ii. Claim that you can reduce problem A to the problem you are trying to show is unsolvable.
iii. Show the complete reduction.
iv. State that the reduction results in a contradiction, since the problem A cannot be solved.
____________________
Additional resources:
th-cam.com/video/U4yGQp5aCTM/w-d-xo.html
- Previous video (part 1) on reductions.
th-cam.com/video/VyHbd6sx5Po/w-d-xo.html
- My previous video on the Halting Problem, a well known undecidable problem.
Michael Sipser. 2006. Introduction to the Theory of Computation (2nd. ed.). International Thomson Publishing.
- The main source of my Theory of Computation knowledge (a textbook). Read Chapter 5: Reducibility to learn more about reducibility and how a formal proof would look like.
_____________________
And as always, this video project could not have been done without the support and guidance of Audrey St. John at Mount Holyoke College, a truly incredible professor-mentor-human.
มุมมอง: 33 903

วีดีโอ

Undecidable Problems: Reducibility (Part 1) | What are Reductions?
มุมมอง 46K3 ปีที่แล้ว
A reduction is when we view a problem as another, and by solving the new problem, we solve our initial problem. For example, we may reduce our problem of getting around a new city, to the problem of finding a map of the city; by finding a map, we solve our initial problem of finding our way. We use reductions in computer science to prove that some problems are undecidable or unsolvable. Reducti...
Nonregular languages: How to use the Pumping Lemma
มุมมอง 79K3 ปีที่แล้ว
We know that all regular languages must satisfy the pumping lemma. This means we can use the pumping lemma to prove that a language is NOT regular by showing that it does NOT satisfy the pumping lemma. This video provides a little more intuition for how such a proof works. If you aren't yet familiar with what exactly the pumping lemma is, check this video out first: th-cam.com/video/qtnNyUlO6vU...
What is the Pumping Lemma
มุมมอง 119K3 ปีที่แล้ว
Every regular language must satisfy the pumping lemma. The formal statement of the pumping lemma is this: If A is a regular language, then there is a pumping length p, where if s is any string in A that is at least length p, then s may be divided into 3 pieces, s = xyz, satisfying the following conditions: 1. for each i ≥ 0, xyⁱz ∈ A 2. |y|﹥0 3. |xy| ≤ p The lemma can be a little tricky to unde...
Regular Operations
มุมมอง 21K4 ปีที่แล้ว
The three regular operations are the union, concatenation, and star operations on languages-the video goes through what exactly that means! You should feel comfortable with regular languages and the operations, as well as NFAs and DFAs before watching this video. If not, you could always watch our previous videos (links below) as review. :) Additional resources: th-cam.com/video/miOofcAiINM/w-d...
The Halting Problem: The Unsolvable Problem
มุมมอง 143K4 ปีที่แล้ว
One of the most influential problems and proofs in computer science, first introduced and proved impossible to solve by Alan Turing. The video provides the idea of this incredibly clever proof. I highly recommend anyone who is comfortable with mathematical proofs to read the formal proof to the problem (look at additional resources below for information). Also, the video does not cover this, bu...
Regular Languages: Nondeterministic Finite Automaton (NFA)
มุมมอง 59K4 ปีที่แล้ว
How are nondeterministic finite automata (NFAs) different from DFAs? This video provides an introduction to NFAs, also one of the simple computational models and another kind of finite state machine. Additional resources: th-cam.com/video/PK3wL7DXuuw/w-d-xo.html - My previous video on finite state machines and DFAs. Understanding what finite state machines are exactly will be very helpful in le...
Regular Languages: Deterministic Finite Automaton (DFA)
มุมมอง 97K4 ปีที่แล้ว
The finite state machine (also known as finite automaton) is the simplest computational model. This video covers the basics of finite state machines, and provides an introduction to deterministic finite automata (DFAs) and regular languages. Additional resources: th-cam.com/video/miOofcAiINM/w-d-xo.html - My previous video on languages. I recommend watching it before this video. Michael Sipser....
Introduction to Languages, Strings, and Operations
มุมมอง 29K4 ปีที่แล้ว
An introduction to languages, strings, and operations-core concepts to building machines in theory of computation. Additional resources: Michael Sipser. 2006. Introduction to the Theory of Computation (2nd. ed.). International Thomson Publishing. - The main source of my Theory of Computation knowledge (a textbook). I suggest looking at chapter 0.2: Mathematical Notions and Terminology if you wo...
Why study theory of computation?
มุมมอง 103K4 ปีที่แล้ว
What exactly are computers? What are the limits of computing and all its exciting discoveries? Are there problems in the world that computers can never, EVER solve? Theory of computation is the fascinating theoretical study of computer science that explores the limitations of computing-which, of course, anyone can learn. :) Additional resources: Michael Sipser. 2006. Introduction to the Theory ...

ความคิดเห็น

  • @LauraYoung-w6z
    @LauraYoung-w6z 3 วันที่ผ่านมา

    Feeney Mountains

  • @BradleyElton-t7r
    @BradleyElton-t7r 4 วันที่ผ่านมา

    Conroy Route

  • @MargeryPhyllis
    @MargeryPhyllis 7 วันที่ผ่านมา

    9150 Armstrong Locks

  • @BoswellZora
    @BoswellZora 7 วันที่ผ่านมา

    362 Bahringer Manors

  • @SethuSenthil
    @SethuSenthil 8 วันที่ผ่านมา

    Thank u smmmmm!!!!!! I was gonna drop the class until I found ur chennel

  • @FerminaHaddenProakzmia
    @FerminaHaddenProakzmia 8 วันที่ผ่านมา

    Davis Helen Young Charles Jones Brenda

  • @AnnaMoore-n9m
    @AnnaMoore-n9m 8 วันที่ผ่านมา

    Ari Estates

  • @SophiaZora-y8f
    @SophiaZora-y8f 8 วันที่ผ่านมา

    315 Alycia Crest

  • @ErickCitrino
    @ErickCitrino 11 วันที่ผ่านมา

    47797 Johann Harbor

  • @OrlandoBrady-e6r
    @OrlandoBrady-e6r 11 วันที่ผ่านมา

    Leuschke Stravenue

  • @WilliamWhite-x6b
    @WilliamWhite-x6b 12 วันที่ผ่านมา

    Pietro Port

  • @ConanBen-r8w
    @ConanBen-r8w 12 วันที่ผ่านมา

    Jast Forks

  • @kunalmahajan8399
    @kunalmahajan8399 13 วันที่ผ่านมา

    Is it true for finite regular languages also.

  • @Duck72432
    @Duck72432 13 วันที่ผ่านมา

    Trying to understand here , if the program was going to halt how does the opposite program make it run forever? So it changes the program? Then what the original halt program said was still true there just now a different program so both are true Sorry I’m lost , anyone help me?

  • @Samtoosoon
    @Samtoosoon 13 วันที่ผ่านมา

    love u love u thankuuuuu

  • @anmolacharya309
    @anmolacharya309 13 วันที่ผ่านมา

    This is great! Wish there was more videos where you did example question for tricky problems as well!

  • @chlwhas6139
    @chlwhas6139 14 วันที่ผ่านมา

    0:40 The DFA is wrong.

  • @АлександрДунай-е9ъ
    @АлександрДунай-е9ъ 16 วันที่ผ่านมา

    Perez Angela Anderson Maria White Jason

  • @RonaldThomas-m5r
    @RonaldThomas-m5r 18 วันที่ผ่านมา

    Trent Square

  • @DonaldHolman-y6l
    @DonaldHolman-y6l 20 วันที่ผ่านมา

    Ezra Mountains

  • @stephenbrowneda9126
    @stephenbrowneda9126 20 วันที่ผ่านมา

    Davis Karen Martin Scott Gonzalez Carol

  • @DanielDavis-p6o
    @DanielDavis-p6o 22 วันที่ผ่านมา

    Shanny Plaza

  • @GaryJackson-r6j
    @GaryJackson-r6j 23 วันที่ผ่านมา

    Runolfsdottir Gardens

  • @prerit791
    @prerit791 23 วันที่ผ่านมา

    Thank you a lot for putting so much efforts into making this video. It was quite helpful for me. Keep doing this thing

  • @sahilghuge5302
    @sahilghuge5302 23 วันที่ผ่านมา

    come back for explaining regular expressions too 😭🙏

  • @dimitramavridou5455
    @dimitramavridou5455 25 วันที่ผ่านมา

    amazing videos. Thank you so much <3

  • @ValidatingUsername
    @ValidatingUsername 25 วันที่ผ่านมา

    Ahh encapsulation based recursion being misunderstood again

  • @HaroldMcDaniel-e5s
    @HaroldMcDaniel-e5s 29 วันที่ผ่านมา

    Ethan Cove

  • @DewayneCuckler-k2t
    @DewayneCuckler-k2t 29 วันที่ผ่านมา

    Orn Loop

  • @fazeelaqamar8511
    @fazeelaqamar8511 หลายเดือนก่อน

    wht if we dont use d ? what h says become right why we are negating h ?

  • @The_Great_Pietro
    @The_Great_Pietro หลายเดือนก่อน

    Your videos are very wholesome 😊 Thanks a lot for your awesome work.

  • @The_Great_Pietro
    @The_Great_Pietro หลายเดือนก่อน

    Thanks for all the amazing work you did ❤❤ Pls come back….. 😢

  • @WabonaDandi
    @WabonaDandi หลายเดือนก่อน

    the goat

  • @dr.husni.almistarihi
    @dr.husni.almistarihi หลายเดือนก่อน

    easy and perfect explanation

  • @prasannasagarregmi1720
    @prasannasagarregmi1720 หลายเดือนก่อน

    Then for the contradiction, the Machine D doesn't have to take D's program as thr input , does it ? As it is doing basically the opposite of what H says , it still contradicts .. Help me guys

  • @davethesid8960
    @davethesid8960 หลายเดือนก่อน

    Is the pumping length p always the same as the number of states?

  • @dr.husni.almistarihi
    @dr.husni.almistarihi หลายเดือนก่อน

    perfect and simple explanation

  • @darshanpoudel3125
    @darshanpoudel3125 หลายเดือนก่อน

    Great Explanation ✨

  • @adrianbermudez7005
    @adrianbermudez7005 หลายเดือนก่อน

    Is basically the pinochio paradox, its the exact same thing, but with computers

  • @nawalkhawar7602
    @nawalkhawar7602 หลายเดือนก่อน

    I'm not even joking when I say I feel so happy I want to cry: I found your channel today and it is such a huge serotonin boost! I'm a CS student currently studying Theory of Automata and it's safe to say I'll be bingeing your videos to prep for exams. Thank you for making them!!

  • @madaweehathloul2045
    @madaweehathloul2045 หลายเดือนก่อน

    100000/100000

  • @tuankhanhtrinh4891
    @tuankhanhtrinh4891 หลายเดือนก่อน

    I wonder if we choose the string 0^p1^p and choose y to be 1^p. Doesn’t it not satisfy the condition of |xy| =< p? 😃

  • @DrGulgulumal
    @DrGulgulumal หลายเดือนก่อน

    Thanks !

  • @mehradzeinali9703
    @mehradzeinali9703 หลายเดือนก่อน

    thank you for the short n informative vid

  • @richoryx1956
    @richoryx1956 หลายเดือนก่อน

    100th comment 🎉

  • @shitshow_1
    @shitshow_1 2 หลายเดือนก่อน

    Wow, now the Wikipedia explanation makes more sense :D

  • @oximas-oe9vf
    @oximas-oe9vf 2 หลายเดือนก่อน

    buts it makes no sense as for example chatgpt is a program and I could give it a program and it will tell me wether it halts or not ???

    • @paulblart7378
      @paulblart7378 หลายเดือนก่อน

      Sarcasm? Or stupidity?

    • @oximas-oe9vf
      @oximas-oe9vf หลายเดือนก่อน

      @@paulblart7378 Stupidity I guess, I asked chat gpt and I understood, it gave me a program with a really complex math formula one that hasn't been proven to always diverge. what I didn't get was that you had to determine halting or not without actually running the problem

  • @ioanabiris3472
    @ioanabiris3472 2 หลายเดือนก่อน

    Thank you!

  • @ioanabiris3472
    @ioanabiris3472 2 หลายเดือนก่อน

    Thank you!

  • @ioanabiris3472
    @ioanabiris3472 2 หลายเดือนก่อน

    Thank you!