FORMAL LANGUAGES, AUTOMATA, AND COMPUTABILITY

1 / 37

# FORMAL LANGUAGES, AUTOMATA, AND COMPUTABILITY - PowerPoint PPT Presentation

15-453. FORMAL LANGUAGES, AUTOMATA, AND COMPUTABILITY. * Read chapter 4 of the book for next time * . Lecture9x.ppt. REVIEW. A Turing Machine is represented by a 7-tuple T = (Q, Σ , Γ , , q 0 , q accept , q reject ): . Q is a finite set of states.

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

## PowerPoint Slideshow about 'FORMAL LANGUAGES, AUTOMATA, AND COMPUTABILITY' - felix

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
15-453

FORMAL LANGUAGES, AUTOMATA, AND COMPUTABILITY

* Read chapter 4 of the book for next time *

Lecture9x.ppt

A Turing Machine is represented by a 7-tuple T = (Q, Σ, Γ, , q0, qaccept, qreject):

Q is a finite set of states

Σ is the input alphabet, where   Σ

Γ is the tape alphabet, a superset of Σ;   Γ

 : Q Γ→ Q Γ  {L, R}is the transition func

q0 Q is the start state

qaccept Q is the accept state

qreject Q is the reject state, and qreject qaccept

11010q700110

A TM recognizesa language iff it accepts all and only those strings in the language.

A language L is called Turing-recognizable or recursively enumerable

iff some TM recognizes L.

A TM decides a language L iff it accepts all strings in L andrejects all strings not in L.

A language L is called decidable or recursiveiff some TM decides L.

A language is called Turing-recognizable or recursively enumerable (r.e.) if some TM recognizes it.

A language is called decidable or recursiveif some TM decides it.

Theorem: If A and A are r.e. then A is decidable.

Given:

a Turing Machine TMA that recognizes A and

a Turing Machine TMR that recognizes A,

we can build a new machine that decides A.

How can we prove this?

• Run TMA and TMR in parallel. (Or more precisely, interleave them.)
• One of them will eventually recognize the input string.
• If TMA recognizes it, then accept.
• If TMR recognizes it, then reject.
2n

A TM that decides { 0 | n ≥ 0 }

• We want to accept iff:
• the input string consists entirely of zeros, and
• the number of zeros is a power of 2.
• High-Level Idea.
• Repeatedly divide the number of zeros in half until it becomes an odd number.
• If we are left with a single zero, then accept.
• Otherwise, reject.
2n

A TM that decides { 0 | n ≥ 0 }

PSEUDOCODE:

• Sweep from left to right, cross out every other 0.(Divides number in half.)
• If in step 1, the tape had only one 0, accept.
• Else if the tape had an odd number of 0’s, reject.
• Move the head back to the first input symbol.
• Go to step 1.
C = {aibjck | k = i×j, and i, j, k ≥ 1}

Example

aaabbbbcccccccccccc

3

4

3×4 = 12

C = {aibjck | k = i×j, and i, j, k ≥ 1}
• High-Level Idea.
• For each occurrence of a: {
• For each occurrence ofb: {
• Delete an occurrence of c.
• }
• }
C = {aibjck | k = i×j, and i, j, k ≥ 1}

PSEUDOCODE:

• If the input doesn’t match a*b*c*, reject.
• Move the head back to the leftmost symbol.
• Cross off an a, scan to the right until b. Sweep between b’s and c’s, crossing out one of each until all b’s are out. If too few c’s, reject.
• Uncross all the b’s. If there’s another aleft, then repeat stage 3.If all a’s are crossed out, Check if all c’s are crossed off. If yes, then accept, else reject.
C = {aibjck | k = i×j, and i, j, k ≥ 1}

aabbbcccccc

xabbbcccccc

xayyyzzzccc

xabbbzzzccc

xxyyyzzzzzz

TURING-MACHINE VARIANTS

Turing machines can be extended in various ways, but so long as a new TM only reads and writes a finite number of symbols in each step,an old TM can still simulate it!

Example: Turing machines with multiple tapes.

Input comes in on one tape, and

other tapes are used for scratch work.

FINITE STATE CONTROL

MULTITAPE TURING MACHINES

 : Q Γk→ Q Γk  {L,R}k

FINITE STATE CONTROL

FINITE STATE CONTROL

Theorem: Every Multitape Turing Machine can be transformed into a single tape Turing Machine

1

0

0

.

.

.

#

#

1

0

0

#

FINITE STATE CONTROL

FINITE STATE CONTROL

Theorem: Every Multitape Turing Machine can be transformed into a single tape Turing Machine

1

0

0

.

.

.

#

#

1

0

0

#

THE CHURCH-TURING THESIS

Anything that can be computed by algorithm (in our intuitive sense of the term “algorithm”)

can be computed by a Turing Machine.

We can encode a TM as a string of 0s and 1s

start state

reject state

n states

0n10m10k10s10t10r10u1…

m tape symbols

(first k are input symbols)

blank symbol

accept state

( (p, a), (q, b, L) ) = 0p10a10q10b10

( (p, a), (q, b, R) ) = 0p10a10q10b11

