whatiscompn.ppt version:
What Is Computation? William J. Rapaport Department of Computer Science & Engineering, Department of Philosophy, Department of Linguistics, and Center for Cognitive Science
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)(where direction = L, R) –print(symbol)(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 is def anything equivalent to a Turing-machine program –TM = Post production system = lambda calculus = Markov algorithm = recursive functions = register machines, etc.