Fall 2008

MELJUN P. CORTES,
MBA,MPA,BSCS,ACS

Turing Machines

MELJUN CORTES
(MSCS) Theory of Automata & Formal Languages
What is a computer?
input data
instructions
(program)

computer

output data

A computer is a machine that manipulates dat...
Are DFAs and PDAs
computers?
0
1

0, ε / a

1, a / ε

#, ε / ε

ε, Z0 / ε

0, 1

yes

no!

A computer is a machine that ma...
A short history of computing
devices
slide rule (1600s)
abacus
(Babylon 500BC, China 1300)

Leibniz calculator (1670s)

Ba...
A brief history of computing
devices

Z3 (Germany, 1941)

ENIAC (Pennsylvania, 1945)

PC (1980)

MacBook Air (2008)
Which of these are “real”
computers?
not programmable

programmable
Computation is universal

In principle, all these computers
have the same problem-solving ability

C++

java

python

LISP
The Turing Machine

Turing Machine

C++

java

python

LISP
The Turing Machine
The Turing Machine is an abstract
automaton that is
meant to model any physically realizable
computer
...
Computation and mathematical
proofs has a perfect matching
G = (L, R)
Prove that...

√2 is irrational.

(Archimedes’ Theor...
Hilbert’s list of 23 problems
Leading mathematician in the
1900s
At the 1900 International
David Hilbert
Congress
(1862-19...
Automated theorem-proving
is
√2
irra

ti o n

ching
erfect mat
T
sap
= (L, R) ha for every L ⊆ S. he la
G
is n
n
S|
ot gua...
Automated theorem proving
How could automated theorem proving
work?
Theorem:

√2 is irrational.

Proof:

Assume not.
Then ...
First idea of automated theorem
proving
➀

Checking that a proof is correct is much
easier than
coming up with the proof√2...
First idea of automated theorem
proving
➀
Checking that a proof is correct is much
easier than
coming up with the proof
A ...
➁

Second idea of automated
theorem proving
To find if statement is true, why don’t we
try all
possible proofs
After all, ...
Königsberg, 1930

David Hilbert

Kurt Gödel

(1862-1943)

(1906-1978)

September 8: Hilbert gives a famous lecture
“Logic ...
Königsberg, 1930

It is all over!
David Hilbert

Kurt Gödel

(1862-1943)

(1906-1978)

John von Neumann
(1903-1957)

I rea...
What did Gödel say?
➁

To find if statement is true, why don’t we
try all
possible proofs

NO!

After all, a proof is just...
Gödel’s incompleteness
theorem
Some mathematical statements
are true but not provable.

What are they?
Example of incompleteness
Recall Hilbert’s 10th problem:

Find a method for telling if an equation like
xyz – 3xy + 6xz + ...
Another example of
incompleteness
Recall ambiguous context free grammars
We did exercises of the type
“Show that G is ambi...
Gödel’s incompleteness
theorem
Some mathematical statements
are true but not provable.

What does this have to do with com...
The father of modern computer
science
Invented the Turing Test
to tell
humans and computers
apart
Broke German encryption
...
Turing’s angle on
incompleteness
mathematical statement
input data
instructions

computer

check if true!

output

true / ...
Computer program analysis
public static void main(String args[]) {
System.out.println("Hello World!");
}

What does this p...
Computers cannot analyze
programs!
java program
input data
instructions

does it print
Hello, world!

computer

output

Th...
How do you argue things like
that?
To argue what computers cannot do,
we need to have a precise definition
of what a compu...
Turing Machines
A Turing Machine is a finite automaton with a
two-way access to an infinite tape
state control

input
0 1 ...
Turing Machines

At each point in the computation, the machine
sees
its current state and the symbol at the head
head

sta...
Example
current state
q1

a/bL

q2

0

1

a

0

…

Replace a with b, and move head left
current state
q1

a/bL

q2

0

1

...
Formal Definition
A Turing Machine is (Q, Σ, Γ, δ, q0, qacc, qrej):









Q is a finite set of states;
Σ is the i...
Language of a Turing Machine
The language recognized by a TM is the
set of all
inputs that make it reach qacc
Σ = {0, 1}
S...
Looping behavior
Inputs can be divided into three types:


1. Reach the state qacc and halt



2. Reach the state qrej a...
The Church-Turing Thesis

Turing Machine
quantum computing

cosmic computing
DNA computing
The Church-Turing Thesis
All arguments [for the CT Thesis] which can be given are
bound to be, fundamentally, appeals to i...
Upcoming SlideShare
Loading in …5
×

MELJUN CORTES Automata Theory (Automata15)

131
-1

Published on

MELJUN CORTES Automata Theory (Automata15)

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
131
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
7
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

MELJUN CORTES Automata Theory (Automata15)

  1. 1. Fall 2008 MELJUN P. CORTES, MBA,MPA,BSCS,ACS Turing Machines MELJUN CORTES (MSCS) Theory of Automata & Formal Languages
  2. 2. What is a computer? input data instructions (program) computer output data A computer is a machine that manipulates data according to a list of instructions.
  3. 3. Are DFAs and PDAs computers? 0 1 0, ε / a 1, a / ε #, ε / ε ε, Z0 / ε 0, 1 yes no! A computer is a machine that manipulates data according to a list of instructions.
  4. 4. A short history of computing devices slide rule (1600s) abacus (Babylon 500BC, China 1300) Leibniz calculator (1670s) Babbage’s mechanical engine (1820s)
  5. 5. A brief history of computing devices Z3 (Germany, 1941) ENIAC (Pennsylvania, 1945) PC (1980) MacBook Air (2008)
  6. 6. Which of these are “real” computers? not programmable programmable
  7. 7. Computation is universal In principle, all these computers have the same problem-solving ability C++ java python LISP
  8. 8. The Turing Machine Turing Machine C++ java python LISP
  9. 9. The Turing Machine The Turing Machine is an abstract automaton that is meant to model any physically realizable computer    Using any technology (mechanical, electrical, nano, bio) Under any physical laws (gravity, quantum, E&M) At any scale (human, quantum, cosmological)
  10. 10. Computation and mathematical proofs has a perfect matching G = (L, R) Prove that... √2 is irrational. (Archimedes’ Theorem) The equation xn + yn = zn, n ≥ 2 has no integer solutions. (Fermat-Wiles Theorem) iff |Γ(S)| ≥ |S| for every L ⊆ S. (Hall’s Theorem) The language 0n1n is not regular. L ⊆ {1}* is regular iff L = L0 ∪ Lq1,r ∪ ... ∪ Lqk,r Math is hard, let’s go shopping!
  11. 11. Hilbert’s list of 23 problems Leading mathematician in the 1900s At the 1900 International David Hilbert Congress (1862-1943) of Mathematicians, proposed a list of Find a method for telling if an equation like 23 problems for the 20th xyz – 3xy + 6xz + 2 = 0 has integer solutions century
  12. 12. Automated theorem-proving is √2 irra ti o n ching erfect mat T sap = (L, R) ha for every L ⊆ S. he la G is n n S| ot guag |Γ(S)| ≥ | iff xyz r eg e 0 n – 3x u la The equation y+ r. 1 n 6xz xn + yn = zn, n ≥h2s i +2 a n =0 tege has no integer solutions. r s o lu t i o ns . al. output input data instructions check if they are true! computer true / false
  13. 13. Automated theorem proving How could automated theorem proving work? Theorem: √2 is irrational. Proof: Assume not. Then √2 = m/n. Then m2 = 2n2 But m2 has an even number of prime factors and 2n2 has an odd number of prime factors. Contradiction. Let’s look at a typical proof:
  14. 14. First idea of automated theorem proving ➀ Checking that a proof is correct is much easier than coming up with the proof√2 = m/n both sides ×n Proof: (√2)n = m square (√2)2n2 = m2 def of sqrt 2n2 = m2 ... if we write out the proof in sufficient detail
  15. 15. First idea of automated theorem proving ➀ Checking that a proof is correct is much easier than coming up with the proof A proof, if written out in sufficient detail, can be checked mechanically   In principle this is uncontroversial In practice, it is hard to do because writing proofs in detail sometimes requires a lot of work
  16. 16. ➁ Second idea of automated theorem proving To find if statement is true, why don’t we try all possible proofs After all, a proof is just a sequence of √2 = m/n symbols (over (√2)n = m alphabet {0, 1, 2, m, n, √, 2, etc.}) (√2)2n2 = m2 If statement is true, it has a finite length, say k 2n2 = m2 proof of...
  17. 17. Königsberg, 1930 David Hilbert Kurt Gödel (1862-1943) (1906-1978) September 8: Hilbert gives a famous lecture “Logic and the understanding of nature”
  18. 18. Königsberg, 1930 It is all over! David Hilbert Kurt Gödel (1862-1943) (1906-1978) John von Neumann (1903-1957) I reached the conclusion that in any reasonable formal system in which provability in it can be expressed as a property of certain sentences, there must be propositions which are undecidable in it.
  19. 19. What did Gödel say? ➁ To find if statement is true, why don’t we try all possible proofs NO! After all, a proof is just a sequence of symbols (over alphabet {0, 1, 2, m, n, √, 2, etc.}) If statement is true, it has a proof of finite length, say k
  20. 20. Gödel’s incompleteness theorem Some mathematical statements are true but not provable. What are they?
  21. 21. Example of incompleteness Recall Hilbert’s 10th problem: Find a method for telling if an equation like xyz – 3xy + 6xz + 2 = 0 has integer solutions Matyashievich showed in 1970 that there exists a p(x1, ..., xk) has no integer solutions, but polynomial=p0such that this cannot be proved
  22. 22. Another example of incompleteness Recall ambiguous context free grammars We did exercises of the type “Show that G is ambiguous” However there existsthisCFG Gbe proved G is unambiguous, but a cannot such that
  23. 23. Gödel’s incompleteness theorem Some mathematical statements are true but not provable. What does this have to do with computer science?
  24. 24. The father of modern computer science Invented the Turing Test to tell humans and computers apart Broke German encryption Alan Turing (1912-1954) codes during World War II 1936: “On Computable Numbers, with anis the The Turing Award Application to the Entscheidungsproblem” “Nobel prize of Computer
  25. 25. Turing’s angle on incompleteness mathematical statement input data instructions computer check if true! output true / false Gödel’s theorem says that a computer cannot determine the truth of mathematical statements But there are many other things!
  26. 26. Computer program analysis public static void main(String args[]) { System.out.println("Hello World!"); } What does this program do? public static void main(String args[]) { int i = 0; for (j = 1; j < 10; j++) { i += j; if (i == 28) { System.out.println("Hello World!"); } } } How about this one?
  27. 27. Computers cannot analyze programs! java program input data instructions does it print Hello, world! computer output The essence of Gödel’s theorem is that computers cannot analyze computer programs
  28. 28. How do you argue things like that? To argue what computers cannot do, we need to have a precise definition of what a computer is. 1936: “On Computable Numbers, with an Application to the Entscheidungsproblem” Section 1. Computing Machines
  29. 29. Turing Machines A Turing Machine is a finite automaton with a two-way access to an infinite tape state control input 0 1 0 infinite tape … Initially, the first few cells contain the input, and the other cells are blank
  30. 30. Turing Machines At each point in the computation, the machine sees its current state and the symbol at the head head state control 0 1 a 0 … It can replace the symbol on the tape, change state, and move the head left or right
  31. 31. Example current state q1 a/bL q2 0 1 a 0 … Replace a with b, and move head left current state q1 a/bL q2 0 1 b 0 …
  32. 32. Formal Definition A Turing Machine is (Q, Σ, Γ, δ, q0, qacc, qrej):       Q is a finite set of states; Σ is the input alphabet; Γ is the tape alphabet (Σ ⊆ Γ) including the blank symbol ☐ q0 in Q is the initial state; δ: (Q – {qacc, qrej}) × Γ →Q × Γ × {L, R} qacc, qrej in Q are the accepting and rejecting state; Turing Machines are deterministic δ is the transition function
  33. 33. Language of a Turing Machine The language recognized by a TM is the set of all inputs that make it reach qacc Σ = {0, 1} Something strange can happen 0/0R input: ε ☐/☐R qacc 1/1R Turingq Machine: 0 qrej in a This machine never halts
  34. 34. Looping behavior Inputs can be divided into three types:  1. Reach the state qacc and halt  2. Reach the state qrej and halt  3. Loop forever The language recognized by a TM = type 1 inputs
  35. 35. The Church-Turing Thesis Turing Machine quantum computing cosmic computing DNA computing
  36. 36. The Church-Turing Thesis All arguments [for the CT Thesis] which can be given are bound to be, fundamentally, appeals to intuition, and for this reason rather unsatisfactory mathematically. The arguments which I shall use are of three kinds: 1. A direct appeal to intuition 2. A proof of the equivalence of two definitions (In case the new definition has greater intuitive appeal) 3. Giving examples of large classes of numbers which are computable. 1936: “On Computable Numbers, with an Application to the Entscheidungsproblem” Section 9. The extent of the computable numbers
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×