Thursday, February 09, 2006

In 2006 we use the technology of 1958 to recreate the technology of 1849

A. Carol has built a difference engine No. 2 from LEGO.* Not only does this evoke fond childhood memories of building trucks and castles, but it also calls me to consider the role of mechanically assisted computation in mathematics.

The difference engine sits at a fascinating point in the history of the relationship between mathematicians and machines. Because the mechanism by which its atomic components produce its output can be seen, and even touched, the user can maintain intimate contact with the algorithm as it progresses. Compare this to the simplest of modern calculators, or the first vacuum tube computers; their processes are invisible, necessarily rendering them "black boxes", even to their creators. A tremendous leap of faith is required to accept their output as valid. Because the difference engine is what an educator might call a "manipulative", no such leap is needed.

However, I would never trade my computational tools for C. Babbage's technology. The importance of computational mathematics both with an eye to applications and as a means of generating examples, as well as methods of computer-assisted proof (as used for the four-color theorem or the work of S. B. Echad), cannot be understated. Of course, this doesn't even include the immeasurable societal benefit of computational technology that has proceeded in parallel with these advances in the mathematical arts and sciences.

But still, there's that irreplaceable satisfaction that comes from seeing an algorithm happen. As it is, I can only achieve this from examples worked out by hand.

*The plural of LEGO is in fact LEGO.

2 comments:

A Fellow Mathematician/Grammar-Nazi said...

But still, there's that irreplaceable satisfaction that comes from seeing an algorithm happen. As it is, I can only achieve this from examples worked out by hand.

Or possibly also lots of "Print"-type commands...?

I'm not sure exactly where the line is between such human-machine interaction (for the sake of minimizing on-paper computation) and hand-worked examples.

P. Sternberg said...

Or possibly also lots of "Print"-type commands...?

One can of course program a computer to produce a picture or animation of an algorithm being run; this probably would provide a similar experience, but the lack of physical interaction still remains. I suppose to take this one step further, a computer/robot could be programmed to build difference engine-like machines; now that really would be something.

... where the line is between ...

I'm not suggesting that there is a line; simply that the difference engine lies squarely in the poorly defined region between these two experiences.