1 linear bounded automata lbas. 2 linear bounded automata (lbas) are the same as turing machines...

Post on 21-Dec-2015

221 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

1

Linear Bounded AutomataLBAs

2

Linear Bounded Automata (LBAs)are the same as Turing Machineswith one difference:

The input string tape spaceis the only tape space allowed to use

3

[ ]a b c d e

Left-endmarker

Input string

Right-endmarker

Working space in tape

All computation is done between end markers

Linear Bounded Automaton (LBA)

4

We define LBA’s as NonDeterministic

Open Problem:

NonDeterministic LBA’shave same power withDeterministic LBA’s ?

5

Example languages accepted by LBAs:

}{ nnn cbaL

}{ !naL

LBA’s have more power than NPDA’s

LBA’s have also less power than Turing Machines

6

The Chomsky Hierarchy

7

Unrestricted Grammars:

Productionsvu

String of variablesand terminals

String of variablesand terminals

8

Example unrestricted grammar:

dAc

cAaB

aBcS

9

A language is recursively enumerableif and only if is generated by anunrestricted grammar

LL

Theorem:

10

Context-Sensitive Grammars:

and: |||| vu

Productionsvu

String of variablesand terminals

String of variablesand terminals

11

The language }{ nnn cba

is context-sensitive:

aaAaaaB

BbbB

BbccAc

bAAb

aAbcabcS

|

|

12

A language is context sensistive if and only if is accepted by a Linear-Bounded automatonL

LTheorem:

There is a language which is context-sensitivebut not recursive

Observation:

13

Non-recursively enumerable

Recursively-enumerable

Recursive

Context-sensitive

Context-free

Regular

The Chomsky Hierarchy

14

Decidability

15

Consider problems with answer YES or NO

Examples:

• Does Machine have three states ?M

• Is string a binary number? w

• Does DFA accept any input? M

16

A problem is decidable if some Turing machinedecides (solves) the problem

Decidable problems:

• Does Machine have three states ?M

• Is string a binary number? w

• Does DFA accept any input? M

17

Turing MachineInputprobleminstance

YES

NO

The Turing machine that decides (solves) a problem answers YES or NO for each instance of the problem

18

The machine that decides (solves) a problem:

• If the answer is YES then halts in a yes state

• If the answer is NO then halts in a no state

These states may not be final states

19

YES states

NO states

Turing Machine that decides a problem

YES and NO states are halting states

20

Difference between

Recursive Languages and Decidable problems

The YES states may not be final states

For decidable problems:

21

Some problems are undecidable:

which means:there is no Turing Machine thatsolves all instances of the problem

A simple undecidable problem:

The membership problem

22

The Membership Problem

Input: •Turing MachineM

•String w

Question: Does accept ? M w

?)(MLw

23

Theorem:

The membership problem is undecidable

Proof: Assume for contradiction thatthe membership problem is decidable

(there are and for which we cannotdecide whether )

M w)(MLw

24

Thus, there exists a Turing Machinethat solves the membership problem

H

HM

w

YES M accepts w

NO M rejects w

25

Let be a recursively enumerable language L

Let be the Turing Machine that acceptsM L

We will prove that is also recursive: L

we will describe a Turing machine thataccepts and halts on any inputL

26

M accepts ?wNO

YESM

w

Hacceptw

Turing Machine that acceptsand halts on any input

L

reject w

27

Therefore, L is recursive

But there are recursively enumerablelanguages which are not recursive

Contradiction!!!!

Since is chosen arbitrarily, every recursively enumerable language is also recursive

L

28

Therefore, the membership problem is undecidable

END OF PROOF

29

Another famous undecidable problem:

The halting problem

30

The Halting Problem

Input: •Turing MachineM

•String w

Question: Does halt on input ? M w

31

Theorem:

The halting problem is undecidable

Proof: Assume for contradiction thatthe halting problem is decidable

(there are and for which we cannotdecide whether halts on input )

M wM w

32

Thus, there exists Turing Machinethat solves the halting problem

H

HM

w

YES M halts on w

Mdoesn’t halt on

wNO

33

H

wwM 0q

yq

nq

Input:initial tape contents

Encodingof M w

String

YES

NO

Construction of H

34

Construct machine :H

If returns YES then loop forever H

If returns NO then haltH

35

H

wwM 0q

yq

nq NO

aq bq

H

Loop forever

YES

36

HConstruct machine :

Input:

If M halts on input Mw

Then loop forever

Else halt

Mw (machine )M

37

MwMM wwcopy

MwH

H

38

HRun machine with input itself:

Input:

If halts on input

Then loop forever

Else halt

Hw ˆ (machine )H

H Hw ˆ

39

on input H Hw ˆ

If halts then loops forever

If doesn’t halt then it halts

:

H

H

NONSENSE !!!!!

40

Therefore, we have contradiction

The halting problem is undecidable

END OF PROOF

41

Another proof of the same theorem:

If the halting problem was decidable thenevery recursively enumerable languagewould be recursive

42

Theorem:

The halting problem is undecidable

Proof: Assume for contradiction thatthe halting problem is decidable

43

There exists Turing Machinethat solves the halting problem

H

HM

w

YES M halts on w

Mdoesn’t halt on

wNO

44

Let be a recursively enumerable language L

Let be the Turing Machine that acceptsM L

We will prove that is also recursive: L

we will describe a Turing machine thataccepts and halts on any inputL

45

M halts on ?wYES

NOM

w

Run with input

Mw

Hreject w

acceptw

rejectw

Turing Machine that acceptsand halts on any input

L

Halts on final state

Halts on non-final state

46

Therefore L is recursive

But there are recursively enumerablelanguages which are not recursive

Contradiction!!!!

Since is chosen arbitrarily, every recursively enumerable language is also recursive

L

47

Therefore, the halting problem is undecidable

END OF PROOF

top related