Damn I am tired right now. As I always am after two and a half hour of intense water polo practice. After that, trying to wrap my head around something like cover trees has the same effect on me as the 'Pan Galactic gargle blaster' (for those of you who haven't read 'The Hitch hiker's guide to the Galaxy' nor seen the movie, this is what they have to say about it "the effect of a Pan Galactic Gargle Blaster is like having your brains smashed out by a slice of lemon wrapped round a large gold brick").
All this started when I decided to torture myself every Mondays and Wednesdays with water polo practice. It starts with warm up, which goes on for so long that halfway through it, I forget how much I already have swam. And I am so slow and have so less stamina than my teammates that they lap me a million times. I spend the next half of the warm up praying to God when will this torture stop...
Once this is over, every single time I make the mistake of convincing myself that it would be all downhill from here, which it generally is not. The actual practice starts off lightly, and I start to feel good and not too tired. And then they start shooting at me. Even thats not too bad. Its when they start passing around and then suddenly shooting that it gets crazy. You don't know which side the shot is coming from, and you need to keep covering every side, and trust me, treading water continuously from one post to another is no light matter. Sometimes the whole move goes on for so long that I start losing my temper and have that urge of shouting out "make up your minds a@#@#$#s and shoot quickly". But today wasn't the worst. They didn't ask me to put on the weight belt (yeah it is what it sounds like, and for those who haven't figured it out yet, I play goalie).
Now that this gets over, I try to get back as much energy I can get out of chugging down Gatorade bottles. I need that energy to bike back home, and it is not pleasant experience on days like these. Then somehow grabbing something for dinner, I get to my room and my bed. But alas, if only I were that lucky. First I need to shower to get rid of all the chlorine from the pool, and then smear my whole body with cream to counteract the dryness of the skin the chlorine causes.
Now that all this is done, I still can't sleep. The reasons are threefold: Firstly, ever heard of the feeling "too tired to sleep". By this time, the whole body is aching so much that I just can't sleep. Even if I fall on the bed, I won't be able to fall asleep. Secondly, it is always the case that even at around 12 a.m. in the night, I have a substantial amount of work to be done thats due the following day (which technically has become the same day by then), which leads me to the third reason. I have gotten myself in this awesome rut for the past few months where I just can't sleep before 4 - 5 a.m. in the morning, and I end up waking after noon (and even thats early for me).
So I am only left with one option - start working. And off late, I am working on this tree data structure called Cover Trees. Now the thing about cover trees is that among almost all tree data structures (e.g. ball trees, kd-trees), this is supposed to be the fastest in most cases for different types of nearest neighbor operations. (For those who do not need to know these things ever, the whole thing in a nutshell is that in a dataset in an n-dimensional space, if you want to find the nearest points to a particular point of interest, the general practice is to store the whole dataset in form of a tree, where you can reduce the number of computations required to find the nearest points by climbing down the tree and cutting off branches of the tree which are farther away than the nearest point I have found as yet. Now there are many kinds on trees used nowadays, and this cover tree thing which is supposed to do this thing really great. Now read on because I think it might make sense to you now.)
One thing about these trees is that there is no proven worst case time complexity to do these computations. They are supposed to be awesome empirically (i.e. experimentally). But this cover tree thing HAS one such worst case time complexity, which is a first in this field, and hence a big deal.
But then there is a thing that almost everybody has learnt from experience - nothing so awesome is rarely trivial and simple. Neither is this one. It took me teeth clenching and hair tearing to understand the paper on cover trees, but once I got to the code, I was plain pissed off. Dead tired, I was trying a while ago to understand the code, and within half an hour, I had this hateful urge to bang my head on the wall or the head of the coder (no offense to them actually, I must commend them for this truly great idea, but if only they could have commented the code, I would have been a much more happier person). And my tiredness from the water polo practice wasn't helping either.
But as any other problem, I am sure I'll find a way to figure things out. And then come next Monday/Wednesday, you'll see me leaving my lab at around 7.30 p.m. for another gruesome session of water polo.
1 comment:
sahi... community pe posts... water polo... vacations... ek bandi aadmi ko kya se kya banaa deti hai!!
Post a Comment