Busy Beavers and The Best Leaky Abstraction to Date

Time Tables One of my projects on my "someday" list is to learn my time tables. Not my decimal time tables (2x2 = 4, 7x7 =49). Those I learned in Grade 3 or 4 or something. I could brush up on those - 13x11=…. I don't know off the top of my head. But that's not what I mean.

I want to learn base 16 time tables. Or, "Hex" time tables. Hex numbers are used by computers is all sorts of places. The color of this text is defined to the computer as a string of 6 hex digits (e.g. #000000 = black, #ff0000 = red). Hex is used all sorts of other places too.

"What for?" I hear you asking.

Simple: I believe our ability to think is enhanced by the common constraints and multiple that we are accustomed to. Simply put: it'll stretch my thinking.

Don't believe me? What time is your alarm clock set to? 7:00? 7:30? Probably something like that. Why not 7:28 or 7:03? It's more likely that your digital alarm clock landed on some time like that - and then you proceeded to adjust it to an even number. Why? Because we are used to even.

More to the point: what is even? Well, in decimal-land (base-10 digits that we are used to) even is 0, 5, and 10. "Aha!" I say, "That's it." Because in base-16 even is not 0,5,10. I'm not sure, but I'd guess it's 0, 8, 16. "So?" You might ask. Well, that's only one minor example.

"I'm sorry, what?" I ask, "Your alarm is set to an odd hour already?" Ok, hotshot, try this one: when you use a microwave, say you are warming your lunch, and it needs about - you're getting ahead of me on this, aren't you - it needs about a 1/2 minute to warm, what time to do you set? (Kudos to the family who taught me this: Schmidts, you know who you are.) You probably set 0:30. But that is inefficient. If you want to save a few microseconds of your time, you might set it for 0:33. Is that 0:03 going to make a difference? Then why not save the motion of your hand from the first "3" to the second "0"?

Alternatively, you might look at the buttons on your microwave and decide that the "9" was closest to the start button and always use "9"s. In this case, you might set 0:99 and then just stop the microwave when it ticked down 0:30 (or so).

Big Numbers: Busy Beavers & their dams This is all just the warm up to an article I just read: "Who Can Name the Bigger Number?" (warning: long). In this article, Scott Aaronson (author), argues a few points and talks a lot about mathematical number theory: Turing machines, Busy Beaver numbers - it's all fascinating stuff to a geek like me. The real interesting part comes in the utility of it: at the end. He posits that we humans are scared of big numbers, poor at thinking about them (image 4.3 billion grains of sand - yeah, no clue how big that may be) and that this leads to problems. For example, that if we kept our current growth rate, the entire earth would be humans by 3750 (or, environmentalists: the exponential growth of global warming is something most people don't understand well because of this problem).

*Steps away from that discussion* There is a lot in that article that I like and it is a great article in that there are 3-5 interesting threads of thoughts to take off from it.

But I'm going to take one that Aaronson didn't and you probably wouldn't if you weren't reading this.

Leaky Abstractions Joel Spolsky talks about leaky abstractions - I'd say coined, but I don't really know. In computing, an abstraction is something we use to make life easier. He talks about it on his blog, but one of his books - " Joel on Software…" - has a fuller explanation (pp. 197 ff).

When you click on the key "k" and a "k" appears on screen (at least, most of the time). The keyboard is an abstraction. To the computer there is no "k." There isn't even a keyboard. Really, underneath the computer understand input in the form of an electronic pulse that transcodes to a binary string - you know I don't even really know what really happens: at best I can drill down 1 or 2 abstractions (there are several layers of abstraction with most things on a computer).

And that's the point of an abstraction: to use a concept that is simple to understand / explain a complex reality.

We use abstractions all the time. You talk about "talking Aunt Trudy on the phone" but that's not the true reality: it's an abstraction. In reality, you dial a code (which, in your head, the abstraction maps to Aunt Trudy) using an electronic device and, if Aunt Trudy is home, you talk to her. And then there is the phone: another abstraction. Enough, next.

So what's a leaky abstraction? Well, computers don't always work as they are supposed to. No, really, trust me though don't. "Oh, you know that already. Ok."

The Best Leaky Abstraction to Date So, back to big numbers. Aaronson, talks about a study where a group of Russian-English bilinguals were trained in some big-number-math-stuff and then tested on it in Russian and English. In theory, they should perform the same in either language.

The brain, you see, is a very complex (and beautiful) abstraction. You think about things - you feel things. It's all synapses firing and other biology (one of the few subjects I didn't care for in school). The abstraction is that if I have the 2 languages and can handle subject X in both, I should be able to do them just as well: because it's my brain power underneath (the language being a way to "get at" my brain).

But, that's not how it works, it turns out. Instead, whichever language they were trained in big numbers first, they performed better in. Put another way: their language formed a part of their ability to think. This isn't necessarily radical (at least not to me) but it I wouldn't have expected math to be hampered by language. I thought that those were two separate things in the brain. My abstraction had a leak.

If this is true, maybe had I read it in Spanish (pdf) it would have been harder for me to understand: since all my math training was in English.

Aaronson goes on to draws some conclusions on education from this (and rightfully so) which are also interesting.

So, what to do about it?

"9x9=81, 9xA=5A, AxA=64…" (you gotta start somewhere)

Aside: as an added bonus, I also gleaned 2 quotes from the Aaronson article. One is:

"Big numbers have a way of imbuing abstract notions with reality." -Scott Aaronson



Tuesday, August 28, 2007, 12:00 AM

tagged: abstractions, learning, math