- 106 Views
- Uploaded on
- Presentation posted in: General

Decidability and Partial Decidability

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

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

Decidability and Partial Decidability

- An alphabet is a finite set of symbols.
- Example: a,b,c are symbols; {a,b,c} is an alphabet.
- Example: 0,1 are symbols; {0,1} is an alphabet.

- (Sigma) represents an alphabet.
- A string over is a sequence of symbols from .
- Example: 01001 is a string over {0,1}
- Example: aabbaaa is a string over {a,b,c}

- * is the set of all finite strings over

- Example: {0,1}* is the set of all finite binary strings

- A problem is a set of yes-no questions.
- A problem consists of a set of objects (instances of the problem)called the base set, together with a right answer, either “yes” or “no”, for each object.
- Example: Blank tape halting problem.
- Base set: set of all Turing machines
- Instance of the problem: A Turing machine M
- Right answer for M: “Yes” if TM M halts on blank tape, “no” if not

- Example: Blank tape halting problem.

- Example: Student passing problem
- Base set: set of all comp006 students
- Instance of problem: A particular student A
- Right answer for A: “Yes” if student A passes, “no” if not

- The complement of the blank tape halting problem is the blank tape non-halting problem, in which the answer is “yes” if the TM fails to halt on blank tape, and “no” if it halts.
- The complement of the passing problem is the failing problem.

- For the blank tape halting problem an encoding represents Turing machines as strings of symbols.

- For the passing problem an encoding represents students as strings of symbols.

- M can print “yes” or “no” on the tape
- M can halt in state “y” or “n”

- M solves the blank tape halting problem if M, given an encoding of Turing machine T, always halts and answers “yes” if T halts on blank tape, and “no” if not.
- M solves the passing problem if M, given an encoding of a student A, halts and answers “yes” if A passes, and halts and answers “no” if A fails.

- A problem P is decidable (solvable) if there is a Turing machine T that solves P; such a T always halts. Else P is undecidable (unsolvable).
- A problem P is semidecidable (partially decidable, partially solvable) if there is a Turing machine T that partially solves P; such a T solves all instances of P for which the right answer is “yes”, but fails to halt for all instances of P for which the right answer is “no”.

- The blank tape halting problem is semidecidable if there is a Turing machine M that, given an encoding of TM T, halts and says “yes” if T halts on blank tape, but M fails to halt if T fails to halt on blank tape
- The passing problem is semidecidable if there is a Turing machine M that, given an encoding of a student A, halts and says “yes” if A passes the course, but fails to halt if A fails the course.
- Any problem whose base set is finite, is decidable! Can you see why? Even if we don’t know the answer the problem is decidable.

- If P is decidable then P is semidecidable.
- If P is semidecidable and P is semidecidable then P is decidable.
- Let Pyes be the set of encodings of instances x of P such that the right answer is “yes.”
- Let Pno be the set of encodings of instances x of P such that the right answer is “no.”

- For the blank tape halting problem, Pyes is the set of encodings of Turing machines that halt on blank tape. Pno is the set of encodings of Turing machines that do not halt on blank tape.
- For the passing problem Pyes is the set of encodings of students who pass the course and Pno is the set of encodings of students who do not pass the course.

- If P is semidecidable then Pyes is called recursively enumerable.
- If P is decidable, Pyes and Pno are said to be recursive.
- Functions can also be Turing computable
- A function f from strings to strings is Turing computable if whenever the Turing machine starts with x on the tape, it ends with f(x) on the tape
- Encode integers and tuples of integers as strings

- Thus one defines computability of functions on integers
- The common functions (addition, multiplication, subtraction) on integers are all computable by Turing machines
- Not all functions are computable by Turing machines.
- The “busy beaver function” is not computable
- We may discuss this later

- All primitive recursive functions are Turing computable

- We may discuss primitive recursive functions later

- Maybe we will discuss this later