Decidability and partial decidability
This presentation is the property of its rightful owner.
Sponsored Links
1 / 15

Decidability and Partial Decidability PowerPoint PPT Presentation


  • 78 Views
  • Uploaded on
  • Presentation posted in: General

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

Download Presentation

Decidability and Partial Decidability

An Image/Link below is provided (as is) to download presentation

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

Presentation Transcript


Decidability and partial decidability

Decidability and Partial Decidability


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 


Decidability and partial decidability

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

  • Note that the input to a Turing machine is a string of tape symbols.

  • The output to a Turing machine is also a string of symbols.


  • Decidability and partial decidability

    • 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


    Decidability and partial decidability

    • 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

  • If P is a problem then P, the complement of P, is P with the “yes” and “no” answers interchanged.


  • Decidability and partial decidability

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

  • A problem may have one or more encodings which represent instances of the problem as strings of symbols.

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


  • Decidability and partial decidability

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

  • Let S be the base set of a problem P and let x be an element of S. A Turing machine M solves the instance x of P if M gives the right answer on the encoding x’ of x and halts.

    • M can print “yes” or “no” on the tape

    • M can halt in state “y” or “n”

  • M solves a problem P if M gives the right answer on all instances of P, and halts.


  • Decidability and partial decidability

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


    Decidability and partial decidability

    • 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”.


    Decidability and partial decidability

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


    Decidability and partial decidability

    • 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.”


    Decidability and partial decidability

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


    Decidability and partial decidability

    • 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


    Decidability and partial decidability

    • 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


    Decidability and partial decidability

    • We may discuss primitive recursive functions later

  • Some computable functions are not primitive recursive (Ackermann’s function)

    • Maybe we will discuss this later


  • Login