Date post: | 21-Dec-2015 |
Category: |
Documents |
Upload: | elijah-logan |
View: | 216 times |
Download: | 0 times |
Theory of Computing
Lecture 20MAS 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)
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
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}
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>
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}
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}
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
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?
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).
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
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
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
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.
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
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
Corollary
• There are languages such the neither L not C(L) are recognizable
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
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
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]
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
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