1 / 27

Symbolic Processing

Symbolic Processing. How to Teach “Programming” Kenneth.Church@jhu.edu. Lecture 1: Education for kids Lego Mindstorms ( NQC : Not Quite C) Scratch Lecture 2: Unix for Poets Request: bring a laptop if possible Windows Users: please install http://www.cygwin.com/

Télécharger la présentation

Symbolic Processing

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. Symbolic Processing

  2. How to Teach “Programming”Kenneth.Church@jhu.edu • Lecture 1: Education for kids • Lego Mindstorms (NQC: Not Quite C) • Scratch • Lecture 2: Unix for Poets • Request: bring a laptop if possible • Windows Users: please install http://www.cygwin.com/ • Target audience: Grad Students in Linguistics • Unix shell scripts (almost not programming) • Small is Beautiful • Lecture 3: Symbolic Processing • Target audience: • MIT Computer Science Majors (circa 1974) • LISP: Recursion, Eval, Symbolic Differentiation • Lambda Calculus (“Small is Beautiful” beyond reason)

  3. Agenda • Old Business • Homework from last week • Nothing to Hand-In but Discussion… • New Business • No Requests for Next Week • Today’s Lecture • Symbolic Processing

  4. Symbolic Features(Bet you can’t do this with your favorite statistics package) • Complex Numbers: Sqrt(-1) • Roots (without approximations) • Differentiation (without approximations) • Integration (without approximations) • The On-Line Encyclopedia of Integer Sequences • Eval

  5. Sqrt(-1)  Error (for many tools)

  6. Roots (without approximations)

  7. Approximations such as Newton’s Method

  8. Complex Roots

  9. Newton’s Methodhttp://archives.math.utk.edu/visual.calculus/3/newton.5/

  10. Symbolic Alternative

  11. Symbolic Methods  Search

  12. Recursion

  13. More RecursionLecture3/recursive_examples.lsp (define (fact x) (if (<= x 1) 1 (* x (fact (- x 1))))) (define (fib x) (if (<= x 2) 1 (+ (fib (- x 1)) (fib (- x 2))))) (define (len x) (if (empty? x) 0 (+ 1 (len (rest x))))) (define (rev x) (if (empty? x) x (append (rev (rest x)) (list (first x)))))

  14. The Roots of LISPEval

  15. Symbolic Differentiation

  16. Symbolic DifferentiationLecture3/deriv.lsphttp://mitpress.mit.edu/sicp/full-text/sicp/book/node39.html

  17. Syntaxhttp://www.allisons.org/ll/FP/Lambda/

  18. Semantics

  19. Surprise: Church’s Thesis

  20. Church’s Thesishttp://en.wikipedia.org/wiki/Effectively_calculable • Effective Procedure • always give some answer • always give the right answer • always be completed in a finite number of steps • work for all instances of problems of the class • Recursively Computable • Three definitions later found to be equiv to one another • general recursion • Turing machines • λ-calculus • Church's thesis: • Effectively Procedure = Recursively Computable • Not a mathematical statement  No proof

  21. Recursion & Factorial

  22. Summary: Symbolic Features(Bet you can’t do this with your favorite statistics package) • Complex Numbers: Sqrt(-1) • Roots (without approximations) • Differentiation (without approximations) • Integration (without approximations) • The On-Line Encyclopedia of Integer Sequences • Eval

  23. How to Teach “Programming”Kenneth.Church@jhu.edu • Lecture 1: Education for kids • Lego Mindstorms (NQC: Not Quite C) • Scratch • Lecture 2: Unix for Poets • Request: bring a laptop if possible • Windows Users: please install http://www.cygwin.com/ • Target audience: Grad Students in Linguistics • Unix shell scripts (almost not programming) • Small is Beautiful • Lecture 3: Symbolic Processing • Target audience: • MIT Computer Science Majors (circa 1974) • LISP: Recursion, Eval, Symbolic Differentiation • Lambda Calculus (“Small is Beautiful” beyond reason)

  24. Optional Homework • Please watch: http://video.google.com/videoplay?docid=-8860158196198824415# • Google: growing a language • Send feedback to Kenneth.Church@jhu.edu • Do you agree? Disagree? • No opinion? Completely lost?

More Related