|
|
|
|
|
by chipsy
3624 days ago
|
|
It seems to be part of our habit in mathematics to first make many discoveries using brute-force and large enumerations, and then later extend the results with more sophisticated methods if we can find them. For one practical example, if you were doing a lot of computation in the 1960's you might carry around a book of trig functions, or a slide rule, but after microprocessors came about a pocket calculator could do all those functions with better precision. With proofs, many questions are proven up to some number n, which is only further extended by feeding the algorithm into a powerful computer. But occasionally we discover a way of reframing the problem so that it can be solved with relatively little computation. I believe programming has some analogous quality to it: It's much easier to solve just one problem and gradually find ways to generalize it. |
|
The pocket calculator is doing a huge amount of computation to find those results, an amount which would be impractical for the human to do (hence the use of slide rules instead of laborious pen-and-paper arithmetic). It’s just a different flavor of brute force. The calculator is basically going back to the pre-logarithm method, carrying out elementary school arithmetic algorithms very fast.
To be honest, the slide rule method – converting multiplication problems to addition problems via a logarithm lookup table encoded on a stick – is quite a bit more “elegant” than what the calculators are doing. The invention of logarithms in ~1600 was one of the most important advances in the history of science and technology.
* * *
The same is true in many other kinds of mathematical problem solving. In the past, we only had access to manual effort and limited human time/attention, so the available brute computation was quite limited and many problems were entirely intractable, and great cleverness was required to solve others. The goal of symbolic reasoning was to reframe problems to eliminate as much manual computation as possible. For that reason, it was necessary to learn how to manipulate trigonometric identities, solve nasty integrals by hand, etc. We had to be able to rewrite any problem in a form where each concrete computation only required a few simple arithmetic steps plus as few table lookups as possible. Despite such simplifications, actually performing computations often required teams of people mechanically performing arithmetic algorithms all day. https://en.wikipedia.org/wiki/Human_computer
Now that computation is cheap, we can dispense with many of the clever/elegant methods of the past, and just throw silicon at our problems instead. This lets us treat a wider variety of problems in a uniform way, and get away from doing nearly so much tricky algebra.