badge

Wednesday, September 28, 2011

Optimisation – A Devil Unleashed


Optimisation – A Devil Unleashed


"Optimization hinders evolution."                - Anon. (Source: Internet)

I don’t know how my Professor was feeling when he was teaching us to write a so-called “Optimal Algorithm”, but I was not feeling good about it. I have never felt good about Optimisation in general, and this was no exception. I’ve never hated engineering in my life, but this was probably the first time I was feeling oblivious about an aspect of engineering. Optimisation was probably getting more share of assiduity than it deserved, and in my mind I could imagine the fate of engineering if things continued to be how they are.

"More computing sins are committed in the name of efficiency (without necessarily achieving it) than for any other single reason — including blind stupidity." 
 W.A. Wulf (Source: Internet)

“Optimisation has always been a natural part of engineering”, a friend of mine once said. True however he may be, I caught a different but equally true meaning of the statement – “Optimisation is only a part of engineering”. But the way I’ve spent my two (and a half) years here indicates me that we’ve hardly done anything but optimisation. Adding salt to the wound, one of our professors once claimed “All Engineering problems are, beyond a point, money related problems”. I know Technology hardly has any fault in this, but then there is no fault of Science either. It is mostly the domain and aspect of the problem – the “application” factor as we can label it that causes  Optimisation to creep in. (Just because I am writing Optimisation in Camel Case every time doesn’t mean I have any sort of reverence towards it, Nota Bene.)

I have always believed that Everything in life has some pros and cons – what may look good in one aspect may be bad in some other. But everybody has some priorities – it is like a window – we can’t see the entire world through it – but we pick only those things that look good while viewing from that window. This ideology again has its own advantages and disadvantages.

"The First Rule of Program Optimization: Don't do it. The Second Rule of Program Optimization (for experts only!): Don't do it yet."                 — Michael A. Jackson (Source: Internet)

Optimisation, as I believe, is by all means born to create hierarchy. For the very same reason, I have never understood why Optimisation is done in case of algorithms – the ugly and complex algorithm is chosen over the beautiful and simple one. Why don’t we realise how unjust it is for the beautiful algorithm to get rejected? What if such beautiful algorithms get livid and spark a riot tomorrow? Does the human race today have any protective measures to fight algorithms?

“Everyone by now presumably knows about the danger of premature optimization. I think we should be just as worried about premature design - designing too early what a program should do.”               Paul Graham (Source: Internet)

At the end of it all I can only say that Optimisation in the form that it portrayed – as being of religious importance to Engineering – appears Paranormal to me. As a precautionary measure for a Layman passing by, every Institute should have a “Beware of Optimisation” Board on its Entrance. As I conclude, the fate of Engineering appears clear to me. Either it has to threat Optimisation out of practice or someday some of its own  tools  (a revolting Algorithm for example) will seal its fate.



-         Pankaj Bhambhani