30 September 2009

Problem Solving - Tools are Different, Techniques are Same

It has been a while and restless search to desperately find something, something that is invaluable to me - the experience in solving problems. Without knowing what to do, I have been wandering here and there for a while (close to seven years) only to find that problems can be difficult, the problems can be different, but the solution is common. The solution is to solve them. During my wandering, I found that algorithm of solving problems is same. But the application of algorithm will be different. Let me explain with an example.

In order to explain with a software engineering example, let us take "traveling salesman problem". This algorithm gives near optimal solution to reach nodes of a graph. This is a single algorithm but can be applied in courier distribution, aircraft industry to optimally fly aircraft between destinations and many more. A mathematician cannot say that he cannot solve airline problem if he can solve traveling salesman problem. If this can work for math, can't it work for solution problems?

Yes, it will work perfectly fine for solving problems. If we have experience in solving a single problem, it gives us knowledge to solve many problem and we understand the process of solving problem. When we are trying to solve the problem, it is the approach that gives us solution. The solution is not really the outcome of knowledge you possess but an outcome of the process you follow, the approach you choose and your ability to think through the problem - techniques are same, tools may be different. In order to solve the most difficult problems, first you need solve one problem and the rest is matter of time.

This is one of the priceless lessons that I learned when I wandered like a mad guy. :-)