Source of Slides: Introduction to Automata Theory, Languages, and Computation By John E. Hopcroft, Rajeev Motwani and Jeffrey D. Ullman And Introduction to Languages and The Theory of Computation by J. C. Martin
Source of Slides: Introduction to Automata Theory, Languages, and Computation
By John E. Hopcroft, Rajeev Motwani and Jeffrey D. Ullman
And
Introduction to Languages and The Theory of Computation by J. C. Martin
Dept. of Computer Science & IT, FUUAST Theory of Computation
2
Decidability
Basic Mathematical Definitions
Countable Set:
A set is countable if there is a one-to-one correspondence between the set and N, the natural numbers. It can be
enumerated.
Numbers: N = natural numbers = {1, 2, 3, …}
Z = integers = {…, -2, -1, 0, 1, 2, …}
Q = rational numbers ( expressed in ratios, 1/5, 3/7, 2/9 etc.)
R = real numbers ( floating point, 1.5, 2.5674 etc. )
C = complex numbers (2+5i, 27- 3i etc. )
{ a, b, c, d, e, ……… }
1 2 3 4 5
N, Z and Q are countable.
R and C are uncountable.
Dept. of Computer Science & IT, FUUAST Theory of Computation
3
Decidability
1/1 1/2 1/3 1/4 1/5 1/6 …
2/1 2/2 2/3 2/4 2/5 2/6 …
3/1 3/2 3/3 3/4 3/5 3/6 …
4/1 4/2 4/3 4/4 4/5 4/6 …
5/1 …
…….
Rational Numbers, Q are countable
Dept. of Computer Science & IT, FUUAST Theory of Computation
4
Decidability
s1 = (0, 0, 0, 0, 0, 0, 0, ...)
s2 = (1, 1, 1, 1, 1, 1, 1, ...)
s3 = (0, 1, 0, 1, 0, 1, 0, ...)
s4 = (1, 0, 1, 0, 1, 0, 1, ...)
s5 = (1, 1, 0, 1, 0, 1, 1, ...)
s6 = (0, 0, 1, 1, 0, 1, 1, ...)
s7 = (1, 0, 0, 0, 1, 0, 0, ...)
……….
Uncountable Set: Cantor’s Diagonalization
s0 = (1, 0, 1, 1, 1, 0, 1, ...)
Dept. of Computer Science & IT, FUUAST Theory of Computation
5
Decidability
R is uncountable
Proof: o Suppose R is countable
o List R according to the bijection f:
n f(n) _
1 3.14159…
2 5.55555…
3 0.12345…
4 0.50000…
…
Dept. of Computer Science & IT, FUUAST Theory of Computation
6
Decidability
R is uncountable
Proof: o Suppose R is countable
o List R according to the bijection f:
set x = 0.a1a2a3a4…
where digit ai ≠ ith digit after decimal
point of f(i) (not 0, 9)
e.g. x = 0.2312…
x cannot be in the list!
n f(n) _
1 3.14159…
2 5.55555…
3 0.12345…
4 0.50000…
…
Dept. of Computer Science & IT, FUUAST Theory of Computation
7
Turing Machine
Decidability
Turing decidability
L is Turing decidable (or just decidable) if there exists a
Turing machine M that accepts all strings in L and
rejects all strings not in L. Note that by rejection we
mean that the machine halts after a finite number of
steps and announces that the input string is not
acceptable. Acceptance, as usual, also requires a
decision after a finite number of steps.
Dept. of Computer Science & IT, FUUAST Theory of Computation
8
Decidability
Turing Recognizability
L is Turing recognizable if there is a Turing machine M
that recognizes L, that is, M should accept all strings in
L and M should not accept any strings not in L. This is
not the same as decidability because recognizability
does not require that M actually reject strings not in L.
M may reject some strings not in L but it is also
possible that M will simply "remain undecided" on
some strings not in L; for such strings, M's
computation never halts.
Decidability
Dept. of Computer Science & IT, FUUAST Theory of Computation
9
Decidability
• Recursion and Recursive Functions
• Enumerable Sets
• Recursively Enumerable Languages
• Resursive Languages
• Non-Recursively Enumerable
Languages
Dept. of Computer Science & IT, FUUAST Theory of Computation
10
Decidability
regular
languages
context free
languages
all languages decidable
RE
decidable RE all languages
Dept. of Computer Science & IT, FUUAST Theory of Computation
11
Decidability
A language is recursively enumerable
if some Turing machine accepts it.
Dept. of Computer Science & IT, FUUAST Theory of Computation
12
Decidability
A language is recursive if some Turing machine
accepts it and halts on any input string.
OR
A language is recursive if there is a membership
algorithm for it.
Dept. of Computer Science & IT, FUUAST Theory of Computation
13
Decidability
A language is recursively enumerable
if and only if there is an enumeration
procedure for it.
If a language L is recursive then there
is an enumeration procedure for it
Dept. of Computer Science & IT, FUUAST Theory of Computation
16
Decidability
Theorem:
S is an infinite countable set, the
powerset 2s of S is uncountable
Since S is countable,
we can write S = { s1 , s2 , s3 , s4 , …….. }
where S consists of s1 , s2 , s3 , s4 , ….. elements
and the powerset 2s is of the form:
{ {s1}, {s2 }, … {s1 , s2 }, ….. {s1 , s2 , s3 , s4 } … }
Dept. of Computer Science & IT, FUUAST Theory of Computation
22
Decidability
Transition Rules are: Coding
Code for M
Dept. of Computer Science & IT, FUUAST Theory of Computation
23
Decidability
Diagonalization Language:
Dept. of Computer Science & IT, FUUAST Theory of Computation
24
Decidability
Theorem: Ld is not a recursively enumerable language.
That is there is no Turing Machine that accepts Ld
Dept. of Computer Science & IT, FUUAST Theory of Computation
30
Decidability
Decidable Languages about DFA
Dept. of Computer Science & IT, FUUAST Theory of Computation
33
Decidability
Halting and Acceptance Problems:
Acceptance Problem:
Does a Turing machine accept an input string?
ATM is recursively enumerable.