Title: Undecidable problems for Recursively enumerable languages
1Undecidable problemsfor Recursively enumerable
languages
2Take a recursively enumerable language
Decision problems
- contains two different strings
- of the same length?
All these problems are undecidable
3Theorem
For a recursively enumerable language
it is undecidable to determine whether is
finite
Proof
We will reduce the halting problem to this problem
4Let be the TM with
Suppose we have a decider for the finite
language problem
YES
finite
finite language problem decider
NO
not finite
5We will build a decider for the halting problem
YES
halts on
Halting problem decider
doesnt halt on
NO
6We want to reduce the halting problem to the
finite language problem
Halting problem decider
NO
YES
finite language problem decider
YES
NO
7We need to convert one problem instance to the
other problem instance
Halting problem decider
NO
YES
convert input ?
finite language problem decider
YES
NO
8Construct machine
On arbitrary input string
Initially, simulates on input
If enters a halt state, accept (
inifinite language)
Otherwise, reject ( finite language)
9halts on
if and only if
is infinite
10halting problem decider
NO
YES
finite language problem decider
construct
YES
NO
11Take a recursively enumerable language
Decision problems
- contains two different strings
- of the same length?
All these problems are undecidable
12Theorem
For a recursively enumerable language
it is undecidable to determine whether
contains two different strings of same length
Proof
We will reduce the halting problem to this problem
13Let be the TM with
Suppose we have the decider for the two-strings
problem
YES
contains
Two-strings problem decider
Doesnt contain
NO
two equal length strings
14We will build a decider for the halting problem
YES
halts on
Halting problem decider
doesnt halt on
NO
15We want to reduce the halting problem to the
empty language problem
Halting problem decider
YES
YES
Two-strings problem decider
NO
NO
16We need to convert one problem instance to the
other problem instance
Halting problem decider
YES
YES
Two-strings problem decider
convert inputs ?
NO
NO
17Construct machine
On arbitrary input string
Initially, simulate on input
When enters a halt state, accept if
or
(two equal length strings
)
Otherwise, reject (
)
18halts on
if and only if
accepts two equal length strings
accepts and
19Halting problem decider
YES
YES
Two-strings problem decider
construct
NO
NO
20Rices Theorem
21Definition
Non-trivial properties of recursively enumerable
languages
any property possessed by some (not
all) recursively enumerable languages
22Some non-trivial properties of recursively
enumerable languages
- contains two different strings
- of the same length
23Rices Theorem
Any non-trivial property of a recursively
enumerable language is undecidable
24The Post Correspondence Problem
25Some undecidable problems for context-free
languages
are context-free grammars
- Is context-free grammar ambiguous?
26We need a tool to prove that the
previous problems for context-free languages are
undecidable
The Post Correspondence Problem
27The Post Correspondence Problem
Input
Two sequences of strings
28There is a Post Correspondence Solution if there
is a sequence such that
PC-solution
Indices may be repeated or omitted
29Example
PC-solution
30Example
There is no solution
Because total length of strings from is smaller
than total length of strings from
31We will show
1. The MPC problem is undecidable
(by reducing the membership to MPC)
2. The PC problem is undecidable
(by reducing MPC to PC)
32Theorem The PC problem is undecidable
Proof We will reduce the MPC problem
to the PC problem
33Some undecidable problems for context-free
languages
are context-free grammars
- Is context-free grammar
- ambiguous?
We reduce the PC problem to these problems
34Theorem
Let be context-free grammars. It
is undecidable to determine if
Rdeduce the PC problem to this problem
Proof
35Suppose we have a decider for the empty-intersecti
on problem
Context-free grammars
Empty- interection problem decider
YES
NO
36For a context-free grammar ,
Theorem
it is undecidable to determine if G is ambiguous
Reduce the PC problem to this problem
Proof