Top Banner
Theory of Computing Lecture 20 MAS 714 Hartmut Klauck
22

Theory of Computing Lecture 20 MAS 714 Hartmut Klauck.

Dec 21, 2015

Download

Documents

Elijah Logan
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Theory of Computing Lecture 20 MAS 714 Hartmut Klauck.

Theory of Computing

Lecture 20MAS 714

Hartmut Klauck

Page 2: Theory of Computing Lecture 20 MAS 714 Hartmut Klauck.

Decidability

• Definition: A language is decidable if there is a TM that accepts all words in the language and rejects all words not in the language

• In particular it always halts in finite time• For a Turing machine M the language accepted

by M is the set of x on which M accepts (denoted by LM)

Page 3: Theory of Computing Lecture 20 MAS 714 Hartmut Klauck.

Example

• U={<M>,x: M accepts x}– Universal Language (inputs acc. by the universal TM)

• U is not decidable: HALT· U– Note: decider must be correct and halt on all inputs

• Reduction: Map <M>,x to <N>,x– where N is the machine that simulates M, and if M

halts, then N accepts (N never rejects)• <M>,x2 HALT, <N>,x2 U

Page 4: Theory of Computing Lecture 20 MAS 714 Hartmut Klauck.

Decidability

• The complement of L is the set of strings that is not in L (over the same alphabet)

• Observation: L is decidable if and only if C(L) is decidable– simply switch acceptance with rejecting

• Corollary: If L is not decidable then C(L) is also not decidable

• Example: EMPTY={<M>: LM=;} is not decidable– Note this is not exactly the complement of NEMPTY, but the

complement minus a computable set: {x: x is not a TM encoding}

Page 5: Theory of Computing Lecture 20 MAS 714 Hartmut Klauck.

Equivalence

• EQ={<M>,<N>: LM =LN}

• Theorem: EQ is not decidable• Reduction from EMPTY• Fix some TM N that never accepts• Reduction maps <M> to <M>,<N>

Page 6: Theory of Computing Lecture 20 MAS 714 Hartmut Klauck.

Closure

• If L is decidable and S is decidable then– Complement of L is decidable– LÅS is decidable– L[S is decidable

• Corollary:– CH={<M>: M halts on no input} is not decidable• CH=C(H)-{x: not encoding a TM}

Page 7: Theory of Computing Lecture 20 MAS 714 Hartmut Klauck.

Rice’s Theorem

• A (nontrivial) property P of languages is a subset of all languages – such that there is a language (accepted by a TM) with P and a

language (accepted by a TM) without P

• Theorem: Let L(P)={<M>: LM has property P},where P is a nontrivial property– Then: L(P) is not decidable

• Example: {<M>: fM can be computed in polynomial time}– Note: M might not run in polynomial time

• Not an example: {<M>: M runs 100 steps on the empty input}

Page 8: Theory of Computing Lecture 20 MAS 714 Hartmut Klauck.

Proof [Rice]• We assume that ; does not have property P

– Otherwise we use the complement of P

• Denote by A some TM such that LA has property P– Must exist since P is not trivial

• We show that U· LP

• Given <M>, x we construct Mx:– Simulate M on x– If M accepts x then simulate A on the input u to Mx

– If M does not accept x go into infinite loop

• Now: <M>,x2 U) M accepts x ) Mx accepts u iff A accepts u) Mx behaves like A and L(Mx) has property P

• <M>,x not in U) Mx will not halt) L(Mx) is empty, L(Mx) does not have property P

Page 9: Theory of Computing Lecture 20 MAS 714 Hartmut Klauck.

Nondeterminism

• Consider the set of languages that can be accepted by nondeterministic TM that always halt

• As before we can see that these can be simulated by deterministic TM that run in exponentially more time

• Corollary: Computability by deterministic and nondeterministic TM is the same as long as the TM must halt

• What if the NTM does not need to halt?

Page 10: Theory of Computing Lecture 20 MAS 714 Hartmut Klauck.

One-sided decisions

• For NP it does not matter if the NTM halts on inputs not in the language, because we have a time upper bound and can stop the machine after that time

• If there is no time bound we never know if the machine might still accept

• Definition: A language L is recognizable if there is a TM that accepts it (which might never stop on inputs outside of L).

Page 11: Theory of Computing Lecture 20 MAS 714 Hartmut Klauck.

Example

• Halting problem HALT• Simply simulate M on x• If M halts on x, accept

• Clearly: all <M>,x that are in HALT are accepted, all other <M>,x are not accepted

