Step-by-Step Math
blog.wolframalpha.com
blog.wolframalpha.com
This is pretty nice I would like to see the interface
enhanced so I could enter several math problems at once (for
example: Chapter 7, problems 1-19 (odd)) and have the output
in a printable / customizable format (ie a script font that
looks like my handwriting).Of course, the department says graded homework must still be turned in...
http://www.math.nyu.edu/courses/Calculus/2009/Fall/122/hw.ht...
1. The steps are small and have clear documentation. Copying a wall of numbers does nothing. Copying delimited steps while being told exactly what they are helps. Actually, it's a lot like typical classroom instruction!
2. Cheating from someone "smarter" allows rationalization. The class is hard, you suck at math, they're smart. But here a dumb process spits out answers. The typical response to this sort of narrow AI is "well, it's not that difficult after all". This suggests that you don't need an abundance of ingenuity to do rote math of this sort. And that's motivating, if you're feeling daft.
The mediocre borrow and the great steal; if a novice learns from brute copying then we shouldn't give a damn.
Kids have it easy these days.
Seriously, this is really cool.
http://www.wolframalpha.com/input/?i=integrate%5Bexp%28-t%28...
Then again, knowing the answer ahead of time doesn't really hurt since understanding the steps in between is what matters.
First, I'll assume alpha works similar to a compiler. It parses the text, and generates an AST for the input expression. Your goal is to replace the tree with the 'best' possible equivalent AST. Best here is a fitness function, that provides a score for a given AST. At first glance, we'll say the AST with the smallest number of nodes is optimal.
Then, create a list of legal operations on a subtree. Try an operation, and see if the AST gets better. Repeat.
Here's a screenshot of the output from a very simple example in the current version: http://imgur.com/hevar.png. It uses LaTeX for the equations and Flot for the graphs. It's a fun project to work on; it can be surprising how far a program can get by just repeatedly applying some simple rules. :)