What Is Computation William J Rapaport Department of

  • Slides: 9
Download presentation
What Is Computation? William J. Rapaport Department of Computer Science & Engineering, Department of

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

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

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

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 •

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

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

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) 2. Not every function is computable. a) e. g. , Halting Problem a) Universal TM: a) Single TM that can simulate any TM, using “apps”

4 Great Insights of CS 3. Boehm & Jacopini’s insight: – structured programming –

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

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.