4
1 David Evans http://www.cs.virginia.edu/evans cs302: Theory of Computation University of Virginia Computer Science Lecture 13: Lecture 13: Turing Machines Turing Machines 2 Lecture 13: Turing Machines The Story So Far Regular Languages Context -Free Languages Viol a tes Pumping Lemma For RLs Vi ol ates Pumpi ng Lemma F o r CF L s Described by DFA, NFA, RegExp, RegGram De scri b e d b y C F G, ND P DA 0 n 1 n 0 n 1 n 2 n 0 n w Deterministic CFLs LL(k) La ngua ges Described by LL (k) Grammar Indexed Grammars 3 Lecture 13: Turing Machines The Story So Far (Simplified) Regular Languages Context -Free Languages Viol a tes Pumping Lemma For RLs Vi ol ates Pumpi ng Lemma F o r CF L s Described by DFA, NFA, RegExp, RegGram De scri b e d b y C F G, ND P DA 0 n 1 n 0 n w 4 Lecture 13: Turing Machines Computability Story: This Week Languages recognizable by any mechanical computing machine 5 Lecture 13: Turing Machines Computability Story: Next Week Undecidable Problems Decidable Problems Recognizable Languages 6 Lecture 13: Turing Machines Computability Complexity (April) Decidable Problems Decidable Problems Problems that can be solved by a computer (eventually). Problems that can be solved by a computer in a reasonable time. NP P Note: not known if P NP or P = NP

Lecture 13: The Story So Far Turing Machines · Lecture 13: Turing Machines Lecture 13: Turing Machines 2 The Story So Far Regular Languages Context -Fr ee Langu ages Violate s Pum

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Lecture 13: The Story So Far Turing Machines · Lecture 13: Turing Machines Lecture 13: Turing Machines 2 The Story So Far Regular Languages Context -Fr ee Langu ages Violate s Pum

1

David Evanshttp://www.cs.virginia.edu/evans

cs302: Theory of Computation

University of Virginia

Computer Science

Lecture 13: Lecture 13:

Turing MachinesTuring Machines

2Lecture 13: Turing Machines

The Story So Far

Regular Languages

Context-Free Languages

Violates Pumping

Lemma For RLs

Vio

late

s P

um

pin

g Le

mm

aFo

r C

FLs

Described by DFA, NFA,

RegExp, RegGram

Described by CFG

,

ND

PDA

0n1n0 n1 n2 n

0n

w

Deterministic CFLs

LL(k) Languages

Described by LL(k)

Grammar

Indexed Grammars

3Lecture 13: Turing Machines

The Story So Far (Simplified)

Regular Languages

Context-Free Languages

Violates Pumping

Lemma For RLs

Vio

late

s P

um

pin

g Le

mm

aFo

r C

FLs

Described by DFA, NFA,

RegExp, RegGram

Described by CFG

,

ND

PDA

0n1n

0n

w

4Lecture 13: Turing Machines

Computability Story: This Week

Languages recognizable by

any mechanical computing

machine

5Lecture 13: Turing Machines

Computability Story: Next Week

Undecidable Problems

Decidable Problems

Recognizable Languages

6Lecture 13: Turing Machines

Computability → Complexity (April)

Decidable ProblemsDecidable Problems

Problems that can be solved

by a computer (eventually).Problems that can be solved by a

computer in a reasonable time.

NP

P

Note: not known if P ⊂ NP or P = NP

Page 2: Lecture 13: The Story So Far Turing Machines · Lecture 13: Turing Machines Lecture 13: Turing Machines 2 The Story So Far Regular Languages Context -Fr ee Langu ages Violate s Pum

2

7Lecture 13: Turing Machines

Exam 1

8Lecture 13: Turing Machines

Exam 1• Problem 4c: Prove that the language {0n1n2} is

not context-free.

Lengths of strings in L:

n = 0 0 + 02 = 0

n = 1 1 + 12 = 2

n = 2 2 + 22 = 6

n = 3 3 + 32 = 12

...

n = k k + k2

Pumping lemma for CFLs says

there must be some way of

picking s = uvxyz such that

m = |v| + |y| > 0 and uvixyiz in L for

all i.

So, increasing i by 1 adds m

symbols to the string, which must

produce a string of a length that is

not the length of a string in L.

9Lecture 13: Turing Machines

Recognizing {0n1n2}

DPDA with two stacks?

DPDA with three stacks?

...

?

10Lecture 13: Turing Machines

3-Stack DPDA Recognizing {0n1n2}

