Download presentation
Presentation is loading. Please wait.
Published byDenis White Modified over 9 years ago
1
February 4, 2015CS21 Lecture 131 CS21 Decidability and Tractability Lecture 13 February 4, 2015
2
CS21 Lecture 132 Outline many-one reductions undecidable problems –computation histories –surprising contrasts between decidable/undecidable Rice’s Theorem
3
February 4, 2015CS21 Lecture 133 Definition of reduction Can you reduce co-HALT to HALT? We know that HALT is RE Does this show that co-HALT is RE? –recall, we showed co-HALT is not RE our current notion of reduction cannot distinguish complements
4
February 4, 2015CS21 Lecture 134 Definition of reduction More refined notion of reduction: –“many-one” reduction (commonly) –“mapping” reduction (book) yes no yes no AB reduction from language A to language B f f
5
February 4, 2015CS21 Lecture 135 Definition of reduction function f should be computable Definition: f : Σ*→ Σ* is computable if there exists a TM M f such that on every w Σ* M f halts on w with f(w) written on its tape. yes no yes no AB f f
6
February 4, 2015CS21 Lecture 136 Definition of reduction Notation: “A many-one reduces to B” is written A ≤ m B –“yes maps to yes and no maps to no” means: w A maps to f(w) B & w A maps to f(w) B B is at least as “hard” as A –more accurate: B at least as “expressive” as A
7
February 4, 2015CS21 Lecture 137 Using reductions Definition: A ≤ m B if there is a computable function f such that for all w w A f(w) B Theorem: if A ≤ m B and B is decidable then A is decidable Proof: –decider for A: on input w, compute f(w), run decider for B, do whatever it does.
8
February 4, 2015CS21 Lecture 138 Using reductions Main use: given language NEW, prove it is undecidable by showing OLD ≤ m NEW, where OLD known to be undecidable –proof by contradiction –if NEW decidable, then OLD decidable –OLD undecidable. Contradiction. common to reduce in wrong direction. review this argument to check yourself.
9
February 4, 2015CS21 Lecture 139 Using reductions Theorem: if A ≤ m B and B is RE then A is RE Proof: –TM for recognizing A: on input w, compute f(w), run TM that recognizes B, do whatever it does. Main use: given language NEW, prove it is not RE by showing OLD ≤ m NEW, where OLD known to be not RE.
10
February 4, 2015CS21 Lecture 1310 Many-one reduction example Showed E TM undecidable. Consider: co-E TM = { : L(M) Ø} yes no yes no A TM co-E TM f f f( ) = where M’ is TM that on input x, if x w, then reject else simulate M on x, and accept if M does f clearly computable
11
February 4, 2015CS21 Lecture 1311 Many-one reduction example yes maps to yes? –if A TM then f(M, w) co-E TM no maps to no? –if A TM then f(M, w) co-E TM yes no yes no A TM co-E TM f f f( ) = where M’ is TM that on input x, if x w, then reject else simulate M on x, and accept if M does f clearly computable
12
February 4, 2015CS21 Lecture 1312 Undecidable problems Theorem: The language REGULAR = { : M is a TM and L(M) is regular} is undecidable. Proof: –reduce from A TM (i.e. show A TM ≤ m REGULAR) –what should f( ) produce?
13
February 4, 2015CS21 Lecture 1313 Undecidable problems Proof: –f( ) = described below on input x: if x has form 0 n 1 n, accept else simulate M on w and accept x if M accepts is f computable? YES maps to YES? A TM f(M, w) REGULAR NO maps to NO? A TM f(M, w) REGULAR
14
February 4, 2015CS21 Lecture 1314 Dec. and undec. problems the boundary between decidability and undecidability is often quite delicate –seemingly related problems –one decidable –other undecidable We will see two examples of this phenomenon next.
15
February 4, 2015CS21 Lecture 1315 Computation histories Recall configuration of a TM: string uqv with u,v *, q Q The sequence of configurations M goes through on input w is a computation history of M on input w –may be accepting, or rejecting –reserve the term for halting computations –nondeterministic machines may have several computation histories for a given input.
16
February 4, 2015CS21 Lecture 1316 Linear Bounded Automata LBA definition: TM that is prohibited from moving head off right side of input. –machine prevents such a move, just like a TM prevents a move off left of tape How many possible configurations for a LBA M on input w with |w| = n, m states, and p = | | ? –counting gives: mnp n
17
February 4, 2015CS21 Lecture 1317 Dec. and undec. problems two problems we have seen with respect to TMs, now regarding LBAs: –LBA acceptance: A LBA = { : LBA M accepts input w} –LBA emptiness: E LBA = { : LBA M has L(M) = Ø} Both decidable? both undecidable? one decidable?
18
February 4, 2015CS21 Lecture 1318 Dec. and undec. problems Theorem: A LBA is decidable. Proof: –input where M is a LBA –key: only mnp n configurations –if M hasn’t halted after this many steps, it must be looping forever. –simulate M for mnp n steps –if it halts, accept or reject accordingly, –else reject since it must be looping
19
February 4, 2015CS21 Lecture 1319 Dec. and undec. problems Theorem: E LBA is undecidable. Proof: –reduce from co-A TM (i.e. show co-A TM ≤ m E LBA ) –what should f( ) produce? –Idea: produce LBA B that accepts exactly the accepting computation histories of M on input w
20
February 4, 2015CS21 Lecture 1320 Dec. and undec. problems Proof: –f( ) = described below on input x, check if x has form #C 1 #C 2 #C 3 #...#C k # check that C 1 is the start configuration for M on input w check that C i 1 C i+1 check that C k is an accepting configuration for M is B an LBA? is f computable? YES maps to YES? co-A TM f(M, w) E LBA NO maps to NO? co-A TM f(M, w) E LBA
21
February 4, 2015CS21 Lecture 1321 Dec. and undec. problems two problems regarding Context-Free Grammars: –does a CFG generate all strings: ALL CFG = { : G is a CFG and L(G) = Σ*} –CFG emptiness: E CFG = { : G is a CFG and L(G) = Ø} Both decidable? both undecidable? one decidable?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.