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.