0, ε/ε/ε →$/$/$

0, ε/ε/ε →+/ε/+

1, $/$

/$→

ε/ε/ε

1, +/ε/ε →ε/+/ε

1, +/ε/ε →ε/+/ε

1, $/+/+ →$/ε/ε

1, ε/+

/ε→

+/ε/ε

Start

Done

Count

0s

1s

b->r

1s

r->b

1, ε/$/$ →ε/ε/ε

1, +/$/+ →ε/+/ε

1, $/ε

/$→

ε/ε/

ε

11Lecture 13: Turing Machines

Can it be done with 2 Stacks?

12Lecture 13: Turing Machines

Simulating 3-DPDA with 2-DPDA

#

#

A B

Page 3: Lecture 13: The Story So Far Turing Machines · Lecture 13: Turing Machines Lecture 13: Turing Machines 2 The Story So Far Regular Languages Context -Fr ee Langu ages Violate s Pum

3

13Lecture 13: Turing Machines

Simulating 3-DPDA with 2-DPDA

3-DPDA

#

#

pop green

pushB($)

pushB(popA())

...

pushB(popA(#))

pushB(popA())

...

pushB(popA(#))

res = popA()

pushA(popB(#))

pushA(popB())

...

popB($)

A B

$

+

14Lecture 13: Turing Machines

2-DPDA + Forced ε-Transitions

A B

Need to do lots of stack

manipulation to simulate

3-DPDA on one transition:

need transitions with no

input symbol (but not

nondeterminism!)

#

#

$

15Lecture 13: Turing Machines

Impact of Forced ε-Transitions

A B

#

#

$

What is the impact of adding

non-input consuming transitions?

DPDA in length n input:

runs for ≤ n steps

DPDA+ε in length n input:

can run forever!

16Lecture 13: Turing Machines

Is there any computing

machine we can’t simulate

with a 2-DPDA+?

17Lecture 13: Turing Machines

What about an NDPDA?

A B

Use one stack to simulate the

NDPDA’s stack.

Use the other stack to keep track

of nondeterminism points: copy

of stack and decisions left to

make.

18Lecture 13: Turing Machines

Turing Machine?

A B

Tape Head

Page 4: Lecture 13: The Story So Far Turing Machines · Lecture 13: Turing Machines Lecture 13: Turing Machines 2 The Story So Far Regular Languages Context -Fr ee Langu ages Violate s Pum

4

19Lecture 13: Turing Machines

Turing Machine

. . .

Infinite tape: Γ*

Tape head: read current square on tape,

write into current square,

move one square left or right

FSM: like PDA, except:

transitions also include direction (left/right)

final accepting and rejecting states

FSM

20Lecture 13: Turing Machines

Turing Machine Formal Description

. . .

FSM

7-tuple: (Q, Σ, Γ, δ, q0, qaccept, qreject)

Q: finite set of states

Σ: input alphabet (cannot include blank symbol, _)

Γ: tape alphabet, includes Σ and _

δ: transition function: Q × Γ → Q × Γ × {L, R}

q0: start state, q0 ∈ Q

qaccept: accepting state, qaccept ∈ Q

qreject: rejecting state, qreject ∈ Q (Sipser’s notation)

21Lecture 13: Turing Machines

Turing Machine Computing Model

. . .

FSM

q0

input

_ _ _ _

blanks

Initial configuration:

x x x x x x x

x∈Σ

TM Configuration: Γ* × Q × Γ*

tape contents

left of headtape contents

head and right

current

FSM state

22Lecture 13: Turing Machines

TM Computing Model

δ*: Γ* × Q × Γ* → Γ* × Q × Γ*

δ*(L, qaccept, R) → (L, qaccept, R)

δ*(L, qreject, R) → (L, qreject, R)

The qaccept and qreject states are final:

23Lecture 13: Turing Machines

TM Computing Modelδ*: Γ* × Q × Γ* → Γ* × Q × Γ*

. . .

FSM

q

a

u, v ∈ Γ*, a, b ∈ Γ

u

b

v

δ*(ua, q, bv) = (uac, qr, v) if δ(q, b) = (qr, c, R)

δ*(ua, q, bv) = (u, qr, acv) if δ(q, b) = (qr, c, L)

Also: need a rule to cover what happens at left edge of tape

24Lecture 13: Turing Machines

Thursday’s Class

• Robustness

of TM model

• Church-

Turing

Thesis

Read Chapter 3:

It contains the most bogus sentence in the

whole book. Identify it for +25 bonus points

(only 1 guess allowed!)