27
Symbolic Processing

Symbolic Processing

Embed Size (px)

DESCRIPTION

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/ - PowerPoint PPT Presentation

Citation preview

Page 1: Symbolic Processing

Symbolic Processing

Page 2: 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)

Page 3: Symbolic Processing

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

Page 4: 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

Page 5: Symbolic Processing

Sqrt(-1) Error (for many tools)

Page 6: Symbolic Processing

Roots (without approximations)51x

Page 7: Symbolic Processing

Approximations such as Newton’s Method

Page 8: Symbolic Processing

Complex Roots

Page 9: Symbolic Processing

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)

Page 10: Symbolic Processing

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)

Page 11: Symbolic Processing
Page 12: Symbolic Processing
Page 13: Symbolic Processing

Symbolic Methods Search

Page 14: Symbolic Processing

Recursion

Page 15: Symbolic Processing

(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

Page 16: Symbolic Processing

The Roots of LISPEval

Page 17: Symbolic Processing

Symbolic Differentiation

Page 18: Symbolic Processing

Symbolic DifferentiationLecture3/deriv.lsp

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

Page 20: Symbolic Processing

Semantics

Page 21: Symbolic Processing

Surprise: Church’s Thesis

Page 22: Symbolic Processing

• 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

Page 23: Symbolic Processing
Page 24: Symbolic Processing

Recursion & Factorial

Page 25: Symbolic Processing

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

Page 26: 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)

Page 27: Symbolic Processing

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?