x - Computer Science Division - University of California, Berkeley

advertisement
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
Download