Analysis of a Web User Interface for Mathematics: TILU -- a Symbolic Integration Server Richard Fateman Timothy James Computer Science Division University.

Slides:



Advertisements
Similar presentations
Microsoft ® Office Outlook ® 2007 Training Retrieve, back up, or share messages Sweetwater ISD presents:
Advertisements

Microsoft® Access® 2010 Training
ADABAS to RDBMS UsingNatQuery. The following session will provide a high-level overview of NatQuerys ability to automatically extract ADABAS data from.
Means, variations and the effect of adding and multiplying Textbook, pp
California Assessment of Student Performance and Progress
Prof Fateman CS 164 Lecture 371 Review: Programming Languages and Compilers CS AM MWF 10 Evans.
Click here to enter. Click a menu option to view more details Starters Main Courses Desserts Click on the coffee cup to return when Navigating For Vocabulary.
Author Instructions How to upload a full session proposal with abstracts – two step process.
© Janice Regan, CMPT 102, Sept CMPT 102 Introduction to Scientific Computer Programming The software development method algorithms.
1 A Web-Based Integral Evaluator: A Demonstration of the Successful Integration of WebEQ, Maple, and Java Wanda M. Kunkle Department of Mathematics & Computer.
1 Parsing T E X into Mathematics Parsing T E X into Mathematics Richard Fateman Eylon Caspi Computer Science University of California at Berkeley ISSAC-99.
Computers: Tools for an Information Age
Senior Project – I.D. Math & Computer Science jsMath Equation Editor Dana Cartwright Advisors – Prof. Cervone & Prof. Striegnitz Editor Design -
Oct 30, 2001 Richard Fateman1 Do Math Making Computers Do Math Prof. Richard Fateman Fall, 2001 University of California, Berkeley.
Introduction to XML Extensible Markup Language Carol Wolf Computer Science Department.
Systems Analysis I Data Flow Diagrams
Programming. Software is made by programmers Computers need all kinds of software, from operating systems to applications People learn how to tell the.
PowerPoint Add formulae. Course contents Overview: Typing math formulae Lesson1: Type a simple formula Lesson2: Type a complex formula.
Mathematical Content Conversions David McKain 9 th September 2009.
Android 4: Creating Contents Kirk Scott 1. Outline 4.1 Planning Contents 4.2 GIMP and Free Sound Recorder 4.3 Using FlashCardMaker to Create an XML File.
Principles of Programming Chapter 1: Introduction  In this chapter you will learn about:  Overview of Computer Component  Overview of Programming 
Chapter 11: Interaction Styles. Interaction Styles Introduction: Interaction styles are primarily different ways in which a user and computer system can.
© Janice Regan, CMPT 128, Jan CMPT 128 Introduction to Computing Science for Engineering Students Creating a program.
COMPUTER PROGRAMMING Source: Computing Concepts (the I-series) by Haag, Cummings, and Rhea, McGraw-Hill/Irwin, 2002.
Moodle (Course Management Systems). Assignments 1 Assignments are a refreshingly simple method for collecting student work. They are a simple and flexible.
Chapter 1 Introduction Dr. Frank Lee. 1.1 Why Study Compiler? To write more efficient code in a high-level language To provide solid foundation in parsing.
Mathematics in Computer Science at Loras College Steve Mosiman.
General Programming Introduction to Computing Science and Programming I.
Compiler course 1. Introduction. Outline Scope of the course Disciplines involved in it Abstract view for a compiler Front-end and back-end tasks Modules.
Lexical Analysis Hira Waseem Lecture
University of Sunderland CDM105 Session 6 Dreamweaver and Multimedia Fireworks MX 2004 Creating Menus and Button images.
A System for Integration Formulas
Database Systems Microsoft Access Practical #3 Queries Nos 215.
Lead Black Slide. © 2001 Business & Information Systems 2/e2 Chapter 5 Information System Software.
SYNTAX ANALYSIS & ERROR RECOVERY By: Sarthak Swaroop.
Syllabus Management System. The Problem There is need for a management system for syllabi that: Provides a simple and effective user interface Allows.
Research Topics: Symbolic Math, Web Interfaces, Document Understanding Richard Fateman Computer Science Division University of California, Berkeley (NSF.
Chapter 1 Introduction Chapter 1 Introduction 1 st Semester 2015 CSC 1101 Computer Programming-1.
Introduction to Programming with RAPTOR
C++ Basics C++ is a high-level, general purpose, object-oriented programming language.
1 Bottom-Up Parsing  “Shift-Reduce” Parsing  Reduce a string to the start symbol of the grammar.  At every step a particular substring is matched (in.
240-Current Research Easily Extensible Systems, Octave, Input Formats, SOA.
CHAPTER 1 INTRODUCTION 1 st Semester H King Saud University College Of Applied Studies and Community Services CSC 1101 Computer Programming-1.
1 Compiler Construction (CS-636) Muhammad Bilal Bashir UIIT, Rawalpindi.
1 Compiler Design (40-414)  Main Text Book: Compilers: Principles, Techniques & Tools, 2 nd ed., Aho, Lam, Sethi, and Ullman, 2007  Evaluation:  Midterm.
CHAPTER 1 INTRODUCTION 2 nd Semester H King Saud University College Of Applied Studies and Community Services CSC 1101 Computer Programming-1.
Updated on: September 4, 2010 CIS67 Foundations for Creating Web Pages Professor Al Fichera.
Typing and Formatting a Research Paper WORD 2013.
Intermediate 2 Computing Unit 2 - Software Development.
SOLVING QUADRATICS DAY 3 (IN THE CALCULATOR) EQ: How can points of intersection be used to solve any equation?
NATURAL LANGUAGE PROCESSING
Slide 1 Welcome California Mathematics and Science Partnership (CaMSP) Year 2, Follow Up 3 January 22, 2011.
: Information Retrieval อาจารย์ ธีภากรณ์ นฤมาณนลิณี
1 Programming and problem solving in C, Maxima, and Excel.
PROGRAMMING (1) LECTURE # 1 Programming and Languages: Telling the Computer What to Do.
Chapter 1 Introduction 2nd Semester H
Advanced Computer Systems
Development Environment
CSCI-235 Micro-Computer Applications
Software for scientific calculations
How can we speak Math? Richard Fateman Computer Science
Integration.
King Saud University College Of Applied Studies and Community Services CSC 1101 Computer Programming-1 Done By: Asmal Alosaimi Edited By: Fatimah Alakeel.
Bottom-Up Parsing “Shift-Reduce” Parsing
F.S.A. Computer-Based Item Types
King Saud University College Of Applied Studies and Community Services CSC 1101 Computer Programming-1 Done By: Asmal Alosaimi Edited By: Fatimah Alakeel.
Tonga Institute of Higher Education IT 141: Information Systems
Tonga Institute of Higher Education IT 141: Information Systems
Faculty of Computer Science and Information System
Presentation transcript:

Analysis of a Web User Interface for Mathematics: TILU -- a Symbolic Integration Server Richard Fateman Timothy James Computer Science Division University of California, Berkeley Based on a talk given at Internet Accessible Mathematical Computation. a Workshop at ISSAC'99, Vancouver BC July 28, 1999

R. Fateman/ Web Math Interface2 I - What does TILU do? A (simplified) interaction A brief defense of why it is interesting to look up integrals this way Has processed some 250,000 queries or so (March, 2004)

R. Fateman/ Web Math Interface3 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: X^2*Sin[a x] Select languageIndefinite Integral

R. Fateman/ Web Math Interface4 Lookup begun Jul 12, :19:29, completed in 140 ms. processor time, ms. elapsed real time. Actual cpu time in computing the answer: 0 ms. The result of looking up this integral 2 INTEGRATE(X SIN(A X), X) = COS(A X) A (2 - A X ) + 2 X SIN(A X) A

R. Fateman/ Web Math Interface5 Lookup begun Jul 12, :24:40, completed in 120 ms. processor time, 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/ Web Math Interface6 Why is a 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/ Web Math Interface7 II- Math is Apparently Hard to Type This is a summary report from June 1, July 12, 1999, as we prepared these slides. 519 user-connections to our site. –About 75 of the inputs were so ill-formed the parser rejected them. –Of the remaining 445, we count only 300 distinct integrands Of the 300 unique Mathematica expressions, –110 were illegal inputs, typically because of the misuse of sin(x) for Sin[x]. Operators missing: ax or xcoshx instead of a*x or x Cosh[x]. insertion of "dx" or "integrate." –Many more (156) we “legalized” by allowing sin[x] instead of Sin[x], e instead of E etc. Only 34 inputs were fully syntactically correct.

R. Fateman/ Web Math Interface8 Speculation Regarding Users Most don’t know much about computer algebra or numerical mathematics programming languages Most don’t know about computer typesetting programs (TeX, Expressionist) Of the dozens of people who meant s sin x dx = - cos x but got s sin x dx = sin * x 2 /2 Only one complained.

R. Fateman/ Web Math Interface9 III- Possibilities for Improving the User Interface –Very liberal “Mathese” grammar (done(RWarfield) –Off-the-shelf equation editor –More Feedback to the typist –Traditional “error detection” –Traditional “error correction” –Forced Choices –The calculator model (done, 2002 BISCOTTI, GC) –The box-prompt model typewriter input –hand-written input (in progress, 2004) –SPEECH (in progress, 2004)

R. Fateman/ Web Math Interface10 Mathese grammar –Not Context Free Grammar. Filled with ambiguity ! –Resolution based on semantics, heuristics cos x, cos(x), cos[x], cos{x} cosx xcosx a*x+b, a x+b, ax+b d*x, d x, dx 1/2  i ??? 1/(2  i) or.5*  i ? –Some of the same problems arise in parsing T E X into math

R. Fateman/ Web Math Interface11 Mathese grammar (continued) –Texts and references are “informal” too, It’s not just casual hand-waving slobs who do this! G&R –Ps, this formula is wrong  ln(sin  x) cos (2n + 1)  x dx

R. Fateman/ Web Math Interface12 Math-oriented Off-the-Shelf Editors... –Cons (depending on choice): Not necessarily familiar or intuitive! Added expense Typesetting goals do not resolve ambiguous Math semantics (= mathese equivalent) Not standard or integrated Insufficient generality (overly constrained) The idea here is to use a familiar editor or formalism to assemble the necessary pieces to define the math.

R. Fateman/ Web Math Interface13 Existing software (continued) –Pros (depending on choice) COTS support, platform independence, standard conformance (TeX, MathML..) Document-Centric view may be a BIG WIN if there is a CAS inside –Scientific Workplace (Maple, Mathematica) –Frame (Milo) Some are really pretty thoughtfully designed if you are willing to learn them!

R. Fateman/ Web Math Interface14 A list of a few prospects MS Equation, Frame, Mathematica, TeX, Milo, LiveMath/MathView/Theorist/Expressionist, Mathtype, EzMath, Scientific Word, WebEq, Swift. Macintosh Graphing Calculator...

R. Fateman/ Web Math Interface15 Examples of error detection/correction Expression has no “x” in it. xcoshx gets fixed to Expression has “dx” or “integrate” in it: remove. Improbable though correct Mathematica: sin(x) should be sin [x] Insufficient closing brackets repaired. Misspellings corrected (uncommon). Diagnostic aids: Better rephrasing of the question.

R. Fateman/ Web Math Interface16 Familiar System Paradigms –Menu (extensible) + pre/post selection –Fortranish [Bonadio, Theorist] –Copy/Paste of completed subexpressions –Calculator (TI, HP, ?) –Direct Manip. (Pacific Tech, Avitzur’s NuCalc) –Mathematica (Soiffer, Mathscribe) 

R. Fateman/ Web Math Interface17 Idiotproof/ Forced-Choice/ Structured Input for the Web –More nearly free-form, yet forbids incorrect syntax; disambiguates murky forms (based on semantic associations) –Menus/templates are used primarily for information. –Input could be keyboard only, stylus only. Here’s the general idea: insert in the box. coscos ()

R. Fateman/ Web Math Interface18 Details: Typed Boxes Clarify Choices –“Infix” Verbs (+, *, “space”, -, /) –Nouns or Noun Phrases (x, y, z, x+y*cos(z) ) –Function Name (cos sin tan {f, g, …}, derivative) –Lists “a,b,c”... xx “noun” only NEXT “noun or verb” optional x 2 +y x y x*y

R. Fateman/ Web Math Interface19 Selection of previous expressions ycos (x) 2 + –Insert/Delete brackets, Show/Hide boxes, Name? –Appeal to menu if necessary for more structures: user-templates? + y ycos (x) y  Select box by click or backtab, arrow Insert brackets in pairs only

R. Fateman/ Web Math Interface20 Following our earlier example cos () x) x) 2 + –direct manipulation design intuition is tricky… how does the user know to hit or click with mouse (where)? –time will tell if this can be made to work... Tab, 2,+

R. Fateman/ Web Math Interface21 If you keep looking, you will find almost anything … Swift (free Java application) While we haven’t gotten Swift to work, we have corresponded with its authors. It looks interesting; we’d like to have handwritten input as an option, too.

R. Fateman/ Web Math Interface22 Biscotti, a Java applet –Undergrad project (E. Heien, Gifford Cheung) –Based on Macintosh Graphing Calc, but written in Java as an applet (cf. NuCalc from Pacific Tech.) –Fortranish + “calculator keyboard” –Additional features: “send to TILU” key Uses Lisp syntax and TCP/IP socket –Extensions in progress or contemplated Can send “any” message, by agreement to server (subject to Java restrictions, unfortunately) Could be used as base for other calculations, e.g. Potential front-end for CAS more generally Simple environment (local values) Other output forms (XML) Other communication styles (Java inspired)

R. Fateman/ Web Math Interface23 Future Prospects for Tilu –More ambitious web server processing larger lookup tables, pseudo-CAS, more tasks (ODEs?) Sums, Products, Transforms Put the Mathese parser on-line –Hooking up to XML based front-ends (via a Lisp XML reader) –Detailed design and implementation for MathSE, keyboard/ stylus-handwritten input –Lisp mini-plugin front end replacing Java? –Installation on CD or web site for Academic Press/ Gradshteyn & Rhyzik