1 / 9

What Is Computation?

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 =

idola
Download Presentation

What Is Computation?

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. What Is Computation? function = set of I/O pairs (relation) same I/P  same O/P “function machine”:

  3. 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!

  4. 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

  5. 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)

  6. 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

  7. 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”

  8. 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

  9. 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.

More Related