Top Banner
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
42

Theory of Computation

Jan 23, 2016

Download

Documents

Tamar

Theory of Computation. Decidability Recursive and Recursively Enumerable Languages. Source of Slides: Introduction to Automata Theory, Languages, and Computation By John E. Hopcroft, Rajeev Motwani and Jeffrey D. Ullman And - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Theory  of Computation

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

AndIntroduction to Languages and The Theory of Computation by J. C. Martin

Page 2: Theory  of Computation

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

DecidabilityDecidability

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.

N, Z and Q are countable.R and C are uncountable.

Page 3: Theory  of Computation

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

DecidabilityDecidability

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

Page 4: Theory  of Computation

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

DecidabilityDecidability

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

Page 5: Theory  of Computation

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

DecidabilityDecidability

R is uncountable

Proof: o Suppose RR is countableo List RR according to the bijection f:

n f(n) _

1 3.14159…

2 5.55555…

3 0.12345…

4 0.50000…

Page 6: Theory  of Computation

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

DecidabilityDecidability

R is uncountable

Proof: o Suppose RR is countableo List RR 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…

Page 7: Theory  of Computation

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

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

Page 8: Theory  of Computation

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.

DecidabilityDecidability

Page 9: Theory  of Computation

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

DecidabilityDecidability

• Recursion and Recursive Functions• Enumerable Sets• Recursively Enumerable Languages• Resursive Languages• Non-Recursively Enumerable

Languages

Page 10: Theory  of Computation

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

DecidabilityDecidability

regular languages

context free languages

all languagesdecidable

RE

decidable RE all languages

Page 11: Theory  of Computation

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

DecidabilityDecidability

A language is recursively enumerableif some Turing machine accepts it.

Page 12: Theory  of Computation

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

DecidabilityDecidability

A language is recursive if some Turing machine accepts it and halts on any input string.

ORA language is recursive if there is a membership algorithm for it.

Page 13: Theory  of Computation

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

DecidabilityDecidability

A language is recursively enumerableif and only if there is an enumeration procedure for it.

If a language L is recursive then there is an enumeration procedure for it

Page 14: Theory  of Computation

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

DecidabilityDecidability

Page 15: Theory  of Computation

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

DecidabilityDecidability

Page 16: Theory  of Computation

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

DecidabilityDecidability

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 } … }

Page 17: Theory  of Computation

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

DecidabilityDecidability

String Encoding:

Page 18: Theory  of Computation

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

DecidabilityDecidability

Page 19: Theory  of Computation

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

DecidabilityDecidability

Page 20: Theory  of Computation

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

DecidabilityDecidability

Page 21: Theory  of Computation

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

DecidabilityDecidability

Coding Turing Machines

Page 22: Theory  of Computation

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

DecidabilityDecidability

Transition Rules are: Coding

Code for M

Page 23: Theory  of Computation

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

DecidabilityDecidability

Diagonalization Language:

Page 24: Theory  of Computation

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

DecidabilityDecidability

Theorem: Ld is not a recursively enumerable language. That is there is no Turing Machine that accepts Ld

Page 25: Theory  of Computation

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

DecidabilityDecidability

Page 26: Theory  of Computation

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

DecidabilityDecidability

Fig. 10

Page 27: Theory  of Computation

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

DecidabilityDecidability

Page 28: Theory  of Computation

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

DecidabilityDecidability

Page 29: Theory  of Computation

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

DecidabilityDecidability

Page 30: Theory  of Computation

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

DecidabilityDecidability

Decidable Languages about DFA

Page 31: Theory  of Computation

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

DecidabilityDecidability

Page 32: Theory  of Computation

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

DecidabilityDecidability

Page 33: Theory  of Computation

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

DecidabilityDecidability

Halting and Acceptance Problems:Acceptance Problem:

Does a Turing machine accept an input string?

ATM is recursively enumerable.

Page 34: Theory  of Computation

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

DecidabilityDecidability

Page 35: Theory  of Computation

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

DecidabilityDecidability

Page 36: Theory  of Computation

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

DecidabilityDecidability

Page 37: Theory  of Computation

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

END

Page 38: Theory  of Computation

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

DecidabilityDecidability

Page 39: Theory  of Computation

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

DecidabilityDecidability

Page 40: Theory  of Computation

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

DecidabilityDecidability

Page 41: Theory  of Computation

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

DecidabilityDecidability

Page 42: Theory  of Computation

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

DecidabilityDecidability