Download Presentation
## ATM, Halting Problem, P vs. NP

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -

**ATM, Halting Problem, P vs. NP**Chapter 4, 5 & 7**Russel’s Paradox**• http://www.jimloy.com/logic/russell.htm • An Index is a book that lists other books in the library • Index of all biology text books in the library. • Consider the index of all indices, i.e., book that lists other indices. • It would contain itself. • Called a self-referential index (form of recursion). • Consider the index of all non self-referential indices. • The book that lists all indices that are non self-referential. • Call it the non-recursive index • If the non-recursive index lists itself then its recursive and shouldn’t be in the list. • But if it doesn’t list itself, then it is non-recursive and it should be listed as one of the non self-referential books.**ATM reduces to HALTTM**• Proof by Contradiction • Assume we have a Turing Machine R that decides HALTTM. • In other words, we can design an algorithm that determines of another algorithm (M) will halt on a given input (w).**ATM reduces to HALTTM**• Proof by Contradiction • Assume we have a Turing Machine R that decides HALTTM. • Then, use R to construct a new machine S that can decide ATM. • We have already proven that is NOT decidable. • So, if we can construct a machine S that can decide ATM based on HALTTM then we must conclude that cannot be decidable.**ATM reduces to HALTTM**• Proof by Contradiction • Assume we have a Turing Machine R that decides HALTTM. • Then, use R to construct a new machine S that can decide ATM. • We have already proven that ATM is NOT decidable. • So, if we can construct a machine S that can decide ATM based on HALTTM then we must conclude that cannot be decidable.**Deeply Understanding ATM**• ATM is just a set of strings where part of the string is the encoding of a Turing Machine (M) and the other part is an input string (w). • The string in ATM are the ones were the input w is accepted by the Machine M. • The string in the complement of are the ones the input w is rejected by the Machine M. • A decider for ATM cannot exist because there are absurd Turing Machines infinite loop or output nothing. • Detecting such absurdity is impossible because you are limited by the power of the same machine that allows for such absurdity. • Simulating an absurd Turing Machine with another Turing Machine cannot “undo” it absurdity and allow it to always produce an answer (accept or reject).**Chapter 7**Time Complexity**Polynomial Verification**• Some problems (Hamiltonian Path) cannot be solved in Polynomial Time (P), but… • If we could somehow obtain a solution (ask an oracle), the solution could be verified in P-time.**Hamiltonian Path: Decider vs. Verifier**• There is very subtle difference: • Hamiltonian Decider • Input: Graph • Output: Hamiltonian Path • Hamiltonian Verifier • Input: Graph, Hamiltonian Path • Output: Accept/Reject**Understand NP in English**• Problems where the solutions can be verified in P-Time, but cannot be “discovered” in P-time • Problems where the solutions can be “discovered” P-Time using a Non-deterministic Turing Machine • Note: Every non-deterministic Turing machine can be made deterministic by adding O(kn)