Similarly, we can encode DFAs, NFAs, CFGs, etc. into strings of 0s and 1s

So we can define the following languages:

ADFA = { (B, w) | B is a DFA that accepts string w }

ANFA = { (B, w) | B is an NFA that accepts string w }

ACFG = { (G, w) | G is a CFG that generates string w }

ADFA = { (B, w) | B is a DFA that accepts string w }

Proof Idea: Simulate B on w

ANFA = { (B, w) | B is an NFA that accepts string w }

Theorem: ANFA is decidable

ACFG = { (G, w) | G is a CFG that generates string w }

Theorem: ACFG is decidable

Proof Idea: Transform G into Chomsky Normal Form. Try all derivations of length 2|w|-1

w  Σ*

w  Σ*

TM

TM

w  L ?

w  L ?

no

yes

no

yes

accept

reject or no output

accept

reject

L is semi-decidable

(recursively enumerable, Turing-recognizable)

L is decidable

(recursive)

Theorem: L is decidable if both L and L are recursively enumerable

There are languages over {0,1} that are not decidable.

If we believe the Church-Turing Thesis, this is major: it means there are things that formal computational models inherently cannot do.

We can prove this using a counting argument. We will show there is no functionfrom the set of all Turing Machines ontothe set of all languages over {0,1}. (Works for any Σ.)

Then we will prove something stronger: There are semi-decidable (r.e.) languages that are NOT decidable.

Languages over {0,1}

Turing Machines

Cantor’s Theorem

Let L be any set and 2L be the power set of L

Theorem: There is no map from L onto 2L

Assume, for a contradiction, that there is an onto map f : L  2L

Proof:

Let S = { x  L | x  f(x) }

We constructed S so that, for every elem x in L, the set S differs from f(x):

S ≠ f(x) because x  S iff x  f(x)

Theorem: There is no onto function from the positive integers to the real numbers in (0, 1)

Proof:

Suppose f is such a function:

0.28347279…

2

1

2

3

4

5

:

0.88388384…

8

0.77635284…

6

0.11111111…

1

5

0.12345678…

:

1 if [ nth digit of f(n) ]  1

[ nth digit of r ] =

0 otherwise

f(n)  r for all n ( Here, r = 0.11101... )

Sidenote

Let Z+ = {1,2,3,4…}. There exists a bijection between Z+ and Z+ Z+

(or Q+)

(1,1) (1,2) (1,3) (1,4) (1,5) …

(2,1) (2,2) (2,3) (2,4) (2,5) …

(3,1) (3,2) (3,3) (3,4) (3,5) …

(4,1) (4,2) (4,3) (4,4) (4,5) …

(5,1) (5,2) (5,3) (5,4) (5,5) …

: : : : : ∙.

THE MORAL:

For any set L,

2Lalways has ‘more’ elements than L

Not all languages over {0,1} are decidable, in fact:

not all languages over {0,1} are semi-decidable

{decidable languages over {0,1}}

{semi-decidable langs over{0,1}}

{Languages over {0,1}}

{Turing Machines}

{Strings of 0s and 1s}

{Sets of strings of 0s and 1s}

Powerset of L: 2L

Set L

THE ACCEPTANCE PROBLEM

ATM = { (M, w) | M is a TM that accepts string w }

Theorem: ATM is semi-decidable (r.e.) but NOTdecidable

ATM is r.e. :

Define a TM U as follows:

On input (M, w), U runs M on w. If M ever accepts, accept. If M ever rejects, reject.

U is a universal TM

Therefore,

U accepts (M,w) M accepts w (M,w)  ATM

Therefore, U recognizes ATM

Accept if M accepts w

Reject if M does not accept w

Reject if M accepts M

Accept if M does not accept M

ATM = { (M,w) | M is a TM that accepts string w }

ATM is undecidable:

Assume machine H decides ATM

H( (M,w) ) =

Construct a new TM D as follows: on input M, run H on (M,M) and output the opposite of H

D

D

D( M ) =

D

D

D

Theorem: ATM is r.e. but NOT decidable

Theorem: ATM is not even r.e.!

The Halting Problem is Not Decidable

We have shown:

Given any presumed machine H for ATM,we can effectively construct a TM D such that (D,D) ATM but H fails to tell us that.

In other words,

For any machine H that recognizes ATMwe can effectively give an instance where H fails to decide ATM

In other words,

Given any good candidate for deciding the Halting Problem, we can effectively construct an instance where the machine fails.

THE HALTING PROBLEM

HALTTM = { (M,w) | M is a TM that halts on string w }

Theorem: HALTTM is undecidable

Assume, for a contradiction, that TM H decides HALTTM

Proof:

We use H to construct a TM D that decides ATM

On input (M,w), D runs H on (M,w)

If H rejects then reject

If H accepts, run M on w until it halts:

Accept if M accepts and

Reject if M rejects

In many cases, one can show that a language L is undecidable by showing that if it is decidable, then so is ATM

We reduce deciding ATM to deciding the language in question

ATM ≤ L

We just showed:ATM ≤ HaltTM

Is HaltTM ≤ ATM ?