csci 4325 / 6339 theory of computation zhixiang chen department of computer science university of...

37
CSCI 4325 / 6339 Theory of Computation Zhixiang Chen Department of Computer Science University of Texas-Pan American

Upload: alexis-kew

Post on 15-Dec-2015

219 views

Category:

Documents


0 download

TRANSCRIPT

CSCI 4325 / 6339Theory of Computation

Zhixiang Chen

Department of Computer Science

University of Texas-Pan American

Chapter FiveUndecidability

The Church-Turing Thesis

Any intuitive algorithm can be simulated by a TM which halts on all inputs Intuitive algorithms = TM’s

Any intuitively computable function can be computed by a TM Intuitive computability = TM computability

Universal Turing Machines

Generic TM which can simulate all TM’s Ideas of universal TM construction

Encode a TM using a string of characters Decode the string to obtain the encoded TM Simulate the computation of the encoded TM

Encode of a TM

Let Fix such that and are smallest integers for

the following

Each state in K can be represented by q followed by a binary string of length i.

Each symbol in can be represented by a followed a binary string of length j.

ji,

2||2

||2

j

i K

),,,,( HsKM i j

},{

Encode of a TM

Special Symbols

The start state

110

100

10

0_

2

2

1

j

j

j

j

a

a

a

a

iq0

Encode of a TM

Encode transitions

Encode String of a TM M Assume M has transitions

Then the encode is nttt ,,, 21

)(,),(),(

)(

21 ntencodetencodetencode

Mencode

))(),(),(),((

),,,(

bencodepencodeaencodeqencode

bpaq

Remark:

How to encode halting states Indirect way:

States not in the first component of any transition Direct way:

Use a special symbol and use the usual state encoding scheme

Examples Ex.

i=2, j=3.

),(

),(_

),(

),(

_),(_

_),(

qq

sq

asaq

ss

hs

qas

symbolstate

ahqsK

hsKM

:

},{_,},,,{

}){,,,,(

Examples

Encoding Encode(M)=

100

011

010

100

000_

11

01

00

aa

a

a

a

a

qh

qq

qs

)011,01,001,01(

),011,00,000,01(

),011,00,100,01(

),011,00,001,00(

),000,11,000,00(

),000,01,100,00(

aqaq

aqaq

aqaq

aqaq

aqaq

aqaqState/symbol Code

The Universal TM

Simulate computation of a TM on input w Construction

Current state of M

Encode(M)

Work on w

Finite Control of the Universal TM

The New Worldr.e. complete sets

r.e. sets

recursive sets noncomputable sets

The Halting Problem

The Halting Problem. Given any program P and any input x, decide whether P halts on x.

The Languages

:,, 11 HHH

)}(':)({

)}(:)({

}:)()({

1

1

MencodeonhalttdoesnMMencodeH

MencodeonhaltsMMencodeH

onhaltsMencodeMencodeH

Non-Computable Language

Theorem 5.3.1. The Languages and are not recursive.

Remark: and are r.e. The theorem implies that the class of r.e. languages is

strictly larger than the class of recursive languages

1HH

H1H

Proof. Of Theorem 5.3.1

Only need to show that is not recursive.

To do so, only need to show that the following claim.

Claim. is not r.e. Proof. By contradiction. Assume it is r.e. Then, there is a

TM M’ such that

Now we have

1H

ioncontradictA

MencodeM

MLMencode

HMencodeMencodeM

))'(('

)'()'(

)'())'((' 1

1H

)'(1 MLH

Theorem

Theorem 5.3.2. The class of r.e. languages is not closed under complement.

Proof. is r.e. However, is not r.e.

1H

1H

r.e. setsrecursive sets

Sets that are not r.e.

Some Observation

Every r.e. language is “reducible” to H. Can you see why?

Let L be any r.e. language such that L=L(M) for some TM M.

For any w, we have

HwencodeMencode

MLw

)()(

)(

Undecidable Problems about TM’s Known: The halting problem is not decidable. Want: More undecidable problems Reduction: Reduce a known non-decidable

problem to the given problem

Reduction

Definition. Let be languages. A reduction from to is a recursive function

such that

**:

21* )(, LxLxx

*21, LL

1L 2L

Two Ways of Using a Reduction Theorem 5.4.1. A. If is not recursive, and there

is a reduction from to then is not recursive.

Proof. It follows from the fact that is reducible to we have

Hence, if is recursive, so is yielding a contradiction.

1L

21* )(, LxLxx

1L ,2L 2L

1L

,2L

1L2L

Two Ways of Using a Reduction Theorem 5.4.1. A. If is recursive, and there is a

reduction from to then is recursive.

Proof. It follows from the fact that is reducible to we have

Hence, if is recursive, so is

2L

1L

21* )(, LxLxx

,2L 1L

1L,2L

2L .1L

More Undecidable Problems

Theorem 5.4.2. The following problems about TM’s are undecidable: (a) Given a TM M and an input w, does M halts on input w? (b) Given a TM M, does M halts on the empty tape? (c) Given a TM M, is there any string at all on which M

halts? (d) Given a TM, does M halts on every input string? (e) Given two TM’s M1 and M2, do they halt on the same

input string? (f) Given a TM M, is the language that M semidecides

regular? Is it context-free? Is it recursive? (g) Furthermore, there is a certain fixed TM M, for which

the following problem is undecidable: Given w, does M halt on w?

Proof of Theorem 5.4.2.

(a). Proved. This is the halting problem. (b) Reduce H to this problem

Reduction: For any w and M, construct a new TM M’. M’ starts with an empty and then writes w, and then simulate M on w.

M halts w iff M’ halts on the empty tape (c) Reduce (b) to (c).

Reduction: For any w and M, construct a new TM M’. M’ starts erasing w, and then simulate M on the empty tape.

M halts on the empty tape iff M’ halts on some string (acutually, M’ halts on all strings)

Proof of Theorem 5.4.2.

(d) Proof for (c) works here. Recall M’ for (c) halts on some string iff it halts on all strings.

(e) Reduce (d) to (e). Reduction: Fix a TM X accepting all strings. For

any TM M, we have M and X accept the same string iff M accepts all

strings

Proof of Theorem 5.4.2.

(f) Reduce (b) to (f). Reduction: For any TM M and any input w,

construct M’. M’ simulate M on the empty tape first. If this halts, then M’ simulates M on w.

If M halts on the empty tape, then L(M)= H. Recall H is not regular, nor context-free, nor recursive.

If M does not halt on the empty tape, L(M’) is empty, hence regular, context-free, and recursive.

Proof of Theorem 5.4.2.

(g) Consider the fixed universal TM U. Form any TM M and any input w, we have

M halts on w iff U halts on encode(M)encode(w)

Unsolvable Problems about Unrestricted Grammars Theorem 5.5.1. The following problems are

undecidable: (a) For a given grammar G and a string w, to determine

whether w is in L(G)? (b) For a given grammar G, to determine whether e is in

L(G)? (c) For two given grammars G1 and G2, to determine

whether L(G1)=L(G2)? (d) For an arbitrary grammar G, to determine whether L(G)

is empty? (e) Furthermore, there is a certain fixed grammar G’, such

that it is undecidable to determine whether any given string w is in L(G’)?

Proof of Theorem 5.5.1.

(a) Let M be the TM that semidecides H. Then, we have a grammar G to generate L(M)=H. Since H is not decidable, whether w is in L(G) or not is not decidable.

Other proofs are similar.

More Undecidable Problems about Context-Free Grammars Theorem 5.5.2. Each of the following

problems is undecidable: (a) Given a CF grammar G, is L(G)=∑* ? (b) Given two CF grammars G1 and G2, is

L(G1)=L(G2) ? (c) Given pushdown automata M1 and M2, do

they accept precisely the same language? Given a pushdown automaton, find an equivalent

pushdown automaton as few states as possible. Proof.

Properties of Recursive Languages Theorem 5.7.1. A language is recursive iff

both it and its complement are r.e.

Proof. (Prove in class)

Turing Enumerable

Definition. We say that a TM enumerates a language L iff for some fixed state q of M,

Theorem 5.7.2. A language is r.e. iff it is Turing enumerable.

Proof. (Prove in class.)

)}._,()_,(:{ qsL

Lexicographically Enumerable Definition. Let M be a TM enumerating a

language L. We say that M lexicographically enumerates L if the following is true, where q is a special “display” state: Wherever

then w’ comes lexicographically after w.

A language is lexicographically enumerable iff trhere is a TM that lexicographically enumerates it.

)}'_,()_,( qq

Recursive vs. Lexicographically Enumerable Theorem 5.7.3. A language is recursive iff it

is lexicographically enumerable.

Proof. (Prove in class.)

Rice Theorem

Rice Theorem. Suppose that (1) C is nonempty (2) C is a proper subset of the class of all r.e.

languages.

Then the following is undecidable: Given a TM M, is L(M) in C?

r.e. languagesC

L2

L1

Proof of Rice Theorem

Reduce the halting problem to the membership testing of C.

Assume (If not, we consider )

Let Define

We have

.C .C

))((,

))((),()( 1

MencodeMif

MencodeMifwMwTM

.)( 11 CMLL

CTLLTL

MencodeM

MM

)()(

))((

1

How to Use Rice Theorem?

Define a class C for a given problem such that C is not empty C is a proper subset of all r.e. languages Solving the problem is equivalent to membership

testing of C When the above three conditions are true,

then by Rice theorem, the given problem is not decidable.

Applications of Rice Theorem

Use Rice Theorem to the following problems are not decidable: Given a TM M, to determine whether L(M) is

finite? Given a TM M, to determine whether L(M) is

infinite? Given a TM M, to determine whether L(M) is

context-free More …