Presentation is loading. Please wait.

Presentation is loading. Please wait.

Theory of Computability

Similar presentations


Presentation on theme: "Theory of Computability"— Presentation transcript:

1 Theory of Computability
Giorgi Japaridze Theory of Computability Decidability Chapter 4

2 Examples of decidable languages
Giorgi Japaridze Theory of Computability Decidable: {1,3,5} {x | x is even} {x | x is a perfect square} {x | x2-10x = 0} {x | x=y*z for some integers y,z>1 (i.e. x is not prime)} {x | x is a prime (i.e. x is not divisible by anything except 1 and itself)} {<G> | G is a connected graph} {<P> | P is a one-variable polynomial expression with an integral root} Hilbert’s 10th problem (are there integral roots to polynomial expressions?) Or better: “x is a perfect square” Now: \exists x x is a solution to X^2 – 10x = 2000 Or the problem \exists m,n,k 2^m+3^n= Undecidable: {<P> | P is a two-variable polynomial expression with an integral root}

3 The universal Turing machine
Giorgi Japaridze Theory of Computability Let ATM = {<M,w> | M is a TM and M accepts string w} ATM is misleadingly called the halting problem in the textbook. Instead, we will call it the acceptance problem. Theorem: ATM is Turing-recognizable. Proof idea. The following TM U, called the universal TM, recognizes ATM: U = “On input <M,w>, where M is a TM and w is a string: 1. Simulate M on input w. 2. If M ever enters its accept state, accept; if M ever enters its reject state, reject.” The idea of U played an important role in stimulated the development of stored-program computers. Does U also decide ATM?

4 Theorem 4.11: ATM is undecidable.
Giorgi Japaridze Theory of Computability Theorem 4.11: ATM is undecidable. Proof idea. Suppose, for a contradiction, that ATM is decidable. That is, there is a TM H that decides ATM. Thus, that machine H behaves as follows: accept if M accepts w reject if M does not accept w H(<M,w>) = Using H as a subroutine, we can construct the following TM D: D = “On input <M>, where M is a TM: 1. Run H on input <M,<M>>. 2. Do the opposite of what H does. That is, if H accepts, reject, and if H rejects, accept.” Mention programs taking themselves as an input. Say, a C complier written in C, can compile itself! accept if M does not accept <M> reject if M accepts <M> Thus, D(<M>) =

5 accept if D does not accept <D> reject if D accepts <D>
ATM is undecidable 4.2.b.2 Giorgi Japaridze Theory of Computability accept if D does not accept <D> reject if D accepts <D> But then D(<D>) = Contradiction! The idea of U played an important role in stimulated the development of stored-program computers.

6 A Turing-unrecognizable language
Giorgi Japaridze Theory of Computability ATM = {<M,w> | M is a TM and M accepts string w} ATM = {<M,w> | M is a TM and M does not accept string w} Theorem 4.23: ATM is Turing-unrecognizable. Proof idea. Suppose, for a contradiction, that ATM is Turing-recognizable. That is, there is a TM U that recognizes ATM. U recognizes ATM (slide 4.2.a) U recognizes ATM Thus, The idea of U played an important role in stimulated the development of stored-program computers. Let K = “On input <M,w>: 1. Run both U and U on input <M,w> in parallel; 2. If U accepts, accept; if U accepts, reject.” It can bee seen that K decides ATM, which contradicts Theorem 4.11.

7 The language hierarchy summary
4.2.d Giorgi Japaridze Theory of Computability All languages ATM Turing-recognizable languages ATM Turing-decidable languages {<G> | G is a connected graph}


Download ppt "Theory of Computability"

Similar presentations


Ads by Google