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."
“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