• Theorem: HALT is recognizable• Similar: H={<M>: M accepts some x} is

recognizable

Page 12: Theory of Computing Lecture 20 MAS 714 Hartmut Klauck.

Complements

• Theorem:– If L and C(L) are recognizable, then L is decidable

• Proof:– There are recognizers M and N for L and C(L)– Idea: simulate both in parallel• Simulate M for a few steps, then N, then M again...

– One of them stops: can make the decision– x2 L then M accepts and our machine also accepts– x2 C(L) then N accepts and our machine rejects

Page 13: Theory of Computing Lecture 20 MAS 714 Hartmut Klauck.

Complements

• Corollary: the following situations are possible:– L and C(L) both decidable– L recognizable but C(L) not recognizable and both

not decidable– both L and C(L) not recognizable

• Example: HALT is not decidable but recognizable, hence C(HALT) not recognizable

Page 14: Theory of Computing Lecture 20 MAS 714 Hartmut Klauck.

Not recognizable

• Theorem: Assume L· S . If L is not recognizable then S is not recognizable– Proof: If S is recognizable, we can recognize L by

computing the reduction and then using the recognizer for S

• Theorem: C(U) is not recognizable• Proof: Enough to show that U is recognizable,

since U is not decidable• How? Simulate M on x.

Page 15: Theory of Computing Lecture 20 MAS 714 Hartmut Klauck.

Not recognizable

• Theorem: EQ is not recognizable– Reduction from C(H)={<M>: M halts on no x}– Given <M> find N: N simulates M and accepts if M

halts– Map <M> to <N>, <S>, where S does not accept

anything– Then: <M>2 C(H) , N accepts nothing , <N>,<S>2

EQ

Page 16: Theory of Computing Lecture 20 MAS 714 Hartmut Klauck.

Not recognizable

• Theorem: C(EQ) is not recognizable• Proof:

– C(EQ)={<M>,<N>: LM LN }– Reduction from C(U)– N: ignore input, simulate M on x, accept if M accepts– S: accept every input– Map <M>, x to <N>,<S>– If M is in C(U) them M rejects x or never halts. Then N rejects or

never halts on every input, then N and S do not accept the same language

– If M is not in C(U), then M accepts x, then N accepts everything, then N and S accept the same language

Page 17: Theory of Computing Lecture 20 MAS 714 Hartmut Klauck.

Corollary

• There are languages such the neither L not C(L) are recognizable

Page 18: Theory of Computing Lecture 20 MAS 714 Hartmut Klauck.

Enumerable

• Definition: L is enumerable, if there is a Turing machine M that writes all strings in L to a special output tape– M has no input and runs forever

• Theorem: L is enumerable iff L is recognizable– Proof:• ): Enumerate L, test each output against x, once x is

found, accept

Page 19: Theory of Computing Lecture 20 MAS 714 Hartmut Klauck.

Back direction of the proof

• Idea: loop over all inputs, and write the accepted ones to the output tape

• Problem: TM does not halt• Solution: Dove-Tailing:– Loop over all strings x– Loop over all integers i– Simulate M on x for i steps.– If M accepts, write x to the output tape

• Clearly this machine eventually writes all recognized strings to the tape

Page 20: Theory of Computing Lecture 20 MAS 714 Hartmut Klauck.

Other problems?

• All problems so far concern Turing machines• Any other undecidable problems?

• Example: Arithmetic– Given a sentence in Peano arithmetic, can it be

proved from the Peano axiom [is it a theorem]?– Undecidable– Decidable: remove multiplication, still hard for

doubly exponential time [Presburger arithmetic]

Page 21: Theory of Computing Lecture 20 MAS 714 Hartmut Klauck.

Hilbert’s 10th problem

• A Diophantine equation is p(x1,…,xn)=0,where p is a polynomial with integer coefficients

• Question: Are there integer solutions?• Example: an+bn=c n, are there integer solutions

for n>2?– There are none, but this slide is too small for the

proof…• Theorem [Matiyasevich ’70]: The problem of

solving Diophantine Equations is uncomputable

Page 22: Theory of Computing Lecture 20 MAS 714 Hartmut Klauck.

Example: Posts’ correspondence problem

• Given two sequences of strings– example: A=[a, ab, bba] and B=[baa, aa, bb]

• Can we find a set of indices such that the corresponding strings are the same(concatenated?

• Example: 3,2,3,1– bba ab bba a = bb aa bb baa

• Problem is undecidable