source of slides: introduction to automata theory, languages, and computation by john...

42
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

Upload: danghuong

Post on 18-Aug-2018

221 views

Category:

Documents


0 download

TRANSCRIPT

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

14

Decidability

Dept. of Computer Science & IT, FUUAST Theory of Computation

15

Decidability

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

17

Decidability

String Encoding:

Dept. of Computer Science & IT, FUUAST Theory of Computation

18

Decidability

Dept. of Computer Science & IT, FUUAST Theory of Computation

19

Decidability

Dept. of Computer Science & IT, FUUAST Theory of Computation

20

Decidability

Dept. of Computer Science & IT, FUUAST Theory of Computation

21

Decidability

Coding Turing Machines

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

25

Decidability

Dept. of Computer Science & IT, FUUAST Theory of Computation

26

Decidability

Fig. 10

Dept. of Computer Science & IT, FUUAST Theory of Computation

27

Decidability

Dept. of Computer Science & IT, FUUAST Theory of Computation

28

Decidability

Dept. of Computer Science & IT, FUUAST Theory of Computation

29

Decidability

Dept. of Computer Science & IT, FUUAST Theory of Computation

30

Decidability

Decidable Languages about DFA

Dept. of Computer Science & IT, FUUAST Theory of Computation

31

Decidability

Dept. of Computer Science & IT, FUUAST Theory of Computation

32

Decidability

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.

Dept. of Computer Science & IT, FUUAST Theory of Computation

34

Decidability

Dept. of Computer Science & IT, FUUAST Theory of Computation

35

Decidability

Dept. of Computer Science & IT, FUUAST Theory of Computation

36

Decidability

Dept. of Computer Science & IT, FUUAST Theory of Computation

37

END

Dept. of Computer Science & IT, FUUAST Theory of Computation

38

Decidability

Dept. of Computer Science & IT, FUUAST Theory of Computation

39

Decidability

Dept. of Computer Science & IT, FUUAST Theory of Computation

40

Decidability

Dept. of Computer Science & IT, FUUAST Theory of Computation

41

Decidability

Dept. of Computer Science & IT, FUUAST Theory of Computation

42

Decidability