Thursday, March 01, 2007

The fall of memorization

In the past, a lot of schooling had to do with getting kids to remember names, dates, facts, and formulas. In fact, it's not until college (or in some cases graduate school) where the focus trends more toward concepts and the actual process of thought. Intelligence is partially judged by one's ability to memorize things, and in past generations it was definitely a good thing for that.

But today we have Google. That's just a specific example of a source, but the principle is that we have near-immediate access to information on most any topic. If you can't find it on the internet, chances are that you won't be able to find it in a library either. Instant access to any fact out there makes it less important to know the significance of the year 1215.

And well, most of life has nothing to do with spitting back facts. Instead, the most desirable trait in all walks of life is the ability to reason. It's the ability to see something completely new, and figure out what's going on quickly. But how can you get better at that? The answer is to understand concepts, and not to just memorize results of their application.

Now, let's look at the technology side of things. When I was in college, I had a professor who was saying how bus speeds would stay very slow, so that methods to move processing to the CPU itself without needing to access memory at all would be extremely important. Though bus speeds are still lagging behind that of the processors, we now have 800MHz and faster system buses, and they're improving. For normal usage these days, the RAM is as fast as video memory. And well, the speed differential isn't something to worry too much about for other computing endeavors. Computers got fast, and they're getting faster.

But where the memory bus issue was big back in the day, the new issue is network latency. That's something that will likely always be an issue, as while improvements will likely be exponential, distances involved have the ability to increase by more than that. So what's the solution to latency? To construct legitimate simple steps to reconstruct the information that we're looking for from a similarly small set of initial data. If you want to pass along all numbers 1 through 1 million, sending them together will take, say, X amount of memory. There are compression algorithms that can look at that stream, and reduce it to 30% of X or so. That's the concept, but in general, if you could tell them to start at 1, keep adding 1 and append the new number to the stream, and then stop at 1 million, it would take far less memory, and you just offload the work to the processor on the other end.

See, that's what computers are good at. They know how to repeat mundane tasks again and again, and for things like that we will need to develop a way to break a data set down systematically to constituent parts. I've been doing some work in this area off and on, and I'm not able to make the progress as quickly as I would like. But that's the future (as I see it, anyhow).

What does all of this mean to me? Well, concepts (you could call the simple steps a concept) are truly the important thing to pass along to other people, and the useful things to remember. Kids don't need to remember the results as long as they can quickly reconstruct the answer by applying principles that they understand. And that's the same thing as what will be best for transmitting raw data from oe computer to another.

My verdict is to stop memorizing facts, and start memorizing principles. If you memorize a multiplication table, you'll have instant answers for 144 potential problems. If you truly learn how to multiply, you will have at your fingertips the means to solve an infinity of problems. For trivial facts, you shouldn't waste your brain. There's always the internet.

No comments: