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 by J. C. Martin
Basic Mathematical Definitions 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. ) 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. { a, b, c, d, e, } 1 2 3 4 5 N, Z and Q are countable. R and C are uncountable. 2
Rational Numbers, Q are countable 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. 3
Uncountable Set: Cantor s Diagonalization s 1 = (0, 0, 0, 0, 0, 0, 0,...) s 2 = (1, 1, 1, 1, 1, 1, 1,...) s 3 = (0, 1, 0, 1, 0, 1, 0,...) s 4 = (1, 0, 1, 0, 1, 0, 1,...) s 5 = (1, 1, 0, 1, 0, 1, 1,...) s 6 = (0, 0, 1, 1, 0, 1, 1,...) s 7 = (1, 0, 0, 0, 1, 0, 0,...). s 0 = (1, 0, 1, 1, 1, 0, 1,...) 4
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 5
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 set x = 0.a 1 a 2 a 3 a 4 where digit a i i th digit after decimal point of f(i) (not 0, 9) e.g. x = 0.2312 x cannot be in the list! 6
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. 7
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. 8
Recursion and Recursive Functions Enumerable Sets Recursively Enumerable Languages Resursive Languages Non-Recursively Enumerable Languages 9
regular languages decidable all languages context free languages RE decidable RE all languages 10
A language is recursively enumerable if some Turing machine accepts it. 11
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. 12
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 13
14
15
Theorem: S is an infinite countable set, the powerset 2 s of S is uncountable Since S is countable, we can write S = { s 1, s 2, s 3, s 4,.. } where S consists of s 1, s 2, s 3, s 4,.. elements and the powerset 2 s is of the form: { {s 1 }, {s 2 }, {s 1, s 2 },.. {s 1, s 2, s 3, s 4 } } 16
String Encoding: 17
18
19
20
Coding Turing Machines 21
Transition Rules are: Coding Code for M 22
Diagonalization Language: 23
Theorem: L d is not a recursively enumerable language. That is there is no Turing Machine that accepts L d 24
25
Fig. 10 26
27
28
29
Decidable Languages about DFA 30
31
32
Halting and Acceptance Problems: Acceptance Problem: Does a Turing machine accept an input string? A TM is recursively enumerable. 33
34
35
36
END 37
38
39
40
41
42