symbolic processing. how to teach “programming” [email protected] [email protected]...

27
Symbolic Processing

Upload: claud-august-cook

Post on 16-Dec-2015

217 views

Category:

Documents


0 download

TRANSCRIPT

Symbolic Processing

How to Teach “Programming”[email protected]

• 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)

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

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

Sqrt(-1) Error (for many tools)

Roots (without approximations)51x

Approximations such as Newton’s Method

Complex Roots

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

1 2 3 4 5 6 7 8 9 10 11 12 13 14 152.2

2.3

2.4

2.5

2.6

2.7

2.8

2.9

3

-5

0

5

10

15

20

sqrt(5) sqrt(-5)

Iteration (n)

Estim

ate

of s

qrt(

5)

Estim

ate

of s

qrt(

-5)

Symbolic Alternative

1 3 5 7 9 11 13 152.22.32.42.52.62.72.82.9

3

-5

0

5

10

15

20

sqrt(5) sqrt(-5)

Iteration (n)

Estim

ate

of s

qrt(

5)

Estim

ate

of s

qrt(

-5)

Symbolic Methods Search

Recursion

(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)))))

More RecursionLecture3/recursive_examples.lsp

The Roots of LISPEval

Symbolic Differentiation

Symbolic DifferentiationLecture3/deriv.lsp

http://mitpress.mit.edu/sicp/full-text/sicp/book/node39.html

Semantics

Surprise: Church’s Thesis

• 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

Church’s Thesishttp://en.wikipedia.org/wiki/Effectively_calculable

Recursion & Factorial

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

How to Teach “Programming”[email protected]

• 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)

Optional Homework

• Please watch: http://video.google.com/videoplay?docid=-8860158196198824415#• Google: growing a language • Send feedback to

[email protected]–Do you agree? Disagree? –No opinion? Completely lost?