Date post: | 19-Jan-2018 |
Category: |
Documents |
Upload: | erin-bryan |
View: | 229 times |
Download: | 0 times |
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:
dAccAaBaBcS
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 cbais context-sensitive:
aaAaaaBBbbBBbccAcbAAbaAbcabcS
|
|
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-enumerableRecursive
Context-sensitive
Context-freeRegular
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 statesFor 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
32
There exists Turing Machinethat solves the halting problem
H
HM
w
YES M halts on w
M doesn’t halt on
wNO
33
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
34
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
35
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
36
Therefore, the halting problem is undecidable
END OF PROOF