L15: Proof by Diagonalization that ATM (Halting Problem) is Not Decidable

  Рет қаралды 24,444

UC Davis

UC Davis

Күн бұрын

Proof, by diagonalization, that ATM, the Halting Problem, is not decidable.

Пікірлер: 24
@bazzler13
@bazzler13 9 жыл бұрын
Excellent explanation! This is such a life-saver and much better than the rushed, heavily hand-waved explanation I got from my lecturer. Thank you!
@mattiaricci1524
@mattiaricci1524 8 жыл бұрын
Really enlighten, finally I've got the feeling to grasp diagonalization proof. I just hope it won't vanish too fast
@jackphel
@jackphel 11 жыл бұрын
I appreciate that you posted this lecture. I had misunderstood the lecture at my own school, and watching this lecture I came to understand my error.
@SemicolonExpected
@SemicolonExpected 3 жыл бұрын
I came across this while studying for my finals and this took me back to my undergrad theory class. Much nostalgia for my favorite class. Thanks
@johnhills8922
@johnhills8922 5 жыл бұрын
This is a great explanation of diagonalization proof for the halting problem. Great stuff!
@peteolcott7822
@peteolcott7822 3 жыл бұрын
The video is very similar to the Sipser version. As soon as I saw UC Davis I knew it must be good, because my favorite author is from UC Davis: Peter Linz. I had always mistaken the halting problem diagonalization proof for the same thing as the diagonal lemma so I always ignored it. When I needed to learn it, careful notes of this video was all that was required to gain a complete understanding.
@constantmarks3187
@constantmarks3187 3 жыл бұрын
Thanks, that was a very good description of the argument.
@leo2002b
@leo2002b 9 жыл бұрын
Great explanation! This helped me finally get a good understanding of this material.
@musterstudent6746
@musterstudent6746 7 жыл бұрын
very good explanation, thank you. but I think this is the membership problem, not the halting problem. it would be the halting problem if the second table would accept on accept or reject from the first table and only reject if the first table doesnt halt.
@Gnichs
@Gnichs 11 жыл бұрын
Thanks, this video dissolved my confusion over this problem.
@depresso18163
@depresso18163 7 жыл бұрын
FINALLY!!!! Thank you! An explanation I understand.
@warnford
@warnford 5 жыл бұрын
Many thanks - I love his lectures on diagonalisation
@ytpah9823
@ytpah9823 4 жыл бұрын
Using the diagonalization argument requires endless input, which of course would not be computable. Try it with finite length sets (which in turn would only be relevant for very limited limits of 'finite').
@jakethomas6123
@jakethomas6123 5 жыл бұрын
It's interesting to compare the two arguments. In the other proof, it is critical to realize that we can pass a program in by reference, otherwise the value we'd be passing into the subroutine would be infinitely long, rendering the proof invalid (would not be able to set up the contradiction because we would never be able to get to it). Also in the other proof, note that the subroutine is "hard-coded" (not passed into the program), but we were free to imagine it as anything. But above, we have a critical difference: the programs may receive input. So, we instead pass a finite description of D into a finite description of D. That does not blow up into infinity if we choose to pass by value: Here, when D is passed into itself, the "inner D" still has variables for what it passes into H. So that keeps an infinite loop from happening in anything we've defined. Conveniently, we don't define H; we assume it to exist for sake of contradiction. So now you know the (or "a") point of having this proof by diagonalization: it shows that you can prove the point without "pass-by-reference", instead strictly adhering to "pass-by-value".
@Tony-bn7jj
@Tony-bn7jj 9 жыл бұрын
Great video, very helpful. thanks for sharing!
@morenon07133T
@morenon07133T 7 жыл бұрын
Very good explanation, thanks a lot.
@StepwaveMusic
@StepwaveMusic 5 жыл бұрын
I still don't get it, sadly. If D gets input D, which we'll call D1 and D2 respectively, then If D2 accepts, D1 accepts as well because D1 decides whether it's input (D2) is accepted or not If D2 rejects, D1 rejects as well because D1 decides whether it's input (D2) is accepted or not So it behaves just like you want it? I don't understand why the solution would be reject when the input accepts or otherwise.
@rashmidhant3364
@rashmidhant3364 3 жыл бұрын
what are even on about ? D1 for you is a turing Machine and D2 is an input . So "if D2 accepts" is in itself a wrong statement. How can a input accept anything ? And if thats not what you mean, then to what machine is D2 getting accepted to?
@ZeroG
@ZeroG 4 жыл бұрын
But prima facie D is insane because it claims that a boolean output (true/false) could be identical to a non-boolean output (true/false/doesn't halt). So this proof is no good. For the proof to be any good, D must be capable of producing the same type of output as the first table (true/false/doesn't halt). As it stands D could never match the first table for any M so this proof fails. I think this is a misreading of Turing.
@rashmidhant3364
@rashmidhant3364 3 жыл бұрын
Sir said that the first Table is, the Behaviour of all possible Turing machines. The second Table is a table that is the deciding turning machine for the original table. Basically, it tells whether a particular tuple is accepted or rejected in the original table. How? Simple, if by the original table the particular pair would have halted and accept, then the H would give the answer as accepted. If it halts and rejects, then H has answer reject. If it by chance doesn't halt, then basically the Turing Machine was not made for that language and thus its end product should have been halt and reject but rather got stuck in an endless loop due to incomplete halt and reject cases. So H gives the answer as reject. Thus H is a boolean table only and D simply being the reverse of the diagonal of H, is also a boolean table.
@Fahodinho
@Fahodinho 2 жыл бұрын
why all these videos are too old
@learnwithsid2044
@learnwithsid2044 6 жыл бұрын
our awesome teacher . i like your video .i need your help .i am stuck can you please help me in this question : Distinguish each of the following axioms as either Peano arithmetic or Presburger arithmetic with proper reason. 1. a×b (a + b) = (a×b) 2. a+ 1 = b + 1 → a = b please if its possible answer me within in one hour . kindly i am waiting for reply
@trawencz
@trawencz 3 ай бұрын
I don't think he's going to make it in time
L17: Using Reductions to Prove Language Undecidable
53:51
UC Davis
Рет қаралды 32 М.
16. Complexity: P, NP, NP-completeness, Reductions
1:25:25
MIT OpenCourseWare
Рет қаралды 400 М.
So Cute 🥰
00:17
dednahype
Рет қаралды 67 МЛН
Шок. Никокадо Авокадо похудел на 110 кг
00:44
小丑妹妹插队被妈妈教训!#小丑#路飞#家庭#搞笑
00:12
家庭搞笑日记
Рет қаралды 36 МЛН
Как мы играем в игры 😂
00:20
МЯТНАЯ ФАНТА
Рет қаралды 3 МЛН
L16: Unrecognizable Languages and Reductions
40:08
UC Davis
Рет қаралды 10 М.
Are There Problems That Computers Can't Solve?
7:58
Tom Scott
Рет қаралды 2,9 МЛН
The way math should be taught
14:47
Tibees
Рет қаралды 170 М.
Proof That Computers Can't Do Everything (The Halting Problem)
7:52
How to STUDY so FAST that it feels ILLEGAL😳
7:21
jspark
Рет қаралды 1 МЛН
Turing & The Halting Problem - Computerphile
6:14
Computerphile
Рет қаралды 856 М.
New Breakthrough on a 90-year-old Telephone Question
28:45
Eric Rowland
Рет қаралды 115 М.
The Halting Problem - An Impossible Problem to Solve
7:37
Up and Atom
Рет қаралды 251 М.
3 Discoveries in Mathematics That Will Change How You See The World
16:46
So Cute 🥰
00:17
dednahype
Рет қаралды 67 МЛН