Courtesy Costas Busch - RPI 1
Linear Bounded AutomataLBAs
Courtesy Costas Busch - RPI 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
Courtesy Costas Busch - RPI 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)
Courtesy Costas Busch - RPI 4
We define LBA’s as NonDeterministic
Open Problem:
NonDeterministic LBA’shave same power withDeterministic LBA’s ?
Courtesy Costas Busch - RPI 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
Courtesy Costas Busch - RPI 6
The Chomsky Hierarchy
Courtesy Costas Busch - RPI 7
Unrestricted Grammars:
Productionsvu
String of variablesand terminals
String of variablesand terminals
Courtesy Costas Busch - RPI 8
Example unrestricted grammar:
dAc
cAaB
aBcS
Courtesy Costas Busch - RPI 9
A language is recursively enumerableif and only if is generated by anunrestricted grammar
LL
Theorem:
Courtesy Costas Busch - RPI 10
Context-Sensitive Grammars:
and: |||| vu
Productionsvu
String of variablesand terminals
String of variablesand terminals
Courtesy Costas Busch - RPI 11
The language }{ nnn cba
is context-sensitive:
aaAaaaB
BbbB
BbccAc
bAAb
aAbcabcS
|
|
Courtesy Costas Busch - RPI 12
A language is context sensistive if and only if is accepted by a Linear-Bounded automatonL
LTheorem:
There is a language which is recursivebut not context-sensitive
Observation:
Courtesy Costas Busch - RPI 13
Non-recursively enumerable
Recursively-enumerable
Recursive
Context-sensitive
Context-free
Regular
The Chomsky Hierarchy
Courtesy Costas Busch - RPI 14
Decidability
Courtesy Costas Busch - RPI 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
Courtesy Costas Busch - RPI 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
Courtesy Costas Busch - RPI 17
Turing MachineInputprobleminstance
YES
NO
The Turing machine that decides (solves) a problem answers YES or NO for each instance of the problem
Courtesy Costas Busch - RPI 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
Courtesy Costas Busch - RPI 19
YES states
NO states
Turing Machine that decides a problem
YES and NO states are halting states
Courtesy Costas Busch - RPI 20
Difference between
Recursive Languages and Decidable problems
The YES states may not be final states
For decidable problems:
Courtesy Costas Busch - RPI 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
Courtesy Costas Busch - RPI 22
The Membership Problem
Input: •Turing MachineM
•String w
Question: Does accept ? M w
?)(MLw
Courtesy Costas Busch - RPI 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
Courtesy Costas Busch - RPI 24
Thus, there exists a Turing Machinethat solves the membership problem
H
HM
w
YES M accepts w
NO M rejects w
Courtesy Costas Busch - RPI 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
Courtesy Costas Busch - RPI 26
M accepts ?wNO
YESM
w
Hacceptw
Turing Machine that acceptsand halts on any input
L
reject w
Courtesy Costas Busch - RPI 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
Courtesy Costas Busch - RPI 28
Therefore, the membership problem is undecidable
END OF PROOF
Courtesy Costas Busch - RPI 29
Another famous undecidable problem:
The halting problem
Courtesy Costas Busch - RPI 30
The Halting Problem
Input: •Turing MachineM
•String w
Question: Does halt on input ? M w
Courtesy Costas Busch - RPI 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
Courtesy Costas Busch - RPI 32
Thus, there exists Turing Machinethat solves the halting problem
H
HM
w
YES M halts on w
Mdoesn’t halt on
wNO
Courtesy Costas Busch - RPI 33
H
wwM 0q
yq
nq
Input:initial tape contents
Encodingof M w
String
YES
NO
Construction of H
Courtesy Costas Busch - RPI 34
Construct machine :H
If returns YES then loop forever H
If returns NO then haltH
Courtesy Costas Busch - RPI 35
H
wwM 0q
yq
nq NO
aq bq
H
Loop forever
YES
Courtesy Costas Busch - RPI 36
HConstruct machine :
Input:
If M halts on input Mw
Then loop forever
Else halt
Mw (machine )M
Courtesy Costas Busch - RPI 37
MwMM wwcopy
MwH
H
Courtesy Costas Busch - RPI 38
HRun machine with input itself:
Input:
If halts on input
Then loop forever
Else halt
Hw ˆ (machine )H
H Hw ˆ
Courtesy Costas Busch - RPI 39
on input H Hw ˆ
If halts then loops forever
If doesn’t halt then it halts
:
H
H
NONSENSE !!!!!
Courtesy Costas Busch - RPI 40
Therefore, we have contradiction
The halting problem is undecidable
END OF PROOF
Courtesy Costas Busch - RPI 41
Another proof of the same theorem:
If the halting problem was decidable thenevery recursively enumerable languagewould be recursive
Courtesy Costas Busch - RPI 42
Theorem:
The halting problem is undecidable
Proof: Assume for contradiction thatthe halting problem is decidable
Courtesy Costas Busch - RPI 43
There exists Turing Machinethat solves the halting problem
H
HM
w
YES M halts on w
Mdoesn’t halt on
wNO
Courtesy Costas Busch - RPI 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
Courtesy Costas Busch - RPI 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
Courtesy Costas Busch - RPI 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
Courtesy Costas Busch - RPI 47
Therefore, the halting problem is undecidable
END OF PROOF