Saturday, November 7, 2009

Born on a Blue Day

This is the autobiography of Daniel Tammet, who is a most unusual individual, in that he has savant syndrome, giving him powers similar to those of Kim Peek, upon whom the film Rain Man was based. The difference with Daniel, though, is that he is not handicapped nearly as much as most of those with savant syndrome, and can actually communicate his methods of performing remarkable feats of mathematics. The book was fascinating, but I was disappointed not to learn more of his methods. Towards the end, in particular, the book really drags, as Daniel gives a great deal of detail of his first time living alone, and the challenges he faced -- very little happens, and he goes into far too much detail for me. I was much more interested in learning about the ways he visualizes numbers (he claims to have a clear visual picture of every number from 1 to 10,000), and the games and imaginary friends that entertained him when he was young. It was also interesting to hear the challenges of language that his extreme Asperger's syndrome confronts him with -- for example, he finds phrases like "He's not tall, he's giant" baffling -- after all, how can a giant not be tall?

I've heard there is a BBC documentary that shows more detail of his mathematical methods -- I have tried to find it online, but haven't had any luck.

One thing that this book spurred me to do -- get a better handle on the calendar. I had a friend when I was a boy who had a touch of savant syndrome, and could easily tell the day of the week for any date. I would ask him how, and he would just say, "I don't know -- I just see a picture of it in my mind." Well, I figured this would be a useful skill, and I came up with a method I've been using. No, it doesn't go back in time very well, but if you want to know the day of the week for any date in the current year (or even next year) it is quite serviceable.

It works this way:
1) Memorize the "zero day" for this year. That is, the day before the first day of this year. So, January 1, 2009 was a Thursday, so the "zero day" for 2009 is a Wednesday.
2) Memorize the "offset table" of days for each month of the year. This is a simple list of numbers: (0, 3, 3, -1, 1, -3, -1, 2, -2, 0, 3, -2) that maps to the months of the year. Some are easy to remember -- "October" is 0, for instance. But really, memorizing that list of 12 numbers isn't very hard.
3) So, if you want to know what day a given date is on, simply divide 7 into the day, add the remainder to the offset, and add that to the "zero day", and you have your date.

For example: Christmas, 2009 is the 25th. 25 / 7 = 3r4. The remainder is 4. Add 4 to December's offset (-2), giving you 2. Add 2 to Wednesday (the zero day), and you get Friday. So, Christmas 2009 is on a Friday. With some practice, I find this pretty easy to do in my head, and I can answer questions about what day of the week a date is on in about 5 seconds. Unfortunately, when you tell people this, they immediately want to test you to see if you know what day of the week they were born on. Somehow, people have the idea that knowing distant days of the week is more useful than knowing upcoming ones. I mean, I can figure out the distant ones -- each year, the zero day creeps forward by one, except in leap years where it creeps forward by two (thus the "leap"), and this creates kind of regular cycles -- but it takes me almost a minute to work out a distant one. I'm sure there are better methods that my crude one for that. But I like my simple method for upcoming months!

No comments:

Post a Comment