Presentation is loading. Please wait.

Presentation is loading. Please wait.

Source of Slides: Introduction to Automata Theory, Languages, and Computation By John E. Hopcroft, Rajeev Motwani and Jeffrey D. Ullman And Introduction.

Similar presentations


Presentation on theme: "Source of Slides: Introduction to Automata Theory, Languages, and Computation By John E. Hopcroft, Rajeev Motwani and Jeffrey D. Ullman And Introduction."— Presentation transcript:

1 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

2 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, etc. ) C = complex numbers (2+5i, 27- 3i etc. ) { a, b, c, d, e, ……… } N, Z and Q are countable. R and C are uncountable. N, Z and Q are countable. R and C are uncountable.

3 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

4 Dept. of Computer Science & IT, FUUAST Theory of Computation 4 Decidability 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,...) ………. Uncountable Set: Cantors Diagonalization s 0 = (1, 0, 1, 1, 1, 0, 1,...)

5 Dept. of Computer Science & IT, FUUAST Theory of Computation 5 Decidability R is uncountable Proof: R o Suppose R is countable R o List R according to the bijection f: nf(n) _ … … … … …

6 Dept. of Computer Science & IT, FUUAST Theory of Computation 6 Decidability R is uncountable Proof: R o Suppose R is countable R o List R according to the bijection f: 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 = … x cannot be in the list! nf(n) _ … … … … …

7 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.

8 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

9 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

10 Dept. of Computer Science & IT, FUUAST Theory of Computation 10 Decidability regular languages context free languages all languages decidable RE decidable RE all languages

11 Dept. of Computer Science & IT, FUUAST Theory of Computation 11 Decidability A language is recursively enumerable if some Turing machine accepts it.

12 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.

13 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

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

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

16 Dept. of Computer Science & IT, FUUAST Theory of Computation 16 Decidability 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 } … }

17 Dept. of Computer Science & IT, FUUAST Theory of Computation 17 Decidability String Encoding:

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

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

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

21 Dept. of Computer Science & IT, FUUAST Theory of Computation 21 Decidability Coding Turing Machines

22 Dept. of Computer Science & IT, FUUAST Theory of Computation 22 Decidability Transition Rules are:Coding Code for M

23 Dept. of Computer Science & IT, FUUAST Theory of Computation 23 Decidability Diagonalization Language:

24 Dept. of Computer Science & IT, FUUAST Theory of Computation 24 Decidability Theorem: L d is not a recursively enumerable language. That is there is no Turing Machine that accepts L d

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

26 Dept. of Computer Science & IT, FUUAST Theory of Computation 26 Decidability Fig. 10

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

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

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

30 Dept. of Computer Science & IT, FUUAST Theory of Computation 30 Decidability Decidable Languages about DFA

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

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

33 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? A TM is recursively enumerable.

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

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

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

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

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

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

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

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

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


Download ppt "Source of Slides: Introduction to Automata Theory, Languages, and Computation By John E. Hopcroft, Rajeev Motwani and Jeffrey D. Ullman And Introduction."

Similar presentations


Ads by Google