What Is Computation? William J. Rapaport

advertisement
What Is Computation?
William J. Rapaport
Department of Computer Science & Engineering,
Department of Philosophy, Department of Linguistics,
and Center for Cognitive Science
rapaport@buffalo.edu
http://www.cse.buffalo.edu/~rapaport
What Is Computation?
• function =
– set of I/O pairs (relation)
– same I/P  same O/P
• “function machine”:
What Is Computation?: Functions
• But: “function machine” ≠ function!
– functions don’t “do” anything
– function machine needs “gears”
• i.e.) algorithm!
• but not all functions are algorithmic (computable)!
– function machine = …
• computer!
Computable Functions
• A function is computable ≈
– there is an algorithm that computes it
– i.e.) that specifies how …
• I/P can be transformed into O/P
Algorithm
• Algorithm for problem P ≈
– finite procedure for solving P
• finite # instructions
• completable in finite time (?)
• completable in finite # steps (?)
– instructions unambiguous for executor
• know how to do each instruction
• know what to do next
– must halt (optional)
– O/P must be correct (optional)
4 Great Insights of CS
1. Bacon/Leibniz/Boole/Turing/Shannon/Morse:
• All information
about any computable problem
can be represented
using only 2 nouns:
0, 1
4 Great Insights of CS
2. Turing’s Insights:
a) Every algorithm can be expressed in a language
for a Turing machine:
•
•
•
arbitrarily long tape divided into squares
read / write head
only 2 verbs (= basic instructions):
– move(direction)
– print(symbol)
(where direction = L, R)
(where symbol = 0, 1, nil)
b) Not every function is computable.
– e.g., Halting Problem
c) Universal TM:
– Single TM that can simulate any TM, using “apps”
4 Great Insights of CS
3. Boehm & Jacopini’s insight:
– structured programming
– only need 3 grammar rules:
• sequence (first do this; then do that)
• selection (if P, then do this else do that)
• repetition (while P do this)
– recursively, “this” & “that” can be:
• any basic instruction (move/print, assignment, successor/predecessor/projection)
• any complex instruction created by grammar rules
– optional:
• exit
• named procedures
• recursion
4 Great Insights of CS
4. Church-Turing Thesis:
– An algorithm isdef
anything equivalent to a Turing-machine program
– TM = Post production system = lambda calculus
= Markov algorithm = recursive functions
= register machines, etc.
Download