90 likes | 235 Views
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 =
E N D
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 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 • Turing’s Insights: • 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) (where direction = L, R) • print(symbol) (where symbol = 0, 1, nil) • Not every function is computable. • e.g., Halting Problem • Universal TM: • Single TM that can simulate any TM, using “apps”
4 Great Insights of CS • 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 • Church-Turing Thesis: • An algorithm isdefanything equivalent to a Turing-machine program • TM = Post production system = lambda calculus = Markov algorithm = recursive functions = register machines, etc.