63
ATM, Halting Problem, P vs. NP Chapter 4, 5 & 7

ATM, Halting Problem, P vs. NP Chapter 4, 5 & 7. Russel’s Paradox An Index is a book that lists other books in

Embed Size (px)

Citation preview

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

1. If the non-recursive index lists itself then its recursive and shouldn’t be in the list.

2. 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

Big-O

Little-o

O(n2)

O(n log2n)

O(n)

Non-determinism

The Cost of Non-determinism

The Class P

Example of a problem in P

PATH is polynomial

The Class NP

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

Hamiltonian Path Algorithm – Non-deterministic

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)

Non-determinism O(kn)

• k is usually 2– Given a graph with n vertices, there are 2n possible

subsets.• 2 options for each vertex• Either you are in the subset (1) on not (0)• Binary state condition

– Given a list with n value, there are 2n possible subsets

Non-determinism O(kn)

“Non deterministically select a subset implies 2n operations.”• This is a loop through a Turing machine state

that has a branching non-deterministic transition

• For each n vertex regardless of the tape symbol– Add (1) the vertex to the subset and continue– Don’t add (2) the vertex and continue