Research Topics: Symbolic Math, Web Interfaces, Document Understanding Richard Fateman Computer Science Division University of California, Berkeley (NSF funding: room for more grad students) I - Table of Integrals Look UP (TILU) A (simplified) interaction A brief defense of why it is interesting to look up integrals this way R. Fateman/ Topics 2 TILU Table of Integrals Look Up Welcome to TILU, a web server that looks up integrals in a reference table. If you have never used this page before, or if you need some review on the syntax for describing your integral, please be sure to check in the frame on the left. Once you have figured out how to ask your question, type or paste the integrand in the big box below: Select language Indefinite Integral X^2*Sin[a x] R. Fateman/ Topics 3 Lookup begun Jul 12, 1999 16:19:29, completed in 140 ms. processor time, 171.0 ms. elapsed real time. Actual cpu time in computing the answer: 0 ms. The result of looking up this integral INTEGRATE(X SIN(A X), X) = -3 2 2 -2 COS(A X) A (2 - A X ) + 2 X SIN(A X) A R. Fateman/ Topics 4 Lookup begun Jul 12, 1999 16:24:40, completed in 120 ms. processor time, 139.0 ms. elapsed real time. Actual cpu time in computing the answer: 0 ms. 2 INTEGRATE(X ERF(X), X) was not found. We tried sending your integral request to Wolfram's Integrator and their answer was: (1/(3*Sqrt[Pi]) + x^2/(3*Sqrt[Pi]))/E^x^2 + (x^3*Erf[x])/3 R. Fateman/ Topics 5 Why is web lookup interesting? Inferiority of algorithmically generated answers in some cases. Not just an integration issue but a simplification issue. Tables have neat answers when algorithms give poor or no answer; (of course algorithms sometimes do win...so the best approach is probably to combine). Once you get the integrand and limits into the system, we can further process them, including calling Mathematica, Maple, Macsyma servers. Provides insight into storage and retrieval of mathematics generally on the web. – other reference material, textbooks. – An integral archive/knowledge base for all the net. R. Fateman/ Topics 6 Typing Math is a bad interface. What is better? – Fill in the boxes – Graphical feedback – Possibly handwritten (or voice!) input “noun” only “noun or verb” NEXT optional x2+y xy x x R. Fateman/ Topics x*y 7 Typing sequentially in boxes... Tab, 2,+ cos ( ) cos ( x ) ... 2 cos ( x + ) – direct manipulation design intuition is tricky… how does the user know to hit <tab> or click with mouse (where)? – time will tell if this can be made to work R. Fateman/ Topics 8 Selection of previous expressions Select box by click or backtab, arrow 2 cos ( x + y ) + y [ 2 cos ( x + y ) + y Insert brackets in pairs only ] – Insert/Delete brackets, Show/Hide boxes, Name? – Appeal to menu if necessary for more structures: user-templates? R. Fateman/ Topics 9 Future Prospects for Tilu – More ambitious web server processing • Entirely new services: symbolic, numeric – Hooking up to XML based front-ends (via a Lisp XML reader) – New front end R. Fateman/ Topics 10 II - An application of computer algebra: Symbolic Execution = Proof The idea is simple: run your favorite program f with a symbolic input. If f(x) computes x2 then there is a good reason to believe that we have in effect also proved that f(3)=9 etc. Symbolic execution runs into trouble with more complicated calculations. That is, the size of expressions involving symbolic parameters can grow quite rapidly. Here is an example: Consider Newton's method to find the square root of v. Each iteration is Three iterations starting with the symbolic root r gives us this rather complicated result. In fact, this result is actually a pretty good estimate! Not easy to prove though. If r is between 0.5 and 4, and v is 2, then x3 gives at least 3 correct decimals of 2. R. Fateman/ Topics 11 III- Document Analysis/ OCR – Encoding a picture of a printed page • bitmap: a picture of words, diagrams, photos etc • “recognized characters” as ASCII or word.doc • “re-usable forms” – searching, indexing – (for math) computing, plotting, etc. – compressed – If legacy documents are to make it to the WWW, how will we “understand” them? – Many tricky problems, few principled approaches. R. Fateman/ Topics 12 One problem: Ambiguity of printed math We mostly believe that if you see cos(p)q that the argument of cos is p. What about this piece of clip-art from a well-known table of integrals (Gradshteyn, 4.384.4)? R. Fateman/ Topics 13 Odds and Ends Parallel distributed Matlab Variable (high) precision polynomial zero-finding Lisp/numerical compilation R. Fateman/ Topics 14