![Page 1: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/1.jpg)
1
CD5560
FABER
Formal Languages, Automata and Models of Computation
Lecture 13
Mälardalen University
2010
![Page 2: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/2.jpg)
2
Content
Alan Turing and Hilbert Program Universal Turing Machine Chomsky Hierarchy DecidabilityReducibilityUncomputable FunctionsRice’s TheoremInteractive Computing, Persistent TM’s (Dina Goldin)
![Page 3: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/3.jpg)
3
http://www.turing.org.uk/turing/
Who was Alan Turing?
Founder of computer science,
mathematician,
philosopher,
codebreaker,
visionary man before his time.
http://www.cs.usfca.edu/www.AlanTuring.net/turing_archive/index.html- Jack
Copeland and Diane Proudfoot http://www.turing.org.uk/turing/ The Alan Turing Home Page
Andrew Hodges
![Page 4: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/4.jpg)
4
Alan Turing
1912 (23 June): Birth, London
1926-31: Sherborne School
1930: Death of friend Christopher Morcom
1931-34: Undergraduate at King's College, Cambridge University
1932-35: Quantum mechanics, probability, logic
1935: Elected fellow of King's College, Cambridge
1936: The Turing machine, computability, universal machine
1936-38: Princeton University. Ph.D. Logic, algebra, number theory
1938-39: Return to Cambridge. Introduced to German Enigma cipher machine
1939-40: The Bombe, machine for Enigma decryption
1939-42: Breaking of U-boat Enigma, saving battle of the Atlantic
![Page 5: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/5.jpg)
5
Alan Turing
1943-45: Chief Anglo-American crypto consultant. Electronic work.
1945: National Physical Laboratory, London
1946: Computer and software design leading the world.
1947-48: Programming, neural nets, and artificial intelligence
1948: Manchester University
1949: First serious mathematical use of a computer
1950: The Turing Test for machine intelligence
1951: Elected FRS. Non-linear theory of biological growth
1952: Arrested as a homosexual, loss of security clearance
1953-54: Unfinished work in biology and physics
1954 (7 June): Death (suicide) by cyanide poisoning, Wilmslow, Cheshire.
![Page 6: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/6.jpg)
6
Hilbert’s Program, 1900
Hilbert’s hope was that mathematics would be reducible to finding proofs (manipulating the strings of symbols) from a fixed system of axioms, axioms that everyone could agree were true.
Can all of mathematics be made algorithmic, or will there always be new problems that outstrip any given algorithm, and so require creative acts of mind to solve?
![Page 7: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/7.jpg)
7
TURING MACHINES
![Page 8: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/8.jpg)
8
Turing’s "Machines". These machines are humans who calculate.
(Wittgenstein)
A man provided with paper, pencil, and rubber, and subject to strict discipline, is in effect a universal machine.
(Turing)
![Page 9: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/9.jpg)
9
............Tape
Read-Write head
Control Unit
Standard Turing Machine
![Page 10: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/10.jpg)
10
............
Read-Write head
No boundaries -- infinite length
The head moves Left or Right
The Tape
![Page 11: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/11.jpg)
11
............
Read-Write head
1. Reads a symbol
2. Writes a symbol
3. Moves Left or Right
The head at each time step:
![Page 12: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/12.jpg)
12
ExampleTime 0
............ a a cb
Time 1............ a b k c
1. Reads a2. Writes k3. Moves Left
![Page 13: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/13.jpg)
13
Head starts at the leftmost position
of the input string
............
Blank symbol
head
a b ca
Input string
The Input String
#####
![Page 14: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/14.jpg)
14
1q 2qLba ,
Read WriteMove Left
1q 2qRba ,
Move Right
States & Transitions
![Page 15: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/15.jpg)
15
............ # a b caTime 1
1q 2qRba ,
............ a b cbTime 2
1q
2q
# # # #
# # # # #
![Page 16: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/16.jpg)
16
Determinism
1q
2qRba ,
Allowed Not Allowed
3qLdb ,
1q
2qRba ,
3qLda ,
No lambda transitions allowed in standard TM!
Turing Machines are deterministic
![Page 17: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/17.jpg)
17
Formal Definitions for
Turing Machines
![Page 18: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/18.jpg)
18
Transition Function
1q 2qRba ,
),,(),( 21 Rbqaq
![Page 19: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/19.jpg)
19
Turing Machine
),#,,,,,( 0 FqQM
Transition
functionInitial
stateblank
Final
states
States
Input
alphabetTape
alphabet
![Page 20: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/20.jpg)
20
Universal Turing Machine
![Page 21: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/21.jpg)
21
A limitation of Turing Machines:
Better are reprogrammable machines.
Turing Machines are “hardwired”
they execute
only one program
![Page 22: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/22.jpg)
22
Solution: Universal Turing Machine
• Reprogrammable machine
• Simulates any other Turing Machine
Characteristics:
![Page 23: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/23.jpg)
23
Universal Turing Machine
simulates any other Turing Machine M
Input of Universal Turing Machine
• Description of transitions of M
• Initial tape contents of M
![Page 24: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/24.jpg)
24
Universal
Turing
Machine
Description of Three tapes
MTape Contents of
Tape 2
State of M
Tape 3
M
Tape 1
![Page 25: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/25.jpg)
25
We describe Turing machine
as a string of symbols:
We encode as a string of symbols
M
M
Description of M
Tape 1
![Page 26: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/26.jpg)
26
Alphabet Encoding
Symbols: a b c d
Encoding: 1 11 111 1111
![Page 27: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/27.jpg)
27
State Encoding
States: 1q 2q 3q 4q
Encoding: 1 11 111 1111
Head Move Encoding
Move:
Encoding:
L R
1 11
![Page 28: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/28.jpg)
28
Transition Encoding
Transition: ),,(),( 21 Lbqaq
Encoding: 10110110101
separator
![Page 29: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/29.jpg)
29
Machine Encoding
Transitions:
),,(),( 21 Lbqaq
Encoding:
10110110101
),,(),( 32 Rcqbq
110111011110101100
separator
![Page 30: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/30.jpg)
30
Tape 1 contents of Universal Turing Machine:
encoding of the simulated machine
as a binary string of 0’s and 1’s
M
![Page 31: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/31.jpg)
31
A Turing Machine is described
with a binary string of 0’s and 1’s.
The set of Turing machines forms a language:
Each string of the language is
the binary encoding of a Turing Machine.
Therefore:
![Page 32: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/32.jpg)
32
Language of Turing Machines
L = { 010100101,
00100100101111,
111010011110010101,
…… }
(Turing Machine 1)
(Turing Machine 2)
……
![Page 33: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/33.jpg)
33
The Chomsky Hierarchy
![Page 34: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/34.jpg)
34Non-recursively enumerable
Recursively-enumerable
Recursive
Context-sensitive
Context-free
Regular
The Chomsky Language Hierarchy
![Page 35: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/35.jpg)
35
Unrestricted Grammars
Productions
vu
String of variables
and terminals
String of variables
and terminals
![Page 36: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/36.jpg)
36
Example of unrestricted grammar
dAc
cAaB
aBcS
![Page 37: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/37.jpg)
37
A language is recursively enumerable
if and only if it is generated by an
unrestricted grammar.
L
Theorem
![Page 38: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/38.jpg)
38
Context-Sensitive Grammars
and |||| vu
Productions
vu
String of variables
and terminals
String of variables
and terminals
![Page 39: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/39.jpg)
39
The language }{ nnn cba
is context-sensitive:
bbBb
bcBc
aBBa
S
aBScS
![Page 40: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/40.jpg)
40
A language is context sensitive
if and only if
it is accepted by a Linear-Bounded automaton.
L
Theorem
![Page 41: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/41.jpg)
41
Linear Bounded Automata (LBAs)
are the same as Turing Machines
with one difference:
The input string tape space
is the only tape space allowed to use.
![Page 42: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/42.jpg)
42
[ ]a b c d e
Left-end
marker
Input string
Right-end
marker
Working space
in tape
All computation is done between end markers.
Linear Bounded Automaton (LBA)
![Page 43: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/43.jpg)
43
There is a language which is context-sensitive
but not recursive.
Observation
![Page 44: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/44.jpg)
44
Decidability
![Page 45: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/45.jpg)
45
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
![Page 46: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/46.jpg)
46
A problem is decidable if some Turing machine
solves (decides) the problem.
Decidable problems:
• Does Machine have three states ?M
• Is string a binary number? w
• Does DFA accept any input? M
![Page 47: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/47.jpg)
47
Turing MachineInput
problem
instance
YES
NO
The Turing machine that solves a problem
answers YES or NO for each instance.
![Page 48: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/48.jpg)
48
The machine that decides 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 the final states.
![Page 49: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/49.jpg)
49
YES
NO
Turing Machine that decides a problem
YES and NO states are halting states
![Page 50: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/50.jpg)
50
Difference between
Recursive Languages (“Acceptera”) and Decidable problems (“Avgöra”)
The YES states may not be final states.
For decidable problems:
![Page 51: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/51.jpg)
51
Some problems are undecidable:
There is no Turing Machine that
solves all instances of the problem.
![Page 52: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/52.jpg)
52
A famous undecidable problem:
The halting problem
![Page 53: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/53.jpg)
53
The Halting Problem
Input: • Turing Machine M• String w
Question: Does halt on ? M w
![Page 54: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/54.jpg)
54
Theorem
The halting problem is undecidable.
Proof
Assume to the contrary that
the halting problem is decidable.
![Page 55: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/55.jpg)
55
There exists a Turing Machine
that solves the halting problem
H
HM
w
YES M halts on w
Mdoesn’t
halt onwNO
![Page 56: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/56.jpg)
56
H
wwM 0q
yq
nq
Input:
initial tape contents
Encoding
of M wString
YES
NO
Construction of H
![Page 57: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/57.jpg)
57
Construct machine H
returns YES then loop forever. HIf
returns NO then halt.HIf
![Page 58: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/58.jpg)
58
H
wwM 0q
yq
nq NO
aq bq
H
Loop forever
YES
![Page 59: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/59.jpg)
59
HConstruct machine
Input:
If M halts on input Mw
Then loop forever
Else halt
Mw (machine )M
![Page 60: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/60.jpg)
60
Mw MM wwcopy
Mw H
H
![Page 61: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/61.jpg)
61
HRun machine with input itself
Input:
If halts on input
Then loop forever
Else halt
Hw ˆ (machine )H
H Hw ˆ
![Page 62: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/62.jpg)
62
on input H Hw ˆ
If halts then loops forever.
If doesn’t halt then halts.
:
H
H
CONTRADICTION !
H
H
![Page 63: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/63.jpg)
63
This means that
The halting problem is undecidable.
END OF PROOF
![Page 64: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/64.jpg)
64
Another proof of the same theorem
If the halting problem was decidable then
every recursively enumerable language
would be recursive.
![Page 65: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/65.jpg)
65
Theorem
The halting problem is undecidable.
Proof
Assume to the contrary that
the halting problem is decidable.
![Page 66: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/66.jpg)
66
There exists Turing Machine
that solves the halting problem.
H
HM
w
YES M halts on w
Mdoesn’t
halt onwNO
![Page 67: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/67.jpg)
67
Let be a recursively enumerable language. L
Let be the Turing Machine that accepts .M L
We will prove that is also recursive: L
We will describe a Turing machine that
accepts and halts on any input.L
![Page 68: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/68.jpg)
68
M halts on ?wYES
NOM
w
Run
with input
Mw
Hreject w
accept w
reject w
Turing Machine that accepts
and halts on any input
L
Halts on final state
Halts on non-final
state
![Page 69: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/69.jpg)
69
Therefore L is recursive.
But there are recursively enumerable
languages which are not recursive.
Contradiction!
Since is chosen arbitrarily, we have
proven that every recursively enumerable
language is also recursive.
L
![Page 70: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/70.jpg)
70
Therefore, the halting problem is undecidable.
END OF PROOF
![Page 71: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/71.jpg)
71
A simple undecidable problem:
The Membership Problem
![Page 72: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/72.jpg)
72
The Membership Problem
Input: • Turing Machine M
• String w
Question: Does accept ? M w
![Page 73: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/73.jpg)
73
Theorem
The membership problem is undecidable.
Proof
Assume to the contrary that
the membership problem is decidable.
![Page 74: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/74.jpg)
74
There exists a Turing Machine
that solves the membership problem
H
HM
w
YES M accepts w
NO M rejects w
![Page 75: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/75.jpg)
75
Let be a recursively enumerable language. L
Let be the Turing Machine that accepts .M L
We will prove that is also recursive: L
We will describe a Turing machine that
accepts and halts on any input.L
![Page 76: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/76.jpg)
76
M accepts ?wNO
YESM
w
Haccept w
Turing Machine that accepts
and halts on any input
L
reject w
![Page 77: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/77.jpg)
77
Therefore, L is recursive.
But there are recursively enumerable
languages which are not recursive.
Contradiction!
Since is chosen arbitrarily, we have
proven that every recursively enumerable
language is also recursive.
L
![Page 78: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/78.jpg)
78
Therefore, the membership problem
is undecidable.
END OF PROOF
![Page 79: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/79.jpg)
79
Reducibility
![Page 80: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/80.jpg)
80
Problem is reduced to problemA B
If we can solve problem then
we can solve problem .
BA
B
A
![Page 81: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/81.jpg)
81
If is decidable then is decidable.B A
If is undecidable then is undecidable.A B
Problem is reduced to problemA B
![Page 82: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/82.jpg)
82
Example
the halting problem
reduced to
the state-entry problem.
![Page 83: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/83.jpg)
83
The state-entry problem
Inputs:
Question:
M•Turing Machine
•State q
•String w
Does M enter state q
on input ?w
![Page 84: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/84.jpg)
84
Theorem
The state-entry problem is undecidable.
ProofReduce the halting problem to
the state-entry problem.
![Page 85: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/85.jpg)
85
Suppose we have an algorithm (Turing Machine)
that solves the state-entry problem.
We will construct an algorithm
that solves the halting problem.
![Page 86: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/86.jpg)
86
Algorithm for
state-entry
problem
M
w
q
YES
NO
entersM q
doesn’t
enterM q
Assume we have the state-entry algorithm:
![Page 87: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/87.jpg)
87
Algorithm for
Halting problem
M
w
YES
NO
halts onM w
doesn’t
halt onM w
We want to design the halting algorithm:
![Page 88: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/88.jpg)
88
Modify input machine M• Add new state q
• From any halting state add transitions to q
M q
halting statesSingle
halt state
M
![Page 89: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/89.jpg)
89
M halts
M halts on state q
if and only if
![Page 90: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/90.jpg)
90
Algorithm for halting problem
Inputs: machine and stringM w
2. Run algorithm for state-entry problem
with inputs: M wq, ,
1. Construct machine with state M q
![Page 91: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/91.jpg)
91
Generate
M M
w
M qw
State-entry
algorithm
Halting problem algorithm
YES
NO
YES
NO
![Page 92: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/92.jpg)
92
Since the halting problem is undecidable,
it must be that the state-entry problem
is also undecidable.
END OF PROOF
We reduced the halting problem
to the state-entry problem.
![Page 93: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/93.jpg)
93
Another example
The halting problem
reduced to
the blank-tape halting problem.
![Page 94: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/94.jpg)
94
The blank-tape halting problem
Input: MTuring Machine
Question: Does M halt when started with
a blank tape?
![Page 95: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/95.jpg)
95
ProofReduce the halting problem to the
blank-tape halting problem.
Theorem
The blank-tape halting problem is undecidable.
![Page 96: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/96.jpg)
96
Suppose we have an algorithm
for the blank-tape halting problem.
We will construct an algorithm
for the halting problem.
![Page 97: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/97.jpg)
97
Algorithm for
blank-tape
halting problemM
YES
NO
halts on
blank tape
M
doesn’t halt
on blank tape
M
Assume we have the
blank-tape halting algorithm
![Page 98: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/98.jpg)
98
Algorithm for
halting problem
M
w
YES
NO
halts onM w
doesn’t
halt onM w
We want to design the halting algorithm:
![Page 99: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/99.jpg)
99
wMConstruct a new machine
• On blank tape writes w• Then continues execution like M
wM
Mthen write w
step 1 step2
if blank tape execute
with input w
![Page 100: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/100.jpg)
100
M halts on input string
wM halts when started with blank tape.
if and only if
w
![Page 101: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/101.jpg)
101
Algorithm for halting problem
1. Construct wM
2. Run algorithm for
blank-tape halting problem
with input wM
Inputs: machine and stringM w
![Page 102: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/102.jpg)
102
Generate
wMMw
Blank-tape
halting
algorithm
Halting problem algorithm
YES
NOwM
YES
NO
![Page 103: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/103.jpg)
103
Since the halting problem is undecidable,
the blank-tape halting problem is
also undecidable.
END OF PROOF
We reduced the halting problem
to the blank-tape halting problem.
![Page 104: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/104.jpg)
104
Summary of Undecidable Problems
Halting Problem
Does machine halt on input ?M w
Membership problem
Does machine accept string ?M w
Is a string member of a
recursively enumerable language ?)Lw(In other words:
![Page 105: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/105.jpg)
105
Does machine halt when starting
on blank tape?
Blank-tape halting problem
M
State-entry Problem:
Does machine enter state
on input ?
Mw
q
![Page 106: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/106.jpg)
106
Uncomputable Functions
![Page 107: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/107.jpg)
107
Uncomputable Functions
A function is uncomputable if it cannot
be computed for all of its domain.
Domain Rangef
![Page 108: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/108.jpg)
108
An uncomputable function:
)(nfmaximum number of moves until
any Turing machine with states
halts when started with the blank tape.
n
Example
![Page 109: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/109.jpg)
109
TheoremFunction is uncomputable.)(nf
Then the blank-tape halting problem
is decidable.
ProofAssume to the contrary that
is computable.)(nf
![Page 110: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/110.jpg)
110
Algorithm for blank-tape halting problem
Input: machine M
1. Count states of : M m
2. Compute )(mf
3. Simulate for steps
starting with empty tape
M )(mf
If halts then return YES
otherwise return NO
M
![Page 111: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/111.jpg)
111
Therefore, the blank-tape halting
problem must be decidable.
However, we know that the blank-tape
halting problem is undecidable.
Contradiction!
![Page 112: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/112.jpg)
112
Therefore, function is uncomputable.)(nf
END OF PROOF
![Page 113: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/113.jpg)
113
A language L is recursively enumerable if
There is a Turing machine M accepting all
Strings w in L. This is denoted L=L(M)
A language L is recursive if there is a Turing
Machine M, that halts on any input w and deciding weather w is in L or not.
Definition
![Page 114: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/114.jpg)
114
A language L is recursively enumerable iff it
Is generated by an unrestricted grammar.
Another definition
![Page 115: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/115.jpg)
115
A language L is recursive iff L is recursivelyenumerable AND it’s complement L’ is recursively enumerable
Implication
![Page 116: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/116.jpg)
116
Proof sketch (if)
Let L be a recursive language. Then there is
A Turing machine M such that running any input w on M, M will answer yes if w is in L and no if w is not in L.
Construct a machine ML accepting L by modifying M such as the yes state is a final state (all other rejecting).
Construct a machine ML’ accepting L’ by modifying M such that the no state is a final state (all other rejecting).
![Page 117: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/117.jpg)
117
Proof sketch (only if)
Let M be a Turing machine accepting L and let M’ be a Turing machine accepting L’
Let ML be the Turing machine deciding L.
Run M and M’ in parallel on input w.
One of the machines will accept w.
Let ML answer yes if M accepts, and no if M’
Accepts. Since ML clearly can be constructed.
L is a recursive language.
![Page 118: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/118.jpg)
118
Let ∑ = {a}. Let H be the set of all Turing
Machines with this alphabet. Note that H is
countably infinite! Thus, H = {M0,M1,M2,…}
Let L(Mi) denote the recursively enumerable
Language of Mi (that is, the set of strings that
Drives Mi into a final state.)
Not all recursive languages are recursively
enumerable
![Page 119: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/119.jpg)
119
Let
L is recursively enumerable.
Pseudo-code:
1.Find i by counting a’s in w
2.Find Mi by the known encoding
3.Run Mi with w. Accept if Mi accepts
Not all recursive languages are recursively
enumerable
)}(|{ iii MLaaL
![Page 120: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/120.jpg)
120
Let
L’ is not recursively enumerable. Assume for contradiction it is: there is a TM M’ that
Accepts w if w is in L’.
Note: M’ has {a} as alphabet, so M’ = Mk for some integer k.
Not all recursive languages are recursively
enumerable
)}(|{ iii MLaaL
![Page 121: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/121.jpg)
121
Let Mk be the machine accepting L’. That is
L’ = L(Mk).
LetIs w in L’?
Not all recursive languages are recursively
enumerable
kaw
)}(|{ iii MLaaL
![Page 122: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/122.jpg)
122
Let Mk be the machine accepting L’. That is
L’ = L(Mk).
Contradiction!! L’ is not RE
Not all recursive languages are recursively
enumerable)}(|{ i
ii MLaaL
LMLwLw
LMLwLw
k
k
)(
)(
![Page 123: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/123.jpg)
123
L’ is not RE, but L is. According to previous
Result a language is recursive iff L and L’ is RE.
Conclusion: L is recursively enumerable
but not recursive.
Not all recursive languages are recursively
enumerable
![Page 124: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/124.jpg)
124
Rice’s Theorem
![Page 125: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/125.jpg)
125
Non-trivial properties of
recursively enumerable languages:
any property possessed by some (not all)
recursively enumerable languages.
Definition
![Page 126: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/126.jpg)
126
Some non-trivial properties of
recursively enumerable languages:
• is emptyL
L• is finite
L• contains two different strings
of the same length
![Page 127: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/127.jpg)
127
Rice’s Theorem
Any non-trivial property of
a recursively enumerable language
is undecidable.
![Page 128: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/128.jpg)
128
We will prove some non-trivial properties
without using Rice’s theorem.
![Page 129: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/129.jpg)
129
Theorem
For any recursively enumerable language Lit is undecidable whether it is empty.
Proof
We will reduce the membership problem
to the problem of deciding whether
is empty.
L
![Page 130: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/130.jpg)
130
Membership problem:
Does machine accept string ?wM
![Page 131: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/131.jpg)
131
Algorithm for
empty language
problem
M
YES
NO
Assume we have the empty language algorithm:
Let be the machine that accepts M L
)(ML
)(ML
empty
not empty
LML )(
![Page 132: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/132.jpg)
132
Algorithm for
membership
problem
M
w
YES
NO
acceptsM w
rejectsM w
We will design the membership algorithm:
![Page 133: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/133.jpg)
133
First construct machine : wM
When enters a final state,
compare original input string with . wM
Accept if original input is
the same as .w
Construct
M
w
wM
![Page 134: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/134.jpg)
134
Lw
)( wML is not empty
if and only if
}{)( wML w
![Page 135: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/135.jpg)
135
Algorithm for membership problem
Inputs: machine and string M w
1. Construct wM
2. Determine if is empty )( wML
YES: then )(MLw
NO: then )(MLw
![Page 136: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/136.jpg)
136
construct
wM
Check if
)( wML
is empty
YES
NO
M
w
NO
YES
Membership algorithm
wM
![Page 137: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/137.jpg)
137
Since the membership problem is undecidable,
the empty language problem is
also undecidable.
END OF PROOF
We reduced the empty language problem
to the membership problem.
![Page 138: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/138.jpg)
138
Decidability…continued…
![Page 139: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/139.jpg)
139
Theorem
For a recursively enumerable language Lit is undecidable to determine whether
is finite. L
Proof
We will reduce the halting problem
to the finite language problem.
![Page 140: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/140.jpg)
140
Assume we have the finite language algorithm:
Algorithm for
finite language
problem
M
YES
NO
)(ML
)(ML
finite
not finite
Let be the machine that accepts M L
LML )(
![Page 141: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/141.jpg)
141
We will design the halting problem algorithm:
Algorithm for
Halting problem
M
w
YES
NO
halts onM w
doesn’t
halt onM w
![Page 142: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/142.jpg)
142
First construct machine .wM
When enters a halt state,
accept any input (infinite language).
M
Initially, simulates on input . M w
Otherwise accept nothing (finite language).
![Page 143: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/143.jpg)
143
M halts on
)( wML is not finite.
if and only if
w
![Page 144: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/144.jpg)
144
Algorithm for halting problem:
Inputs: machine and string M w
1. Construct wM
2. Determine if is finite )( wML
YES: then doesn’t halt on M wNO: then halts on M w
![Page 145: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/145.jpg)
145
construct
wM
Check if
)( wMLis finite
YES
NO
M
w
NO
YES
Machine for halting problem
![Page 146: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/146.jpg)
146
Since the halting problem is undecidable,
the finite language problem is
also undecidable.
END OF PROOF
We reduced the finite language problem
to the halting problem.
![Page 147: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/147.jpg)
147
Theorem
For a recursively enumerable language Lit is undecidable whether contains
two different strings of same length.
L
ProofWe will reduce the halting problem
to the two strings of equal length- problem.
![Page 148: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/148.jpg)
148
Assume we have the two-strings algorithm:
Let be the machine that accepts M LLML )(
Algorithm for
two-strings
problem
M
YES
NO
)(ML
)(ML
contains
doesn’t
contain
two equal length strings
![Page 149: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/149.jpg)
149
We will design the halting problem algorithm:
Algorithm for
Halting problem
M
w
YES
NO
halts onM w
doesn’t
halt onM w
![Page 150: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/150.jpg)
150
First construct machine . wM
When enters a halt state,
accept symbols or .
M
Initially, simulates on input . M w
a b
(two equal length strings)
![Page 151: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/151.jpg)
151
M halts on
wM
if and only if
w
accepts and a b
(two equal length strings)
![Page 152: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/152.jpg)
152
Algorithm for halting problem
Inputs: machine and string M w
1. Construct wM
2. Determine if accepts
two strings of equal lengthwM
YES: then halts on M w
NO: then doesn’t halt on M w
![Page 153: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/153.jpg)
153
construct
wM
Check if)( wML
has two
equal length
strings
YES
NO
M
w
YES
NO
Machine for halting problem
![Page 154: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/154.jpg)
154
Since the halting problem is undecidable,
the two strings of equal length problem is
also undecidable.
END OF PROOF
We reduced the two strings of equal length -
problem to the halting problem.
![Page 155: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/155.jpg)
155
Rices theorem
If is a set of recursively enumerable languages containing some but not all such languages, then no TM can decide for an arbitrary Recursively enumerable language L, if L belongs to or not.
![Page 156: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/156.jpg)
156
Example
Given a Turing Machine M, is it possible to decide weather all strings acceted by M begins and ends with the same symbol?
![Page 157: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/157.jpg)
157
Undecidable
The problem is about a non-trivial language property. There are recursively enumerable languages with this property and there are recursively enumerable langages without this property.
![Page 158: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/158.jpg)
158
Formally:
= { L | L is a recursively enumerable language where all strings begin and end with the same symbol }
![Page 159: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/159.jpg)
159
Interaction: Conjectures, Results, and Myths
Dina GoldinUniv. of Connecticut, Brown University
http://www.cse.uconn.edu/~dqg
![Page 160: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/160.jpg)
160
Fundamental Questions Underlying Theory of
Computation
What is computation?
How do we model it?
![Page 161: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/161.jpg)
161
Shared Wisdom(from our undergraduate Theory of Computation courses)
computation: finite transformation of input to output
input: finite size (e.g. string or number)
closed system: all input available at start, all output generated at end
behavior: functions, transformation of input data to output data
Church-Turing thesis: Turing Machines capture this (algorithmic) notion of computation
Mathematical worldview: All computable problems
are function-based.
![Page 162: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/162.jpg)
162
“The theory of computability and non-computability [is] usually referred to as the theory of recursive functions... the notion of TM has been made central in the development."
Martin Davis, Computability & Unsolvability, 1958
“Of all undergraduate CS subjects, theoretical computer science has changed the least over the decades.”
SIGACT News, March 2004
“A TM can do anything that a computer can do.”
Michael Sipser, Introduction to the Theory of Computation, 1997
The Mathematical Worldview
![Page 163: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/163.jpg)
163
The Operating System Conundrum
Real programs, such as operating systems and word processors, often receive an unbounded amount of input over time, and never "finish" their task. Turing machines do not model such ongoing computation well…
[TM entry, Wikipedia]
If a computation does not terminate,
it’s “useless” – but aren’t OS’s
useful??
![Page 164: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/164.jpg)
164
Rethinking Shared Wisdom:(what do computers do?)
computation: finite transformation of input to output
input: finite-size (string or number)
closed system: all input available at start, all output generated at end
behavior: functions, algorithmic transformation of input data to output data
Church-Turing thesis: Turing Machines capture this (algorithmic) notion of computation
computation: ongoing process which performs a task or delivers a service
dynamically generated stream of input tokens (requests, percepts, messages)
open system: later inputs depend on earlier outputs and vice versa (I/O entanglement, history dependence)
behavior: processes, components, control devices, reactive systems, intelligent agents
Wegner’s conjecture: Interaction is more powerful than algorithms
![Page 165: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/165.jpg)
165
Example: Driving home from work
Algorithmic input: a description of the world (a static “map”)
Output: a sequence of pairs of #s (time-series data)- for turning the wheel- for pressing gas/break
Similar to classic AI search/planning problems.
![Page 166: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/166.jpg)
166
But… in a real-world environment, the output depends on every grain of sand in the road (chaotic behavior).
Can we possibly have a map that’s detailed enough?
Worse yet… the domain is dynamic. The output depends on weather conditions, and on other drivers and pedestrians.
We can’t possibly be expected to predict that in advance!
Nevertheless the problem is solvable!
Google “autonomous vehicle research”
Driving home from work (cont.)
?
![Page 167: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/167.jpg)
167
Driving home from work (cont.)
The problem is solvable interactively.
Interactive input: stream of video camera images, gathered as we are driving
Output: the desired time-series data, generated as we are driving
similar to control systems, or online computation
A paradigm shift in the conceptualization of computational problem solving.
![Page 168: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/168.jpg)
168
• Rethinking the mathematical worldview
• Persistent Turing Machines (PTMs)
• PTM expressiveness
• Sequential Interaction – Sequential Interaction Thesis
• The Myth of the Church-Turing Thesis
– the origins of the myth
• Conclusions and future work
Outline
![Page 169: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/169.jpg)
169
Sequential Interaction
• Sequential interactive computation:
system continuously interacts with its environment by alternately accepting an input string
and computing a corresponding output string.
• Examples:
- method invocations of an object instance in an OO language
- a C function with static variables- queries/updates to single-user databases- recurrent neural networks
- control systems- online computation- transducers- dynamic algorithms- embedded systems
![Page 170: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/170.jpg)
170
Sequential Interaction Thesis
• Universal PTM: simulates any other PTM– Need additional input describing the PTM (only once)
• Example: simulating Answering Machine(simulate AM, will-do), (record hello, ok), (erase, done), (record John, ok),(record Hopkins, ok), (playback, John Hopkins), …
Simulation of other sequential interactive systems is analogous.
Whenever there is an effective method for performing sequential interactive computation, this computation
can be performed by a Persistent Turing Machine
![Page 171: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/171.jpg)
171
Church-Turing Thesis Revisited
• Church-Turing Thesis:
Whenever there is an effective method for obtaining the values of a mathematical function, the function can be computed by a Turing Machine
• Common Reinterpretation (Strong Church-Turing Thesis)
A TM can do (compute) anything that a computer can do
• The equivalence of the two is a myth – the function-based behavior of algorithms does not capture all
forms of computation
– this myth has been dogmatically accepted by the CS community
• Turing himself would have denied it
– in the same paper where he introduced what we now call Turing Machines, he also introduced choice machines, as a distinct model of computation
– choice machines extend Turing Machines to interaction by allowing a human operator to make choices during the computation.
![Page 172: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/172.jpg)
172
Origins of the Church-Turing Thesis Myth
A TM can do anything that a computer can do.
Based on several claims:1. A problem is solvable if there exists a Turing Machine
for computing it.
2. A problem is solvable if it can be specified by an algorithm.
3. Algorithms are what computers do.
Each claim is correct in isolationprovided we understand the underlying assumptions
Together, they induce an incorrect conclusion
TMs = solvable problems = algorithms = computation
![Page 173: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/173.jpg)
173
Deconstructing the Turing Thesis Myth (1)
TMs = solvable problems
• Assumes:All computable problems are function-based.
• Reasons:
– Theory of Computation started as a field of mathematics; mathematical principles were adopted for the fundamental notions of computation, identifying computability with the computation of functions, as well as with Turing Machines.
– The batch-based modus operandi of original computers did
not lend itself to other conceptualizations of computation.
![Page 174: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/174.jpg)
174
Deconstructing the Turing Thesis Myth (2)
solvable problems = algorithms
Assumes:- Algorithmic computation is also function based;
i.e., the computational role of an algorithm is to transform input data to output data.
• Reasons: – Original (mathematical) meaning of “algorithms”
E.g. Euclid’s greatest common divisor algorithm
– Original (Knuthian) meaning of “algorithms”
“An algorithm has zero or more inputs, i.e., quantities which are given to it initially before the algorithm begins.“ [Knuth’68]
![Page 175: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/175.jpg)
175
Deconstructing the Turing Thesis Myth (3)
algorithms = computation
• Reasons: – The ACM Curriculum (1968): Adopted algorithms as the central
concept of CS without explicit agreement on the meaning of this term.
– Textbooks: When defining algorithms, the assumption of their closed function-based nature was often left implicit, if not forgotten
“An algorithm is a recipe, a set of instructions or the specifications of a process for doing something. That something is usually solving a problem of some sort.” [Rice&Rice’69]
“An algorithm is a collection of simple instructions for carrying out some task. Commonplace in everyday life, algorithms sometimes are called procedures or recipes...” [Sipser’97]
![Page 176: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/176.jpg)
176
• Rethinking the mathematical worldview
• Persistent Turing Machines (PTMs)
• PTM expressiveness
• Sequential Interaction
• The Myth of the Church-Turing Thesis
• Conclusions and future work
Outline
![Page 177: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/177.jpg)
177
The Shift to Interaction in CS
Computation = transforming input to output
Computation = carrying out a task over time
Logic and search in AI Intelligent agents, partially observable environments, learning
Procedure-oriented programming
Object-oriented programming
Closed systems Open systems
Compositional behavior Emergent behavior
Rule-based reasoning Simulation, control, semi-Markov processes
Algorithmic Interactive
![Page 178: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/178.jpg)
178
The Interactive Turing Test
• From answering questions to holding discussions.• Learning from -- and adapting to -- the questioner.• “Book intelligence” vs. “street smarts”.
“It is hard to draw the line at what is intelligence and what is environmental interaction. In a sense, it does not really matter which is which, as all intelligent systems must be situated in some world or other if they are to be useful entities.” [Brooks]
![Page 179: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/179.jpg)
179
• Many other interactive models– Reactive [MP] and embedded systems– Dataflow, I/O automata [Lynch], synchronous languages, finite/pushdown
automata over infinite words– Interaction games [Abramsky], online algorithms [Albers]– TM extensions: on-line Turing machines [Fischer], interactive Turing
machines [Goldreich]...
• Concurrency Theory– Focuses on communication (between concurrent agents/processes) rather than
computation [Milner]– Orthogonal to the theory of computation and TMs.
• What makes PTMs unique?– Provably more expressive than TMs.– Bridging the gap between concurrency theory (labeled transition systems) and
traditional TOC.
Modeling Interactive Computation: PTMs in Perspective
![Page 180: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/180.jpg)
180
• Theory of Sequential Interactionconjecture: notions analogous to computational complexity, logic, and recursive functions can be developed for sequential interaction computation
• Multi-stream interaction– From hidden variables to hidden interfaces
conjecture: multi-stream interaction is more powerful than sequential interaction [Wegner’97]
• Formalizing indirect interaction– Interaction via persistent, observable changes to the
common environment– In contrast to direct interaction (via message passing)
conjecture: direct interaction does not capture all forms of multi-agent behaviors
Future Work: 3 conjectures
![Page 181: CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 13](https://reader035.vdocument.in/reader035/viewer/2022081603/5681449d550346895db14dc3/html5/thumbnails/181.jpg)
181
Referenceshttp://www.cse.uconn.edu/~dqg/papers/
[Wegner’97] Peter WegnerWhy Interaction is more Powerful than AlgorithmsCommunications of the ACM, May 1997
[EGW’04] Eugene Eberbach, Dina Goldin, Peter Wegner Turing's Ideas and Models of Computationbook chapter, in Alan Turing: Life and Legacy of a Great Thinker, Springer 2004
[I&C’04] Dina Goldin, Scott Smolka, Paul Attie, Elaine SondereggerTuring Machines, Transition Systems, and InteractionInformation & Computation Journal, 2004
[GW’04] Dina Goldin, Peter WegnerThe Church-Turing Thesis: Breaking the Mythpresented at CiE 2005, Amsterdam, June 2005 to be published in LNCS