BU CS 332 β Theory of Computation
Lecture 16:
- Mapping Reducibility
Reading: Sipser Ch 5.3
Mark Bun March 25, 2020
BU CS 332 Theory of Computation Lecture 16: Reading: Mapping - - PowerPoint PPT Presentation
BU CS 332 Theory of Computation Lecture 16: Reading: Mapping Reducibility Sipser Ch 5.3 Mark Bun March 25, 2020 Problems in language theory undecidable decidable decidable
Reading: Sipser Ch 5.3
Mark Bun March 25, 2020
3/30/2020 CS332 β Theory of Computation 2
πππ
decidable
πππ
decidable
πππ
decidable
πππ
decidable
πππ
decidable
ππ
undecidable
ππ
undecidable
ππ
?
πππ
?
A reduction from problem to problem is an algorithm for problem which uses an algorithm for problem as a subroutine If such a reduction exists, we say β reduces to β
3/30/2020 CS332 β Theory of Computation 3
If reduces to and is undecidable, then is also undecidable Proof template:
is decidable
as a subroutine, construct an algorithm deciding
is undecidable. Contradiction!
3/30/2020 CS332 β Theory of Computation 4
is undecidable
Proof: Suppose for contradiction that there exists a decider for
. We construct a decider for as follows:
On input : 1. Construct TMs
, as follows:
accepts, accept. Otherwise, reject. This is a reduction from
to
CS332 β Theory of Computation 5
is undecidable
Proof: Suppose for contradiction that there exists a decider for
. We construct a decider for as follows:
On input : 1. Construct TMs
, as follows: = =
accepts, accept. Otherwise, reject. This is a reduction from
to
CS332 β Theory of Computation 6
3/30/2020 CS332 β Theory of Computation 7
πππ
decidable
πππ
decidable
πππ
decidable
πππ
decidable
πππ
decidable
ππ
undecidable
ππ
undecidable
ππ
undecidable
πππ
?
is undecidable
Proof: Suppose for contradiction that there exists a decider for
. We construct a decider for as follows:
On input : 1. Construct a TM as follows:
accepts, accept. Otherwise, reject This is a reduction from
to
CS332 β Theory of Computation 8
is undecidable
Proof: Suppose for contradiction that there exists a decider for
. We construct a decider for as follows:
On input : 1. Construct a TM as follows: = βOn input ,
accepts, accept.β
accepts, accept. Otherwise, reject This is a reduction from
to
CS332 β Theory of Computation 9
3/30/2020 CS332 β Theory of Computation 10
Whatβs wrong with the following βproofβ? Bogus βTheoremβ:
is not Turingβrecognizable
Bogus βProofβ: Suppose for contradiction that there exists a recognizer for
. We construct a recognizer for :
On input :
accepts, reject. Otherwise, accept. This sure looks like a reduction from
to
CS332 β Theory of Computation 11
unrecognizable?
βprovingβ bogus theorems about recognizability?
3/30/2020 CS332 β Theory of Computation 12
Definition: A function
β β is computable if there is a TM
which, given as input any
β, halts with only
its tape. Example 1: Example 2: = where is a TM, is a string, and is a TM that ignores its input and simulates running
3/30/2020 CS332 β Theory of Computation 13
Definition: Language is mapping reducible to language , written
β β such that for
all strings
β, we have
3/30/2020 CS332 β Theory of Computation 14
Theorem: If
is decidable, then is also decidable Proof: Let be a decider for and let
β β be a
mapping reduction from to . Construct a decider for as follows: On input :
accepts, accept. Otherwise, reject.
3/30/2020 CS332 β Theory of Computation 15
Theorem: If
is decidable, then is also decidable Corollary: If
is undecidable, then is also undecidable
3/30/2020 CS332 β Theory of Computation 16
is undecidable
Proof: Suppose for contradiction that there exists a decider for
. We construct a decider for as follows:
On input : 1. Construct TMs
, as follows: = βOn input π¦, = βOn input π¦,
1. Ignore π¦
2. Run π on input π₯ 3. If π accepts, accept. Otherwise, reject.β
accepts, accept. Otherwise, reject. This is a reduction from
to
CS332 β Theory of Computation 17
hence is undecidable
Proof: The following TM computes the reduction: On input : 1. Construct TMs
, as follows: = βOn input π¦, = βOn input π¦,
1. Ignore π¦
2. Run π on input π₯ 3. If π accepts, accept. Otherwise, reject.β
CS332 β Theory of Computation 18
3/30/2020 CS332 β Theory of Computation 19
Theorem: If
is recognizable, then is also recognizable Proof: Let be a recognizer for and let
β β be a
mapping reduction from to . Construct a recognizer for as follows: On input :
accepts, accept. Otherwise, reject.
Theorem: If
is recognizable, then is also recognizable Corollary: If
is unrecognizable, then is also unrecognizable Corollary: If
is unrecognizable
3/30/2020 CS332 β Theory of Computation 20
3/30/2020 CS332 β Theory of Computation 21
is undecidable, is also undecidable
2.
is unrecognizable, is unrecognizable
3/30/2020 CS332 β Theory of Computation 22
3/30/2020 CS332 β Theory of Computation 23
hence is unrecognizable
Proof: The following TM computes the reduction: On input : 1. Construct TMs
, as follows: = βOn input π¦, = βOn input π¦,
1. Ignore π¦
2. Run π on input π₯ 3. If π accepts, accept. Otherwise, reject.β
3/30/2020 CS332 β Theory of Computation 24
3/30/2020 CS332 β Theory of Computation 25
πππ
decidable
πππ
decidable
πππ
decidable
πππ
decidable
πππ
decidable
ππ
undecidable
ππ
undecidable
ππ
undecidable
πππ
?
Theorem:
is undecidable
Proof idea: βComputation history methodβ
On input : 1. Construct a CFG such that:
β
does not accept
3/30/2020 CS332 β Theory of Computation 26
3/30/2020 CS332 β Theory of Computation 27
πππ
decidable
πππ
decidable
πππ
decidable
πππ
decidable
πππ
decidable
ππ
undecidable
ππ
undecidable
ππ
undecidable
πππ
undecidable
Post Correspondence Problem (PCP):
3/30/2020 CS332 β Theory of Computation 28
Domino:
Input: Collection of dominos. Match: List of some of the input dominos (repetitions allowed) where top = bottom Problem: Does a match exist? This is undecidable